Reservations
Let patrons place holds on material, choose where to pick it up, follow their place in the queue and manage their reservations.
2.5.1 Reserve material
SupportedPlace a hold on a publication that the patron picks up when it is ready.
What you can build
The central action on a work: the patron reserves, chooses where to pick up, and sees their place in the queue straight away. Fees and limits come from the library system, so the client can show them before the patron confirms.
Typical flow
- The patron chooses a publication. The client reads its
reservefromId Get.Holdings - The client reads the patron's fee, limits and pick-up locations from
Get.Patron Configuration - The patron chooses where to pick up (2.5.8).
- The client creates the reservation with
Create.Patron Reservation - The response is the reservation, including the patron's
queuewhen it is known.Number
What the API provides
- A publication without a
reservecannot be reserved.Id - A reservation fee has
charged:At reservation(charged when the hold is placed) orcheckout(charged at pick-up).amountis in minor units,currencyin ISO 4217. - Reservation limits come as
dailyandmax.
2.5.2 View reservations
SupportedShow the patron's reservations and where each one stands.
What you can build
An overview of everything the patron has reserved: what is ready to pick up, what is in the queue, and what is paused.
Typical flow
- The client fetches the reservations with
Get.Patron Reservations - Each reservation is shown with its state and, when known, its place in the queue.
What the API provides
stateisready_,for_ pickup in_orqueue postponed.queue1 means first in line. When the field is missing, the position is unknown.Number fulfillmenttells how the reservation is fulfilled:By local_,circulation interlibrary_,loan purchaseorunknown.
Calls in the API
2.5.3 Cancel reservation
SupportedLet the patron cancel a reservation they no longer need.
What you can build
Patrons cancel a reservation themselves, without contacting the library.
Typical flow
- The patron chooses a reservation and confirms the cancellation.
- The client calls
Delete.Patron Reservation
Calls in the API
2.5.4 Change pick-up location
SupportedMove an existing reservation to another pick-up location.
Typical flow
- The client lists the pick-up locations with
Get.Locations - The patron chooses a new one.
- The client updates the reservation with
Update.Patron Reservation
What the API provides
Updatechanges onlyPatron Reservation pickup.Location
Calls in the API
2.5.6 Pause reservations
SupportedPause all of the patron's reservations for a period when they cannot pick up.
What you can build
Paused reservations stay in the patron's overview, marked as paused.
Typical flow
- The patron chooses a period.
- The client sets
reservation.withpostpone Update.Patron Information - Reservations in the period show the state
postponed.
What the API provides
- The pause applies to the patron, not to a single reservation.
- The period may be open at one end, for example from today with no end date.
Calls in the API
2.5.7 Change expiration date
Not yetLet the patron change how long a reservation stays valid.
2.5.8 Choose pick-up location when reserving
SupportedLet the patron choose where to pick up while placing a reservation.
Typical flow
- The client reads the patron's default pick-up location from
Get(Patron Information pickup).Location - The patron can choose another one from the list.
- The chosen location is sent as
pickupwithLocation Create.Patron Reservation
What the API provides
- The options come from, in order of precedence: the item's
pickupinLocations Get, the holding'sHoldings pickup, the patron's configuration (Locations Get) andPatron Configuration Get.Locations - Each level replaces the ones below it entirely. If no level defines any pick-up locations, the material cannot be reserved.
2.5.9 Interlibrary loan request
Not yetLet the patron request material from another library.
2.5.10 Cancel interlibrary loan request
Not yetLet the patron cancel a request for material from another library.
2.5.11 Reserve on behalf of a patron
SupportedLet library staff place a reservation for a patron.
Typical flow
- Staff identify the patron.
- The reservation is created with
Createfor that patron.Patron Reservation
What the API provides
- The specification has no separate operation for staff and describes no way to act on a patron's behalf.