Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

References

...

  • The actual record: XML string describing the record

    • suppress_from_publishing: tbd

For more details on creating a holding record, refer to Create holding record

...

Lifecycle

Given

When

Then

Dispatched by Supplying Library

  • DCB Patron Request exists in status REQUEST_PLACED_AT_BORROWING_AGENCY

DCB Patron Request Workflow matches corresponding request details at

  • Alma Supplying Library:

    • Request status: In progress

    • Item status: Transit

Trigger DCB HandleSupplierInTransit event to change

  • Borrowing or Pickup Library

    • transaction state = OPEN

  • DCB

    • PatronRequest.PICKUP_TRANSIT

    • HostLmsItem.ITEM_PICKUP_TRANSIT

Received at Pickup Library

  • DCB Patron Request exists

    • with corresponding HostLmsItem.ITEM_PICKUP_TRANSIT

DCB Patron Request Workflow matches corresponding request details at

  • Pickup Library

    • transaction state = AWAITING_PICKUP

Trigger HandleBorrowerItemOnHoldShelf event to change

  • Borrowing or Pickup Library

    • transaction state =AWAITING_PICKUP

  • DCB

    • PatronRequest.READY_FOR_PICKUP

    • HostLmsItem.ITEM_ON_HOLDSHELF

  • Alma Supplying Library:

    • On hold shelf / Ready for pickup

Item Checked Out to Patron at Pickup Library

  • DCB Patron Request exists

    • with corresponding HostLmsItem.ITEM_ON_HOLDSHELF

DCB Patron Request Workflow matches corresponding request details at

  • Pickup Library

    • transaction state = ITEM_CHECKED_OUT

Trigger HandleBorrowerItemLoaned event to change

  • Borrowing or Supplying Library

    • transaction state = ITEM_CHECKED_OUT

  • DCB

    • PatronRequest.LOANED

    • HostLmsItem.ITEM_LOANED

  • Alma Supplying Library

    • Request status: In progress

    • Item status: Loan

    • Loan status: Active, the item is checked out to a patron.

Item Returned by Borrowing Patron

  • DCB Patron Request exists in status

    • with corresponding HostLmsItem.ITEM_LOANED

DCB Patron Request Workflow matches corresponding request details at either

  • Pickup or Borrowing Library

    • transaction state = ITEM_CHECKED_IN

Trigger HandleBorrowerRequestReturnTransit event to change at

  • Borrowing or Pickup Library

    • transaction state = ITEM_CHECKED_IN

    • loan status = Closed

    • virtual item status = In transit

  • DCB

    • PatronRequest.RET-TRANSIT

    • HostLmsItem.ITEM_RETURNED

  • Alma Supplying Library:

    • no changes?

Received Back at Lending Agency

  • DCB Patron Request exists in status

    • with corresponding HostLmsItem.ITEM_RETURNED

DCB Patron Request Workflow matches corresponding request details at either

  • Alma Supplying Library

    • Request status: Completed

    • Item status: Item in place /Transit for Reshelving?

    • Loan status:

      • In Transit: If the item is returned to a non-owning branch and is being sent back to its home location

      • Returned: The item has been returned to the library and is no longer checked out.

Trigger HandleBorrowerRequestReturnTransit event to change

  • Borrowing or Pickup Library

    • transaction state = CLOSED

  • DCB

    • PatronRequest.COMPLETED

    • HostLmsItem.ITEM_AVAILABLE

    • Local status on supplier request changed to AVAILABLE

Workflow diagram

...

Alma updates:

  • No status updates

6. Item returned to the lending library (scan item at lending library):

Alma status updates:

  • Request status: Completed

  • Item status: Item in place

  •  Loan is closed

DCB status transition:

...

...

When a patron places a DCB request, it goes through initial checks and follows the sequence of status transitions (more details https://openlibraryfoundation.atlassian.net/wiki/x/IYAZqw) :

DCB Status Transition:

  • SUBMITTED_TO_DCB,

  • PATRON_VERIFIED,

  • RESOLVED,

  • REQUEST_PLACED_AT_SUPPLYING_AGENCY,

  • CONFIRMED,

  • REQUEST_PLACED_AT_BORROWING_AGENCY

Alma status updates:

  • Request type: Patron physical item request

  • Process status: New (Not started)

  • Item Status: "Item in place" (indicating the item is currently available on the shelf)

2. Item is sent out to the borrowing agency

Alma updates:

  • Request status: In progress

  • Item status: Transit

DCB status transition:

  • Transaction status changes on PICKUP_TRANSIT

3. Item received in borrowing agency:

DCB status transition:

  • Transaction status changes to RECEIVED_AT_PICKUP > READY_FOR_PICKUP

Alma updates:

  • No status updates

4. Item is loaned in borrowing agency:

DCB status transition:

  • Transaction status changes to LOANED

  • A loan is created in Alma.

Alma status updates:

  • Request status: In progress

  • Item status: Loan

  • Loan is created

Alma loan creation

To create the loan in Alma, the Rest Item Loan API is used with the following parameters and fields:

Parameters:

  • User_id: The ID of the requesting user.

  • item_pid or item_barcode: Item ID or barcode must be supplied

 Mandatory Fields:

  • circ_desk: Circulation desk code (DCB parameter?)

  • library: Library code responsible for the loan (lending agency?)

  • request_id

For more details on creating a loan, refer to Create user loan

5. Item returned at the borrowing library

DCB status transition:

...

Alma loan creation

Create Loan API allows to create a loan record for a patron.

API Endpoint

POST /almaws/v1/loans

Parameters:

  • item_barcode: The barcode of the item being loaned.

  • patron_id: The ID of the patron who is borrowing the item.

 Key Fields:

  • circ_desk: Circulation desk code (DCB parameter?)

  • library: Library code responsible for the loan (lending agency?)

  • request_id

  • due_date (optional)

  • loan_policy (optional)

Example Request

Basic Loan Request:

Code Block
http
POST https://api-na.hosted.exlibrisgroup.com/almaws/v1/loans?apikey={your_api_key}
Content-Type: application/json

{
  "item_barcode": "1234567890123",
  "patron_id": "987654321",
  "due_date": "2024-12-18"
}

Loan with Policy:

Code Block
http
POST https://api-na.hosted.exlibrisgroup.com/almaws/v1/loans?apikey={your_api_key}
Content-Type: application/json

{
  "item_barcode": "1234567890123",
  "patron_id": "987654321",
  "loan_policy": {
    "value": "Regular"
  }
}

For more details on creating a loan, refer to Create user loan

Circulation tracking and reaction (borrowing)

...