There are actually two codepaths that yield an output of 'pickupNotInHoldGroup' in C4::Reserves::CanItemBeReserved: - The passed pickup location doesn't match the patron's hold group - The passed pickup location doesn't match the item's hold group We could return different error codes and provide better feedback to the end user.
This appears to still be valid: C4/Reserves.pm: { status => pickupNotInHoldGroup }, pickup location is not in hold group, and pickup locations are only allowed from hold groups. C4/Reserves.pm: return { status => 'pickupNotInHoldGroup' }; C4/Reserves.pm: return { status => 'pickupNotInHoldGroup' }; koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt: [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %] koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt: pickupNotInHoldGroup: _("Only pickup locations within the same hold group are allowed")