Orders version v8.1
https://github.com/folio-org/mod-orders
Orders Business Logic API
API for managing purchase orders
Orders
Collection of composite-order items.
Retrieve a list of composite-order items.
Post a purchase order (PO) and a number of PO lines; record fund transactions corresponding to the order. Only in case an acquisition unit has to be assigned to the Order it is required that user should have extra permission orders.acquisitions-units-assignments.item.post to create an purchase order.
get /orders/composite-orders
Retrieve a list of composite-order items.
Query Parameters
- totalRecords: (string - default: auto - pattern: exact|estimated|none|auto)
How to calculate the totalRecords property. "exact" for the correct number, "estimated" for an estimation, "auto" to automatically select "exact" or "estimated", "none" for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
none
- offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)
Skip over a number of elements by specifying an offset value for the query
Example:
0
- limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)
Limit the number of elements returned in the response
Example:
10
- query: (string)
A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.
using CQL (indexes for purchase orders)
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode workflow_status=="Pending"
HTTP status code 200
Returns a list of composite-order items
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "collection of purchase order records",
"type": "object",
"properties": {
"purchaseOrders": {
"description": "collection of purchase order records",
"type": "array",
"id": "purchaseOrders",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order",
"javaName": "PurchaseOrder",
"properties": {
"id": {
"description": "UUID of this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approved": {
"description": "whether or not the purchase order has been approved",
"type": "boolean",
"default": false
},
"approvedById": {
"description": "UUID of the user approving the order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approvalDate": {
"description": "Date and time when purchase order was approved",
"type": "string",
"format": "date-time"
},
"assignedTo": {
"description": "UUID of the user this purchase order his assigned to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"closeReason": {
"description": "Close reason for purchase order",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"reason": {
"description": "close reason description",
"type": "string"
},
"note": {
"description": "free-form notes related to closing reason",
"type": "string"
}
},
"additionalProperties": false
},
"dateOrdered": {
"description": "Date and time when purchase order was opened",
"type": "string",
"format": "date-time"
},
"manualPo": {
"description": "if true, order cannot be sent automatically, e.g. via EDI",
"type": "boolean"
},
"notes": {
"description": "free-form notes associated with this purchase order",
"id": "notes",
"type": "array",
"items": {
"type": "string"
}
},
"poNumber": {
"description": "A human readable ID assigned to this purchase order",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}$"
},
"poNumberPrefix": {
"description": "Purchase order number prefix",
"type": "string"
},
"poNumberSuffix": {
"description": "Purchase order number suffix",
"type": "string"
},
"orderType": {
"description": "the purchase order type",
"type": "string",
"enum": [
"One-Time",
"Ongoing"
]
},
"reEncumber": {
"description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
"type": "boolean",
"default": false
},
"ongoing": {
"description": "Ongoing information associated with this order",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"interval": {
"description": "Renewal interval (in days)",
"type": "integer"
},
"isSubscription": {
"description": "Whether or not this is a subscription",
"type": "boolean",
"default": false
},
"manualRenewal": {
"description": "Whether or not this is a manual renewal",
"type": "boolean",
"default": false
},
"notes": {
"description": "Notes associated with the Ongoing order",
"type": "string"
},
"reviewPeriod": {
"description": "Time prior to renewal where changes can be made to subscription",
"type": "integer"
},
"renewalDate": {
"description": "The date this Ongoing PO's order lines were renewed",
"type": "string",
"format": "date-time"
},
"reviewDate": {
"description": "Date when Order has to be reviewed",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"shipTo": {
"description": "UUID of the shipping address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"vendor": {
"description": "UUID of the vendor record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"workflowStatus": {
"description": "the workflow status for this purchase order",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Pending",
"Open",
"Closed"
],
"default": "Pending"
},
"acqUnitIds": {
"description": "acquisition unit ids associated with this purchase order",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The UUID format string",
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"tags": {
"type": "object",
"description": "arbitrary tags associated with this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
}
},
"additionalProperties": false
}
},
"totalRecords": {
"description": "The number of objects contained in this collection",
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"purchaseOrders",
"totalRecords"
]
}
Example:
{
"purchaseOrders": [
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-07-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "No longer available",
"note": "Items are no longer available to purchase"
},
"manualPo": false,
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "ABC268758XYZ",
"poNumberPrefix": "AB",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": false,
"manualRenewal": true,
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Pending",
"tags": {
"tagList": [
"important"
]
},
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
],
"totalRecords": 1
}
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: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
unable to list composite-orders -- malformed parameter 'query', syntax error at column 6
HTTP status code 401
Not authorized to perform requested action
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
unable to list composite-orders -- unauthorized
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
post /orders/composite-orders
Post a purchase order (PO) and a number of PO lines; record fund transactions corresponding to the order. Only in case an acquisition unit has to be assigned to the Order it is required that user should have extra permission orders.acquisitions-units-assignments.item.post to create an purchase order.
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "composite purchase order with dereferenced/expanded orders fields",
"type": "object",
"properties": {
"id": {
"description": "UUID of this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approved": {
"description": "whether or not the purchase order has been approved",
"type": "boolean",
"default": false
},
"approvedById": {
"description": "UUID of the user approving the order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approvalDate": {
"description": "Date and time when purchase order was approved",
"type": "string",
"format": "date-time"
},
"assignedTo": {
"description": "UUID of the user this purchase order his assigned to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"closeReason": {
"description": "Close reason for purchase order. Some values are predefined and can trigger actions, such as Cancelled. See mod-orders-storage/src/main/resources/data/system/reasons-for-closure",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"reason": {
"description": "close reason description",
"type": "string"
},
"note": {
"description": "free-form notes related to closing reason",
"type": "string"
}
},
"additionalProperties": false
},
"dateOrdered": {
"description": "Date and time when purchase order was opened",
"type": "string",
"format": "date-time",
"readonly": true
},
"manualPo": {
"description": "if true, order cannot be sent automatically, e.g. via EDI",
"type": "boolean"
},
"notes": {
"description": "free-form notes associated with this purchase order",
"id": "notes",
"type": "array",
"items": {
"type": "string"
}
},
"poNumber": {
"description": "A human readable ID assigned to this purchase order",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}$"
},
"poNumberPrefix": {
"description": "Purchase order number prefix",
"type": "string"
},
"poNumberSuffix": {
"description": "Purchase order number suffix",
"type": "string"
},
"orderType": {
"description": "the purchase order type",
"type": "string",
"enum": [
"One-Time",
"Ongoing"
]
},
"reEncumber": {
"description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
"type": "boolean",
"default": false
},
"ongoing": {
"description": "Ongoing information associated with this order",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"interval": {
"description": "Renewal interval (in days)",
"type": "integer"
},
"isSubscription": {
"description": "Whether or not this is a subscription",
"type": "boolean",
"default": false
},
"manualRenewal": {
"description": "Whether or not this is a manual renewal",
"type": "boolean",
"default": false
},
"notes": {
"description": "Notes associated with the Ongoing order",
"type": "string"
},
"reviewPeriod": {
"description": "Time prior to renewal where changes can be made to subscription",
"type": "integer"
},
"renewalDate": {
"description": "The date this Ongoing PO's order lines were renewed",
"type": "string",
"format": "date-time"
},
"reviewDate": {
"description": "Date when Order has to be reviewed",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"shipTo": {
"description": "UUID of the shipping address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"totalCredited": {
"description": "Total credited for the order",
"type": "number",
"readonly": true
},
"totalEstimatedPrice": {
"description": "total estimated price of this purchase order",
"type": "number"
},
"totalEncumbered": {
"description": "Total encumbered for the order",
"type": "number",
"readonly": true
},
"totalExpended": {
"description": "Total expended for the order",
"type": "number",
"readonly": true
},
"totalItems": {
"description": "total number of items included in the purchase order",
"type": "integer"
},
"vendor": {
"description": "UUID of the vendorDetails record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"workflowStatus": {
"description": "the workflow status for this purchase order",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Pending",
"Open",
"Closed"
],
"default": "Pending"
},
"poLines": {
"description": "a list of purchase order lines",
"id": "poLines",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order line",
"javaName": "PoLine",
"properties": {
"id": {
"description": "UUID identifying this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"edition": {
"description": "edition of the material",
"type": "string"
},
"checkinItems": {
"description": "if true this will toggle the Check-in workflow for details associated with this PO line",
"type": "boolean",
"default": false
},
"agreementId": {
"description": "UUID of the agreement this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"acquisitionMethod": {
"description": "UUID of the acquisition method for this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"automaticExport": {
"description": "if true then line will be marked as available to export in the EDIFACT format or other format",
"type": "boolean",
"default": false
},
"cancellationRestriction": {
"description": "whether or not there are cancellation restrictions for this purchase order line",
"type": "boolean"
},
"cancellationRestrictionNote": {
"description": "free-form notes related to cancellation restrictions",
"type": "string"
},
"claims": {
"description": "claims associated with this purchase order line",
"id": "claims",
"type": "array",
"items": {
"description": "a claim record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"claimed": {
"description": "whether or not this purchase order line has been claimed",
"type": "boolean",
"default": false
},
"sent": {
"description": "date a claim was sent",
"type": "string",
"format": "date-time"
},
"grace": {
"description": "the number of days after the expected receipt date during which claims should not be processed",
"type": "integer"
}
},
"additionalProperties": false
}
},
"claimingActive": {
"description": "Indicates if there is an active claim or dispute",
"type": "boolean",
"default": false
},
"claimingInterval": {
"description": "Specifies the time interval, in days, within which claims or disputes must be initiated",
"type": "integer"
},
"collection": {
"description": "whether or not this purchase order line is for a collection",
"type": "boolean",
"default": false
},
"contributors": {
"description": "list of contributors to the material",
"id": "contributors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "contributor to the material",
"properties": {
"contributor": {
"description": "the name of a contributor to the material",
"type": "string"
},
"contributorNameTypeId": {
"description": "UUID of the contributor type",
"type": "string",
"pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"contributorNameTypeId"
]
}
},
"cost": {
"description": "cost details associated with this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"listUnitPrice": {
"description": "The per-item list price for physical or resources of 'Other' order format",
"type": "number"
},
"listUnitPriceElectronic": {
"description": "The e-resource per-item list price",
"type": "number"
},
"currency": {
"description": "An ISO currency code",
"type": "string"
},
"additionalCost": {
"description": "Lump sum that is added to the total estimated price - not affected by discount",
"type": "number"
},
"discount": {
"description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
"type": "number"
},
"discountType": {
"description": "Percentage or amount discount type",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"exchangeRate": {
"description": "Exchange rate",
"type": "number"
},
"quantityPhysical": {
"description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items in this purchase order line",
"type": "integer"
},
"poLineEstimatedPrice": {
"description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
"type": "number"
},
"fyroAdjustmentAmount": {
"description": "Adjustment amount if rollover was happen",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"currency"
]
},
"description": {
"description": "description of the material",
"type": "string"
},
"details": {
"description": "details about this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"receivingNote": {
"description": "notes regarding receiving instructions",
"type": "string"
},
"isAcknowledged": {
"description": "Flag for acknowledge receiving note",
"type": "boolean",
"default": false
},
"isBinderyActive": {
"description": "Indicates that this POL is designated as required binding",
"type": "boolean",
"default": false
},
"productIds": {
"description": "a list of product identifiers",
"id": "productIds",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Product identifier",
"type": "object",
"properties": {
"productId": {
"description": "The actual product identifier",
"type": "string"
},
"productIdType": {
"description": "The type of product identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"qualifier": {
"description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
"type": "string"
}
},
"additionalProperties": false
}
},
"subscriptionFrom": {
"description": "the start date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
},
"subscriptionInterval": {
"description": "the subscription interval in days",
"type": "integer"
},
"subscriptionTo": {
"description": "the end date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"additionalProperties": false
},
"donor": {
"description": "the donor contributing to this purchase order line",
"type": "string"
},
"donorOrganizationIds": {
"description": "donor organization ids associated with this fund",
"type": "array",
"items": {
"description": "UUID of an donor organization record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"eresource": {
"description": "eresource-related details of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"activated": {
"description": "whether or not this resource is activated",
"type": "boolean",
"default": false
},
"activationDue": {
"description": "number of days until activation, from date of order placement",
"type": "integer"
},
"createInventory": {
"description": "Shows what inventory objects need to be created for electronic resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"trial": {
"description": "whether or not this is a trial",
"type": "boolean",
"default": false
},
"expectedActivation": {
"description": "expected date the resource will be activated",
"type": "string",
"format": "date-time"
},
"userLimit": {
"description": "the concurrent user-limit",
"type": "string"
},
"accessProvider": {
"description": "UUID of the access provider",
"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}$"
},
"license": {
"description": "License record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "license code",
"type": "string"
},
"description": {
"description": "license description",
"type": "string"
},
"reference": {
"description": "license reference",
"type": "string"
}
},
"additionalProperties": false
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"resourceUrl": {
"description": "Electronic resource can be access via this URL",
"type": "string",
"pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
}
},
"additionalProperties": false
},
"fundDistribution": {
"description": "Fund distribution records for this purchase order line",
"id": "fundDistribution",
"type": "array",
"items": {
"description": "a fund distribution record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "the fund code",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[^:]+$"
},
"encumbrance": {
"description": "UUID of encumbrance record associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"fundId": {
"description": "UUID of the fund associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"expenseClassId": {
"description": "UUID of the expense class associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"distributionType": {
"description": "Percentage or amount type of the value property",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"value": {
"description": "The value of the cost to be applied to this fund",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"fundId",
"distributionType",
"value"
]
}
},
"instanceId": {
"description": "UUID of the instance record this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"isPackage": {
"description": "Indicates that this POL is for a package",
"type": "boolean",
"default": false
},
"locations": {
"description": "Location records for this purchase order line",
"id": "locations",
"type": "array",
"items": {
"description": "The location details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"locationId": {
"description": "UUID of the (inventory) location record",
"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}$"
},
"holdingId": {
"description": "Holding UUID associated with order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"quantity": {
"description": "Combined/total quanitity of physical and electronic items",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items",
"type": "integer"
},
"quantityPhysical": {
"description": "Quantity of physical items",
"type": "integer"
},
"tenantId": {
"description": "Associated tenant for ECS-enabled clusters",
"type": "string"
}
},
"additionalProperties": false
}
},
"searchLocationIds": {
"description": "location ids used for search",
"type": "array",
"items": {
"description": "UUID of location record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"lastEDIExportDate": {
"description": "The last date when line was exported in the EDIFACT file",
"type": "string",
"format": "date-time"
},
"orderFormat": {
"description": "The purchase order line format",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Electronic Resource",
"P/E Mix",
"Physical Resource",
"Other"
]
},
"packagePoLineId": {
"description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"paymentStatus": {
"description": "The purchase order line payment status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Payment",
"Cancelled",
"Fully Paid",
"Partially Paid",
"Payment Not Required",
"Pending",
"Ongoing"
],
"default": "Pending"
},
"physical": {
"description": "details of this purchase order line relating to physical materials",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"createInventory": {
"description": "Shows what inventory objects need to be created for physical resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"materialSupplier": {
"description": "UUID of the material supplier record",
"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}$"
},
"expectedReceiptDate": {
"description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"receiptDue": {
"description": "date item should be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"volumes": {
"description": "list of volumes included to the physical material",
"type": "array",
"items": {
"description": "the identifier of volume",
"type": "string"
}
}
},
"additionalProperties": false,
"required": [
"volumes"
]
},
"poLineDescription": {
"description": "purchase order line description",
"type": "string"
},
"poLineNumber": {
"description": "A human readable number assigned to this PO line (assigned automatically)",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$"
},
"publicationDate": {
"description": "date (year) of the material's publication",
"type": "string"
},
"publisher": {
"description": "publisher of the material",
"type": "string"
},
"purchaseOrderId": {
"description": "UUID of the purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"receiptDate": {
"description": "date the purchase order line was received",
"type": [
"null",
"string"
],
"format": "date-time"
},
"receiptStatus": {
"description": "The purchase order line receipt status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Receipt",
"Cancelled",
"Fully Received",
"Partially Received",
"Pending",
"Receipt Not Required",
"Ongoing"
],
"default": "Pending"
},
"renewalNote": {
"description": "Renewal note for this purchase order line",
"type": "string"
},
"requester": {
"description": "who requested this purchase order line",
"type": "string"
},
"rush": {
"description": "whether or not this is a rush order",
"type": "boolean",
"default": false
},
"selector": {
"description": "who selected this material",
"type": "string"
},
"source": {
"description": "the source of this purchase order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"User",
"API",
"EDI",
"MARC",
"EBSCONET"
]
},
"tags": {
"description": "arbitrary tags associated with this purchase order line",
"id": "tags",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"titleOrPackage": {
"description": "title of the material",
"type": "string"
},
"vendorDetail": {
"description": "Details related to the vendor of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"instructions": {
"description": "special instructions for the vendor",
"type": "string"
},
"noteFromVendor": {
"description": "free-form notes from the vendor",
"type": "string"
},
"vendorAccount": {
"description": "the accound number on the vendor's end associated with this purchase order line",
"type": "string"
},
"referenceNumbers": {
"description": "Collection of reference number items",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Reference number item",
"type": "object",
"properties": {
"refNumber": {
"description": "a reference number for this purchase order line",
"type": "string"
},
"refNumberType": {
"description": "the reference number type",
"type": "string",
"enum": [
"Vendor continuation reference number",
"Vendor order reference number",
"Vendor subscription reference number",
"Vendor internal number",
"Vendor title number"
],
"javaEnums": [
"CONTINUATION_REF_NUMBER",
"ORDER_REF_NUMBER",
"SUBSCRIPTION_REF_NUMBER",
"INTERNAL_NUMBER",
"TITLE_NUMBER"
]
},
"vendorDetailsSource": {
"description": "the reference number type",
"type": "string",
"enum": [
"OrderLine",
"InvoiceLine"
],
"javaEnums": [
"ORDER_LINE",
"INVOICE_LINE"
]
}
},
"additionalProperties": false
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
}
},
"additionalProperties": false,
"required": [
"acquisitionMethod",
"cost",
"orderFormat",
"source",
"titleOrPackage"
]
}
},
"acqUnitIds": {
"description": "acquisition unit ids associated with this purchase order",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The UUID format string",
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"tags": {
"type": "object",
"description": "arbitrary tags associated with this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
},
"needReEncumber": {
"description": "Indicates that order needs to be re-encumbered",
"type": "boolean",
"readonly": true
}
},
"additionalProperties": false,
"required": [
"vendor",
"orderType"
]
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-07-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "No longer available",
"note": "Items are no longer available to purchase"
},
"dateOrdered": "2018-07-20T00:00:00.000+0000",
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "A268758XYZ",
"poNumberPrefix": "A",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"totalEstimatedPrice": 75.47,
"totalItems": 3,
"totalCredited": 55.00,
"totalEncumbered": 70.00,
"totalExpended": 5.47,
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Open",
"nextPolNumber": 4,
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
},
"poLines": [
{
"id": "8c778aee-97fa-4586-b131-3ea588a728e2",
"edition": "First edition",
"checkinItems": false,
"instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
"isPackage": false,
"agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
"acquisitionMethod": "306489dd-0053-49ee-a068-c316444a8f55",
"cancellationRestriction": false,
"cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
"claims": [
{
"claimed": false,
"sent": "2018-10-09T00:00:00.000Z",
"grace": 30
}
],
"claimingActive": false,
"claimingInterval": 0,
"collection": false,
"contributors": [
{
"contributor": "Ed Mashburn",
"contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
}
],
"cost": {
"additionalCost": 2.00,
"currency": "USD",
"discount": 2,
"discountType": "percentage",
"exchangeRate": 1.12,
"listUnitPrice": 24.99,
"listUnitPriceElectronic": 0.00,
"quantityPhysical": 3,
"quantityElectronic": 0,
"poLineEstimatedPrice": 75.47
},
"description": "ABCDEFGH",
"details": {
"receivingNote": "ABCDEFGHIJKL",
"productIds": [
{
"productId": "9780764354113",
"productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
"qualifier": "(paperback)"
}
],
"subscriptionFrom": "2018-10-09T00:00:00.000Z",
"subscriptionInterval": 824,
"subscriptionTo": "2020-10-09T00:00:00.000Z"
},
"donor": "ABCDEFGHIJKLM",
"fundDistribution": [
{
"code": "HIST",
"expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
"fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
"distributionType": "percentage",
"value": 80.0,
"encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
},
{
"code": "GENRL",
"fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
"distributionType": "percentage",
"value": 20.0,
"encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
}
],
"locations": [
{
"locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
"quantity": 2,
"quantityElectronic": 0,
"quantityPhysical": 2
},
{
"locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
"quantity": 1,
"quantityElectronic": 0,
"quantityPhysical": 1
}
],
"searchLocationIds": [
"b241764c-1466-4e1d-a028-1a3684a5da87",
"fcd64ce1-6995-48f0-840e-89ffa2288371"
],
"orderFormat": "Physical Resource",
"paymentStatus": "Awaiting Payment",
"physical": {
"createInventory": "Instance, Holding, Item",
"volumes": [
"vol. 1"
],
"materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
"expectedReceiptDate": "2018-10-05T00:00:00.000Z",
"receiptDue": "2018-10-10T00:00:00.000Z",
"materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
},
"poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
"poLineNumber": "ABC268758XYZ-03",
"publicationDate": "2017",
"publisher": "Schiffer Publishing",
"purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
"receiptDate": "2018-10-09T00:00:00.000Z",
"receiptStatus": "Awaiting Receipt",
"requester": "Leo Bulero",
"rush": true,
"selector": "ABCD",
"source": "EDI",
"titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"vendorDetail": {
"instructions": "ABCDEFG",
"noteFromVendor": "ABCDEFGHIKJKLMNOP",
"referenceNumbers": [
{
"refNumber": "123456-78",
"refNumberType": "Vendor title number",
"vendorDetailsSource": "OrderLine"
}
],
"vendorAccount": "8910-10"
},
"tags": {
"tagList": [
"important"
]
},
"customFields": {
"externalOrderNumber": "ML58723"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
]
}
HTTP status code 201
Returns a newly created item, with server-controlled fields like 'id' populated
Headers
- Location: required(string)
URI to the created composite-order item
Body
Media type: application/json
Type: any
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-07-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "No longer available",
"note": "Items are no longer available to purchase"
},
"dateOrdered": "2018-07-20T00:00:00.000+0000",
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "A268758XYZ",
"poNumberPrefix": "A",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"totalEstimatedPrice": 75.47,
"totalItems": 3,
"totalCredited": 55.00,
"totalEncumbered": 70.00,
"totalExpended": 5.47,
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Open",
"nextPolNumber": 4,
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
},
"poLines": [
{
"id": "8c778aee-97fa-4586-b131-3ea588a728e2",
"edition": "First edition",
"checkinItems": false,
"instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
"isPackage": false,
"agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
"acquisitionMethod": "306489dd-0053-49ee-a068-c316444a8f55",
"cancellationRestriction": false,
"cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
"claims": [
{
"claimed": false,
"sent": "2018-10-09T00:00:00.000Z",
"grace": 30
}
],
"claimingActive": false,
"claimingInterval": 0,
"collection": false,
"contributors": [
{
"contributor": "Ed Mashburn",
"contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
}
],
"cost": {
"additionalCost": 2.00,
"currency": "USD",
"discount": 2,
"discountType": "percentage",
"exchangeRate": 1.12,
"listUnitPrice": 24.99,
"listUnitPriceElectronic": 0.00,
"quantityPhysical": 3,
"quantityElectronic": 0,
"poLineEstimatedPrice": 75.47
},
"description": "ABCDEFGH",
"details": {
"receivingNote": "ABCDEFGHIJKL",
"productIds": [
{
"productId": "9780764354113",
"productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
"qualifier": "(paperback)"
}
],
"subscriptionFrom": "2018-10-09T00:00:00.000Z",
"subscriptionInterval": 824,
"subscriptionTo": "2020-10-09T00:00:00.000Z"
},
"donor": "ABCDEFGHIJKLM",
"fundDistribution": [
{
"code": "HIST",
"expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
"fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
"distributionType": "percentage",
"value": 80.0,
"encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
},
{
"code": "GENRL",
"fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
"distributionType": "percentage",
"value": 20.0,
"encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
}
],
"locations": [
{
"locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
"quantity": 2,
"quantityElectronic": 0,
"quantityPhysical": 2
},
{
"locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
"quantity": 1,
"quantityElectronic": 0,
"quantityPhysical": 1
}
],
"searchLocationIds": [
"b241764c-1466-4e1d-a028-1a3684a5da87",
"fcd64ce1-6995-48f0-840e-89ffa2288371"
],
"orderFormat": "Physical Resource",
"paymentStatus": "Awaiting Payment",
"physical": {
"createInventory": "Instance, Holding, Item",
"volumes": [
"vol. 1"
],
"materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
"expectedReceiptDate": "2018-10-05T00:00:00.000Z",
"receiptDue": "2018-10-10T00:00:00.000Z",
"materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
},
"poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
"poLineNumber": "ABC268758XYZ-03",
"publicationDate": "2017",
"publisher": "Schiffer Publishing",
"purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
"receiptDate": "2018-10-09T00:00:00.000Z",
"receiptStatus": "Awaiting Receipt",
"requester": "Leo Bulero",
"rush": true,
"selector": "ABCD",
"source": "EDI",
"titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"vendorDetail": {
"instructions": "ABCDEFG",
"noteFromVendor": "ABCDEFGHIKJKLMNOP",
"referenceNumbers": [
{
"refNumber": "123456-78",
"refNumberType": "Vendor title number",
"vendorDetailsSource": "OrderLine"
}
],
"vendorAccount": "8910-10"
},
"tags": {
"tagList": [
"important"
]
},
"customFields": {
"externalOrderNumber": "ML58723"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
]
}
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: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"unable to add composite-order -- malformed JSON at 13:3"
HTTP status code 401
Not authorized to perform requested action
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
unable to create composite-orders -- unauthorized
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Entity representing a composite-order
Return a purchase order with given {id}
Update a purchase order with given {id}
- if request does not include po_lines or includes "po_lines": [] or "po_lines": null - update just purchase order summary
- if request includes array of "po_lines" - update PO lines as per request
Delete a purchase order with given {id}
get /orders/composite-orders/{id}
Return a purchase order with given {id}
URI Parameters
- id: required(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}$)
The UUID of a purchase order
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#",
"description": "composite purchase order with dereferenced/expanded orders fields",
"type": "object",
"properties": {
"id": {
"description": "UUID of this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approved": {
"description": "whether or not the purchase order has been approved",
"type": "boolean",
"default": false
},
"approvedById": {
"description": "UUID of the user approving the order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approvalDate": {
"description": "Date and time when purchase order was approved",
"type": "string",
"format": "date-time"
},
"assignedTo": {
"description": "UUID of the user this purchase order his assigned to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"closeReason": {
"description": "Close reason for purchase order. Some values are predefined and can trigger actions, such as Cancelled. See mod-orders-storage/src/main/resources/data/system/reasons-for-closure",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"reason": {
"description": "close reason description",
"type": "string"
},
"note": {
"description": "free-form notes related to closing reason",
"type": "string"
}
},
"additionalProperties": false
},
"dateOrdered": {
"description": "Date and time when purchase order was opened",
"type": "string",
"format": "date-time",
"readonly": true
},
"manualPo": {
"description": "if true, order cannot be sent automatically, e.g. via EDI",
"type": "boolean"
},
"notes": {
"description": "free-form notes associated with this purchase order",
"id": "notes",
"type": "array",
"items": {
"type": "string"
}
},
"poNumber": {
"description": "A human readable ID assigned to this purchase order",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}$"
},
"poNumberPrefix": {
"description": "Purchase order number prefix",
"type": "string"
},
"poNumberSuffix": {
"description": "Purchase order number suffix",
"type": "string"
},
"orderType": {
"description": "the purchase order type",
"type": "string",
"enum": [
"One-Time",
"Ongoing"
]
},
"reEncumber": {
"description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
"type": "boolean",
"default": false
},
"ongoing": {
"description": "Ongoing information associated with this order",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"interval": {
"description": "Renewal interval (in days)",
"type": "integer"
},
"isSubscription": {
"description": "Whether or not this is a subscription",
"type": "boolean",
"default": false
},
"manualRenewal": {
"description": "Whether or not this is a manual renewal",
"type": "boolean",
"default": false
},
"notes": {
"description": "Notes associated with the Ongoing order",
"type": "string"
},
"reviewPeriod": {
"description": "Time prior to renewal where changes can be made to subscription",
"type": "integer"
},
"renewalDate": {
"description": "The date this Ongoing PO's order lines were renewed",
"type": "string",
"format": "date-time"
},
"reviewDate": {
"description": "Date when Order has to be reviewed",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"shipTo": {
"description": "UUID of the shipping address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"totalCredited": {
"description": "Total credited for the order",
"type": "number",
"readonly": true
},
"totalEstimatedPrice": {
"description": "total estimated price of this purchase order",
"type": "number"
},
"totalEncumbered": {
"description": "Total encumbered for the order",
"type": "number",
"readonly": true
},
"totalExpended": {
"description": "Total expended for the order",
"type": "number",
"readonly": true
},
"totalItems": {
"description": "total number of items included in the purchase order",
"type": "integer"
},
"vendor": {
"description": "UUID of the vendorDetails record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"workflowStatus": {
"description": "the workflow status for this purchase order",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Pending",
"Open",
"Closed"
],
"default": "Pending"
},
"poLines": {
"description": "a list of purchase order lines",
"id": "poLines",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order line",
"javaName": "PoLine",
"properties": {
"id": {
"description": "UUID identifying this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"edition": {
"description": "edition of the material",
"type": "string"
},
"checkinItems": {
"description": "if true this will toggle the Check-in workflow for details associated with this PO line",
"type": "boolean",
"default": false
},
"agreementId": {
"description": "UUID of the agreement this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"acquisitionMethod": {
"description": "UUID of the acquisition method for this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"automaticExport": {
"description": "if true then line will be marked as available to export in the EDIFACT format or other format",
"type": "boolean",
"default": false
},
"cancellationRestriction": {
"description": "whether or not there are cancellation restrictions for this purchase order line",
"type": "boolean"
},
"cancellationRestrictionNote": {
"description": "free-form notes related to cancellation restrictions",
"type": "string"
},
"claims": {
"description": "claims associated with this purchase order line",
"id": "claims",
"type": "array",
"items": {
"description": "a claim record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"claimed": {
"description": "whether or not this purchase order line has been claimed",
"type": "boolean",
"default": false
},
"sent": {
"description": "date a claim was sent",
"type": "string",
"format": "date-time"
},
"grace": {
"description": "the number of days after the expected receipt date during which claims should not be processed",
"type": "integer"
}
},
"additionalProperties": false
}
},
"claimingActive": {
"description": "Indicates if there is an active claim or dispute",
"type": "boolean",
"default": false
},
"claimingInterval": {
"description": "Specifies the time interval, in days, within which claims or disputes must be initiated",
"type": "integer"
},
"collection": {
"description": "whether or not this purchase order line is for a collection",
"type": "boolean",
"default": false
},
"contributors": {
"description": "list of contributors to the material",
"id": "contributors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "contributor to the material",
"properties": {
"contributor": {
"description": "the name of a contributor to the material",
"type": "string"
},
"contributorNameTypeId": {
"description": "UUID of the contributor type",
"type": "string",
"pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"contributorNameTypeId"
]
}
},
"cost": {
"description": "cost details associated with this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"listUnitPrice": {
"description": "The per-item list price for physical or resources of 'Other' order format",
"type": "number"
},
"listUnitPriceElectronic": {
"description": "The e-resource per-item list price",
"type": "number"
},
"currency": {
"description": "An ISO currency code",
"type": "string"
},
"additionalCost": {
"description": "Lump sum that is added to the total estimated price - not affected by discount",
"type": "number"
},
"discount": {
"description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
"type": "number"
},
"discountType": {
"description": "Percentage or amount discount type",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"exchangeRate": {
"description": "Exchange rate",
"type": "number"
},
"quantityPhysical": {
"description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items in this purchase order line",
"type": "integer"
},
"poLineEstimatedPrice": {
"description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
"type": "number"
},
"fyroAdjustmentAmount": {
"description": "Adjustment amount if rollover was happen",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"currency"
]
},
"description": {
"description": "description of the material",
"type": "string"
},
"details": {
"description": "details about this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"receivingNote": {
"description": "notes regarding receiving instructions",
"type": "string"
},
"isAcknowledged": {
"description": "Flag for acknowledge receiving note",
"type": "boolean",
"default": false
},
"isBinderyActive": {
"description": "Indicates that this POL is designated as required binding",
"type": "boolean",
"default": false
},
"productIds": {
"description": "a list of product identifiers",
"id": "productIds",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Product identifier",
"type": "object",
"properties": {
"productId": {
"description": "The actual product identifier",
"type": "string"
},
"productIdType": {
"description": "The type of product identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"qualifier": {
"description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
"type": "string"
}
},
"additionalProperties": false
}
},
"subscriptionFrom": {
"description": "the start date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
},
"subscriptionInterval": {
"description": "the subscription interval in days",
"type": "integer"
},
"subscriptionTo": {
"description": "the end date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"additionalProperties": false
},
"donor": {
"description": "the donor contributing to this purchase order line",
"type": "string"
},
"donorOrganizationIds": {
"description": "donor organization ids associated with this fund",
"type": "array",
"items": {
"description": "UUID of an donor organization record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"eresource": {
"description": "eresource-related details of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"activated": {
"description": "whether or not this resource is activated",
"type": "boolean",
"default": false
},
"activationDue": {
"description": "number of days until activation, from date of order placement",
"type": "integer"
},
"createInventory": {
"description": "Shows what inventory objects need to be created for electronic resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"trial": {
"description": "whether or not this is a trial",
"type": "boolean",
"default": false
},
"expectedActivation": {
"description": "expected date the resource will be activated",
"type": "string",
"format": "date-time"
},
"userLimit": {
"description": "the concurrent user-limit",
"type": "string"
},
"accessProvider": {
"description": "UUID of the access provider",
"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}$"
},
"license": {
"description": "License record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "license code",
"type": "string"
},
"description": {
"description": "license description",
"type": "string"
},
"reference": {
"description": "license reference",
"type": "string"
}
},
"additionalProperties": false
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"resourceUrl": {
"description": "Electronic resource can be access via this URL",
"type": "string",
"pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
}
},
"additionalProperties": false
},
"fundDistribution": {
"description": "Fund distribution records for this purchase order line",
"id": "fundDistribution",
"type": "array",
"items": {
"description": "a fund distribution record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "the fund code",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[^:]+$"
},
"encumbrance": {
"description": "UUID of encumbrance record associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"fundId": {
"description": "UUID of the fund associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"expenseClassId": {
"description": "UUID of the expense class associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"distributionType": {
"description": "Percentage or amount type of the value property",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"value": {
"description": "The value of the cost to be applied to this fund",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"fundId",
"distributionType",
"value"
]
}
},
"instanceId": {
"description": "UUID of the instance record this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"isPackage": {
"description": "Indicates that this POL is for a package",
"type": "boolean",
"default": false
},
"locations": {
"description": "Location records for this purchase order line",
"id": "locations",
"type": "array",
"items": {
"description": "The location details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"locationId": {
"description": "UUID of the (inventory) location record",
"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}$"
},
"holdingId": {
"description": "Holding UUID associated with order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"quantity": {
"description": "Combined/total quanitity of physical and electronic items",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items",
"type": "integer"
},
"quantityPhysical": {
"description": "Quantity of physical items",
"type": "integer"
},
"tenantId": {
"description": "Associated tenant for ECS-enabled clusters",
"type": "string"
}
},
"additionalProperties": false
}
},
"searchLocationIds": {
"description": "location ids used for search",
"type": "array",
"items": {
"description": "UUID of location record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"lastEDIExportDate": {
"description": "The last date when line was exported in the EDIFACT file",
"type": "string",
"format": "date-time"
},
"orderFormat": {
"description": "The purchase order line format",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Electronic Resource",
"P/E Mix",
"Physical Resource",
"Other"
]
},
"packagePoLineId": {
"description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"paymentStatus": {
"description": "The purchase order line payment status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Payment",
"Cancelled",
"Fully Paid",
"Partially Paid",
"Payment Not Required",
"Pending",
"Ongoing"
],
"default": "Pending"
},
"physical": {
"description": "details of this purchase order line relating to physical materials",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"createInventory": {
"description": "Shows what inventory objects need to be created for physical resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"materialSupplier": {
"description": "UUID of the material supplier record",
"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}$"
},
"expectedReceiptDate": {
"description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"receiptDue": {
"description": "date item should be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"volumes": {
"description": "list of volumes included to the physical material",
"type": "array",
"items": {
"description": "the identifier of volume",
"type": "string"
}
}
},
"additionalProperties": false,
"required": [
"volumes"
]
},
"poLineDescription": {
"description": "purchase order line description",
"type": "string"
},
"poLineNumber": {
"description": "A human readable number assigned to this PO line (assigned automatically)",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$"
},
"publicationDate": {
"description": "date (year) of the material's publication",
"type": "string"
},
"publisher": {
"description": "publisher of the material",
"type": "string"
},
"purchaseOrderId": {
"description": "UUID of the purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"receiptDate": {
"description": "date the purchase order line was received",
"type": [
"null",
"string"
],
"format": "date-time"
},
"receiptStatus": {
"description": "The purchase order line receipt status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Receipt",
"Cancelled",
"Fully Received",
"Partially Received",
"Pending",
"Receipt Not Required",
"Ongoing"
],
"default": "Pending"
},
"renewalNote": {
"description": "Renewal note for this purchase order line",
"type": "string"
},
"requester": {
"description": "who requested this purchase order line",
"type": "string"
},
"rush": {
"description": "whether or not this is a rush order",
"type": "boolean",
"default": false
},
"selector": {
"description": "who selected this material",
"type": "string"
},
"source": {
"description": "the source of this purchase order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"User",
"API",
"EDI",
"MARC",
"EBSCONET"
]
},
"tags": {
"description": "arbitrary tags associated with this purchase order line",
"id": "tags",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"titleOrPackage": {
"description": "title of the material",
"type": "string"
},
"vendorDetail": {
"description": "Details related to the vendor of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"instructions": {
"description": "special instructions for the vendor",
"type": "string"
},
"noteFromVendor": {
"description": "free-form notes from the vendor",
"type": "string"
},
"vendorAccount": {
"description": "the accound number on the vendor's end associated with this purchase order line",
"type": "string"
},
"referenceNumbers": {
"description": "Collection of reference number items",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Reference number item",
"type": "object",
"properties": {
"refNumber": {
"description": "a reference number for this purchase order line",
"type": "string"
},
"refNumberType": {
"description": "the reference number type",
"type": "string",
"enum": [
"Vendor continuation reference number",
"Vendor order reference number",
"Vendor subscription reference number",
"Vendor internal number",
"Vendor title number"
],
"javaEnums": [
"CONTINUATION_REF_NUMBER",
"ORDER_REF_NUMBER",
"SUBSCRIPTION_REF_NUMBER",
"INTERNAL_NUMBER",
"TITLE_NUMBER"
]
},
"vendorDetailsSource": {
"description": "the reference number type",
"type": "string",
"enum": [
"OrderLine",
"InvoiceLine"
],
"javaEnums": [
"ORDER_LINE",
"INVOICE_LINE"
]
}
},
"additionalProperties": false
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
}
},
"additionalProperties": false,
"required": [
"acquisitionMethod",
"cost",
"orderFormat",
"source",
"titleOrPackage"
]
}
},
"acqUnitIds": {
"description": "acquisition unit ids associated with this purchase order",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The UUID format string",
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"tags": {
"type": "object",
"description": "arbitrary tags associated with this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
},
"needReEncumber": {
"description": "Indicates that order needs to be re-encumbered",
"type": "boolean",
"readonly": true
}
},
"additionalProperties": false,
"required": [
"vendor",
"orderType"
]
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-07-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "No longer available",
"note": "Items are no longer available to purchase"
},
"dateOrdered": "2018-07-20T00:00:00.000+0000",
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "A268758XYZ",
"poNumberPrefix": "A",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"totalEstimatedPrice": 75.47,
"totalItems": 3,
"totalCredited": 55.00,
"totalEncumbered": 70.00,
"totalExpended": 5.47,
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Open",
"nextPolNumber": 4,
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
},
"poLines": [
{
"id": "8c778aee-97fa-4586-b131-3ea588a728e2",
"edition": "First edition",
"checkinItems": false,
"instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
"isPackage": false,
"agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
"acquisitionMethod": "306489dd-0053-49ee-a068-c316444a8f55",
"cancellationRestriction": false,
"cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
"claims": [
{
"claimed": false,
"sent": "2018-10-09T00:00:00.000Z",
"grace": 30
}
],
"claimingActive": false,
"claimingInterval": 0,
"collection": false,
"contributors": [
{
"contributor": "Ed Mashburn",
"contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
}
],
"cost": {
"additionalCost": 2.00,
"currency": "USD",
"discount": 2,
"discountType": "percentage",
"exchangeRate": 1.12,
"listUnitPrice": 24.99,
"listUnitPriceElectronic": 0.00,
"quantityPhysical": 3,
"quantityElectronic": 0,
"poLineEstimatedPrice": 75.47
},
"description": "ABCDEFGH",
"details": {
"receivingNote": "ABCDEFGHIJKL",
"productIds": [
{
"productId": "9780764354113",
"productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
"qualifier": "(paperback)"
}
],
"subscriptionFrom": "2018-10-09T00:00:00.000Z",
"subscriptionInterval": 824,
"subscriptionTo": "2020-10-09T00:00:00.000Z"
},
"donor": "ABCDEFGHIJKLM",
"fundDistribution": [
{
"code": "HIST",
"expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
"fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
"distributionType": "percentage",
"value": 80.0,
"encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
},
{
"code": "GENRL",
"fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
"distributionType": "percentage",
"value": 20.0,
"encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
}
],
"locations": [
{
"locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
"quantity": 2,
"quantityElectronic": 0,
"quantityPhysical": 2
},
{
"locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
"quantity": 1,
"quantityElectronic": 0,
"quantityPhysical": 1
}
],
"searchLocationIds": [
"b241764c-1466-4e1d-a028-1a3684a5da87",
"fcd64ce1-6995-48f0-840e-89ffa2288371"
],
"orderFormat": "Physical Resource",
"paymentStatus": "Awaiting Payment",
"physical": {
"createInventory": "Instance, Holding, Item",
"volumes": [
"vol. 1"
],
"materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
"expectedReceiptDate": "2018-10-05T00:00:00.000Z",
"receiptDue": "2018-10-10T00:00:00.000Z",
"materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
},
"poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
"poLineNumber": "ABC268758XYZ-03",
"publicationDate": "2017",
"publisher": "Schiffer Publishing",
"purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
"receiptDate": "2018-10-09T00:00:00.000Z",
"receiptStatus": "Awaiting Receipt",
"requester": "Leo Bulero",
"rush": true,
"selector": "ABCD",
"source": "EDI",
"titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"vendorDetail": {
"instructions": "ABCDEFG",
"noteFromVendor": "ABCDEFGHIKJKLMNOP",
"referenceNumbers": [
{
"refNumber": "123456-78",
"refNumberType": "Vendor title number",
"vendorDetailsSource": "OrderLine"
}
],
"vendorAccount": "8910-10"
},
"tags": {
"tagList": [
"important"
]
},
"customFields": {
"externalOrderNumber": "ML58723"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
]
}
HTTP status code 404
Item with a given ID not found
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"composite-order not found"
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
put /orders/composite-orders/{id}
Update a purchase order with given {id}
- if request does not include po_lines or includes "po_lines": [] or "po_lines": null - update just purchase order summary
- if request includes array of "po_lines" - update PO lines as per request
URI Parameters
- id: required(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}$)
The UUID of a purchase order
Query Parameters
- deleteHoldings: (boolean - default: false)
Example:
true
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "composite purchase order with dereferenced/expanded orders fields",
"type": "object",
"properties": {
"id": {
"description": "UUID of this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approved": {
"description": "whether or not the purchase order has been approved",
"type": "boolean",
"default": false
},
"approvedById": {
"description": "UUID of the user approving the order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"approvalDate": {
"description": "Date and time when purchase order was approved",
"type": "string",
"format": "date-time"
},
"assignedTo": {
"description": "UUID of the user this purchase order his assigned to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"closeReason": {
"description": "Close reason for purchase order. Some values are predefined and can trigger actions, such as Cancelled. See mod-orders-storage/src/main/resources/data/system/reasons-for-closure",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"reason": {
"description": "close reason description",
"type": "string"
},
"note": {
"description": "free-form notes related to closing reason",
"type": "string"
}
},
"additionalProperties": false
},
"dateOrdered": {
"description": "Date and time when purchase order was opened",
"type": "string",
"format": "date-time",
"readonly": true
},
"manualPo": {
"description": "if true, order cannot be sent automatically, e.g. via EDI",
"type": "boolean"
},
"notes": {
"description": "free-form notes associated with this purchase order",
"id": "notes",
"type": "array",
"items": {
"type": "string"
}
},
"poNumber": {
"description": "A human readable ID assigned to this purchase order",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}$"
},
"poNumberPrefix": {
"description": "Purchase order number prefix",
"type": "string"
},
"poNumberSuffix": {
"description": "Purchase order number suffix",
"type": "string"
},
"orderType": {
"description": "the purchase order type",
"type": "string",
"enum": [
"One-Time",
"Ongoing"
]
},
"reEncumber": {
"description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
"type": "boolean",
"default": false
},
"ongoing": {
"description": "Ongoing information associated with this order",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"interval": {
"description": "Renewal interval (in days)",
"type": "integer"
},
"isSubscription": {
"description": "Whether or not this is a subscription",
"type": "boolean",
"default": false
},
"manualRenewal": {
"description": "Whether or not this is a manual renewal",
"type": "boolean",
"default": false
},
"notes": {
"description": "Notes associated with the Ongoing order",
"type": "string"
},
"reviewPeriod": {
"description": "Time prior to renewal where changes can be made to subscription",
"type": "integer"
},
"renewalDate": {
"description": "The date this Ongoing PO's order lines were renewed",
"type": "string",
"format": "date-time"
},
"reviewDate": {
"description": "Date when Order has to be reviewed",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"shipTo": {
"description": "UUID of the shipping address",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"totalCredited": {
"description": "Total credited for the order",
"type": "number",
"readonly": true
},
"totalEstimatedPrice": {
"description": "total estimated price of this purchase order",
"type": "number"
},
"totalEncumbered": {
"description": "Total encumbered for the order",
"type": "number",
"readonly": true
},
"totalExpended": {
"description": "Total expended for the order",
"type": "number",
"readonly": true
},
"totalItems": {
"description": "total number of items included in the purchase order",
"type": "integer"
},
"vendor": {
"description": "UUID of the vendorDetails record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"workflowStatus": {
"description": "the workflow status for this purchase order",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Pending",
"Open",
"Closed"
],
"default": "Pending"
},
"poLines": {
"description": "a list of purchase order lines",
"id": "poLines",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order line",
"javaName": "PoLine",
"properties": {
"id": {
"description": "UUID identifying this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"edition": {
"description": "edition of the material",
"type": "string"
},
"checkinItems": {
"description": "if true this will toggle the Check-in workflow for details associated with this PO line",
"type": "boolean",
"default": false
},
"agreementId": {
"description": "UUID of the agreement this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"acquisitionMethod": {
"description": "UUID of the acquisition method for this purchase order line",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"automaticExport": {
"description": "if true then line will be marked as available to export in the EDIFACT format or other format",
"type": "boolean",
"default": false
},
"cancellationRestriction": {
"description": "whether or not there are cancellation restrictions for this purchase order line",
"type": "boolean"
},
"cancellationRestrictionNote": {
"description": "free-form notes related to cancellation restrictions",
"type": "string"
},
"claims": {
"description": "claims associated with this purchase order line",
"id": "claims",
"type": "array",
"items": {
"description": "a claim record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"claimed": {
"description": "whether or not this purchase order line has been claimed",
"type": "boolean",
"default": false
},
"sent": {
"description": "date a claim was sent",
"type": "string",
"format": "date-time"
},
"grace": {
"description": "the number of days after the expected receipt date during which claims should not be processed",
"type": "integer"
}
},
"additionalProperties": false
}
},
"claimingActive": {
"description": "Indicates if there is an active claim or dispute",
"type": "boolean",
"default": false
},
"claimingInterval": {
"description": "Specifies the time interval, in days, within which claims or disputes must be initiated",
"type": "integer"
},
"collection": {
"description": "whether or not this purchase order line is for a collection",
"type": "boolean",
"default": false
},
"contributors": {
"description": "list of contributors to the material",
"id": "contributors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "contributor to the material",
"properties": {
"contributor": {
"description": "the name of a contributor to the material",
"type": "string"
},
"contributorNameTypeId": {
"description": "UUID of the contributor type",
"type": "string",
"pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
}
},
"additionalProperties": false,
"required": [
"contributorNameTypeId"
]
}
},
"cost": {
"description": "cost details associated with this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"listUnitPrice": {
"description": "The per-item list price for physical or resources of 'Other' order format",
"type": "number"
},
"listUnitPriceElectronic": {
"description": "The e-resource per-item list price",
"type": "number"
},
"currency": {
"description": "An ISO currency code",
"type": "string"
},
"additionalCost": {
"description": "Lump sum that is added to the total estimated price - not affected by discount",
"type": "number"
},
"discount": {
"description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
"type": "number"
},
"discountType": {
"description": "Percentage or amount discount type",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"exchangeRate": {
"description": "Exchange rate",
"type": "number"
},
"quantityPhysical": {
"description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items in this purchase order line",
"type": "integer"
},
"poLineEstimatedPrice": {
"description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
"type": "number"
},
"fyroAdjustmentAmount": {
"description": "Adjustment amount if rollover was happen",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"currency"
]
},
"description": {
"description": "description of the material",
"type": "string"
},
"details": {
"description": "details about this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"receivingNote": {
"description": "notes regarding receiving instructions",
"type": "string"
},
"isAcknowledged": {
"description": "Flag for acknowledge receiving note",
"type": "boolean",
"default": false
},
"isBinderyActive": {
"description": "Indicates that this POL is designated as required binding",
"type": "boolean",
"default": false
},
"productIds": {
"description": "a list of product identifiers",
"id": "productIds",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Product identifier",
"type": "object",
"properties": {
"productId": {
"description": "The actual product identifier",
"type": "string"
},
"productIdType": {
"description": "The type of product identifier",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"qualifier": {
"description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
"type": "string"
}
},
"additionalProperties": false
}
},
"subscriptionFrom": {
"description": "the start date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
},
"subscriptionInterval": {
"description": "the subscription interval in days",
"type": "integer"
},
"subscriptionTo": {
"description": "the end date of the subscription",
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"additionalProperties": false
},
"donor": {
"description": "the donor contributing to this purchase order line",
"type": "string"
},
"donorOrganizationIds": {
"description": "donor organization ids associated with this fund",
"type": "array",
"items": {
"description": "UUID of an donor organization record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"eresource": {
"description": "eresource-related details of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"activated": {
"description": "whether or not this resource is activated",
"type": "boolean",
"default": false
},
"activationDue": {
"description": "number of days until activation, from date of order placement",
"type": "integer"
},
"createInventory": {
"description": "Shows what inventory objects need to be created for electronic resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"trial": {
"description": "whether or not this is a trial",
"type": "boolean",
"default": false
},
"expectedActivation": {
"description": "expected date the resource will be activated",
"type": "string",
"format": "date-time"
},
"userLimit": {
"description": "the concurrent user-limit",
"type": "string"
},
"accessProvider": {
"description": "UUID of the access provider",
"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}$"
},
"license": {
"description": "License record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "license code",
"type": "string"
},
"description": {
"description": "license description",
"type": "string"
},
"reference": {
"description": "license reference",
"type": "string"
}
},
"additionalProperties": false
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"resourceUrl": {
"description": "Electronic resource can be access via this URL",
"type": "string",
"pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
}
},
"additionalProperties": false
},
"fundDistribution": {
"description": "Fund distribution records for this purchase order line",
"id": "fundDistribution",
"type": "array",
"items": {
"description": "a fund distribution record",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"code": {
"description": "the fund code",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "string",
"pattern": "^[^:]+$"
},
"encumbrance": {
"description": "UUID of encumbrance record associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"fundId": {
"description": "UUID of the fund associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"expenseClassId": {
"description": "UUID of the expense class associated with this fund distribution",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"distributionType": {
"description": "Percentage or amount type of the value property",
"type": "string",
"enum": [
"amount",
"percentage"
],
"default": "percentage"
},
"value": {
"description": "The value of the cost to be applied to this fund",
"type": "number"
}
},
"additionalProperties": false,
"required": [
"fundId",
"distributionType",
"value"
]
}
},
"instanceId": {
"description": "UUID of the instance record this purchase order line is related to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"isPackage": {
"description": "Indicates that this POL is for a package",
"type": "boolean",
"default": false
},
"locations": {
"description": "Location records for this purchase order line",
"id": "locations",
"type": "array",
"items": {
"description": "The location details",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"locationId": {
"description": "UUID of the (inventory) location record",
"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}$"
},
"holdingId": {
"description": "Holding UUID associated with order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"quantity": {
"description": "Combined/total quanitity of physical and electronic items",
"type": "integer"
},
"quantityElectronic": {
"description": "Quantity of electronic items",
"type": "integer"
},
"quantityPhysical": {
"description": "Quantity of physical items",
"type": "integer"
},
"tenantId": {
"description": "Associated tenant for ECS-enabled clusters",
"type": "string"
}
},
"additionalProperties": false
}
},
"searchLocationIds": {
"description": "location ids used for search",
"type": "array",
"items": {
"description": "UUID of location record",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
}
},
"lastEDIExportDate": {
"description": "The last date when line was exported in the EDIFACT file",
"type": "string",
"format": "date-time"
},
"orderFormat": {
"description": "The purchase order line format",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Electronic Resource",
"P/E Mix",
"Physical Resource",
"Other"
]
},
"packagePoLineId": {
"description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"paymentStatus": {
"description": "The purchase order line payment status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Payment",
"Cancelled",
"Fully Paid",
"Partially Paid",
"Payment Not Required",
"Pending",
"Ongoing"
],
"default": "Pending"
},
"physical": {
"description": "details of this purchase order line relating to physical materials",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"createInventory": {
"description": "Shows what inventory objects need to be created for physical resource",
"type": "string",
"enum": [
"Instance, Holding, Item",
"Instance, Holding",
"Instance",
"None"
]
},
"materialType": {
"description": "UUID of the material Type",
"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}$"
},
"materialSupplier": {
"description": "UUID of the material supplier record",
"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}$"
},
"expectedReceiptDate": {
"description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"receiptDue": {
"description": "date item should be received by",
"type": [
"string",
"null"
],
"format": "date-time"
},
"volumes": {
"description": "list of volumes included to the physical material",
"type": "array",
"items": {
"description": "the identifier of volume",
"type": "string"
}
}
},
"additionalProperties": false,
"required": [
"volumes"
]
},
"poLineDescription": {
"description": "purchase order line description",
"type": "string"
},
"poLineNumber": {
"description": "A human readable number assigned to this PO line (assigned automatically)",
"type": "string",
"pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$"
},
"publicationDate": {
"description": "date (year) of the material's publication",
"type": "string"
},
"publisher": {
"description": "publisher of the material",
"type": "string"
},
"purchaseOrderId": {
"description": "UUID of the purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"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}$"
},
"receiptDate": {
"description": "date the purchase order line was received",
"type": [
"null",
"string"
],
"format": "date-time"
},
"receiptStatus": {
"description": "The purchase order line receipt status",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"Awaiting Receipt",
"Cancelled",
"Fully Received",
"Partially Received",
"Pending",
"Receipt Not Required",
"Ongoing"
],
"default": "Pending"
},
"renewalNote": {
"description": "Renewal note for this purchase order line",
"type": "string"
},
"requester": {
"description": "who requested this purchase order line",
"type": "string"
},
"rush": {
"description": "whether or not this is a rush order",
"type": "boolean",
"default": false
},
"selector": {
"description": "who selected this material",
"type": "string"
},
"source": {
"description": "the source of this purchase order line",
"type": "string",
"$schema": "http://json-schema.org/draft-04/schema#",
"enum": [
"User",
"API",
"EDI",
"MARC",
"EBSCONET"
]
},
"tags": {
"description": "arbitrary tags associated with this purchase order line",
"id": "tags",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"titleOrPackage": {
"description": "title of the material",
"type": "string"
},
"vendorDetail": {
"description": "Details related to the vendor of this purchase order line",
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"instructions": {
"description": "special instructions for the vendor",
"type": "string"
},
"noteFromVendor": {
"description": "free-form notes from the vendor",
"type": "string"
},
"vendorAccount": {
"description": "the accound number on the vendor's end associated with this purchase order line",
"type": "string"
},
"referenceNumbers": {
"description": "Collection of reference number items",
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Reference number item",
"type": "object",
"properties": {
"refNumber": {
"description": "a reference number for this purchase order line",
"type": "string"
},
"refNumberType": {
"description": "the reference number type",
"type": "string",
"enum": [
"Vendor continuation reference number",
"Vendor order reference number",
"Vendor subscription reference number",
"Vendor internal number",
"Vendor title number"
],
"javaEnums": [
"CONTINUATION_REF_NUMBER",
"ORDER_REF_NUMBER",
"SUBSCRIPTION_REF_NUMBER",
"INTERNAL_NUMBER",
"TITLE_NUMBER"
]
},
"vendorDetailsSource": {
"description": "the reference number type",
"type": "string",
"enum": [
"OrderLine",
"InvoiceLine"
],
"javaEnums": [
"ORDER_LINE",
"INVOICE_LINE"
]
}
},
"additionalProperties": false
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
}
},
"additionalProperties": false,
"required": [
"acquisitionMethod",
"cost",
"orderFormat",
"source",
"titleOrPackage"
]
}
},
"acqUnitIds": {
"description": "acquisition unit ids associated with this purchase order",
"type": "array",
"items": {
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "The UUID format string",
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"tags": {
"type": "object",
"description": "arbitrary tags associated with this purchase order",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "tags.schema",
"title": "tags",
"properties": {
"tagList": {
"description": "List of tags",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"metadata": {
"type": "object",
"readonly": true,
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "metadata.schema",
"title": "Metadata Schema",
"description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
"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"
]
},
"needReEncumber": {
"description": "Indicates that order needs to be re-encumbered",
"type": "boolean",
"readonly": true
}
},
"additionalProperties": false,
"required": [
"vendor",
"orderType"
]
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-07-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "No longer available",
"note": "Items are no longer available to purchase"
},
"dateOrdered": "2018-07-20T00:00:00.000+0000",
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "A268758XYZ",
"poNumberPrefix": "A",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"totalEstimatedPrice": 75.47,
"totalItems": 3,
"totalCredited": 55.00,
"totalEncumbered": 70.00,
"totalExpended": 5.47,
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Open",
"nextPolNumber": 4,
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
},
"poLines": [
{
"id": "8c778aee-97fa-4586-b131-3ea588a728e2",
"edition": "First edition",
"checkinItems": false,
"instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
"isPackage": false,
"agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
"acquisitionMethod": "306489dd-0053-49ee-a068-c316444a8f55",
"cancellationRestriction": false,
"cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
"claims": [
{
"claimed": false,
"sent": "2018-10-09T00:00:00.000Z",
"grace": 30
}
],
"claimingActive": false,
"claimingInterval": 0,
"collection": false,
"contributors": [
{
"contributor": "Ed Mashburn",
"contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
}
],
"cost": {
"additionalCost": 2.00,
"currency": "USD",
"discount": 2,
"discountType": "percentage",
"exchangeRate": 1.12,
"listUnitPrice": 24.99,
"listUnitPriceElectronic": 0.00,
"quantityPhysical": 3,
"quantityElectronic": 0,
"poLineEstimatedPrice": 75.47
},
"description": "ABCDEFGH",
"details": {
"receivingNote": "ABCDEFGHIJKL",
"productIds": [
{
"productId": "9780764354113",
"productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
"qualifier": "(paperback)"
}
],
"subscriptionFrom": "2018-10-09T00:00:00.000Z",
"subscriptionInterval": 824,
"subscriptionTo": "2020-10-09T00:00:00.000Z"
},
"donor": "ABCDEFGHIJKLM",
"fundDistribution": [
{
"code": "HIST",
"expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
"fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
"distributionType": "percentage",
"value": 80.0,
"encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
},
{
"code": "GENRL",
"fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
"distributionType": "percentage",
"value": 20.0,
"encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
}
],
"locations": [
{
"locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
"quantity": 2,
"quantityElectronic": 0,
"quantityPhysical": 2
},
{
"locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
"quantity": 1,
"quantityElectronic": 0,
"quantityPhysical": 1
}
],
"searchLocationIds": [
"b241764c-1466-4e1d-a028-1a3684a5da87",
"fcd64ce1-6995-48f0-840e-89ffa2288371"
],
"orderFormat": "Physical Resource",
"paymentStatus": "Awaiting Payment",
"physical": {
"createInventory": "Instance, Holding, Item",
"volumes": [
"vol. 1"
],
"materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
"expectedReceiptDate": "2018-10-05T00:00:00.000Z",
"receiptDue": "2018-10-10T00:00:00.000Z",
"materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
},
"poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
"poLineNumber": "ABC268758XYZ-03",
"publicationDate": "2017",
"publisher": "Schiffer Publishing",
"purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
"receiptDate": "2018-10-09T00:00:00.000Z",
"receiptStatus": "Awaiting Receipt",
"requester": "Leo Bulero",
"rush": true,
"selector": "ABCD",
"source": "EDI",
"titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"vendorDetail": {
"instructions": "ABCDEFG",
"noteFromVendor": "ABCDEFGHIKJKLMNOP",
"referenceNumbers": [
{
"refNumber": "123456-78",
"refNumberType": "Vendor title number",
"vendorDetailsSource": "OrderLine"
}
],
"vendorAccount": "8910-10"
},
"tags": {
"tagList": [
"important"
]
},
"customFields": {
"externalOrderNumber": "ML58723"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
]
}
HTTP status code 204
Item successfully updated
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: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"unable to update composite-order -- malformed JSON at 13:4"
HTTP status code 404
Item with a given ID not found
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"composite-order not found"
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
delete /orders/composite-orders/{id}
Delete a purchase order with given {id}
URI Parameters
- id: required(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}$)
The UUID of a purchase order
HTTP status code 204
Item deleted successfully
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: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"unable to delete composite-order -- constraint violation"
HTTP status code 404
Item with a given ID not found
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"composite-order not found"
HTTP status code 422
Validation errors
Body
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "errors.schema",
"description": "A set of errors",
"type": "object",
"properties": {
"errors": {
"description": "List of errors",
"id": "errors",
"type": "array",
"items": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "error.schema",
"description": "An error",
"properties": {
"message": {
"type": "string",
"description": "Error message text"
},
"type": {
"type": "string",
"description": "Error message type"
},
"code": {
"type": "string",
"description": "Error message code"
},
"parameters": {
"description": "Error message parameters",
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "parameters.schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
},
"required": [
"message"
]
}
},
"total_records": {
"description": "Total number of errors",
"type": "integer"
}
}
}
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
post /orders/composite-orders/{id}/re-encumber
URI Parameters
- id: required(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}$)
The UUID of a purchase order
HTTP status code 204
Re-encumber completed successfully
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: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"unable to add <<resourcePathName|!singularize>> -- malformed JSON at 13:3"
HTTP status code 404
Item with a given ID not found
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
"<<resourcePathName|!singularize>> not found"
HTTP status code 500
Internal server error, e.g. due to misconfiguration
Body
Media type: application/json
Type: any
Example:
{
"errors": [
{
"message": "may not be null",
"type": "1",
"code": "-1",
"parameters": [
{
"key": "moduleTo",
"value": "null"
}
]
}
]
}
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator