Bug 7711

Summary: clear holds statuses and workflow
Product: Koha Reporter: Melia Meggs <melia>
Component: Hold requestsAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P5 - low CC: gmcharlt, kathy, kyle, nick
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on: 7712, 7641    
Bug Blocks:    
Attachments: Status Workflow Mapping

Description Melia Meggs 2012-03-13 21:34:34 UTC
Created attachment 8197 [details]
Status Workflow Mapping

Clear statuses
For each hold in the system, there should be a clear, single status to describe it's current state.  These statuses should include:

Waiting (in holds queue)
Ready to pull
Pulled and awaiting pickup
Filled
Expired
Long waiting
In transit
Suspended
Canceled

Since these statuses have concrete system states attached to them, they must be hard coded into the system.  The use of an Authorized Value list would not be sufficient.

Status Workflow
Not every status should be reachable from every other status.  Attached is a mapping of which statuses a hold shall be able change between.  O with a green background indicates possible, while X with a red background indicates impossible.  Grey cells are for self-references.

[Please see attachment.]

Holds shall be considered 'waiting in queue' until they reach the top position of the queue, at which time they change to 'ready to pull'.  While in the queue, they can expire, be suspended, or be canceled.

Once the hold is ready to pull, the next natural next step for the hold to transition to the “Pulled” state, where it awaits being picked up by the patron.  Since this status just means the hold is at the top of the queue, if the queue is rearranged, the status of the hold could go back to 'Waiting in queue'.  The hold can also expire, be suspended or be canceled.

After the hold is pulled, it should either be picked up by the patron and marked as 'filled', or put 'in transit' to the pick up location.  It can also still expire or be canceled.  If the hold waits to be picked up for more than appropriate MaxReservePickupDelay circ rule, it will be marked as 'long waiting'.

If a hold needs to be transferred to another branch, the status shall go from 'Ready to Pull' to 'In Transit'.  Once the item arrives at it's destination and is received, it shall be marked as 'Pulled and ready for pickup'

Expired, Suspended and Canceled holds can be brought back into the queue.  “Filled” is a terminal status; the hold record can now be archived.
Comment 1 Katrin Fischer 2019-12-02 07:07:03 UTC
Hi Nick and Kyle, I believe this dates back to a spec from Ian - is development still planned or should we close this?