Bug 41267

Summary: It should be possible to prevent some itemtypes from filling other biblio level holds
Product: Koha Reporter: Nick Clemens (kidclamp) <nick>
Component: Hold requestsAssignee: Nick Clemens (kidclamp) <nick>
Status: Needs Signoff --- QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: gmcharlt, lisette, tomascohen
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40792
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 41267: Add fill_other_biblio_holds_policy circulation rule

Description Nick Clemens (kidclamp) 2025-11-18 19:07:12 UTC
See bug 40792 and related/dependent bugs.

Currently Koha will fill any title level holds on a record when another item on the record is checked out.

Some libraries want this behaviour, others don't want it for all item types.

E.g. - A library has 'lucky day' item which cannot have holds placed. If a patron finds them in the library they can check them out.

In some libraries they have similar circ rules and so the item should fill the hold
In other libraries the lucky day items have a shorter circulation period, so the patron may still want the regular book with a longer circ

We should add a circulation rule to determine if an item type should or should not fill other biblio level holds

Filing as a bug since many libraries consider this a regression
Comment 1 Nick Clemens (kidclamp) 2025-11-18 19:18:25 UTC
Created attachment 189682 [details] [review]
Bug 41267: Add fill_other_biblio_holds_policy circulation rule

This patch adds a new rule for itemtypes to allow/prevent filling other holds on a bibliographic record
The rule will obey ReservesControlBranch for determining the rules

To test:
 1 - Apply patches
 2 - Setup/choose 2 item types in Administration->Item types
 3 - In Administration -> Circulation and fine rules scroll to the bottom
 4 - Set one item type to "Fill other holds on record" = 'Yes' and the other to 'No'
 5 - Place a hold on the 'No' item type for a patron
 6 - Checkout the 'Yes' item type to the patron
 7 - Their hold should fill
 8 - Check in the items - place a hold for the 'Yes' item type
 9 - Checkout the 'No' itemtype to the patron
10 - Their hold should not be filled
11 - Set a rule for the patrons branch to No and set system preference ReservesControlBranch to 'Patrons library'
12 - repeat 5&6
13 - The hold should not fill
14 - Change reserves control branch to items home library
15 - checkin /checkout the yes item type
16 - The hold should fill