Currently we have two distinct but very similar codepaths When building the queue we use the code in C4/HoldsQueue.pm to map all available items on a bib to the holds requests, choosing the most prioritized hold per item When checking in an item we use the CheckReserves code in C4/Reserves.pm to map a single item to the most prioritized hold request It seems these processes should be combined and standardized.