 +sub _Findgroupreserve_unfiltered : PureFunction {
 +    my ( $bibitem, $biblio, $itemnumber, $lookahead) = @_;
      my $dbh   = C4::Context->dbh;
+
      # TODO: consolidate at least the SELECT portion of the first 2 queries to a common $select var.
 @@ -1879,8 +1892,7 @@ sub _Findgroupreserve {
      $sth->execute($itemnumber, $lookahead||0);

@@ -36,6 +36,7 @@ use C4::Members qw();
 use C4::Letters;
 use C4::Log;
+use Koha::Util::PureFunctions;
 use Koha::DateUtils;
 use Koha::Calendar;
 use Koha::Database;
@@ -99,7 +100,7 @@ This modules provides somes functions to deal with reservations.
 BEGIN {
     require Exporter;
-    @ISA = qw(Exporter);
+    @ISA = qw(Koha::Util::PureFunctions Exporter);
     @EXPORT = qw(
         &AddReserve
@@ -457,7 +458,12 @@ sub CanBookBeReserved{
 =cut
-sub CanItemBeReserved {
+sub _IsItemOnHold : PureFunction {
+    my ($borrowernumber, $itemnumber) = @_;

         &GetMember
@@ -299,7 +300,7 @@ enforced in the routine itself.
 =cut

 #'
-sub GetMember {
+sub GetMember : PureFunction {
