Support DCB virtual item renewal in FOLIO
Submitted | Jan 28, 2025 |
---|---|
Approved |
|
Status | draft |
Impact | medium |
Arch Ticket | |
Prod ticket |
Problem Statement
Currently, the renewal of a DCB virtual item by the borrowing library is not detected by DCB. The requirement for DCB is to detect virtual item renewals initiated in the borrowing library and trigger a corresponding renewal of the item in the supplier library. When a renewal occurs, the due date will change in accordance with the loan/circ rules that govern the loan.
OpenRS will detect a DCB virtual item renewal at the borrowing library and initiate the corresponding item renewal at the supplying library.
Requirements
See: UXPROD-5116: Support DCB virtual item renewal in FOLIOOpen
Assumptions
Locate/OpenRS can renew the item through existing
edge-patron
’s API: POST /renewRenewal count and maximum number of renewals are available in FOLIO (https://folio-org.atlassian.net/browse/MODDCB-169)
Baseline Solution
See: DCB Integration
Target Solution
Key aspects:
The GET status API should be extended with renewal count and renewal maximum number in the borrowing or borrowing-pickup role.
The renewal status should be available only when the transaction status is
ITEM_CHECKED_OUT
The GET status API should have a new optional section (
renewalPolicy
) in Response:
{
"item": {
"id": "^aaaaaaaa-aaaa-1aaa-8aaa-aaaaaaaaaaaa$",
"title": "string",
"barcode": "string",
"materialType": "string",
"lendingLibraryCode": "string"
"renewalPolicy": {
"renewalMaxCount": "integer",
"renewalCount": "integer"
}
},
"patron": {
"id": "^aaaaaaaa-aaaa-1aaa-8aaa-aaaaaaaaaaaa$",
"group": "string",
"barcode": "string",
"borrowingLibraryCode": "string"
},
"pickup": {
"libraryName": "string",
"libraryCode": "string",
"servicePointId": "string",
"servicePointName": "string"
},
"role": "BORROWER"
}
Sequence Diagram
The DCB Hub polls the status of the DCB transaction:
the transaction is in
ITEM_CHECKED_OUT
and role is borrowing or borrowing-pickupmod-dcb
gets renewal counts frommod-circulation
the DCB hub should receive information on renewal counts
The patron requests renewal:
the transaction is in
ITEM_CHECKED_OUT
and the DCB hub has information on renewal countsthe DCB hub renews the loan through the
edge-patron
API of the lending institutionthe loan is renewed in the lending institution