Supplier-side cancellation
Description
is feature for
Activity

Alex Scott June 20, 2024 at 8:58 AMEdited
Hey I have a question about the implementation to cancel a hold in folio: . I just want to understand and clarify where the fields needed for the payload will come from. The fields I mean specifically are:

Tim Auger March 22, 2024 at 4:56 AM
Thanks for the questions.
Should DCB also ignore a supplier cancellation when no other form of cancellation has occurred?
For example, a staff member at the supplying agency cancels the request when it is in-transit to or on the hold shelf at the pickup agency. What should DCB do?
>>TA: Do not cancel the request. The supplier should not prevent a requester from having their requested item filled from any library but their own even in the even that it is their own supplied item. Horse has already left the barn.

Marc Johnson March 21, 2024 at 7:48 AM
Thank you for the answer
When DCB encounters a pre-existing cancellation, say from a patron, yes, it should ignore later supplying agency cancellations entirely.
Should DCB also ignore a supplier cancellation when no other form of cancellation has occurred?
For example, a staff member at the supplying agency cancels the request when it is in-transit to or on the hold shelf at the pickup agency. What should DCB do?

Tim Auger March 20, 2024 at 10:24 PM
yes, your understanding is reasonable understanding. There are variations in each system but generally, each platform is lenient in allowing for cancellation of a hold until the hold no longer exists (e.g. when loaned).
When DCB encounters a pre-existing cancellation, say from a patron, yes, it should ignore later supplying agency cancellations entirely.

Marc Johnson March 20, 2024 at 8:49 AM
Thanks for investigating further
That is, do not cancel if the item is in transit or at any later stage in the DCB circulation lifecycle.
My understanding is that the systems do not stop this from happening (from the system’s perspective the item is in transit and the request can be cancelled, because it has yet to be fulfilled)
Is that a reasonable understanding?
If so, what should DCB do? Should it ignore later supplying agency cancellations entirely?
Details
Assignee
UnassignedUnassignedReporter
Tim AugerTim AugerLabels
Components
Parent
Priority
TBD
Details
Details
Assignee
Reporter

Current situation or problem
Currently in OpenRS DCB, supplier-side cancellations are not detected by the DCB hub. This means that a supplier has determined that they cannot fill the request. After making this determination, the supplying library will cancel the request with the expectation that another library will be automatically selected to fill the hold. This expectation exists because this functionality is what MOBIUS currently has in their INN-Reach system. We want to mimic this behavior in OpenRS.
The proposed workflow
If a potential supplier cancels a DCB request, the DCB hub will need to detect the cancellation and then search for another requestable item in the DCB hub. Detecting cancellation in each platform as follows…
Sierra – Get a hold record by hold ID Assumed to return an “ID not found” (or similar) or a status of
cancelled
within theHoldStatus
field. Will need a developer to test.Polaris – Depending on the desired implementation, can look at all requests of all types for the patron or filter to a specific status like
cancelled
. If the former, theStatusID
field value for cancelled is16
.FOLIO – The transaction status on the lending side will be
cancelled
.If a requestable item from any other library exists, create a new request for the best item (existing item selection algorithm). Then, modify or delete and create a new hold for the patron a the borrowing library system.
Patrons should not be alerted that there has been a change of suppliers.
When a new request is created, it would be helpful (although not a firm requirement) to maintain the old DCB transaction id(s) with the new request to allow traceability of the full history of a single DCB transaction for troubleshooting and/or data mining/analytics.
If no remaining requestable items within the consortium exist, the DCB will cancel the patron’s hold. Each platform will handle patron cancellation notifications, not the DCB. For each platform, the following means of cancelling a patron’s hold should be used:
Polaris – HoldRequestCancel
Sierra – Delete a hold by hold ID
FOLIO – DCB patron hold cancellation
There is an assumption with each of the above three methods that it will trigger the corresponding loan rule and cancellation action (i.e. generation of a patron notification, if configured).
In scope
This capability will be available for Sierra, Polaris, FOLIO lending libraries and can be extensible to other library systems with additional development.
Use the item selection algorithm to search for other libraries that currently exists for DCB requests.
Out of scope
Cancellation of the requesting cycle by DCB.
Setting a time limit by which the request must be fulfilled or it will be cancelled automatically.
3-legged requests
Unknown
Cancellation behaviour and constraints in different platforms
Availability may be misreported for RTAC purposes in the case of re-requesting requests very recently cancelled by a previous potential supplying library.