Chapter 31. Hold policies

Table of Contents

Transits and resource sharing
Age hold protection
Best-Hold Selection Sort Order
Org Unit Proximity Adjustments
Floating Groups

This section discusses hold policies.

Transits and resource sharing

This section offers specific information and guidance about holds that involve multiple libraries.

Age hold protection

Age hold protection prevents new items from filling holds requested for pickup at a library other than the owning library for a specified period of time.

You can define the protection period in AdminServer AdministrationAge Hold Protect Rules.

The protection period when applied to a copy record can start with the copy record create date (default) or active date. You can change this setting in AdminLocal AdministrationLibrary Settings Editor: Use Active Date for Age Protection.

In addition to time period, you can set the proximity value to define which organizational units are allowed to act as pickup libraries. The proximity values affect holds as follows:

  • "0" allows only holds where pickup library = owning library
  • "1" allows holds where pickup library = owning library, parent, and child organizational units
  • "2" allows holds where pickup library = owning library, parent, child, and/or sibling organizational units

Age protection only applies to individual copy records. You cannot configure age protection rules in hold policies.

Active date display in OPAC

If a library uses the copy’s active date to calculate holds age protection, the active date will display with the copy details instead of the create date in the staff client view of the catalog. Libraries that do not enable the Use Active Date for Age Protection library setting will continue to display the create date.

Best-Hold Selection Sort Order

Best-Hold Selection Sort Order allows libraries to configure customized rules for Evergreen to use to select the best hold to fill at opportunistic capture. When a copy is captured for a hold upon check-in, Evergreen evaluates the holds in the system that the item could fill. Evergreen uses a set of rules, or a Best-Hold Selection Sort Order, to determine the best hold to fill with the item. In previous version of Evergreen, there were two sets of rules for Evergreen to use to determine the best hold to fulfill: Traditional and FIFO (First In, First Out). Traditional uses Org Unit Proximity to identify the nearest hold to fill. FIFO follows a strict order of first-in, first-out rules. This feature allows new, custom Best-Hold Selection Sort Orders to be created. Existing Best-Hold Selection Sort Orders can also be modified.

Preconfigured Best-Hold Orders

Evergreen comes with six preconfigured Best-Hold Selection Sort Orders to choose from:

  • Traditional
  • Traditional with Holds-go-home
  • Traditional with Holds-always-go-home
  • FIFO
  • FIFO with Holds-go-home
  • FIFO with Holds-always-go-home

The Holds-go-home and Holds-always-go-home options allow libraries to determine how long they want to allow items to transit outside of the item’s home library, before it must return to its home library to fulfill any holds that are to be picked up there. Libraries can set this time limit in the library setting Holds: Max foreign-circulation time. The Library Settings Editor can be found under Admin → Local Administration → Library Settings Editor.

Create a New Best-Hold Selection Sort Order

To create a new Best-Hold Selection Sort Order, go to Admin → Server Administration → Best-Hold Selection Sort Order.

  1. Click Create New.
  2. Assign your Best-Hold Selection Sort Order a Name.
  3. Next, use the Move Up and Move Down buttons to arrange the fields in the order that you would like Evergreen to check when looking for the best hold to fill with a copy at opportunistic capture.
  4. Click Save Changes to create your custom Best-Hold Selection Sort Order.
Best-Hold Selection Sort Order

Edit an Existing Best-Hold Selection Sort Order

To edit an existing Best-Hold Selection Sort Order, go to Admin → Server Administration → Best-Hold Selection Sort Order.

  1. Click Edit Existing.
  2. Choose the Best-Hold Selection Sort Order that you would like to edit from the drop down menu.
  3. Next, use the Move Up and Move Down buttons to arrange the fields in the new order that you would like Evergreen to check when looking for the best hold to fill with a copy at opportunistic capture.
  4. Click Save Changes to save your edits.

Choosing the Best-Hold Selection Sort Order

The Best-Hold Selection Sort Order can be set for an Org Unit in the Library Settings Editor.

To select the Best-Hold Selection Sort Order that your Org Unit will use:

  1. Go to Admin → Local Administration → Library Settings Editor.
  2. Locate the setting Holds: Best-hold selection sort order, and click Edit.
  3. Choose the Context org unit for this setting.
  4. Select the Best-hold selection sort order, or Value, from the drop down menu.
  5. Click Update Setting.
Library Settings Editor

Permissions to use this Feature

To administer the custom Best-Hold Selection Sort Order interface, you need the following permission:

  • ADMIN_HOLD_CAPTURE_SORT

Org Unit Proximity Adjustments

Org Unit Proximity Adjustments

Org Unit Proximity Adjustments allow libraries to indicate lending preferences for holds between libraries in an Evergreen consortium. When a hold is placed in Evergreen, the hold targeter looks for copies that can fill the hold. One factor that the hold targeter uses to choose the best copy to fill the hold is the distance, or proximity, between the capturing library and the pickup library for the request. The proximity is based on the number of steps through the org tree that it takes to get from one org unit to another.

Org Unit Proximity

Org Unit Proximity between BR1 and BR4 = 4

Org Unit Proximity Adjustments allow libraries to customize the distances between org units, which provides more control over which libraries are looked at when targeting copies to fill a hold. Evergreen can also be configured to take Org Unit Proximity Adjustments into account during opportunistic capture through the creation of a custom Best-Hold Selection Sort Order. See documentation <here> for more information on Best-Hold Selection Sort Order.

