https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41809 --- Comment #4 from Andrii Nugged <nugged@gmail.com> --- Created attachment 204589 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=204589&action=edit Bug 41809: Fulfill holds and retain pickup-shelf cleanup When a record-level hold is waiting on one item and the patron checks out another item from the same record, MoveReserve fills the hold with the checked-out item. The waiting item then loses its hold status even though it remains physically on the pickup shelf, leaving staff with no persistent cleanup task. Store the pickup-shelf item on the cancellation request before moving the fulfilled hold to old_reserves. Keep these requests visible in the existing cancellation-request area, exclude their items from available item resultsets, and clear the request only after staff or SIP accepts a checkin of the pickup-shelf item. Test plan: 1. Place a record-level hold and mark item A as waiting. 2. Check out item B from the same record to the same patron. 3. Confirm the hold is fulfilled by B and appears in hold history with status F, without a cancellation date. 4. Confirm A appears under Holds with cancellation requests as awaiting pickup-shelf cleanup and is not shown as available. 5. Check in A and confirm the cleanup request disappears and A becomes available or follows normal hold/transfer handling. 6. Run the Reserves and SIP transaction regression tests. Co-Authored-By: Loontik <loontik@nugged.team> -- You are receiving this mail because: You are watching all bug changes.