Details
-
Story
-
Status: Closed (View Workflow)
-
P4
-
Resolution: Done
-
None
-
Volaris Sprint 122, Volaris Sprint 123
-
5
-
Volaris
Description
Purpose
INN-Reach supports three transaction types for requests originating from the central server. All three share common attributes. We need to store the attributes submitted by the central server, along with some other transaction-related data, such as item barcodes and various FOLIO ids for items, patrons, loans, and requests associated with the transaction. Below are the three transaction types with their required and optional request attributes, as well as a list of additional transaction-related data to store in the transaction record.
Requirements
- Requirement (Patron Hold)
- Transaction Request Parameters
- transactionTime
- integer, required, Epoch UNIX timestamp
- pickupLocation
- string, required, A colon-delimited list of three or four 512-byte (maximum) strings, with the last string being optional.
- Example:
<Pickup Loc Code>:<Display Name>:<Print Name>:<Delivery Stop>
- patronId
- string, required, lowercase alpha-numeric (32 char max)
- patronAgencyCode
- string, required, 5-character lower-case alphanumeric
- itemAgencyCode
- string, required, 5-character lower-case alphanumeric
- itemId
- string, required, lowercase alpha-numeric (32 char max)
- centralItemType
- integer, required, 0-255
- title
- string, conditional/optional, 256 bytes maximum
- author
- string, optional, 256 bytes maximum
- callNumber
- string, optional, 256 bytes maximum
- needBefore
- integer, optional, Epoch UNIX timestamp
- transactionTime
- Additional data to store in transaction record
- folioPatronId
- string, required, FOLIO patron UUID associated with the record
- folioItemId
- string, required, FOLIO Item UUID associated with temporary item created for the requested item
- folioRequestId
- string, required, FOLIO Request UUID
- folioLoanId
- string, optional, FOLIO Loan UUID
- shippedItemBarcode
- string, optional, barcode of shipped item (provided by owning site when ITEM_SHIPPED status received from central, used for lookup)
- folioPatronId
- Transaction Request Parameters
- Requirement: Item Hold
- Transaction Request Parameters
- transactionTime
- integer, required, Epoch UNIX timestamp
- pickupLocation
- string, required, A colon-delimited list of three or four 512-byte (maximum) strings, with the last string being optional.
- Example:
<Pickup Loc Code>:<Display Name>:<Print Name>:<Delivery Stop>
- patronId
- string, required, lowercase alpha-numeric (32 char max)
- patronAgencyCode
- string, required, 5-character lower-case alphanumeric
- itemAgencyCode
- string, required, 5-character lower-case alphanumeric
- itemId
- string, required, lowercase alpha-numeric (32 char max)
- centralItemType
- integer, required, 0-255
- needBefore
- integer, optional, Epoch UNIX timestamp
- centralPatronType
- integer, required, 0-255
- patronName
- string, required, 256 bytes maximum
- transactionTime
- Additional data to store in transaction record
- folioPatronId
- string, required, FOLIO patron UUID associated with the record
- folioItemId
- string, required, FOLIO Item UUID for itemId in local catalog
- folioRequestId
- string, required, Local FOLIO Request UUID
- folioLoanId
- string, optional, Local FOLIO Loan UUID
- folioPatronId
- Transaction Request Parameters
- Requirement: Local Hold
- Transaction Request Parameters
- transactionTime
- integer, required, Epoch UNIX timestamp
- pickupLocation
- string, required, A colon-delimited list of three or four 512-byte (maximum) strings, with the last string being optional.
- Example:
<Pickup Loc Code>:<Display Name>:<Print Name>:<Delivery Stop>
- patronId
- string, required, lowercase alpha-numeric (32 char max)
- patronAgencyCode
- string, required, 5-character lower-case alphanumeric
- patronHomeLibrary
- string, optional, N/A
- patronPhone
- string, optional, N/A
- itemAgencyCode
- string, required, 5-character lower-case alphanumeric
- itemId
- string, required, lowercase alpha-numeric (32 char max)
- centralItemType
- integer, required, 0-255
- title
- string, conditional/optional, 256 bytes maximum
- author
- string, optional, 256 bytes maximum
- callNumber
- string, optional, 256 bytes maximum
- needBefore
- integer, optional, Epoch UNIX timestamp
- centralPatronType
- integer, required, 0-255
- patronName
- string, required, 256 bytes maximum
- transactionTime
- Additional data to store in transaction record
- folioPatronId
- string, required, Local FOLIO patron UUID associated with the record
- folioItemId
- string, required, FOLIO Item UUID associated with the requested item
- folioRequestId
- string, required, FOLIO Request UUID
- folioLoanId
- string, optional, FOLIO Loan UUID
- folioPatronId
- Transaction Request Parameters
- Requirement: All records have:
- trackingId (a URL component of the API endpoints, provided by central server)
- ID for transaction tracking
- centralCode (a URL component of the API endpoints, provided by central server)
- Unique code that identifies the central server
- Provided as URL parameters to the post/put API requests that create each transaction type.
- trackingId (a URL component of the API endpoints, provided by central server)
- Requirement: We also need to store the INN-Reach transaction state. One of:
- ITEM_HOLD
- PATRON_HOLD
- LOCAL_HOLD
- BORROWER_RENEW
- BORROWING_SITE_CANCEL
- ITEM_IN_TRANSIT
- RECEIVE_UNANNOUNCED
- RETURN_UNCIRCULATED
- CLAIMS_RETURNED
- ITEM_RECEIVED
- ITEM_SHIPPED
- LOCAL_CHECKOUT
- CANCEL_REQUEST
- FINAL_CHECKIN
- RECALL
- TRANSFER
- Requirement: The data model should store transaction type as one of (based on endpoint used to create the transaction):
- Item
- Patron
- Local
Acceptance Criteria
- Model accounts for all data attributes described above that are necessary to represent an INN-Reach transaction and associate it with its related FOLIO data models
- Can CRUD instances of the model in the database
TestRail: Results
Attachments
Issue Links
- defines
-
UXPROD-2794 Create a Data Model to Track/Represent INN-Reach Transactions
-
- Closed
-
- is required by
-
MODINREACH-83 D2IR Local Endpoint (Circulation): Create INN-Reach Item Hold - Create Transaction
-
- Closed
-
- mentioned in
-
Page Loading...