Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device.
Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
This document outlines the requirements and workflows needed to integrate Alma with the DCB service to support Alma bibliographic data ingestion, patron verification, request placement, circulation tracking, and request finalization in OpenRS.
Alma supports the OAI-PMH mechanism for harvesting bibliographic records. For more details on the OAI-PMH Alma integration, refer to the official documentation: OAI-PMH Alma Integration
Item availability
In Alma, an item's circulation availability status can be retrieved using theRetrieve Item API
base_status.value = 1, process_type.value = AVAILABLE (or empty)
Checked Out
Item is on loan to a patron
base_status.value = 0,
process_type.value = LOAN
due_date: contains the due date
In Transit
Item is moving between locations
base_status.value = 0,
process_type.value = TRANSIT
Requested
Whether the item has been requested
requested: true
Item in Place: The item is on the shelf and available for loan. This is the default status for items that are not checked out, on hold, or in transit.
Checked Out: The item is currently on loan to a patron.
On Hold Shelf: The item has been requested by a patron and is ready for pickup at the specified hold shelf location. Reserved for a patron; not available for others.
In Transit: The item is being transported between library locations. Common for inter-library transfers or when items are returned to a different location.
Missing: The item is marked as lost or not found on the shelf after a search. Used when inventory checks reveal the item is missing.
Lost: The item is declared lost, typically after being overdue for an extended period.
Claimed Returned: The patron claims to have returned the item, but it is not found in the library.
Withdrawn: The item is no longer part of the collection (deaccessioned).
Binding: The item is sent for binding.Indicates the item is temporarily unavailable for use.
Technical - Migration: Items assigned this status during system migration or cataloging activities.
Repair: The item is under repair: Temporarily unavailable until repaired.
Acquisition: The item is newly acquired and not yet processed for circulation. Items awaiting cataloging or physical processing.
Processing: The item is being cataloged or processed for circulation. Temporary status during cataloging workflows.
In Transit for Reshelving: The item is being returned to its original shelf location. Used during returns or after in-library use.
Requested: The item has been requested by a patron or library staff. Blocks others from borrowing the item.
Suppression Value
In Alma, the suppression value indicates whether a bibliographic, holdings, or item record is suppressed from discovery. This information is accessible through the Alma APIs.
The suppression value is in the field suppress_from_publishing:
true: suppressed from publishing.
false: is not suppressed and is visible in discovery systems.
1. Retrieve Item API endpoint:/almaws/v1/bibs/{mms_id}/holdings/{holding_id}/items/{item_pid}
GET https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/123456789/holdings/234567890/items/987654321?apikey={your_api_key}
Alma supports the SAML 2.0 Web Browser SSO profile for user authentication and authorization. Further information on this integration can be found here: SAML Authentication.
Eligibility
After the patron has been successfully authenticated, DCB must determine if the patron is eligible to place a request. The patron is eligible if the following conditions are met:
Alma patron record is active.
Alma patron record does not have any active patron blocks.
TheUsers API allows to retrieve information about a patron's account and determine their eligibility.
Endpoint: GET /almaws/v1/users/{user_id}
Key fields:
Account Status (status): Indicates whether the account is active or inactive.
ACTIVE: The patron is eligible.
INACTIVE: The patron is not eligible.
Blocks (user_block): Lists any blocks on the patron's account
User account type (account_type): Two basic types of user accounts in Alma are internal and external users
Home library code (rs_libraries): List of the user's related resource-sharing libraries.
Endpoint: POST /almaws/v1/bibs/{mms_id}/holdings/{holding_id}/items/{item_pid}/requests
Required parameters:
mms_id: The unique identifier of the bibliographic record.
holding_id: The ID of the holding record associated with the item.
item_pid: The unique identifier of the physical item.
Request body fields:
Field
Description
Field
Description
user_primary_id
The primary ID of the user making the request, must be a valid user ID in Alma.
request_type
HOLD
pickup_location_type
Type of pickup location (e.g., LIBRARY).
The pickup location library code. (Note: Alma does not provide a direct API endpoint to create pickup locations dynamically. Pickup locations are defined and configured in the Alma interface by library administrators.)
pickup_location_library
Code of the library where the item will be picked up.
Request type is not allowed for the specified item.
401649
User is not eligible to place the request.
The initial request_status will typically be Not Started, and Alma will update this as the request progresses.
Not Started:
Description: The request has been created but has not yet been acted upon.
Typical Use Case: This is the initial state for new requests, waiting for staff or system action to process the request.
In Process:
Description: The request is actively being processed.
Typical Use Case: Staff or an automated system is handling the request. For example: retrieving the item from shelves, preparing the item for shipping, scanning or transferring the item.
On Hold Shelf:
Description: The requested item is ready for the patron to pick up at the designated location.
Typical Use Case: The item has been retrieved, processed, and placed in the "Hold Shelf" area of the specified library or circulation desk.ed out.
History:
Description: The request has been completed, canceled, or expired and is no longer active.
Typical Use Case: The patron picked up the item (and the loan is recorded in circulation); the request was canceled by the patron or library staff; the request expired before it could be fulfilled.
Endpoint: POST /almaws/v1/bibs/{mms_id}/requests
Request body fields:
Field
Description
Field
Description
user_primary_id
The primary ID of the user making the request.
request_type
The type of request. HOLD
pickup_location_type
Type of pickup location. LIBRARY
pickup_location_library
Code of the library where the item will be picked up. (for HOLD requests).