Patron settings
Let patrons keep their own account up to date: contact details, where they pick up, how they are notified, what they consent to, and their password.
2.11.1 Change preferred pick-up location
SupportedLet the patron choose where their reservations are picked up by default.
What you can build
Patrons choose their usual library once, and new reservations go there unless they choose otherwise (2.5.8).
Typical flow
- The client reads the locations the patron may choose from
Get, or else fromPatron Configuration Get.Locations - The patron chooses a branch and, where there are any, a section inside it.
- The client saves the choice as
pickupwithLocation Update.Patron Information
What the API provides
- When
reservation.is set inpickup Locations Get, also as an empty list, it replaces the locations fromPatron Configuration Get.Locations - A pick-up location can be a section inside a branch.
pickupinLocation patron.fromfields Gethas the formConfiguration branch_(the default) orid_ and_ sections only_.branch_ id
Calls in the API
2.11.2 Change email
SupportedLet the patron add or change the email addresses the library uses to reach them.
What you can build
Patrons keep their own email address up to date, so the library can reach them and, where the library system supports it, send reminders by email.
Typical flow
- The client shows the patron's addresses from
Get.Patron Information - The patron adds, changes or removes an address.
- The client sends the list as
emailswithUpdate.Patron Information
What the API provides
- At most one address can be
default. maxinNumber Of Email Addresses patron.fromfields Getis the most addresses a patron can have. More gives errorConfiguration 100211.- With
verificationset toverify_, the provider sends an email to confirm the address.by_ email verifiedshows the state:yes,noorpending. - A field left out of
Updateis not changed. APatron Information 202response means the update was received and is processed later.
Calls in the API
2.11.3 Change phone number
SupportedLet the patron add or change the phone numbers the library uses to reach them.
What you can build
Patrons keep their own phone number up to date, so the library can reach them and, where the library system supports it, send reminders by text message.
Typical flow
- The client shows the patron's numbers from
Get.Patron Information - The patron adds, changes or removes a number.
- The client sends the list as
phonewithNumbers Update.Patron Information
What the API provides
- A number is in E.164 format and has
typemobileorlandline. At most one can bedefault. patron.fromfields Getgives the most numbers per type, and whether a mobile number is confirmed by text message (Configuration verify_). Too many numbers gives errorby_ sms 100215.
Calls in the API
2.11.4 Change notification preferences
SupportedLet the patron choose which notifications they get, and how.
What you can build
A settings page with a switch for each kind of notification, so patrons only get the reminders they want, by the channel they prefer.
Typical flow
- The client fetches the settings with
Get.Patron Notification Settings - Each notification type is shown with the delivery methods it offers and the ones the patron has chosen.
- The patron changes a choice, and the client sends it with
Update.Patron Notification Settings
What the API provides
- Delivery methods are
sms,email,postalandvendor. Withvendor, the event goes to your own backend (2.9.1). delivery.is what the type offers;methods delivery.is what the patron has picked.chosen categorysuggests how the types can be grouped on the screen.- Only the types in the request are changed. The update is all or nothing, and the response holds every setting.
2.11.5 Manage consents
SupportedLet the patron give or withdraw consent, for example to keeping their loan history.
Typical flow
- The client fetches the consents with
Get.Patron Consents - The patron gives or withdraws a consent.
- The client sends the choice with
Update.Patron Consent
What the API provides
availablelists each consent with its newestversion.evaluatedholds what the patron has chosen, and for which version.- The known consent type is
loan_(2.8.1). Providers may offer others.history - Only the consents in the request are changed. The update is all or nothing.
Calls in the API
2.11.6 Delete patron
SupportedLet the patron delete their own account and personal data at the library.
What you can build
Patrons can use their right to erasure without contacting the library. Personal information and loan history are removed from the library system, and the deletion cannot be undone.
Typical flow
- The client can first check for active loans (2.4.1) and unpaid fees (2.7.1). The check only helps the patron; the library system decides.
- The patron confirms that the account should be deleted.
- With a password, the client calls
Deletewith the patron's ID or identifier and the password.Patron - With an identity provider, the client gets a URL from
Get, the patron confirms there, and the provider returns toDelete Patron Url Callbackwith aPatron Delete code. The client finishes withDelete.Patron By Code And Code Verifier - The response
statustells where the deletion stands. Withwaiting_, the client calls the deletion again with thefor_ acknowledgement acknowledgementcode to start it. The status ends asdoneordeletion_.error
What the API provides
patron.indeletion Getlists the identifier types and identity providers the provider accepts for deletion.Configuration - A password is always required when deleting without an identity provider.
- The identity provider flow uses PKCE:
code_in the first call,challenge code_in the last.verifier - Error
100101means the patron still has something unresolved with the library, such as a loan or a fee. - The provider can send the event
patron_to your backend (2.9.1).deleted
Calls in the API
- Requires
- 2.2.1 Log in
- Enabled in the configuration
-
GetConfiguration
Choose one path
Directly
With single sign-on
2.11.7 Change password
SupportedLet the patron change the password or PIN code they log in with.
What you can build
Patrons change their own password or PIN code, whichever the library system uses, from inside your service.
Typical flow
- The client reads which credentials the patron can change from
patron.incredentials. changeable Get.Configuration - The patron enters the current value and the new one.
- The client calls
ChangewithPatron Credential credentialset topasswordorpin. - A
204response means the change is done and the old value no longer works.
What the API provides
- The values are named after the credential:
currentandPassword new, orPassword currentandPin new. A password and a PIN code cannot be mixed up.Pin - A wrong current value gives error
100001. A new value the provider will not accept gives100011, and the info should say why. A credential that cannot be changed gives100013. - PLAS sets no format for a password or a PIN code.
- The provider is expected to limit attempts per patron, and should answer
429rather than400when the limit is reached. - A patron who does not know their current value resets it instead (2.2.5).
Calls in the API
- Requires
- 2.2.1 Log in
- Enabled in the configuration
-
GetConfiguration
2.11.9 Change language
Not yetLet the patron choose their language.
2.11.10 Patron master data
SupportedShow the patron's name, address, contact details and what they are allowed to do.
What you can build
A profile page with the patron's basic information as the library has it, including whether anything is blocked and why.
Typical flow
- The client fetches the patron with
Get.Patron Information - The profile shows name, address, email addresses, phone numbers, pick-up location and permissions.
What the API provides
fullis always there.Name givenandName surnameonly come when the library system stores the name in parts.permissionslists what the patron isallowedorblockedfrom, with areasonwhen blocked. Suggested types areoff_,hours self_andservice exclusion.
Calls in the API
2.11.11 Edit patron master data
Not yetLet the patron edit their master data.
2.11.12 View privacy policy
Not yetShow the privacy policy for the service.