]> git.evergreen-ils.org Git - Evergreen.git/commit
Initial support for recall of items triggered by placing a hold
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 5 Nov 2010 17:35:38 +0000 (17:35 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 5 Nov 2010 17:35:38 +0000 (17:35 +0000)
commitc403d6bb543625fa235b78300b890047c9a99559
treeeae5e028c3baa7fbde6c97149c1a8d5a0af58352
parentcf4c44f3db45fa842161906c80b3946232f88841
Initial support for recall of items triggered by placing a hold

In academic libraries, it is common for groups like faculty and graduate
students to have extended loan periods (for example, 120 days), while
others have more common loan periods such as 3 weeks. In these environments,
it is desirable to have a hold placed on an item that has been loaned out
for an extended period to trigger a "recall": truncating the loan period,
setting available renewals to 0, optionally changing the fines associated
with overdues for the new due date, and notifying the current patron of
the recall.

New actor.org_unit_setting entries and hold targeting logic enable libraries to
control whether a hold will trigger a recall of a circulating item as follows:

  * "Recalls: Circulation duration that triggers a recall" (recall threshold)
     is specified as an interval (for example, "21 days"); any items with a
     loan duration of less that this interval will not be considered for a
     recall
  * "Recalls: Truncated loan period" (return interval) is specified as an
     interval (for example, "7 days"), such that the user who currently
     has the item checked out will get the greater of either the recall
     threshold, or the return interval.
  * "Recalls: An array of fine amount, fine interval, and maximum fine"
     is an optional setting that applied the new fine rules to the current
     circulation period.

When a hold is placed and no available copies are found by the hold targeter,
the recall logic checks to see if the recall threshold and return interval
settings are set; if so, then the hold targeter checks the currently
checked-out copies to determine if any of the currently circulating items at
the designated pickup library have a loan duration longer than the recall
threshold. If so, then the eligible item with the nearest due date will be
recalled.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@18630 dcc99617-32d9-48b4-a31d-7c20da2025e4
Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/action.pm
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/0460.schema.recall.sql [new file with mode: 0644]