Request Item

The Request Item API allows the user to raise a request (retrieve / recall / EDD) in SCSB for a valid item. The request internally makes SIP/REST calls to partner ILS's to create bibliographic record (temporary record for cross partner borrowing), hold item, recall item (in case of recalls), charge and discharge of the records. The request information are gathered and placed in SCSB ActiveMQ from which it will be consumed by Storage Location IMS System ActiveMQ system to retrieve and deliver physical items to the partner ILS and fulfill EDD requests..

Before the request information are gathered and placed in SCSB ActiveMQ , the status of the requested item is checked in Storage Location IMS System using a rest call to check if item is available in Storage Location IMS System. Based on the Storage Location IMS System's item status requests are processed. If the Storage Location IMS System's item status is on first scan("Sch on REFILE WO:") for a request then the request information are gathered and saved in SCSB database with the status as 'REQUESTS PLACED ON SCH'. When Storage Location IMS System does Refile process then these requests are picked up and put into queue which will be picked up and processed by Storage Location IMS System as a regular request.

When a Retrieval request is made from cross partner institutions a checkout call is made to the respective institution with pseudo patron barcodes shared by partners. From change request - MS-323 , a check-Out call to ILS is sent for an EDD requests too where they are made using pseudo patron barcodes given by partners. 

Retrieve Request

Retrieve request is the basic request placed on an available item to physically deliver it at the partner's institution. The requestType value is mentioned as RETRIEVAL as shown below.


Request - Request (Retrieve) Item
{
  "author": "", // Author information of the bibliographic record.
  "bibId": "", // Bibliographic Id of the bibliographic record.
  "callNumber": "", // Call number details to ease process of retrieval.
  "chapterTitle": "", // Chapter title to ease fulfillment of EDD requests.
  "deliveryLocation": "PA", // Delivery location for physical retrievals.
  "emailAddress": "test@example.com", // Email address of the Patron. Mandatory in case of EDD requests.
  "endPage": "", // The end page for scanning in case of EDD requests. String input takes in any value.
  "issue": "", // Issue details to ease fulfillment of EDD requests.
  "itemBarcodes": [
    "PULTST54322" // Item Barcode. Multiple values (maximum of 20) allowed separated by comma (,) as long as they belong to the same bibliographic record, have same customer code and the same availability status.
  ],
  "itemOwningInstitution": "Institution", // Item owning institution. Possible values are PUL, CUL or NYPL.
  "patronBarcode": "45678913", // Patron Barcode.
  "requestNotes": "Test Request", // Request Notes can be leveraged to enter any notes relevant to the request.
  "requestType": "RETRIEVAL", // Request Type can either be 'RETRIEVAL', 'RECALL' or 'EDD'. Recall can be only done on a not available, checked out item.
  "requestingInstitution": "Institution", // Requesting Institution. The institution to which the requesting patron belongs to.
  "startPage": "", // The start page for scanning in case of EDD requests. String input takes in any value.
  "titleIdentifier": "", // This is used to send titles to use during creation of temporary records.
  "trackingId": "", // NYPL's ILS generated ID initiated on their side while placing hold used as a reference to return response in SCSB.
  "username": "admin", //User with Request permission
  "volume": "" // Volume information to ease fulfillment of EDD requests.
}

Recall Request

In case the request to be placed is a recall request (placed when the item is not available and is checked out to another patron), the requestType value is mentioned as RECALL as shown below.

Request - Request (Recall) Item
{
  "author": "",
  "bibId": "",
  "callNumber": "",
  "chapterTitle": "",
  "deliveryLocation": "PA",
  "emailAddress": "test@example.com",
  "endPage": "",
  "issue": "",
  "itemBarcodes": [
    "PULTST54322"
  ],
  "itemOwningInstitution": "Institution",
  "patronBarcode": "45678913",
  "requestNotes": "Test Request",
  "requestType": "RECALL",
  "requestingInstitution": "Institution",
  "startPage": "",
  "titleIdentifier": "",
  "trackingId": "",
  "username": "admin",
  "volume": ""
}

EDD Request

In case the request to be placed is an EDD (Electronic Document Delivery) request, the requestType value is mentioned as EDD as shown below.

Request - Request (EDD) Item
{
  "author": "", // Optional
  "bibId": "", // Auto populated based on item barcode
  "callNumber": "", //Auto populated based on item barcode
  "chapterTitle": "Title", //Auto populated based on item barcode
  "deliveryLocation": "PA", //Optional
  "emailAddress": "test@example.com",//Mandatory
  "endPage": "180", //Mandatory - String Data type
  "issue": "", Optional - String Data Type
  "itemBarcodes": [
    "PULTST54322"
  ], //Mandatory
  "itemOwningInstitution": "Institution", // //Auto populated based on item barcode
  "patronBarcode": "45678913", //Mandatory
  "requestNotes": "Test Request", //Optional -1000 character limit
  "requestType": "EDD", // Mandatory
  "requestingInstitution": "Institution", //Auto populated based on login. For users with Recap privileges, it is mandatory to input.
  "startPage": "50", // Mandatory - String Data Type
  "titleIdentifier": "", // Mandatory, also called as Article / Chapter Title on UI
  "trackingId": "", // Internally used for NYPL requests only
  "username": "admin", //Auto populated based on login
  "volume": "Vol 32" // Optional String Data Type
}

Response

Responses to all the above request calls are given out as below since partner APIs give out delayed responses. The responses would be listened to, consolidated and will be broadcast over ActiveMQ.

Response - Request Item
{
  "patronBarcode": "45678912",
  "itemBarcodes": [
    "PULTST54327"
  ],
  "requestType": "RETRIVAL",
  "deliveryLocation": "PF",
  "requestingInstitution": "Institution",
  "bibliographicId": null,
  "expirationDate": "",
  "itemId": null,
  "screenMessage": "Message received, your request will be processed",
  "success": true,
  "emailAddress": "",
  "titleIdentifier": ""
}