Circulation version v0.8
http://localhost:9130
Circulation Business Logic API
API for report generation
/circulation
Entity representing a hold-shelf-clearance
Retrieve hold-shelf-clearance item with given {hold-shelf-clearanceId}
get /circulation/requests-reports/hold-shelf-clearance/{servicePointId}
Retrieve hold-shelf-clearance item with given {hold-shelf-clearanceId}
URI Parameters
- servicePointId: required(string)
Query Parameters
- lang: (string - default: en - pattern: [a-zA-Z]{2})
Requested language. Optional. [lang=en]
HTTP status code 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 item requests",
"description": "Collection of item requests",
"type": "object",
"properties": {
"requests": {
"description": "Paged collection of item requests",
"id": "requests",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "A request for an item",
"description": "Request for an item that might be at a different location or already checked out to another patron",
"properties": {
"id": {
"description": "UUID of the request",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"requestType": {
"description": "Whether the item should be held upon return, recalled or paged for",
"type": "string",
"enum": [
"Hold",
"Recall",
"Page"
]
},
"requestDate": {
"description": "Date the request was made",
"type": "string",
"format": "date-time"
},
"patronComments": {
"description": "Comments made by the patron",
"type": "string"
},
"requesterId": {
"description": "ID of the user who made the request",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"proxyUserId": {
"description": "ID of the user representing a proxy for the patron",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"itemId": {
"description": "ID of the item being requested",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"status": {
"description": "Status of the request",
"type": "string",
"enum": [
"Open - Not yet filled",
"Open - Awaiting pickup",
"Open - In transit",
"Open - Awaiting delivery",
"Closed - Filled",
"Closed - Cancelled",
"Closed - Unfilled",
"Closed - Pickup expired"
]
},
"cancellationReasonId": {
"description": "The id of the request reason",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"cancelledByUserId": {
"description": "The id of the user that cancelled the request",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"cancellationAdditionalInformation": {
"description": "Additional information about a cancellation",
"type": "string"
},
"cancelledDate": {
"description": "Date the request was cancelled",
"type": "string",
"format": "date-time"
},
"position": {
"description": "position of the request in a per-item request queue",
"type": "integer",
"minimum": 1
},
"item": {
"description": "Information about the requested item (some of which is stored and used for searching and sorting)",
"readOnly": true,
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Item status at the request creation time.",
"readonly": true
},
"title": {
"description": "title of the item (stored)",
"type": "string",
"readonly": true
},
"barcode": {
"description": "barcode of the item (stored)",
"type": "string",
"readonly": true
},
"callNumber": {
"description": "Deprecated call number from the holdings record, use callNumberComponents.callNumber instead",
"type": "string",
"readonly": true
},
"holdingsRecordId": {
"description": "The ID of the holdings for the item",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"instanceId": {
"description": "The ID of the instance for the item",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"location": {
"description": "The effective location of the item",
"type": "object",
"readonly": true,
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "The name of the location",
"readonly": true
},
"libraryName": {
"type": "string",
"description": "The name of the library of the location",
"readonly": true
},
"code": {
"type": "string",
"description": "The location code",
"readonly": true
}
}
},
"contributorNames": {
"description": "A list of contributor names",
"type": "array",
"readonly": true,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"description": "The contributor name",
"type": "string",
"readonly": true
}
}
}
},
"copyNumber": {
"type": "string",
"description": "Copy number for the item",
"readonly": true
},
"enumeration": {
"description": "The volume and/or issue number for the item",
"type": "string",
"readonly": true
},
"volume": {
"type": "string",
"description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes).",
"readonly": true
},
"chronology": {
"type": "string",
"description": "Chronology is the descriptive information for the dating scheme of a serial.",
"readonly": true
},
"callNumberComponents": {
"description": "Elements of a full call number",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"callNumber": {
"type": "string",
"description": "Call number for item",
"readonly": true
},
"prefix": {
"description": "Call number prefix for item",
"type": "string",
"readonly": true
},
"suffix": {
"description": "Call number suffix for item",
"type": "string",
"readonly": true
}
}
},
"identifiers": {
"type": "array",
"description": "An extensible set of resource identifiers",
"readonly": true,
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "Resource identifier value",
"readonly": true
},
"identifierTypeId": {
"type": "string",
"description": "UUID of resource identifier type (e.g. ISBN, ISSN, LCCN, CODEN, Locally defined identifiers)",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"requester": {
"description": "Copy of some requesting patron metadata (used for searching and sorting), will be taken from the user referred to by the requesterId",
"readonly": true,
"type": "object",
"properties": {
"firstName": {
"description": "first name of the patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"lastName": {
"description": "last name of the patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"middleName": {
"description": "middle name of the patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"barcode": {
"description": "barcode of the patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"patronGroupId": {
"description": "UUID for the patron group that this user belongs to",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"patronGroup": {
"description": "record for the user's patron group",
"type": "object",
"additionalProperties": false,
"readonly": true,
"properties": {
"id": {
"description": "ID of the patron group",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"group": {
"description": "The unique name of the patron group",
"type": "string",
"readonly": true
},
"desc": {
"description": "A description of the patron group",
"type": "string",
"readonly": true
}
}
}
},
"additionalProperties": false
},
"proxy": {
"description": "Copy of some proxy patron metadata (used for searching and sorting), will be taken from the user referred to by the proxyUserId",
"readonly": true,
"type": "object",
"properties": {
"firstName": {
"description": "first name of the proxy patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"lastName": {
"description": "last name of the proxy patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"middleName": {
"description": "middle name of the proxy patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"barcode": {
"description": "barcode of the proxy patron (read only, defined by the server)",
"type": "string",
"readonly": true
},
"patronGroupId": {
"description": "UUID for the patrongroup that this user belongs to",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"patronGroup": {
"description": "record for the user's patrongroup",
"type": "object",
"readonly": true,
"additionalProperties": false,
"properties": {
"id": {
"description": "ID of the patrongroup",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"group": {
"description": "The unique name of the patrongroup",
"type": "string",
"readonly": true
},
"desc": {
"description": "A description of the patrongroup",
"type": "string",
"readonly": true
}
}
}
},
"additionalProperties": false
},
"fulfilmentPreference": {
"description": "How should the request be fulfilled (whether the item should be kept on the hold shelf for collection or delivered to the requester)",
"type": "string",
"enum": [
"Hold Shelf",
"Delivery"
]
},
"deliveryAddressTypeId": {
"description": "Deliver to the address of this type, for the requesting patron",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"deliveryAddress": {
"description": "Address the item is to be delivered to (derived from requester information)",
"type": "object",
"readonly": true,
"properties": {
"addressLine1": {
"description": "Address line 1",
"type": "string",
"readonly": true
},
"addressLine2": {
"description": "Address line 2",
"type": "string",
"readonly": true
},
"city": {
"description": "City name",
"type": "string",
"readonly": true
},
"region": {
"description": "Region",
"type": "string",
"readonly": true
},
"postalCode": {
"description": "Postal code",
"type": "string",
"readonly": true
},
"countryId": {
"description": "Country code",
"type": "string",
"readonly": true
},
"addressTypeId": {
"description": "Type of address (refers to address types)",
"type": "string",
"readonly": true,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
}
},
"additionalProperties": false
},
"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"
},
"pickupServicePointId": {
"description": "The ID of the Service Point where this request can be picked up",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
},
"pickupServicePoint": {
"description": "The full object of the Service Point record from pickupServicePointId",
"additionalProperties": false,
"readonly": true,
"properties": {
"name": {
"description": "Unique name for the service point",
"type": "string",
"readonly": true
},
"code": {
"description": "Unique code for the service point",
"type": "string",
"readonly": true
},
"discoveryDisplayName": {
"description": "Human-readable name for the service point",
"type": "string",
"readonly": true
},
"description": {
"description": "Description of the service point",
"type": "string",
"readonly": true
},
"shelvingLagTime": {
"description": "Shelving lag time",
"type": "integer",
"readonly": true
},
"pickupLocation": {
"description": "Is this service point a pickup location?",
"type": "boolean",
"readonly": true
}
}
},
"tags": {
"type": "object",
"description": "Tags",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"metadata": {
"description": "Metadata about creation and changes to requests, provided by the server (client should not provide)",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Metadata Schema",
"properties": {
"createdDate": {
"description": "Date and time when the record was created",
"type": "string",
"format": "date-time"
},
"createdByUserId": {
"description": "ID of the user who created the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"createdByUsername": {
"description": "Username of the user who created the record (when available)",
"type": "string"
},
"updatedDate": {
"description": "Date and time when the record was last updated",
"type": "string",
"format": "date-time"
},
"updatedByUserId": {
"description": "ID of the user who last updated the record (when available)",
"type": "string",
"pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
},
"updatedByUsername": {
"description": "Username of the user who last updated the record (when available)",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"createdDate"
]
},
"requestProcessingParameters": {
"type": "object",
"description": "Additional parameters used for request processing and discarded afterwards. Not part of request record.",
"properties": {
"overrideBlocks": {
"type": "object",
"description": "Blocks to override if user has corresponding permissions",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"itemNotLoanableBlock": {
"description": "'Item not loanable' block",
"type": "object",
"properties": {
"dueDate": {
"description": "Due date for a new loan",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false,
"required": [
"dueDate"
]
},
"patronBlock": {
"description": "Automated patron block",
"type": "object",
"additionalProperties": false
},
"itemLimitBlock": {
"description": "Item limit block",
"type": "object",
"additionalProperties": false
},
"comment": {
"description": "Reason for override",
"type": "string"
}
},
"additionalProperties": false
}
}
}
},
"additionalProperties": false,
"required": [
"itemId",
"requesterId",
"requestType",
"requestDate",
"fulfilmentPreference"
]
}
},
"totalRecords": {
"description": "Total number of item requests",
"type": "integer"
}
},
"required": [
"requests",
"totalRecords"
]
}
Example:
{
"requests": [
{
"id": "89105c06-dbdb-4aa0-9695-d4d19c733270",
"requestType": "Recall",
"requestDate": "2017-07-29T22:25:37Z",
"requesterId": "21932a85-bd00-446b-9565-46e0c1a5490b",
"itemId": "195efae1-588f-47bd-a181-13a2eb437701",
"fulfilmentPreference": "Hold Shelf",
"position": 1
},
{
"id": "f5cec279-0da6-4b44-a3df-f49b0903f325",
"requestType": "Hold",
"requestDate": "2017-08-05T11:43:23Z",
"requesterId": "61d939e4-f2ae-4c53-95d2-224a802fa2a6",
"itemId": "3e5d5433-a271-499c-94f4-5f3e4652e537",
"fulfilmentPreference": "Delivery",
"requestExpirationDate": "2017-08-31T22:25:37Z",
"holdShelfExpirationDate": "2017-09-01T22:25:37Z",
"position": 1,
"item": {
"status": "Checked out",
"title": "Children of Time",
"barcode": "760932543816",
"copyNumber": "cp2"
},
"requester": {
"firstName": "Stephen",
"lastName": "Jones",
"middleName": "Anthony",
"barcode": "567023127436"
},
"tags": {
"tagList": [
"new",
"important"
]
}
}
],
"totalRecords": 2
}
HTTP status code 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 hold-shelf-clearance -- malformed parameter 'query', syntax error at column 6"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: text/plain
Type: any
Example:
"unable to list hold-shelf-clearance -- unauthorized"
HTTP status code 404
Item with a given ID not found
Body
Media type: text/plain
Type: any
Example:
"hold-shelf-clearance not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: text/plain
Type: any
Example:
internal server error, contact administrator