https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41809 --- Comment #3 from Andrii Nugged <nugged@gmail.com> --- (In reply to Kristi Krueger from comment #2)
I went through the test plan, and the results are expected according to the test plan.
It seems like the hold on item A is not fulfilled when item B is checked out. That would look confusing with the "Fill other record level holds on record at checkout" setting is marked Yes.
How do others besides me watching this issue feel?
Thank you for testing the patch and raising this question. After reviewing the complete workflow, we think the use case contains two separate events that the current Koha data model treats as one: 1. A patron places a record-level hold. 2. Item A is captured for the hold, moved to the pickup shelf, and the hold becomes Waiting. 3. Before collecting item A, the patron checks out another item from the same record, item B. Before the patch, when “Fill other record level holds on record at checkout” is enabled: 4. Checking out item B fulfills the hold. 5. The hold is moved to the hold history as Fulfilled and linked to item B. 6. Koha therefore loses the actionable connection to item A. 7. Item A remains physically on the pickup shelf, but it no longer appears among waiting holds or cancellation requests. Staff receive no task telling them to remove it. The current patch changes steps 4–7: 4. If the hold is already Waiting on item A, checking out item B does not fulfill it. 5. The hold remains linked to item A and receives a cancellation request. 6. Staff can see the request and remove item A from the pickup shelf. 7. After staff process the request, the hold is recorded as Cancelled rather than Fulfilled by item B. This fixes the operational problem: item A no longer disappears from the staff workflow. However, it also changes the final meaning of the hold. We see two possible directions: Option 1 — cancellation workflow, as implemented by the current patch - Item B is checked out but does not fulfill the waiting hold. - The hold remains linked to item A with a cancellation request. - Staff remove item A, and the hold is eventually recorded as Cancelled. Option 2 — fulfillment plus a separate pickup-shelf cleanup task - Item B fulfills the hold, and the hold is recorded as Fulfilled. - A separate persistent staff task remains attached to item A until it is removed from the pickup shelf. - This requires additional development because the current cancellation request belongs to the active hold and cannot survive independently after the hold is fulfilled. Both options avoid the original broken state, where the hold is fulfilled but item A remains on the pickup shelf without any staff action. We would especially appreciate feedback from librarians: 1. When item B is checked out, should the hold be recorded as Fulfilled or Cancelled? 2. Is it acceptable for the current cancellation workflow to result in a Cancelled hold history? 3. Should Koha always use one of these outcomes, or do different libraries need a circulation-rule option to choose between them? 4. If the hold is fulfilled by item B, where should the remaining task to remove item A be presented to staff: the existing cancellation-requests report or a separate pickup-shelf cleanup queue? -- You are receiving this mail because: You are watching all bug changes.