• Rough draft
  • DCB States

    See also State Changes WIP sheet

     

    Tracking Sequence

    Tracking v3 incorporates polling at intervals based on current state, to reflect that some states should move quickly and others (such as LOANED) are unlikley to move for significant elapsed time.

    This allows DCB to spread the load of circulation polling to improve system performance when dealing with several thousand in-flight requests.

    See reference matrix at Tracking v3 matrix .

    State Model Diagrams

    • The state model is generated using GraphViz

     


    Prior State Model Iterations

    Content below is considered obsolete. Please use dynamic state diagrams per above.

    Patron Request States

    • SUBMITTED_TO_DCB - the patron has requested an item, it has been submitted to DCB

    • PATRON_VERIFIED - the request has passed the validation phase

    • RESOLVED - We’ve located an item

    • NO_ITEMS_AVAILABLE_AT_ANY_AGENCY

    • REQUEST_PLACED_AT_SUPPLYING_AGENCY - a request has been placed at the supplying agency

    • REQUEST_PLACED_AT_BORROWING_AGENCY - a request has been placed for tracking at the patrons home system

    • ERROR - There was an error

    Supplier Request States

    • PENDING - Hold placed, waiting for confirmation

    • PLACED - Hold placed - we know the ID of the hold and the item

    Fallback States

    Context - see Slack

    Broadly speaking, that will likely be something like:

    • Available -> AVAILABLE

    • Checked out -> CHECKED_OUT

    • Unknown -> UNKNOWN

    • Everything else to UNAVAILABLE

    • No status (which shouldn’t happen) to Unknown

    There are some quirky statuses that folks might want different mappings for:

    • On order

    • In process (because of the presence of In process (non-requestable) which implies the other kind of in process allows requests)

    • In transit (which is ambiguous because we don’t know why it’s in transit)

    • Intellectual item  (because I don’t know what that means)

    The full list of statuses can be found here

    State Models in DCB

     

     

    Operated as a Community Resource by the Open Library Foundation