Pick Slips (v0.2)

http://localhost:9130

Table of contents

API for fetching current pick slips

API for pick slips generation

/circulation

GET /circulation/pick-slips/{servicePointId}

Retrieve pick-slip item with given {pick-slipId}

GET /circulation/pick-slips/{servicePointId}
URI Parameters
  • servicePointId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A collection of pick slips",
  "type": "object",
  "properties": {
    "pickSlips": {
      "description": "Collection of current pick slips",
      "id": "pickSlips",
      "type": "array",
      "items": {
        "title": "Pick slip",
        "description": "Pick slip representation of item, request and requester",
        "type": "object",
        "properties": {
          "item": {
            "description": "Pick slip representation of an item",
            "type": "object",
            "properties": {
              "title": {
                "description": "Primary title (or label) associated with an item",
                "type": "string"
              },
              "barcode": {
                "description": "Unique inventory control number for physical resources, used largely for circulation purposes",
                "type": "string"
              },
              "status": {
                "description": "Name of the status of an item",
                "type": "string",
                "enum": [
                  "Available",
                  "Awaiting pickup",
                  "Awaiting delivery",
                  "Checked out",
                  "In process",
                  "In transit",
                  "Missing",
                  "On order",
                  "Paged",
                  "Declared lost",
                  "Order closed"
                ]
              },
              "primaryContributor": {
                "description": "Primary contributor from an instance record",
                "type": "string"
              },
              "allContributors": {
                "description": "List of contributors from an instance record, separated by semicolon",
                "type": "string"
              },
              "enumeration": {
                "description": "Descriptive information for the numbering scheme of a serial",
                "type": "string"
              },
              "volume": {
                "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)",
                "type": "string"
              },
              "chronology": {
                "description": "Descriptive information for the dating scheme of a serial",
                "type": "string"
              },
              "yearCaption": {
                "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985. A list of captions separated by semicolon.",
                "type": "string"
              },
              "materialType": {
                "description": "Name of the material type",
                "type": "string"
              },
              "loanType": {
                "description": "Name of the loan type",
                "type": "string"
              },
              "copy": {
                "description": "Copy number from item or holding record. The piece identifier, which reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.).",
                "type": "string"
              },
              "numberOfPieces": {
                "description": "Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)",
                "type": "string"
              },
              "descriptionOfPieces": {
                "description": "Description of item pieces",
                "type": "string"
              },
              "effectiveLocationSpecific": {
                "description": "Name of the (shelf) location of the item",
                "type": "string"
              },
              "effectiveLocationInstitution": {
                "description": "First-level location unit, which location belongs to",
                "type": "string"
              },
              "effectiveLocationCampus": {
                "description": "Second-level location unit, which location belongs to",
                "type": "string"
              },
              "effectiveLocationLibrary": {
                "description": "Third-level location unit, which location belongs to",
                "type": "string"
              },
              "callNumber": {
                "type": "string",
                "description": "Effective call number, an identifier assigned to the item or its holding"
              },
              "callNumberPrefix": {
                "description": "The prefix of the effective call number, an identifier assigned to the item or its holding",
                "type": "string"
              },
              "callNumberSuffix": {
                "description": "The suffix of the effective call number, an identifier assigned to the item or its holding",
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "request": {
            "description": "Pick slip representation of a request",
            "type": "object",
            "properties": {
              "requestID": {
                "description": "UUID of the request",
                "type": "string",
                "$ref": "uuid.json"
              },
              "servicePointPickup": {
                "description": "Name of the requested pick-up service point",
                "type": "string"
              },
              "requestExpirationDate": {
                "description": "Date when the request expires",
                "type": "string",
                "format": "date-time"
              },
              "holdShelfExpirationDate": {
                "description": "Date when an item returned to the hold shelf expires",
                "type": "string",
                "format": "date-time"
              },
              "additionalInfo": {
                "description": "Additional information about request cancellation",
                "type": "string"
              },
              "reasonForCancellation": {
                "description": "Name of the reason for request cancellation",
                "type": "string"
              },
              "deliveryAddressType": {
                "description": "Name of the delivery address type",
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "requester": {
            "description": "Pick slip representation of the requester (user)",
            "type": "object",
            "properties": {
              "firstName": {
                "description": "Requester's given name",
                "type": "string"
              },
              "middleName": {
                "description": "Requester's middle name (if any)",
                "type": "string"
              },
              "lastName": {
                "description": "Requester's surname",
                "type": "string"
              },
              "barcode": {
                "description": "Personal identifier assigned to the requester by the library",
                "type": "string"
              },
              "addressLine1": {
                "description": "Address Line 1 of the requested delivery address",
                "type": "string"
              },
              "addressLine2": {
                "description": "Address Line 2 of the requested delivery address",
                "type": "string"
              },
              "city": {
                "description": "City of the requested delivery address",
                "type": "string"
              },
              "region": {
                "description": "Region of the requested delivery address",
                "type": "string"
              },
              "postalCode": {
                "description": "Postal Code of the requested delivery address",
                "type": "string"
              },
              "countryId": {
                "description": "Country code of the requested delivery address",
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "totalRecords": {
      "description": "Total number of pick slips",
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "required": [
    "pickSlips",
    "totalRecords"
  ]
}

Example:

{
  "pickSlips": [
    {
      "id": "4428a37c-8bae-4f0d-865d-970d83d5ad55",
      "holdingsRecordId": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
      "instanceId": "7fbd5d84-62d1-44c6-9c45-6cb173998bbd",
      "title": "Bridget Jones's Baby: the diaries",
      "barcode": "4539876054382",
      "callNumber": "PR6056.I4588 B749 2016",
      "status": "Paged",
      "contributors": [
        {
          "name": "Fielding, Helen"
        }
      ],
      "location": {
        "name": "Main Library",
        "code": "KU/CC/DI/M"
      }
    }
  ],
  "totalRecords": 1
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to list pick-slips -- malformed parameter 'query', syntax error at column 6"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

"unable to list pick-slips -- unauthorized"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"pick-slip not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator