Skip to content

Placing Holds

Ruth edited this page Apr 29, 2024 · 4 revisions

Holds Placement

Updated document about Holds Placement which takes No Recalls Into Account.

I Want It Button Logic

If an item can be placed on hold OR requested through ILL, we display the "I Want It" button. See No Recalls Logic. This translates to -- if it has holdable: true then we can place holds, but they may need to be ILLs (or non-recalling for community/PA borrowers). If holdable: false, we don't display the button.

Symphony Hold Placement

My Account hold placement against Symphony should allow the following:

  • If single item (see below) allow user to select pickup location and date no longer wanted.
  • If multiple items (see below) allow user to select which items are wanted as well as pickup location & date no longer wanted.
  • Confirm details.
  • Allow user to return to the item record page or view a summary of their current holds in My Account.

ILLiad Hold Placement

In cases where all local copies are unavailable and the patron is eligible for ILL, the "I Want It" button will take them to the ILL hold placement page in My Account which allows them to place an ILLiad Request.

Determining ILLiad Hold Placement

  1. Is item holdable:true?
  2. Are all copies in locations in the non_holdable array OR in libraries that are in the closed_libraries array in our libraries/locations list?
  3. Generate the ILL-based link for I Want It Button
  4. When patron clicks and authenticates, double-check that they're ILL-eligible, otherwise redirect them to the Symphony hold page.

If a user does not have an ILLiad account, a new one will be created for them. ILLiad hold placement has the same allowances as Symphony hold placement (see above) along with a link letting them know they can put a hold on a local copy instead if they're willing to wait.

Determining Single and Multiple Volumes

If a record has many copies of a single volume, the hold placement screen should simply have you select pickup location and date no longer wanted. A single volume may be determined by identical call numbers on a bibliographic record (possibly across many CallInfo records in the WebServices response).

Volumetric

If a record has multiple volumes (whether one or many copies), the hold placement screen should display a checkbox for each unique call number value. It should only allow you to select items for which a hold can be successfully placed (see Missing, Lost, and Other UnHoldable Items).

Missing, Lost, and Other UnHoldable Items

Some items attached to a "holdable" record may not be put on hold. This may occur when copies are missing, when copies are in reference, when they're on course reserve, etc. If the record has multiple copies of a single volume, this is not an issue if at least one copy is holdable. This should be something we can determine by checking holdable status at the TitleInfo level of the response.

On items with multiple volumes and call numbers, we will need to check that at least one item of each call number is available before displaying the checkbox to put that item on hold. This should be determined by consulting the currentLocationID and homeLocationIDs:

  • If an item's homeLocationID and currentLocationID are holdable locations, it should be displayed as a possible selection.
  • If neither or only one is a holdable location, it should not be displayed as a possible selection.
  • If a unique call number is in two locations, one of which is holdable and one of which is not is not, per logic above (e.g. one copy is in Reference at Berks and one is in General Stacks at Harrisburg), it should be allowed to be put on hold.

Earlier drafts referenced currentLocationID, however the homeLocationID is also used to determine availability when placing holds. currentLocationID does contain important CHECKEDOUT statement, which is probably the most important thing we could use it for.

Putting a hold on available items

If there are multiple call number records attached to a bib record, the user should have a chance to use check boxes to select which items they want to put on hold. Example catkey: c135532.

If some items are checked out, see next section for behavior.

Active Holds/My Account

For display of active holds including ILLiad holds, see required components of the My Account page.

Clone this wiki locally