An Org Unit Proximity Adjustment can be created to tell Evergreen which libraries to look at first for copies to fill a hold or which library to look at last. This may be useful for accounting for true transit costs or physical distances between libraries. It can also be used to identify libraries that have special lending agreements or preferences. Org Unit Proximity Adjustments can be created for all holds between two org units, or they can be created for holds on specific Copy Locations and Circulation Modifiers.

Absolute and Relative Adjustments

Two types of proximity adjustments can be created in Evergreen: Absolute adjustments and Relative adjustments.

Absolute proximity adjustments allow you to replace the default proximity distance between two org units. An absolute adjustment could be made to tell the hold targeter to look at a specific library or library system first to find an item to fill a hold, before looking elsewhere in the consortium.

Relative proximity adjustments allows the proximity between org units to be treated as closer or farther from one another than the default distance. A relative proximity adjustment could be used to identify a library that has limited hours or slow transit times to tell the hold targeter to look at that library last for copies to fill a hold.

Create an Org Unit Proximity Adjustment

To create an Org Unit Proximity Adjustment between two libraries:

  1. In the Admin menu choose Server Administration → Org Unit Proximity Adjustments.
  2. Click New OU Proximity Adjustment.
  3. Choose an Item Circ Lib from the drop down menu.
  4. Choose a Hold Request Lib from the drop down menu.
  5. If this proximity adjustment applies to a specific copy location, select the appropriate Copy Location from the drop down menu.
  6. If this proximity adjustment applies to a specific material type, select the appropriate Circ Modifier from the drop down menu.
  7. If this is an Absolute proximity adjustment, check the box next to Absolute adjustment? If you leave the box blank, a relative proximity adjustment will be applied.
  8. Enter the Proximity Adjustment between the Item Circulating Library and the Request Library.
  9. Click Save.
Org Unit Proximity Adjustment

This will create a one-way proximity adjustment between Org Units. In this example this adjustment will apply to items requested at by a patron BR4 and filled at BR1. To create the reciprocal proximity adjustment, for items requested at BR1 and filled at BR4, create a second proximity adjustment between the two Org Units.

Permissions to use this Feature

To create Org Unit Proximity Adjustments, you will need the following permission:

  • ADMIN_PROXIMITY_ADJUSTMENT

Floating Groups

Before floating groups copies could float or not. If they floated then they floated everywhere, with no restrictions.

After floating groups where a copy will float is defined by what group it has been assigned to.

Floating Groups

Each floating group comes with a name and a manual flag, plus zero or more group members. The name is used solely for selection and display purposes.

The manual flag dictates whether or not the "Manual Floating Active" checkin modifier needs to be active for a copy to float. This allows for greater control over when items float. It also prevents automated checkins via SIP2 from triggering floats.

Floating Group Members

Each member of a floating group references an org unit and has a stop depth, an optional max depth, and an exclude flag.

The org unit and all descendants are included, unless max depth is set, in which case the tree is cut off at the max depth.

The stop depth is the highest point from the current copy circ library to the checkin library for the item that will be traversed. If the item has to go higher than the stop depth on the tree the member rule in question is ignored.

As mentioned with the org unit, the max depth is the furthest down on the tree from the org unit that gets included. This is based on the entire tree, not just off of the org unit. So in the default tree a max depth of 1 will stop at the system level no matter if org unit is set to CONS or SYS1.

Exclude, if set, causes floating to not happen for the member. Excludes always take priority, so you can remove an org unit from floating without having to worry about other rules overriding it.

Examples

This is a default floating rule to emulate the previous floating behavior for new installs and upgrades.

One member:

  • Org Unit: CONS
  • Stop Depth: 0
  • Max Depth: Unset
  • Exclude: Off

This would permit a copy to float anywhere within a system, but would return to the system if it was returned elsewhere.

One member:

  • Org Unit: CONS
  • Stop Depth: 1
  • Max Depth: Unset
  • Exclude: Off

This would permit a copy to float to any branch, but not to sublibraries or bookmobiles.

One member:

  • Org Unit: CONS
  • Stop Depth: 0
  • Max Depth: 2
  • Exclude: Off

This would permit a copy to float to any branch in a system, but not to sublibraries or bookmobiles, and returning to the system if returned elsewhere.

One member:

  • Org Unit: CONS
  • Stop Depth: 1
  • Max Depth: 2
  • Exclude: Off

This would permit a copy to float between BR1 and BR3 specifically, excluding sublibraries and bookmobiles.

It would consist of two members, identical other than the org unit:

  • Org Unit: BR1 / BR3
  • Stop Depth: 0
  • Max Depth: 2
  • Exclude: Off

This would allow an item to float anywhere except for BM1. It accomplishes this with two members.

The first includes all org units, just like Float Everywhere:

  • Org Unit: CONS
  • Stop Depth: 0
  • Max Depth: Unset
  • Exclude: Off

The second excludes BM1:

  • Org Unit: BM1
  • Stop Depth: 0
  • Max Depth: Unset
  • Exclude: On

That works because excludes are applied first.

This would allow an item to float into BR2, but once there it would never leave. Why you would want to allow items to float to but not from a single library I dunno, but here it is. This takes advantage of the fact that the rules say where we can float to, but outside of stop depth don’t care where we are floating from.

One member:

  • Org Unit: BR2
  • Stop Depth: 0
  • Max Depth: Unset
  • Exclude: Off