Circulation (v0.4)

http://localhost:9130

Table of contents

Circulation Business Logic API

API for report generation

In transit items report

GET /inventory-reports/items-in-transit

Retrieve items-in-transit item with given {items-in-transitId}

GET /inventory-reports/items-in-transit
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#",
  "title": "Collection of items",
  "description": "Collection of items",
  "type": "object",
  "properties": {
    "items": {
      "description": "Paged collection of items",
      "id": "items",
      "type": "array",
      "items": {
        "title": "An item",
        "description": "Full information about an item",
        "type": "object",
        "properties": {
          "id": {
            "description": "UUID of the item",
            "type": "string",
            "$ref": "uuid.json"
          },
          "title": {
            "description": "title of the item (stored)",
            "type": "string"
          },
          "barcode": {
            "description": "barcode of the item (stored)",
            "type": "string"
          },
          "contributors": {
            "description": "A list of contributor names",
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "description": "The contributor name",
                  "type": "string"
                }
              }
            }
          },
          "callNumber" : {
            "description" : "The call number from the holdings record",
            "type": "string"
          },
          "enumeration": {
            "description": "The enumeration of the item",
            "type": "string"
          },
          "volume": {
            "description": "The volume of the item",
            "type": "string"
          },
          "yearCaption": {
            "description": "The year caption of the item",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "description": "The status for an item (should be In transit for all items in report)",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the status"
              }
            }
          },
          "inTransitDestinationServicePointId": {
            "description": "Destination service point: the service point where the item was sent as a result of its most recent scan in the check in app",
            "type": "string"
          },
          "inTransitDestinationServicePoint": {
            "description": "Service point an item is intended to be transited to (should only be present when in transit)",
            "type": "object",
            "properties": {
              "id": {
                "description": "UUID of the service point",
                "type": "string",
                "$ref": "uuid.json"
              },
              "name": {
                "description": "Name of the service point",
                "type": "string"
              }
            }
          },
          "location": {
            "description": "The effective location of the item",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the location"
              },
              "libraryName": {
                "type": "string",
                "description": "The name of the library of the location"
              },
              "code": {
                "type": "string",
                "description": "The location code"
              }
            }
          },
          "request": {
            "description": "The first open item's request in the queue",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "requestType": {
                "type": "string",
                "description": "The type of the request"
              },
              "requestDate": {
                "description": "Date the request was made",
                "type": "string",
                "format": "date-time"
              },
              "requestExpirationDate": {
                "description": "Date when the request expires",
                "type": "string",
                "format": "date-time"
              },
              "requestPickupServicePointName": {
                "description": "The name of the request pickup service point",
                "type": "string"
              },
              "requestPatronGroup": {
                "type": "string",
                "description": "The patron group of the request"
              },
              "tags": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "loan": {
            "description": "The effective location of the item",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "checkInServicePoint": {
                "description": "The check in service point",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name of the service point"
                  },
                  "code": {
                    "type": "string",
                    "description": "The location code of the service point"
                  },
                  "discoveryDisplayName": {
                    "type": "string",
                    "description": "The discovery display name of the service point"
                  },
                  "shelvingLagTime": {
                    "description": "Shelving lag time",
                    "type": "integer"
                  },
                  "pickupLocation": {
                    "description": "Is this a pickup location",
                    "type": "boolean"
                  }
                }
              },
              "checkInDateTime": {
                "description": "Date when the item is checked in",
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "lastCheckIn": {
            "description": "The information about when an item was last scanned",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "dateTime": {
                "description": "The date and time when the item was most recently scanned",
                "type": "string",
                "format": "date-time"
              },
              "servicePoint": {
                "description": "The service point where the item was most recently scanned in the Check In app",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "description": "UUID of the service point",
                    "type": "string",
                    "$ref": "uuid.json"
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the service point"
                  }
                }
              }
            }
          },
          "copyNumber": {
            "type": "string",
            "description": "Copy number is the piece identifier. The copy number 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.)"
          },
          "effectiveCallNumberComponents": {
            "description": "Elements of a full call number",
            "$ref": "schema/call-number-components.json"
          }
        },
        "additionalProperties": false
      }
    },
    "totalRecords": {
      "description": "Total number of items",
      "type": "integer"
    }
  },
  "required": [
    "items",
    "totalRecords"
  ]
}

Example:

{
  "items": [
    {
      "id": "7212ba6a-8dcf-45a1-be9a-ffaa847c4423",
      "title": "A semantic web primer",
      "barcode": "10101",
      "contributors": [
        {
          "name": "Antoniou, Grigoris"
        },
        {
          "name": "Van Harmelen, Frank"
        }
      ],
      "callNumber": "TK5105.88815 . A58 2004 FT MEADE",
      "enumeration": "enum",
      "volume": "volume",
      "yearCaption": [
        "2019"
      ],
      "status": {
        "name": "In transit"
      },
      "inTransitDestinationServicePointId": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
      "inTransitDestinationServicePoint": {
        "id": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
        "name": "Circ Desk 2"
      },
      "location": {
        "name": "Main Library",
        "code": "KU/CC/DI/M",
        "libraryName": "Datalogisk Institut"
      },
      "request": {
        "requestType": "Hold",
        "requestDate": "2019-11-11T19:19:36.000Z",
        "requestExpirationDate": "2019-11-13T00:00:00.000Z",
        "requestPickupServicePointName": "Circ Desk 2",
        "requestPatronGroup": "Jast, Perry",
        "tags": [
          "tag1",
          "tag2"
        ]
      },
      "loan": {
        "checkInServicePoint": {
          "name": "Online",
          "code": "Online",
          "discoveryDisplayName": "Online",
          "shelvingLagTime": 0,
          "pickupLocation": false
        },
        "checkInDateTime": "2019-11-11T19:19:49.000Z"
      },
      "lastCheckIn": {
        "dateTime": "2019-12-05T09:37:34.000Z",
        "servicePoint": {
          "id": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
          "name": "Circ Desk 2"
        }
      },
      "copyNumber": "cp.1",
      "effectiveCallNumberComponents": {
        "callNumber": "TK5105.88815 . A58 2004 FT MEADE",
        "prefix": "0001",
        "suffix": "124"
      }
    }
  ],
  "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 items-in-transit -- 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 items-in-transit -- unauthorized"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"items-in-transit 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