[CIRC-1141] No pickup notice sent to requester if item becomes available because previous request is cancelled/expires while the item is on the holdshelf Created: 29/Apr/21  Updated: 23/Jun/23  Resolved: 11/Jun/21

Status: Closed
Project: mod-circulation
Components: None
Affects versions: None
Fix versions: 20.1.7, 22.0.0

Type: Bug Priority: P2
Reporter: Lisa Sjögren Assignee: Oleksandr Vidinieiev
Resolution: Done Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: Microsoft Word CIRC-1141_HowToTestInDetail_230621_jb.docx     PNG File annotated steps in circ log.png     PNG File image-2021-04-29-11-30-32-057.png     PNG File screenshot-1.png    
Issue links:
Cloners
is cloned by CIRC-1833 No pickup notice sent to requester if... Closed
Gantt End to Start
has to be done before CIRC-1162 Create hotfix release 20.1.7 Closed
Sprint: EPAM-Veg Sprint 115, EPAM-Veg Sprint 116
Story Points: 3
Development Team: Vega
Release: R1 2021 Hot FIx #2
CSP Approved: Yes
Affected Institution:
Chalmers, Cornell
RCA Group: Incomplete/missing requirements

 Description   

Originally reported in: Chalmers Honeysuckle environment, reproduced in Snapshot 2021-04-29.
Reporting library priority: Important. This is a bug that affects patrons directly.

Overview: Pickup notices are not sent when the requested item becomes available through cancellation or expiration while it is already on the holdshelf for another requester. It seems like the event that triggers the notice to be sent does not take place in the scenario where the request becomes available for a new requester while already on the hold shelf.

Preconditions:
Notice policy that sends a notice to the requester when a requested item is available for them to pickup.

Steps to Reproduce:

  1. Create a request on item A for user test1
  2. Create a request on item A for user test2
  3. Check in item A at the pickup service point
  4. In Circ log, verify that test1's request now has status Open - Awaiting pickup. It does.
  5. In Circ log, verify that a pickup notice has been sent to test1. It has.
  6. Cancel the request, or let the the hold shelf expiration date/time pass
  7. Due to cancellation/expiration, the request becomes available to the next person in the queue
  8. In Circ log, verify that user test2's request now has status Open - Awaiting pickup. It does.
  9. In Circ log, verify that a pickup notice has been sent to test2.

Expected Results:
There is a circ log entry showing that a pickup notice has been sent to test2. The user has received an email.

Actual Results:
There is no circ log entry showing that a pickup notice has been sent to user2. The user has received no email.

Additional Information:
It looks like the event triggering the notice does not take place when a request is cancelled/expires while on the holdshelf for another requester.
I tried some more action to see what would actually trigger it:

Checking the item in at the pickup service point did not trigger a notice.
Checking the item in at another service point, thereby changing its status to In transit, and then checking it in at the pickup service point did the trick. A notice was sent.

See the full series of event in this screenshot:

URL: https://folio-snapshot.dev.folio.org/

Interested parties: Marie Widigson



 Comments   
Comment by Brooks Travis [ 29/Apr/21 ]

Sounds like the trigger is sitting in the wrong place in the code path (check-in + request status change), when it should just be on request status change.

Comment by Brooks Travis [ 29/Apr/21 ]

Darcy Branchini Are notice triggers Vega's area, and does this live in mod-circulation? /cc julie.bickle

Comment by Darcy Branchini [ 29/Apr/21 ]

Brooks Travis, yes, it's Vega's area. I literally just noticed this issue and was planning to file a bug myself so I already verified it on snapshot and Iris. It's an issue. The trigger is the item status change to "awaiting pickup." It probably needs to be item status + request status, right? Is that what you're suggesting above or you think it can be based on the request status only?

Comment by Darcy Branchini [ 30/Apr/21 ]

Marie Widigson, on this ticket too, it would be nice to know if this is an edge case or if this happens regularly in order to gauge whether or not this needs to be a Honeysuckle hotfix, Iris hotfix or can wait for a Juniper (R2) release? In response to your comment on CIRC-1139 Closed , it's fine to wait until next week. The Vega dev team is out of the virtual office next week Monday and Tuesday anyway.

Comment by Marie Widigson [ 03/May/21 ]

This issue is very common, happens almost every day when clearing hold shelf for expired pick ups. As it directly affects patrons it's a severe issue.

We have however found a reasonable workaround that is relatively easy to explain to library staff; to first checkin the books at a different service point, e.g. in the self check out machines, and then at the correct service point (thanks, Lisa Sjögren!). This triggers the pick up notice to be sent.

But, also with the workaround we do need to have this fixed in Iris, or earlier. Maybe at the same time as CIRC-1139 Closed ?

Comment by Marie Widigson [ 06/May/21 ]

Hi Darcy Branchini It will be enough to get this as an Iris hotfix when we upgrade at the beginning of July. Thanks!

Comment by Debra Howell [ 17/May/21 ]

julie.bickle Would you please coordinate on the expectation of the release of this bug. We think this needs to be in an Iris Hot Fix, but it is listed as R2 2021 (Kiwi). This would need to go to Cap Planning for prioritization if you agree.

Comment by Darcy Branchini [ 18/May/21 ]

Debra Howell I believe you mean R2 (Juniper), right? Can you please explain the urgency in terms of numbers of people affected? Are there many libraries affected? Also, Marie Widigson, since you have a workaround, albeit it's extra work, can you wait until the Juniper release?

Comment by Marie Widigson [ 18/May/21 ]

We would rather not wait until Juniper, but of course understand the extra work a hotfix implies.

We have to remember the workaround when clearing hold shelf at each branch library each morning. If we forget, it means that affected patrons queuing for a book will not get a notification to pick it up.

I guess this has been an issue ever since we implemented Sept 2019, but not noticed until now. Also guess that it affects all implemented libraries, although they are probably not aware (probably partly due to pandemic closures). So, speaking also for fellow implementers, I do think it should be a hotfix for Iris. When more FOLIO-libraries opens up after the pandemic closure, it will become an even more problematic issue.

Comment by Erin Nettifee [ 18/May/21 ]

I agree with Marie Widigson that this needs to be an Iris hotfix. For libraries going live this summer, all are going live on Iris, and this will be a big problem in August for libraries on Iris that are resuming in-person pickup. My two cents.

Comment by Darcy Branchini [ 24/May/21 ]
  1. Create a request on item A for user test1
    • Item status - Available (no change)
    • Request status - Created request, Open - Not yet filled, Type page
  2. Create a request on item A for user test2
    • Item status - Available (no change)
    • Request status - Created request, Open - Not yet filled, Type hold
  3. Check in item A at the pickup service point
    • Item status - Awaiting pickup (change)
    • Request status - Open - awaiting pickup (change)
  4. In Circ log, verify that test1's request now has status Open - Awaiting pickup. It does.
  5. In Circ log, verify that a pickup notice has been sent to test1. It has.
  6. Cancel the request OR let the the hold shelf expiration date/time pass
    • Item status - Awaiting pickup (NO change)
    • Request status - Closed - cancelled OR Closed - pickup expired (change)
  7. Next steps changed from original steps outlined above to include the second check in/scan that happens to change the request status Go to Requests > Actions > Export hold shelf clearance report for [service point]
  8. Retrieve items off of the hold shelf that need to be cleared
  9. Check in Item A at same service point (If additional requests exist for the item, then next requester in queue is "selected" by system)
    • Item status - Awaiting pickup (NO change)
    • Request status - Open - awaiting pickup (change)
  10. In Circ log, verify that user test2's request now has status Open - Awaiting pickup. It does.
  11. In Circ log, verify that a pickup notice has been sent to test2.
Comment by Darcy Branchini [ 24/May/21 ]

Marie Widigson Erin Nettifee can you please review the annotated circ log and steps above? I have one question. When items expire from the hold shelf but there's another requester in the queue to pickup the item from the same service point, are these still included in the hold shelf expiration report, pulled from the hold shelf, re-scanned and then put back on the hold shelf? Or are they not included in the report and left on the shelf? It's my understanding that they'll be re-scanned/checked in (like I see in the circ log) and it's at this point in time that the second requester should receive the notice. Is my understanding correct?

Comment by Erin Nettifee [ 24/May/21 ]

Yes, I would expect that it would be checked in, and at that point it would say "hey, you have a hold for this person, do you want to print a slip" and email the patron that their item is at the service point ready for pickup.

Whether they are included in the report, I assume they would be already, so no changes to the report would be necessary? But I don't know for sure.

Comment by Darcy Branchini [ 24/May/21 ]

Erin Nettifee, thanks! I just verified that it does include the items that have another requester on the report which makes sense to me. Otherwise, how does it go from expired to open - awaiting pickup again for the next requester in the queue.

Comment by Erin Nettifee [ 24/May/21 ]

Right - checking it in again is what triggers that.

You could make an argument for trying to automate it, but I know at least at Duke, we still keep books shelved by the requester, for example, to make it easy to find them when they come to get their item. So we want to pull it when the holds expired so it can be reshelved under the name of the new person who is coming to get it.

Comment by Marie Widigson [ 25/May/21 ]

Hi! I think we have the same understanding of the process, Darcy Branchini & Erin Nettifee! Your steps and illustration seems accurate to me.

The expired/cancelled request shows up in the shelf clearance report, is taken from hold shelf, checked in at the circulation desk. A slip for the next patron waiting in line is placed in the book and a pickup e-mail should immediately be sent.

(We are still using our home grown shelf clearance report so I have no experience of the built in report.)

Comment by Darcy Branchini [ 01/Jun/21 ]

Thanks Marie Widigson and Erin Nettifee... since I asked the question above, I thought I should post the answer. An item that's expired on the hold shelf and has another requester in the queue is indeed on the hold shelf clearance report as expected.

Comment by Anya [ 07/Jun/21 ]

Support: is there an update on this ticket?

Comment by Darcy Branchini [ 07/Jun/21 ]

It's in code review now and has been approved for R1 Hotfix #2 Anya.

Comment by Oleksii Petrenko [ 18/Jun/21 ]

Please verify at Iris bugfest

Comment by Darcy Branchini [ 24/Jun/21 ]

Verified on Iris bugfest environment.

Comment by Marie Widigson [ 08/Jul/21 ]

Thank you for solving this bug! I can verify that it now works fine in Chalmers's Iris. It will make our daily life much easier! 

Comment by Darcy Branchini [ 08/Jul/21 ]

Great to hear, Marie Widigson! And thanks Oleksandr Vidinieiev!

Generated at Thu Feb 08 22:21:40 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.