DCB-528 Implement Polaris Circulation Lifecycle

References

Jira Ticket

Polaris API:

Related Documentation

Request Workflow Transitions

  • Preconditions and assumptions:

    • an item request has been placed in DCB

    • DCB detects a change in item status

  • Request workflow steps (When) apply to all requests

  • Triggers (Given) and agency (re)actions (Then) descriptions apply to Polaris systems only.

When

Given Item

 

Then Update Request

When

Given Item

 

Then Update Request

 

Polaris Item

DCB HostLmsItem

DCB

Supplier Agency

Pickup Agency

1. Dispatched by Lending Agency

Lending Agency.

ItemStatusID == 5 - Transferred

HostLmsItem.ITEM_TRANSIT

PICKUP_TRANSIT

NA

ItemStatusID = 5 - Transferred

2. Received at Borrowing Agency

ItemStatusID: 4 - Held

HostLmsItem.ITEM_ON_HOLDSHELF

RECEIVED AT BORROWING / PICKUP AGENCY

ItemStatusID: 4 - Held

ItemStatusID: 4 - Held

3. Item Checked Out to Patron at Pickup Agency

Pickup Agency. ItemStatusID == 2 - Out

HostLmsItem.ITEM_LOANED

LOANED

ItemStatusID == 2 - Out

NA

4. Item Returned by Borrowing Patron

Pickup Agency. ItemStatusID == 6 - In-Transit

HostLmsItem.ITEM_RETURNED

RETURN_TRANSIT

ItemStatusID == 6 - In-Transit

NA

5. Received Back at Lending Agency

Lending Agency.

ItemStatusID == 1- In

HostLmsItem.ITEM_AVAILABLE

COMPLETED

Remove virtual patron / request

Remove virtual item / bib / request

Unknowns

unknown blocking workaround with expected consequences resolved

  • LockRecordAfterInsert: seems to be causing an issue being able to update records.

    • item is locked while viewed in admin app, so that should not be open when attempting to update via the API

    • see Object Locks

    • implication is that the same call is used to toggle lock

  • OriginalItemStatusID

    • attempt to set as current ItemStatusID , which should be as described in the Given conditions

 

Operated as a Community Resource by the Open Library Foundation