Item Storage Dereferenced (v0.1)

http://localhost

Table of contents

Item Retrieval API

Get dereferenced items data from inventory

/item-storage-dereferenced

GET /item-storage-dereferenced/items

Retrieve item item with given {itemId}

GET /item-storage-dereferenced/items
Query Parameters
  • 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 item and material type)

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    title="*uproot*"
    
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A collection of dereferenced item records",
  "type": "object",
  "properties": {
    "dereferencedItems": {
      "description": "List of dereferenced item records",
      "id": "items",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "An item record with related record data",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID of the item record"
          },
          "instanceRecord": {
            "type": "object",
            "description": "Parent instance record.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique ID of the instance record; a UUID",
                "$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}$"
              },
              "_version": {
                "type": "integer",
                "description": "Record version for optimistic locking"
              },
              "hrid": {
                "type": "string",
                "description": "The human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
              },
              "matchKey": {
                "type": "string",
                "description": "A unique instance identifier matching a client-side bibliographic record identification scheme, in particular for a scenario where multiple separate catalogs with no shared record identifiers contribute to the same Instance in Inventory. A match key is typically generated from select, normalized pieces of metadata in bibliographic records"
              },
              "source": {
                "type": "string",
                "description": "The metadata source and its format of the underlying record to the instance record. (e.g. FOLIO if it's a record created in Inventory;  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)"
              },
              "title": {
                "type": "string",
                "description": "The primary title (or label) associated with the resource"
              },
              "indexTitle": {
                "type": "string",
                "description": "Title normalized for browsing and searching; based on the title with articles removed"
              },
              "alternativeTitles": {
                "type": "array",
                "description": "List of alternative titles for the resource (e.g. original language version title of a movie)",
                "items": {
                  "type": "object",
                  "properties": {
                    "alternativeTitleTypeId": {
                      "type": "string",
                      "description": "UUID for an alternative title qualifier",
                      "$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}$"
                    },
                    "alternativeTitle": {
                      "type": "string",
                      "description": "An alternative title for the resource"
                    }
                  }
                },
                "uniqueItems": true
              },
              "editions": {
                "type": "array",
                "description": "The edition statement, imprint and other publication source information",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "series": {
                "type": "array",
                "description": "List of series titles associated with the resource (e.g. Harry Potter)",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "identifiers": {
                "type": "array",
                "description": "An extensible set of name-value pairs of identifiers associated with the resource",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string",
                      "description": "Resource identifier value"
                    },
                    "identifierTypeId": {
                      "type": "string",
                      "description": "UUID of resource identifier type (e.g. ISBN, ISSN, LCCN, CODEN, Locally defined identifiers)",
                      "$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}$"
                    },
                    "identifierTypeObject": {
                      "type": "object",
                      "description": "Information about identifier type, looked up from identifierTypeId",
                      "folio:$ref": "illpolicy.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "identifier-types",
                      "folio:linkFromField": "identifierTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "identifierTypes.0"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "value",
                    "identifierTypeId"
                  ]
                }
              },
              "contributors": {
                "type": "array",
                "description": "List of contributors",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Personal name, corporate name, meeting name"
                    },
                    "contributorTypeId": {
                      "type": "string",
                      "description": "UUID for the contributor type term defined in controlled vocabulary",
                      "$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}$"
                    },
                    "contributorTypeText": {
                      "type": "string",
                      "description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
                    },
                    "contributorNameTypeId": {
                      "type": "string",
                      "description": "UUID of contributor name type term defined by the MARC code list for relators",
                      "$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}$"
                    },
                    "contributorNameType": {
                      "type": "object",
                      "description": "Dereferenced contributor-name type",
                      "javaType": "org.folio.rest.jaxrs.model.contributorNameTypeVirtual",
                      "readonly": true,
                      "folio:$ref": "contributornametype.json",
                      "folio:isVirtual": true,
                      "folio:linkBase": "contributor-name-types",
                      "folio:linkFromField": "contributorNameTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "contributorNameTypes.0"
                    },
                    "primary": {
                      "type": "boolean",
                      "description": "Whether this is the primary contributor"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "name",
                    "contributorNameTypeId"
                  ]
                }
              },
              "subjects": {
                "type": "array",
                "description": "List of subject headings",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "classifications": {
                "type": "array",
                "description": "List of classifications",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "properties": {
                    "classificationNumber": {
                      "type": "string",
                      "description": "Classification (e.g. classification scheme, classification schedule)"
                    },
                    "classificationTypeId": {
                      "type": "string",
                      "description": "UUID of classification schema (e.g. LC, Canadian Classification, NLM, National Agricultural Library, UDC, and Dewey)",
                      "$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}$"
                    },
                    "classificationType": {
                      "type": "object",
                      "description": "Dereferenced classification schema",
                      "javaType": "org.folio.rest.jaxrs.model.classificationTypeVirtual",
                      "readonly": true,
                      "folio:$ref": "classificationtype.json",
                      "folio:isVirtual": true,
                      "folio:linkBase": "classification-types",
                      "folio:linkFromField": "classificationTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "classificationTypes.0"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "classificationNumber",
                    "classificationTypeId"
                  ]
                }
              },
              "publication": {
                "type": "array",
                "description": "List of publication items",
                "items": {
                  "type": "object",
                  "properties": {
                    "publisher": {
                      "type": "string",
                      "description": "Name of publisher, distributor, etc."
                    },
                    "place": {
                      "type": "string",
                      "description": "Place of publication, distribution, etc."
                    },
                    "dateOfPublication": {
                      "type": "string",
                      "description": "Date (year YYYY) of publication, distribution, etc."
                    },
                    "role": {
                      "type": "string",
                      "description": "The role of the publisher, distributor, etc."
                    }
                  }
                }
              },
              "publicationFrequency": {
                "type": "array",
                "description": "List of intervals at which a serial appears (e.g. daily, weekly, monthly, quarterly, etc.)",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "publicationRange": {
                "type": "array",
                "description": "The range of sequential designation/chronology of publication, or date range",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "publicationPeriod": {
                "type": "object",
                "description": "Publication period",
                "properties": {
                  "start": {
                    "type": "integer",
                    "description": "Publication start year"
                  },
                  "end": {
                    "type": "integer",
                    "description": "Publication end year"
                  }
                },
                "additionalProperties": false
              },
              "electronicAccess": {
                "type": "array",
                "description": "List of electronic access items",
                "items": {
                  "type": "object",
                  "properties": {
                    "uri": {
                      "type": "string",
                      "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                    },
                    "linkText": {
                      "type": "string",
                      "description": "The value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                    },
                    "materialsSpecification": {
                      "type": "string",
                      "description": "Materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                    },
                    "publicNote": {
                      "type": "string",
                      "description": "URL public note to be displayed in the discovery"
                    },
                    "relationshipId": {
                      "type": "string",
                      "description": "UUID for the type of relationship between the electronic resource at the location identified and the item described in the record as a whole",
                      "$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}$"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "uri"
                  ]
                }
              },
              "instanceTypeId": {
                "type": "string",
                "description": "UUID of the unique term for the resource type whether it's from the RDA content term list of locally defined",
                "$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}$"
              },
              "instanceFormatIds": {
                "type": "array",
                "description": "UUIDs for the unique terms for the format whether it's from the RDA carrier term list of locally defined",
                "items": {
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                  "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}$"
                }
              },
              "instanceFormats": {
                "type": "array",
                "description": "List of dereferenced instance formats",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "The format of an Instance",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "description": "label for the Instance format",
                      "type": "string"
                    },
                    "code": {
                      "description": "distinct code for the Instance format",
                      "type": "string"
                    },
                    "source": {
                      "description": "origin of the Instance format record",
                      "type": "string"
                    },
                    "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"
                      ]
                    }
                  },
                  "required": [
                    "name",
                    "code",
                    "source"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "instance-formats",
                "folio:linkFromField": "instanceFormatIds",
                "folio:linkToField": "id",
                "folio:includedElement": "instanceFormats"
              },
              "physicalDescriptions": {
                "type": "array",
                "description": "Physical description of the described resource, including its extent, dimensions, and such other physical details as a description of any accompanying materials and unit type and size",
                "items": {
                  "type": "string"
                }
              },
              "languages": {
                "type": "array",
                "description": "The set of languages used by the resource",
                "minItems": 0,
                "items": {
                  "type": "string"
                }
              },
              "notes": {
                "type": "array",
                "description": "Bibliographic notes (e.g. general notes, specialized notes), and administrative notes",
                "items": {
                  "type": "object",
                  "properties": {
                    "instanceNoteTypeId": {
                      "description": "ID of the type of note",
                      "$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}$"
                    },
                    "note": {
                      "type": "string",
                      "description": "Text content of the note"
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "If true, determines that the note should not be visible for others than staff",
                      "default": false
                    }
                  }
                }
              },
              "modeOfIssuanceId": {
                "type": "string",
                "description": "UUID of the RDA mode of issuance, a categorization reflecting whether a resource is issued in one or more parts, the way it is updated, and whether its termination is predetermined or not (e.g. monograph,  sequential monograph, serial; integrating Resource, other)",
                "$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}$"
              },
              "catalogedDate": {
                "type": "string",
                "description": "Date or timestamp on an instance for when is was considered cataloged"
              },
              "previouslyHeld": {
                "type": "boolean",
                "description": "Records the fact that the resource was previously held by the library for things like Hathi access, etc.",
                "default": "false"
              },
              "staffSuppress": {
                "type": "boolean",
                "description": "Records the fact that the record should not be displayed for others than catalogers"
              },
              "discoverySuppress": {
                "type": "boolean",
                "description": "Records the fact that the record should not be displayed in a discovery system",
                "default": false
              },
              "statisticalCodeIds": {
                "type": "array",
                "description": "List of statistical code IDs",
                "items": {
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                  "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}$"
                },
                "uniqueItems": true
              },
              "sourceRecordFormat": {
                "type": "string",
                "description": "Format of the instance source record, if a source record exists (e.g. FOLIO if it's a record created in Inventory,  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)",
                "enum": [
                  "MARC-JSON"
                ],
                "readonly": true
              },
              "statusId": {
                "type": "string",
                "description": "UUID for the Instance status term (e.g. cataloged, uncatalogued, batch loaded, temporary, other, not yet assigned)",
                "$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}$"
              },
              "statusUpdatedDate": {
                "type": "string",
                "description": "Date [or timestamp] for when the instance status was updated"
              },
              "tags": {
                "description": "arbitrary tags associated with this instance",
                "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
              },
              "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"
                ]
              },
              "holdingsRecords2": {
                "type": "array",
                "description": "List of holdings records",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A holdings record",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "the unique ID of the holdings record; UUID",
                      "$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}$"
                    },
                    "_version": {
                      "type": "integer",
                      "description": "Record version for optimistic locking"
                    },
                    "hrid": {
                      "type": "string",
                      "description": "the human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
                    },
                    "holdingsTypeId": {
                      "type": "string",
                      "description": "unique ID for the type of this holdings record, a UUID",
                      "$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}$"
                    },
                    "formerIds": {
                      "type": "array",
                      "description": "Previous ID(s) assigned to the holdings record",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "instanceId": {
                      "description": "Inventory instances identifier",
                      "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}$"
                    },
                    "permanentLocationId": {
                      "type": "string",
                      "description": "The permanent shelving location in which an item resides.",
                      "$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}$"
                    },
                    "permanentLocation": {
                      "description": "The permanent shelving location in which an item resides",
                      "type": "object",
                      "folio:$ref": "location.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "locations",
                      "folio:linkFromField": "permanentLocationId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "locations.0"
                    },
                    "temporaryLocationId": {
                      "type": "string",
                      "description": "Temporary location is the temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
                      "$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}$"
                    },
                    "effectiveLocationId": {
                      "type": "string",
                      "description": "Effective location is calculated by the system based on the values in the permanent and temporary locationId fields.",
                      "$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}$"
                    },
                    "electronicAccess": {
                      "description": "List of electronic access items",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uri": {
                            "type": "string",
                            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                          },
                          "linkText": {
                            "type": "string",
                            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                          },
                          "materialsSpecification": {
                            "type": "string",
                            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                          },
                          "publicNote": {
                            "type": "string",
                            "description": "URL public note to be displayed in the discovery"
                          },
                          "relationshipId": {
                            "type": "string",
                            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "uri"
                        ]
                      }
                    },
                    "callNumberTypeId": {
                      "type": "string",
                      "description": "unique ID for the type of call number on a holdings record, a UUID",
                      "$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}$"
                    },
                    "callNumberPrefix": {
                      "type": "string",
                      "description": "Prefix of the call number on the holding level."
                    },
                    "callNumber": {
                      "type": "string",
                      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item."
                    },
                    "callNumberSuffix": {
                      "type": "string",
                      "description": "Suffix of the call number on the holding level."
                    },
                    "shelvingTitle": {
                      "type": "string",
                      "description": "Indicates the shelving form of title."
                    },
                    "acquisitionFormat": {
                      "type": "string",
                      "description": "Format of holdings record acquisition"
                    },
                    "acquisitionMethod": {
                      "type": "string",
                      "description": "Method of holdings record acquisition"
                    },
                    "receiptStatus": {
                      "type": "string",
                      "description": "Receipt status (e.g. pending, awaiting receipt, partially received, fully received, receipt not required, and cancelled)"
                    },
                    "notes": {
                      "type": "array",
                      "description": "Notes about action, copy, binding etc.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "holdingsNoteTypeId": {
                            "type": "string",
                            "description": "ID of the type of note",
                            "$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}$"
                          },
                          "holdingsNoteType": {
                            "type": "object",
                            "description": "expanded note-type object corresponding to holdingsNoteTypeId",
                            "javaType": "org.folio.rest.jaxrs.model.HoldingsNoteTypeVirtual",
                            "folio:$ref": "holdingsnotetype.json",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "holdings-note-types",
                            "folio:linkFromField": "holdingsNoteTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "holdingsNoteTypes.0"
                          },
                          "note": {
                            "type": "string",
                            "description": "Text content of the note"
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "If true, determines that the note should not be visible for others than staff",
                            "default": false
                          }
                        }
                      }
                    },
                    "illPolicyId": {
                      "type": "string",
                      "description": "unique ID for an ILL policy, a UUID",
                      "$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}$"
                    },
                    "illPolicy": {
                      "type": "object",
                      "description": "expanded ILL Policy object corresponding to illPolicyId",
                      "javaType": "org.folio.rest.jaxrs.model.IllPolicyVirtual",
                      "folio:$ref": "illpolicy.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "ill-policies",
                      "folio:linkFromField": "illPolicyId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "illPolicies.0"
                    },
                    "retentionPolicy": {
                      "type": "string",
                      "description": "Records information regarding how long we have agreed to keep something."
                    },
                    "digitizationPolicy": {
                      "description": "Records information regarding digitization aspects.",
                      "type": "string"
                    },
                    "holdingsStatements": {
                      "description": "Notes about action, copy, binding etc.",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "statement": {
                            "type": "string",
                            "description": "Specifices the exact content to which the library has access, typically for continuing publications."
                          },
                          "note": {
                            "type": "string",
                            "description": "Note attached to a holdings statement"
                          },
                          "staffNote": {
                            "type": "string",
                            "description": "Private note attached to a holdings statment"
                          }
                        }
                      }
                    },
                    "holdingsStatementsForIndexes": {
                      "description": "Holdings record indexes statements",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "statement": {
                            "type": "string",
                            "description": "Textual description of the holdings of indexes"
                          },
                          "note": {
                            "type": "string",
                            "description": "Note attached to a holdings statement"
                          },
                          "staffNote": {
                            "type": "string",
                            "description": "Private note attached to a holdings statment"
                          }
                        }
                      }
                    },
                    "holdingsStatementsForSupplements": {
                      "description": "Holdings record supplements statements",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "statement": {
                            "type": "string",
                            "description": "textual description of the holdings of supplementary material"
                          },
                          "note": {
                            "type": "string",
                            "description": "note attached to a holdings statement"
                          },
                          "staffNote": {
                            "type": "string",
                            "description": "Private note attached to a holdings statment"
                          }
                        }
                      }
                    },
                    "copyNumber": {
                      "type": "string",
                      "description": "Item/Piece ID (usually barcode) for systems that do not use item records. Ability to designate the copy number if institution chooses to use copy numbers."
                    },
                    "numberOfItems": {
                      "type": "string",
                      "description": "Text (Number)"
                    },
                    "receivingHistory": {
                      "description": "Receiving history of holdings record",
                      "type": "object",
                      "properties": {
                        "displayType": {
                          "type": "string",
                          "description": "Display hint. 1: Display fields separately. 2: Display fields concatenated"
                        },
                        "entries": {
                          "type": "array",
                          "description": "Entries of receiving history",
                          "items": {
                            "type": "object",
                            "properties": {
                              "publicDisplay": {
                                "type": "boolean",
                                "description": "Defines if the receivingHistory should be visible to the public."
                              },
                              "enumeration": {
                                "type": "string",
                                "description": "This is the volume/issue number (e.g. v.71:no.6-2)"
                              },
                              "chronology": {
                                "type": "string",
                                "description": "Repeated element from Receiving history - Enumeration AND Receiving history - Chronology"
                              }
                            }
                          }
                        }
                      }
                    },
                    "discoverySuppress": {
                      "type": "boolean",
                      "description": "records the fact that the record should not be displayed in a discovery system"
                    },
                    "statisticalCodeIds": {
                      "type": "array",
                      "description": "List of statistical code IDs",
                      "items": {
                        "type": "string",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                        "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}$"
                      },
                      "uniqueItems": true
                    },
                    "holdingsItems": {
                      "description": "Items related to holdings record",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "description": "An item record",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Unique ID of the item record"
                          },
                          "_version": {
                            "type": "integer",
                            "description": "Record version for optimistic locking"
                          },
                          "hrid": {
                            "type": "string",
                            "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                          },
                          "holdingsRecordId": {
                            "type": "string",
                            "description": "ID of the holdings record the item is a member of."
                          },
                          "formerIds": {
                            "type": "array",
                            "description": "Previous identifiers assigned to the item",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "discoverySuppress": {
                            "type": "boolean",
                            "description": "Records the fact that the record should not be displayed in a discovery system"
                          },
                          "accessionNumber": {
                            "type": "string",
                            "description": "Also called inventar number"
                          },
                          "barcode": {
                            "type": "string",
                            "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                          },
                          "effectiveShelvingOrder": {
                            "type": "string",
                            "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                            "readonly": true
                          },
                          "itemLevelCallNumber": {
                            "type": "string",
                            "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                          },
                          "itemLevelCallNumberPrefix": {
                            "type": "string",
                            "description": "Prefix of the call number on the item level."
                          },
                          "itemLevelCallNumberSuffix": {
                            "type": "string",
                            "description": "Suffix of the call number on the item level."
                          },
                          "itemLevelCallNumberTypeId": {
                            "type": "string",
                            "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                          },
                          "effectiveCallNumberComponents": {
                            "type": "object",
                            "description": "Elements of a full call number generated from the item or holding",
                            "properties": {
                              "callNumber": {
                                "type": "string",
                                "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "prefix": {
                                "type": "string",
                                "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "suffix": {
                                "type": "string",
                                "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "typeId": {
                                "type": "string",
                                "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                                "readonly": true,
                                "$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}$"
                              }
                            },
                            "additionalProperties": false
                          },
                          "volume": {
                            "type": "string",
                            "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                          },
                          "enumeration": {
                            "type": "string",
                            "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                          },
                          "chronology": {
                            "type": "string",
                            "description": "Chronology is the descriptive information for the dating scheme of a serial."
                          },
                          "yearCaption": {
                            "type": "array",
                            "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "itemIdentifier": {
                            "type": "string",
                            "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                          },
                          "copyNumber": {
                            "type": "string",
                            "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                          },
                          "numberOfPieces": {
                            "type": "string",
                            "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                          },
                          "descriptionOfPieces": {
                            "description": "Description of item pieces.",
                            "type": "string"
                          },
                          "numberOfMissingPieces": {
                            "type": "string",
                            "description": "Number of missing pieces."
                          },
                          "missingPieces": {
                            "type": "string",
                            "description": "Description of the missing pieces. "
                          },
                          "missingPiecesDate": {
                            "type": "string",
                            "description": "Date when the piece(s) went missing."
                          },
                          "itemDamagedStatusId": {
                            "description": "Item dame status id identifier.",
                            "type": "string"
                          },
                          "itemDamagedStatusDate": {
                            "description": "Date and time when the item was damaged.",
                            "type": "string"
                          },
                          "notes": {
                            "type": "array",
                            "description": "Notes about action, copy, binding etc.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "itemNoteTypeId": {
                                  "type": "string",
                                  "description": "ID of the type of note"
                                },
                                "itemNoteType": {
                                  "description": "Type of item's note",
                                  "type": "object",
                                  "folio:$ref": "itemnotetype.json",
                                  "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                                  "readonly": true,
                                  "folio:isVirtual": true,
                                  "folio:linkBase": "item-note-types",
                                  "folio:linkFromField": "itemNoteTypeId",
                                  "folio:linkToField": "id",
                                  "folio:includedElement": "itemNoteTypes.0"
                                },
                                "note": {
                                  "type": "string",
                                  "description": "Text content of the note"
                                },
                                "staffOnly": {
                                  "type": "boolean",
                                  "description": "If true, determines that the note should not be visible for others than staff",
                                  "default": false
                                }
                              }
                            }
                          },
                          "circulationNotes": {
                            "type": "array",
                            "description": "Notes to be displayed in circulation processes",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "The id of the circulation note"
                                },
                                "noteType": {
                                  "type": "string",
                                  "description": "Type of circulation process that the note applies to",
                                  "enum": [
                                    "Check in",
                                    "Check out"
                                  ]
                                },
                                "note": {
                                  "type": "string",
                                  "description": "Text to display"
                                },
                                "source": {
                                  "type": "object",
                                  "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                                    },
                                    "personal": {
                                      "type": "object",
                                      "description": "Personal information about the user",
                                      "properties": {
                                        "lastName": {
                                          "description": "The user's last name",
                                          "type": "string"
                                        },
                                        "firstName": {
                                          "description": "The user's first name",
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                },
                                "date": {
                                  "type": "string",
                                  "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                                },
                                "staffOnly": {
                                  "type": "boolean",
                                  "description": "Flag to restrict display of this note",
                                  "default": false
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "status": {
                            "description": "The status of the item",
                            "type": "object",
                            "properties": {
                              "name": {
                                "description": "Name of the status e.g. Available, Checked out, In transit",
                                "type": "string",
                                "enum": [
                                  "Aged to lost",
                                  "Available",
                                  "Awaiting pickup",
                                  "Awaiting delivery",
                                  "Checked out",
                                  "Claimed returned",
                                  "Declared lost",
                                  "In process",
                                  "In process (non-requestable)",
                                  "In transit",
                                  "Intellectual item",
                                  "Long missing",
                                  "Lost and paid",
                                  "Missing",
                                  "On order",
                                  "Paged",
                                  "Restricted",
                                  "Order closed",
                                  "Unavailable",
                                  "Unknown",
                                  "Withdrawn"
                                ]
                              },
                              "date": {
                                "description": "Date and time when the status was last changed",
                                "type": "string",
                                "format": "date-time",
                                "readonly": true
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "additionalProperties": false
                          },
                          "materialTypeId": {
                            "type": "string",
                            "description": "Material type, term. Define what type of thing the item is."
                          },
                          "materialType": {
                            "description": "Item's material type",
                            "type": "object",
                            "folio:$ref": "materialtype.json",
                            "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "material-types",
                            "folio:linkFromField": "materialTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "mtypes.0"
                          },
                          "permanentLoanTypeId": {
                            "type": "string",
                            "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                          },
                          "temporaryLoanTypeId": {
                            "type": "string",
                            "description": "Temporary loan type, is the temporary loan type for a given item."
                          },
                          "permanentLocationId": {
                            "type": "string",
                            "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                          },
                          "permanentLocation": {
                            "description": "The permanent shelving location in which an item resides",
                            "type": "object",
                            "readonly": true
                          },
                          "temporaryLocationId": {
                            "type": "string",
                            "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                          },
                          "temporaryLocation": {
                            "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                            "type": "object",
                            "folio:$ref": "location.json",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "locations",
                            "folio:linkFromField": "temporaryLocationId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "locations.0"
                          },
                          "effectiveLocationId": {
                            "type": "string",
                            "description": "Read only current home location for the item.",
                            "readonly": true,
                            "$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}$"
                          },
                          "electronicAccess": {
                            "type": "array",
                            "description": "References for accessing the item by URL.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "uri": {
                                  "type": "string",
                                  "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                                },
                                "linkText": {
                                  "type": "string",
                                  "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                                },
                                "materialsSpecification": {
                                  "type": "string",
                                  "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                                },
                                "publicNote": {
                                  "type": "string",
                                  "description": "URL public note to be displayed in the discovery"
                                },
                                "relationshipId": {
                                  "type": "string",
                                  "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                                }
                              },
                              "additionalProperties": false,
                              "required": [
                                "uri"
                              ]
                            }
                          },
                          "inTransitDestinationServicePointId": {
                            "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                            "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}$"
                          },
                          "statisticalCodeIds": {
                            "type": "array",
                            "description": "List of statistical code IDs",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "purchaseOrderLineIdentifier": {
                            "type": "string",
                            "description": "ID referencing a remote purchase order object related to this item"
                          },
                          "tags": {
                            "description": "arbitrary tags associated with this item",
                            "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
                          },
                          "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"
                            ]
                          },
                          "holdingsRecord2": {
                            "type": "object",
                            "description": "Item associated holdings record object.",
                            "folio:$ref": "holdingsrecord.json",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "holdings-storage/holdings",
                            "folio:linkFromField": "holdingsRecordId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "holdingsRecords.0"
                          },
                          "lastCheckIn": {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Information about when an item was last scanned in the Inventory app.",
                            "properties": {
                              "dateTime": {
                                "type": "string",
                                "description": "Date and time of the last check in of the item.",
                                "format": "date-time"
                              },
                              "servicePointId": {
                                "type": "string",
                                "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                                "$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}$"
                              },
                              "staffMemberId": {
                                "type": "string",
                                "description": "ID a staff member who scanned the item",
                                "$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}$"
                              }
                            }
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "materialTypeId",
                          "permanentLoanTypeId",
                          "holdingsRecordId",
                          "status"
                        ]
                      },
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "inventory/items",
                      "folio:linkFromField": "id",
                      "folio:linkToField": "holdingsRecordId",
                      "folio:includedElement": "items"
                    },
                    "bareHoldingsItems": {
                      "description": "Items of bareHoldings",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "description": "An item record",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Unique ID of the item record"
                          },
                          "_version": {
                            "type": "integer",
                            "description": "Record version for optimistic locking"
                          },
                          "hrid": {
                            "type": "string",
                            "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                          },
                          "holdingsRecordId": {
                            "type": "string",
                            "description": "ID of the holdings record the item is a member of."
                          },
                          "formerIds": {
                            "type": "array",
                            "description": "Previous identifiers assigned to the item",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "discoverySuppress": {
                            "type": "boolean",
                            "description": "Records the fact that the record should not be displayed in a discovery system"
                          },
                          "accessionNumber": {
                            "type": "string",
                            "description": "Also called inventar number"
                          },
                          "barcode": {
                            "type": "string",
                            "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                          },
                          "effectiveShelvingOrder": {
                            "type": "string",
                            "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                            "readonly": true
                          },
                          "itemLevelCallNumber": {
                            "type": "string",
                            "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                          },
                          "itemLevelCallNumberPrefix": {
                            "type": "string",
                            "description": "Prefix of the call number on the item level."
                          },
                          "itemLevelCallNumberSuffix": {
                            "type": "string",
                            "description": "Suffix of the call number on the item level."
                          },
                          "itemLevelCallNumberTypeId": {
                            "type": "string",
                            "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                          },
                          "effectiveCallNumberComponents": {
                            "type": "object",
                            "description": "Elements of a full call number generated from the item or holding",
                            "properties": {
                              "callNumber": {
                                "type": "string",
                                "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "prefix": {
                                "type": "string",
                                "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "suffix": {
                                "type": "string",
                                "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                                "readonly": true
                              },
                              "typeId": {
                                "type": "string",
                                "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                                "readonly": true,
                                "$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}$"
                              }
                            },
                            "additionalProperties": false
                          },
                          "volume": {
                            "type": "string",
                            "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                          },
                          "enumeration": {
                            "type": "string",
                            "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                          },
                          "chronology": {
                            "type": "string",
                            "description": "Chronology is the descriptive information for the dating scheme of a serial."
                          },
                          "yearCaption": {
                            "type": "array",
                            "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "itemIdentifier": {
                            "type": "string",
                            "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                          },
                          "copyNumber": {
                            "type": "string",
                            "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                          },
                          "numberOfPieces": {
                            "type": "string",
                            "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                          },
                          "descriptionOfPieces": {
                            "description": "Description of item pieces.",
                            "type": "string"
                          },
                          "numberOfMissingPieces": {
                            "type": "string",
                            "description": "Number of missing pieces."
                          },
                          "missingPieces": {
                            "type": "string",
                            "description": "Description of the missing pieces. "
                          },
                          "missingPiecesDate": {
                            "type": "string",
                            "description": "Date when the piece(s) went missing."
                          },
                          "itemDamagedStatusId": {
                            "description": "Item dame status id identifier.",
                            "type": "string"
                          },
                          "itemDamagedStatusDate": {
                            "description": "Date and time when the item was damaged.",
                            "type": "string"
                          },
                          "notes": {
                            "type": "array",
                            "description": "Notes about action, copy, binding etc.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "itemNoteTypeId": {
                                  "type": "string",
                                  "description": "ID of the type of note"
                                },
                                "itemNoteType": {
                                  "description": "Type of item's note",
                                  "type": "object",
                                  "folio:$ref": "itemnotetype.json",
                                  "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                                  "readonly": true,
                                  "folio:isVirtual": true,
                                  "folio:linkBase": "item-note-types",
                                  "folio:linkFromField": "itemNoteTypeId",
                                  "folio:linkToField": "id",
                                  "folio:includedElement": "itemNoteTypes.0"
                                },
                                "note": {
                                  "type": "string",
                                  "description": "Text content of the note"
                                },
                                "staffOnly": {
                                  "type": "boolean",
                                  "description": "If true, determines that the note should not be visible for others than staff",
                                  "default": false
                                }
                              }
                            }
                          },
                          "circulationNotes": {
                            "type": "array",
                            "description": "Notes to be displayed in circulation processes",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "The id of the circulation note"
                                },
                                "noteType": {
                                  "type": "string",
                                  "description": "Type of circulation process that the note applies to",
                                  "enum": [
                                    "Check in",
                                    "Check out"
                                  ]
                                },
                                "note": {
                                  "type": "string",
                                  "description": "Text to display"
                                },
                                "source": {
                                  "type": "object",
                                  "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                                    },
                                    "personal": {
                                      "type": "object",
                                      "description": "Personal information about the user",
                                      "properties": {
                                        "lastName": {
                                          "description": "The user's last name",
                                          "type": "string"
                                        },
                                        "firstName": {
                                          "description": "The user's first name",
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                },
                                "date": {
                                  "type": "string",
                                  "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                                },
                                "staffOnly": {
                                  "type": "boolean",
                                  "description": "Flag to restrict display of this note",
                                  "default": false
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "status": {
                            "description": "The status of the item",
                            "type": "object",
                            "properties": {
                              "name": {
                                "description": "Name of the status e.g. Available, Checked out, In transit",
                                "type": "string",
                                "enum": [
                                  "Aged to lost",
                                  "Available",
                                  "Awaiting pickup",
                                  "Awaiting delivery",
                                  "Checked out",
                                  "Claimed returned",
                                  "Declared lost",
                                  "In process",
                                  "In process (non-requestable)",
                                  "In transit",
                                  "Intellectual item",
                                  "Long missing",
                                  "Lost and paid",
                                  "Missing",
                                  "On order",
                                  "Paged",
                                  "Restricted",
                                  "Order closed",
                                  "Unavailable",
                                  "Unknown",
                                  "Withdrawn"
                                ]
                              },
                              "date": {
                                "description": "Date and time when the status was last changed",
                                "type": "string",
                                "format": "date-time",
                                "readonly": true
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "additionalProperties": false
                          },
                          "materialTypeId": {
                            "type": "string",
                            "description": "Material type, term. Define what type of thing the item is."
                          },
                          "materialType": {
                            "description": "Item's material type",
                            "type": "object",
                            "folio:$ref": "materialtype.json",
                            "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "material-types",
                            "folio:linkFromField": "materialTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "mtypes.0"
                          },
                          "permanentLoanTypeId": {
                            "type": "string",
                            "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                          },
                          "temporaryLoanTypeId": {
                            "type": "string",
                            "description": "Temporary loan type, is the temporary loan type for a given item."
                          },
                          "permanentLocationId": {
                            "type": "string",
                            "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                          },
                          "permanentLocation": {
                            "description": "The permanent shelving location in which an item resides",
                            "type": "object",
                            "readonly": true
                          },
                          "temporaryLocationId": {
                            "type": "string",
                            "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                          },
                          "temporaryLocation": {
                            "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                            "type": "object",
                            "folio:$ref": "location.json",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "locations",
                            "folio:linkFromField": "temporaryLocationId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "locations.0"
                          },
                          "effectiveLocationId": {
                            "type": "string",
                            "description": "Read only current home location for the item.",
                            "readonly": true,
                            "$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}$"
                          },
                          "electronicAccess": {
                            "type": "array",
                            "description": "References for accessing the item by URL.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "uri": {
                                  "type": "string",
                                  "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                                },
                                "linkText": {
                                  "type": "string",
                                  "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                                },
                                "materialsSpecification": {
                                  "type": "string",
                                  "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                                },
                                "publicNote": {
                                  "type": "string",
                                  "description": "URL public note to be displayed in the discovery"
                                },
                                "relationshipId": {
                                  "type": "string",
                                  "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                                }
                              },
                              "additionalProperties": false,
                              "required": [
                                "uri"
                              ]
                            }
                          },
                          "inTransitDestinationServicePointId": {
                            "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                            "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}$"
                          },
                          "statisticalCodeIds": {
                            "type": "array",
                            "description": "List of statistical code IDs",
                            "items": {
                              "type": "string"
                            },
                            "uniqueItems": true
                          },
                          "purchaseOrderLineIdentifier": {
                            "type": "string",
                            "description": "ID referencing a remote purchase order object related to this item"
                          },
                          "tags": {
                            "description": "arbitrary tags associated with this item",
                            "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
                          },
                          "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"
                            ]
                          },
                          "holdingsRecord2": {
                            "type": "object",
                            "description": "Item associated holdings record object.",
                            "folio:$ref": "holdingsrecord.json",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "holdings-storage/holdings",
                            "folio:linkFromField": "holdingsRecordId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "holdingsRecords.0"
                          },
                          "lastCheckIn": {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Information about when an item was last scanned in the Inventory app.",
                            "properties": {
                              "dateTime": {
                                "type": "string",
                                "description": "Date and time of the last check in of the item.",
                                "format": "date-time"
                              },
                              "servicePointId": {
                                "type": "string",
                                "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                                "$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}$"
                              },
                              "staffMemberId": {
                                "type": "string",
                                "description": "ID a staff member who scanned the item",
                                "$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}$"
                              }
                            }
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "materialTypeId",
                          "permanentLoanTypeId",
                          "holdingsRecordId",
                          "status"
                        ]
                      },
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "item-storage/items",
                      "folio:linkFromField": "id",
                      "folio:linkToField": "holdingsRecordId",
                      "folio:includedElement": "items"
                    },
                    "holdingsInstance": {
                      "description": "Instance of holding record",
                      "type": "object",
                      "folio:$ref": "instance.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "inventory/instances",
                      "folio:linkFromField": "instanceId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "instances.0"
                    },
                    "tags": {
                      "description": "arbitrary tags associated with this holding",
                      "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
                    },
                    "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"
                      ]
                    },
                    "sourceId": {
                      "description": "(A reference to) the source of a holdings record",
                      "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}$"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "instanceId",
                    "permanentLocationId"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "holdings-storage/holdings",
                "folio:linkFromField": "id",
                "folio:linkToField": "instanceId",
                "folio:includedElement": "holdingsRecords"
              },
              "natureOfContentTermIds": {
                "type": "array",
                "description": "Array of UUID for the Instance nature of content (e.g. bibliography, biography, exhibition catalogue, festschrift, newspaper, proceedings, research report, thesis or website)",
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "description": "Single UUID for the Instance nature of content",
                  "$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}$"
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "source",
              "title",
              "instanceTypeId"
            ]
          },
          "_version": {
            "type": "integer",
            "description": "Record version for optimistic locking"
          },
          "hrid": {
            "type": "string",
            "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
          },
          "holdingsRecord": {
            "type": "object",
            "description": "Holdings record the item is a member of.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "type": "string",
                "description": "the unique ID of the holdings record; UUID",
                "$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}$"
              },
              "_version": {
                "type": "integer",
                "description": "Record version for optimistic locking"
              },
              "hrid": {
                "type": "string",
                "description": "the human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
              },
              "holdingsTypeId": {
                "type": "string",
                "description": "unique ID for the type of this holdings record, a UUID",
                "$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}$"
              },
              "formerIds": {
                "type": "array",
                "description": "Previous ID(s) assigned to the holdings record",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "instanceId": {
                "description": "Inventory instances identifier",
                "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}$"
              },
              "permanentLocationId": {
                "type": "string",
                "description": "The permanent shelving location in which an item resides.",
                "$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}$"
              },
              "permanentLocation": {
                "description": "The permanent shelving location in which an item resides",
                "type": "object",
                "folio:$ref": "location.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "locations",
                "folio:linkFromField": "permanentLocationId",
                "folio:linkToField": "id",
                "folio:includedElement": "locations.0"
              },
              "temporaryLocationId": {
                "type": "string",
                "description": "Temporary location is the temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
                "$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}$"
              },
              "effectiveLocationId": {
                "type": "string",
                "description": "Effective location is calculated by the system based on the values in the permanent and temporary locationId fields.",
                "$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}$"
              },
              "electronicAccess": {
                "description": "List of electronic access items",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uri": {
                      "type": "string",
                      "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                    },
                    "linkText": {
                      "type": "string",
                      "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                    },
                    "materialsSpecification": {
                      "type": "string",
                      "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                    },
                    "publicNote": {
                      "type": "string",
                      "description": "URL public note to be displayed in the discovery"
                    },
                    "relationshipId": {
                      "type": "string",
                      "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "uri"
                  ]
                }
              },
              "callNumberTypeId": {
                "type": "string",
                "description": "unique ID for the type of call number on a holdings record, a UUID",
                "$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}$"
              },
              "callNumberPrefix": {
                "type": "string",
                "description": "Prefix of the call number on the holding level."
              },
              "callNumber": {
                "type": "string",
                "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item."
              },
              "callNumberSuffix": {
                "type": "string",
                "description": "Suffix of the call number on the holding level."
              },
              "shelvingTitle": {
                "type": "string",
                "description": "Indicates the shelving form of title."
              },
              "acquisitionFormat": {
                "type": "string",
                "description": "Format of holdings record acquisition"
              },
              "acquisitionMethod": {
                "type": "string",
                "description": "Method of holdings record acquisition"
              },
              "receiptStatus": {
                "type": "string",
                "description": "Receipt status (e.g. pending, awaiting receipt, partially received, fully received, receipt not required, and cancelled)"
              },
              "notes": {
                "type": "array",
                "description": "Notes about action, copy, binding etc.",
                "items": {
                  "type": "object",
                  "properties": {
                    "holdingsNoteTypeId": {
                      "type": "string",
                      "description": "ID of the type of note",
                      "$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}$"
                    },
                    "holdingsNoteType": {
                      "type": "object",
                      "description": "expanded note-type object corresponding to holdingsNoteTypeId",
                      "javaType": "org.folio.rest.jaxrs.model.HoldingsNoteTypeVirtual",
                      "folio:$ref": "holdingsnotetype.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-note-types",
                      "folio:linkFromField": "holdingsNoteTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsNoteTypes.0"
                    },
                    "note": {
                      "type": "string",
                      "description": "Text content of the note"
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "If true, determines that the note should not be visible for others than staff",
                      "default": false
                    }
                  }
                }
              },
              "illPolicyId": {
                "type": "string",
                "description": "unique ID for an ILL policy, a UUID",
                "$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}$"
              },
              "illPolicy": {
                "type": "object",
                "description": "expanded ILL Policy object corresponding to illPolicyId",
                "javaType": "org.folio.rest.jaxrs.model.IllPolicyVirtual",
                "folio:$ref": "illpolicy.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "ill-policies",
                "folio:linkFromField": "illPolicyId",
                "folio:linkToField": "id",
                "folio:includedElement": "illPolicies.0"
              },
              "retentionPolicy": {
                "type": "string",
                "description": "Records information regarding how long we have agreed to keep something."
              },
              "digitizationPolicy": {
                "description": "Records information regarding digitization aspects.",
                "type": "string"
              },
              "holdingsStatements": {
                "description": "Notes about action, copy, binding etc.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "Specifices the exact content to which the library has access, typically for continuing publications."
                    },
                    "note": {
                      "type": "string",
                      "description": "Note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "holdingsStatementsForIndexes": {
                "description": "Holdings record indexes statements",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "Textual description of the holdings of indexes"
                    },
                    "note": {
                      "type": "string",
                      "description": "Note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "holdingsStatementsForSupplements": {
                "description": "Holdings record supplements statements",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "textual description of the holdings of supplementary material"
                    },
                    "note": {
                      "type": "string",
                      "description": "note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "copyNumber": {
                "type": "string",
                "description": "Item/Piece ID (usually barcode) for systems that do not use item records. Ability to designate the copy number if institution chooses to use copy numbers."
              },
              "numberOfItems": {
                "type": "string",
                "description": "Text (Number)"
              },
              "receivingHistory": {
                "description": "Receiving history of holdings record",
                "type": "object",
                "properties": {
                  "displayType": {
                    "type": "string",
                    "description": "Display hint. 1: Display fields separately. 2: Display fields concatenated"
                  },
                  "entries": {
                    "type": "array",
                    "description": "Entries of receiving history",
                    "items": {
                      "type": "object",
                      "properties": {
                        "publicDisplay": {
                          "type": "boolean",
                          "description": "Defines if the receivingHistory should be visible to the public."
                        },
                        "enumeration": {
                          "type": "string",
                          "description": "This is the volume/issue number (e.g. v.71:no.6-2)"
                        },
                        "chronology": {
                          "type": "string",
                          "description": "Repeated element from Receiving history - Enumeration AND Receiving history - Chronology"
                        }
                      }
                    }
                  }
                }
              },
              "discoverySuppress": {
                "type": "boolean",
                "description": "records the fact that the record should not be displayed in a discovery system"
              },
              "statisticalCodeIds": {
                "type": "array",
                "description": "List of statistical code IDs",
                "items": {
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                  "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}$"
                },
                "uniqueItems": true
              },
              "holdingsItems": {
                "description": "Items related to holdings record",
                "type": "array",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "An item record",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the item record"
                    },
                    "_version": {
                      "type": "integer",
                      "description": "Record version for optimistic locking"
                    },
                    "hrid": {
                      "type": "string",
                      "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                    },
                    "holdingsRecordId": {
                      "type": "string",
                      "description": "ID of the holdings record the item is a member of."
                    },
                    "formerIds": {
                      "type": "array",
                      "description": "Previous identifiers assigned to the item",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "discoverySuppress": {
                      "type": "boolean",
                      "description": "Records the fact that the record should not be displayed in a discovery system"
                    },
                    "accessionNumber": {
                      "type": "string",
                      "description": "Also called inventar number"
                    },
                    "barcode": {
                      "type": "string",
                      "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                    },
                    "effectiveShelvingOrder": {
                      "type": "string",
                      "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                      "readonly": true
                    },
                    "itemLevelCallNumber": {
                      "type": "string",
                      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                    },
                    "itemLevelCallNumberPrefix": {
                      "type": "string",
                      "description": "Prefix of the call number on the item level."
                    },
                    "itemLevelCallNumberSuffix": {
                      "type": "string",
                      "description": "Suffix of the call number on the item level."
                    },
                    "itemLevelCallNumberTypeId": {
                      "type": "string",
                      "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                    },
                    "effectiveCallNumberComponents": {
                      "type": "object",
                      "description": "Elements of a full call number generated from the item or holding",
                      "properties": {
                        "callNumber": {
                          "type": "string",
                          "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "prefix": {
                          "type": "string",
                          "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "suffix": {
                          "type": "string",
                          "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "typeId": {
                          "type": "string",
                          "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                          "readonly": true,
                          "$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}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "volume": {
                      "type": "string",
                      "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                    },
                    "enumeration": {
                      "type": "string",
                      "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                    },
                    "chronology": {
                      "type": "string",
                      "description": "Chronology is the descriptive information for the dating scheme of a serial."
                    },
                    "yearCaption": {
                      "type": "array",
                      "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "itemIdentifier": {
                      "type": "string",
                      "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                    },
                    "copyNumber": {
                      "type": "string",
                      "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                    },
                    "numberOfPieces": {
                      "type": "string",
                      "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                    },
                    "descriptionOfPieces": {
                      "description": "Description of item pieces.",
                      "type": "string"
                    },
                    "numberOfMissingPieces": {
                      "type": "string",
                      "description": "Number of missing pieces."
                    },
                    "missingPieces": {
                      "type": "string",
                      "description": "Description of the missing pieces. "
                    },
                    "missingPiecesDate": {
                      "type": "string",
                      "description": "Date when the piece(s) went missing."
                    },
                    "itemDamagedStatusId": {
                      "description": "Item dame status id identifier.",
                      "type": "string"
                    },
                    "itemDamagedStatusDate": {
                      "description": "Date and time when the item was damaged.",
                      "type": "string"
                    },
                    "notes": {
                      "type": "array",
                      "description": "Notes about action, copy, binding etc.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "itemNoteTypeId": {
                            "type": "string",
                            "description": "ID of the type of note"
                          },
                          "itemNoteType": {
                            "description": "Type of item's note",
                            "type": "object",
                            "folio:$ref": "itemnotetype.json",
                            "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "item-note-types",
                            "folio:linkFromField": "itemNoteTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "itemNoteTypes.0"
                          },
                          "note": {
                            "type": "string",
                            "description": "Text content of the note"
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "If true, determines that the note should not be visible for others than staff",
                            "default": false
                          }
                        }
                      }
                    },
                    "circulationNotes": {
                      "type": "array",
                      "description": "Notes to be displayed in circulation processes",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "The id of the circulation note"
                          },
                          "noteType": {
                            "type": "string",
                            "description": "Type of circulation process that the note applies to",
                            "enum": [
                              "Check in",
                              "Check out"
                            ]
                          },
                          "note": {
                            "type": "string",
                            "description": "Text to display"
                          },
                          "source": {
                            "type": "object",
                            "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                              },
                              "personal": {
                                "type": "object",
                                "description": "Personal information about the user",
                                "properties": {
                                  "lastName": {
                                    "description": "The user's last name",
                                    "type": "string"
                                  },
                                  "firstName": {
                                    "description": "The user's first name",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "date": {
                            "type": "string",
                            "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "Flag to restrict display of this note",
                            "default": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "status": {
                      "description": "The status of the item",
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Name of the status e.g. Available, Checked out, In transit",
                          "type": "string",
                          "enum": [
                            "Aged to lost",
                            "Available",
                            "Awaiting pickup",
                            "Awaiting delivery",
                            "Checked out",
                            "Claimed returned",
                            "Declared lost",
                            "In process",
                            "In process (non-requestable)",
                            "In transit",
                            "Intellectual item",
                            "Long missing",
                            "Lost and paid",
                            "Missing",
                            "On order",
                            "Paged",
                            "Restricted",
                            "Order closed",
                            "Unavailable",
                            "Unknown",
                            "Withdrawn"
                          ]
                        },
                        "date": {
                          "description": "Date and time when the status was last changed",
                          "type": "string",
                          "format": "date-time",
                          "readonly": true
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "materialTypeId": {
                      "type": "string",
                      "description": "Material type, term. Define what type of thing the item is."
                    },
                    "materialType": {
                      "description": "Item's material type",
                      "type": "object",
                      "folio:$ref": "materialtype.json",
                      "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "material-types",
                      "folio:linkFromField": "materialTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "mtypes.0"
                    },
                    "permanentLoanTypeId": {
                      "type": "string",
                      "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                    },
                    "temporaryLoanTypeId": {
                      "type": "string",
                      "description": "Temporary loan type, is the temporary loan type for a given item."
                    },
                    "permanentLocationId": {
                      "type": "string",
                      "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "permanentLocation": {
                      "description": "The permanent shelving location in which an item resides",
                      "type": "object",
                      "readonly": true
                    },
                    "temporaryLocationId": {
                      "type": "string",
                      "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "temporaryLocation": {
                      "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                      "type": "object",
                      "folio:$ref": "location.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "locations",
                      "folio:linkFromField": "temporaryLocationId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "locations.0"
                    },
                    "effectiveLocationId": {
                      "type": "string",
                      "description": "Read only current home location for the item.",
                      "readonly": true,
                      "$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}$"
                    },
                    "electronicAccess": {
                      "type": "array",
                      "description": "References for accessing the item by URL.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uri": {
                            "type": "string",
                            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                          },
                          "linkText": {
                            "type": "string",
                            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                          },
                          "materialsSpecification": {
                            "type": "string",
                            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                          },
                          "publicNote": {
                            "type": "string",
                            "description": "URL public note to be displayed in the discovery"
                          },
                          "relationshipId": {
                            "type": "string",
                            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "uri"
                        ]
                      }
                    },
                    "inTransitDestinationServicePointId": {
                      "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                      "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}$"
                    },
                    "statisticalCodeIds": {
                      "type": "array",
                      "description": "List of statistical code IDs",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "purchaseOrderLineIdentifier": {
                      "type": "string",
                      "description": "ID referencing a remote purchase order object related to this item"
                    },
                    "tags": {
                      "description": "arbitrary tags associated with this item",
                      "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
                    },
                    "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"
                      ]
                    },
                    "holdingsRecord2": {
                      "type": "object",
                      "description": "Item associated holdings record object.",
                      "folio:$ref": "holdingsrecord.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-storage/holdings",
                      "folio:linkFromField": "holdingsRecordId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsRecords.0"
                    },
                    "lastCheckIn": {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Information about when an item was last scanned in the Inventory app.",
                      "properties": {
                        "dateTime": {
                          "type": "string",
                          "description": "Date and time of the last check in of the item.",
                          "format": "date-time"
                        },
                        "servicePointId": {
                          "type": "string",
                          "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                          "$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}$"
                        },
                        "staffMemberId": {
                          "type": "string",
                          "description": "ID a staff member who scanned the item",
                          "$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}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "materialTypeId",
                    "permanentLoanTypeId",
                    "holdingsRecordId",
                    "status"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "inventory/items",
                "folio:linkFromField": "id",
                "folio:linkToField": "holdingsRecordId",
                "folio:includedElement": "items"
              },
              "bareHoldingsItems": {
                "description": "Items of bareHoldings",
                "type": "array",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "An item record",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the item record"
                    },
                    "_version": {
                      "type": "integer",
                      "description": "Record version for optimistic locking"
                    },
                    "hrid": {
                      "type": "string",
                      "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                    },
                    "holdingsRecordId": {
                      "type": "string",
                      "description": "ID of the holdings record the item is a member of."
                    },
                    "formerIds": {
                      "type": "array",
                      "description": "Previous identifiers assigned to the item",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "discoverySuppress": {
                      "type": "boolean",
                      "description": "Records the fact that the record should not be displayed in a discovery system"
                    },
                    "accessionNumber": {
                      "type": "string",
                      "description": "Also called inventar number"
                    },
                    "barcode": {
                      "type": "string",
                      "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                    },
                    "effectiveShelvingOrder": {
                      "type": "string",
                      "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                      "readonly": true
                    },
                    "itemLevelCallNumber": {
                      "type": "string",
                      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                    },
                    "itemLevelCallNumberPrefix": {
                      "type": "string",
                      "description": "Prefix of the call number on the item level."
                    },
                    "itemLevelCallNumberSuffix": {
                      "type": "string",
                      "description": "Suffix of the call number on the item level."
                    },
                    "itemLevelCallNumberTypeId": {
                      "type": "string",
                      "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                    },
                    "effectiveCallNumberComponents": {
                      "type": "object",
                      "description": "Elements of a full call number generated from the item or holding",
                      "properties": {
                        "callNumber": {
                          "type": "string",
                          "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "prefix": {
                          "type": "string",
                          "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "suffix": {
                          "type": "string",
                          "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "typeId": {
                          "type": "string",
                          "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                          "readonly": true,
                          "$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}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "volume": {
                      "type": "string",
                      "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                    },
                    "enumeration": {
                      "type": "string",
                      "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                    },
                    "chronology": {
                      "type": "string",
                      "description": "Chronology is the descriptive information for the dating scheme of a serial."
                    },
                    "yearCaption": {
                      "type": "array",
                      "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "itemIdentifier": {
                      "type": "string",
                      "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                    },
                    "copyNumber": {
                      "type": "string",
                      "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                    },
                    "numberOfPieces": {
                      "type": "string",
                      "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                    },
                    "descriptionOfPieces": {
                      "description": "Description of item pieces.",
                      "type": "string"
                    },
                    "numberOfMissingPieces": {
                      "type": "string",
                      "description": "Number of missing pieces."
                    },
                    "missingPieces": {
                      "type": "string",
                      "description": "Description of the missing pieces. "
                    },
                    "missingPiecesDate": {
                      "type": "string",
                      "description": "Date when the piece(s) went missing."
                    },
                    "itemDamagedStatusId": {
                      "description": "Item dame status id identifier.",
                      "type": "string"
                    },
                    "itemDamagedStatusDate": {
                      "description": "Date and time when the item was damaged.",
                      "type": "string"
                    },
                    "notes": {
                      "type": "array",
                      "description": "Notes about action, copy, binding etc.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "itemNoteTypeId": {
                            "type": "string",
                            "description": "ID of the type of note"
                          },
                          "itemNoteType": {
                            "description": "Type of item's note",
                            "type": "object",
                            "folio:$ref": "itemnotetype.json",
                            "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "item-note-types",
                            "folio:linkFromField": "itemNoteTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "itemNoteTypes.0"
                          },
                          "note": {
                            "type": "string",
                            "description": "Text content of the note"
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "If true, determines that the note should not be visible for others than staff",
                            "default": false
                          }
                        }
                      }
                    },
                    "circulationNotes": {
                      "type": "array",
                      "description": "Notes to be displayed in circulation processes",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "The id of the circulation note"
                          },
                          "noteType": {
                            "type": "string",
                            "description": "Type of circulation process that the note applies to",
                            "enum": [
                              "Check in",
                              "Check out"
                            ]
                          },
                          "note": {
                            "type": "string",
                            "description": "Text to display"
                          },
                          "source": {
                            "type": "object",
                            "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                              },
                              "personal": {
                                "type": "object",
                                "description": "Personal information about the user",
                                "properties": {
                                  "lastName": {
                                    "description": "The user's last name",
                                    "type": "string"
                                  },
                                  "firstName": {
                                    "description": "The user's first name",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "date": {
                            "type": "string",
                            "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "Flag to restrict display of this note",
                            "default": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "status": {
                      "description": "The status of the item",
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Name of the status e.g. Available, Checked out, In transit",
                          "type": "string",
                          "enum": [
                            "Aged to lost",
                            "Available",
                            "Awaiting pickup",
                            "Awaiting delivery",
                            "Checked out",
                            "Claimed returned",
                            "Declared lost",
                            "In process",
                            "In process (non-requestable)",
                            "In transit",
                            "Intellectual item",
                            "Long missing",
                            "Lost and paid",
                            "Missing",
                            "On order",
                            "Paged",
                            "Restricted",
                            "Order closed",
                            "Unavailable",
                            "Unknown",
                            "Withdrawn"
                          ]
                        },
                        "date": {
                          "description": "Date and time when the status was last changed",
                          "type": "string",
                          "format": "date-time",
                          "readonly": true
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "materialTypeId": {
                      "type": "string",
                      "description": "Material type, term. Define what type of thing the item is."
                    },
                    "materialType": {
                      "description": "Item's material type",
                      "type": "object",
                      "folio:$ref": "materialtype.json",
                      "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "material-types",
                      "folio:linkFromField": "materialTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "mtypes.0"
                    },
                    "permanentLoanTypeId": {
                      "type": "string",
                      "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                    },
                    "temporaryLoanTypeId": {
                      "type": "string",
                      "description": "Temporary loan type, is the temporary loan type for a given item."
                    },
                    "permanentLocationId": {
                      "type": "string",
                      "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "permanentLocation": {
                      "description": "The permanent shelving location in which an item resides",
                      "type": "object",
                      "readonly": true
                    },
                    "temporaryLocationId": {
                      "type": "string",
                      "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "temporaryLocation": {
                      "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                      "type": "object",
                      "folio:$ref": "location.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "locations",
                      "folio:linkFromField": "temporaryLocationId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "locations.0"
                    },
                    "effectiveLocationId": {
                      "type": "string",
                      "description": "Read only current home location for the item.",
                      "readonly": true,
                      "$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}$"
                    },
                    "electronicAccess": {
                      "type": "array",
                      "description": "References for accessing the item by URL.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uri": {
                            "type": "string",
                            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                          },
                          "linkText": {
                            "type": "string",
                            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                          },
                          "materialsSpecification": {
                            "type": "string",
                            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                          },
                          "publicNote": {
                            "type": "string",
                            "description": "URL public note to be displayed in the discovery"
                          },
                          "relationshipId": {
                            "type": "string",
                            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "uri"
                        ]
                      }
                    },
                    "inTransitDestinationServicePointId": {
                      "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                      "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}$"
                    },
                    "statisticalCodeIds": {
                      "type": "array",
                      "description": "List of statistical code IDs",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "purchaseOrderLineIdentifier": {
                      "type": "string",
                      "description": "ID referencing a remote purchase order object related to this item"
                    },
                    "tags": {
                      "description": "arbitrary tags associated with this item",
                      "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
                    },
                    "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"
                      ]
                    },
                    "holdingsRecord2": {
                      "type": "object",
                      "description": "Item associated holdings record object.",
                      "folio:$ref": "holdingsrecord.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-storage/holdings",
                      "folio:linkFromField": "holdingsRecordId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsRecords.0"
                    },
                    "lastCheckIn": {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Information about when an item was last scanned in the Inventory app.",
                      "properties": {
                        "dateTime": {
                          "type": "string",
                          "description": "Date and time of the last check in of the item.",
                          "format": "date-time"
                        },
                        "servicePointId": {
                          "type": "string",
                          "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                          "$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}$"
                        },
                        "staffMemberId": {
                          "type": "string",
                          "description": "ID a staff member who scanned the item",
                          "$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}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "materialTypeId",
                    "permanentLoanTypeId",
                    "holdingsRecordId",
                    "status"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "item-storage/items",
                "folio:linkFromField": "id",
                "folio:linkToField": "holdingsRecordId",
                "folio:includedElement": "items"
              },
              "holdingsInstance": {
                "description": "Instance of holding record",
                "type": "object",
                "folio:$ref": "instance.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "inventory/instances",
                "folio:linkFromField": "instanceId",
                "folio:linkToField": "id",
                "folio:includedElement": "instances.0"
              },
              "tags": {
                "description": "arbitrary tags associated with this holding",
                "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
              },
              "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"
                ]
              },
              "sourceId": {
                "description": "(A reference to) the source of a holdings record",
                "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}$"
              }
            },
            "additionalProperties": false,
            "required": [
              "instanceId",
              "permanentLocationId"
            ]
          },
          "formerIds": {
            "type": "array",
            "description": "Previous identifiers assigned to the item",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "discoverySuppress": {
            "type": "boolean",
            "description": "Records the fact that the record should not be displayed in a discovery system"
          },
          "accessionNumber": {
            "type": "string",
            "description": "Also called inventar number"
          },
          "barcode": {
            "type": "string",
            "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
          },
          "effectiveShelvingOrder": {
            "type": "string",
            "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
            "readonly": true
          },
          "itemLevelCallNumber": {
            "type": "string",
            "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
          },
          "itemLevelCallNumberPrefix": {
            "type": "string",
            "description": "Prefix of the call number on the item level."
          },
          "itemLevelCallNumberSuffix": {
            "type": "string",
            "description": "Suffix of the call number on the item level."
          },
          "itemLevelCallNumberTypeId": {
            "type": "string",
            "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
          },
          "effectiveCallNumberComponents": {
            "type": "object",
            "description": "Elements of a full call number generated from the item or holding",
            "properties": {
              "callNumber": {
                "type": "string",
                "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                "readonly": true
              },
              "prefix": {
                "type": "string",
                "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                "readonly": true
              },
              "suffix": {
                "type": "string",
                "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                "readonly": true
              },
              "typeId": {
                "type": "string",
                "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                "readonly": true,
                "$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}$"
              }
            },
            "additionalProperties": false
          },
          "volume": {
            "type": "string",
            "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
          },
          "enumeration": {
            "type": "string",
            "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
          },
          "chronology": {
            "type": "string",
            "description": "Chronology is the descriptive information for the dating scheme of a serial."
          },
          "yearCaption": {
            "type": "array",
            "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "itemIdentifier": {
            "type": "string",
            "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
          },
          "copyNumber": {
            "type": "string",
            "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
          },
          "numberOfPieces": {
            "type": "string",
            "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
          },
          "descriptionOfPieces": {
            "description": "Description of item pieces.",
            "type": "string"
          },
          "numberOfMissingPieces": {
            "type": "string",
            "description": "Number of missing pieces."
          },
          "missingPieces": {
            "type": "string",
            "description": "Description of the missing pieces. "
          },
          "missingPiecesDate": {
            "type": "string",
            "description": "Date when the piece(s) went missing."
          },
          "itemDamagedStatusId": {
            "description": "Item dame status id identifier.",
            "type": "string"
          },
          "itemDamagedStatusDate": {
            "description": "Date and time when the item was damaged.",
            "type": "string"
          },
          "notes": {
            "type": "array",
            "description": "Notes about action, copy, binding etc.",
            "items": {
              "type": "object",
              "properties": {
                "itemNoteTypeId": {
                  "type": "string",
                  "description": "ID of the type of note"
                },
                "itemNoteType": {
                  "description": "Type of item's note",
                  "type": "object",
                  "folio:$ref": "itemnotetype.json",
                  "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                  "readonly": true,
                  "folio:isVirtual": true,
                  "folio:linkBase": "item-note-types",
                  "folio:linkFromField": "itemNoteTypeId",
                  "folio:linkToField": "id",
                  "folio:includedElement": "itemNoteTypes.0"
                },
                "note": {
                  "type": "string",
                  "description": "Text content of the note"
                },
                "staffOnly": {
                  "type": "boolean",
                  "description": "If true, determines that the note should not be visible for others than staff",
                  "default": false
                }
              }
            }
          },
          "circulationNotes": {
            "type": "array",
            "description": "Notes to be displayed in circulation processes",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The id of the circulation note"
                },
                "noteType": {
                  "type": "string",
                  "description": "Type of circulation process that the note applies to",
                  "enum": [
                    "Check in",
                    "Check out"
                  ]
                },
                "note": {
                  "type": "string",
                  "description": "Text to display"
                },
                "source": {
                  "type": "object",
                  "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                    },
                    "personal": {
                      "type": "object",
                      "description": "Personal information about the user",
                      "properties": {
                        "lastName": {
                          "description": "The user's last name",
                          "type": "string"
                        },
                        "firstName": {
                          "description": "The user's first name",
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "date": {
                  "type": "string",
                  "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                },
                "staffOnly": {
                  "type": "boolean",
                  "description": "Flag to restrict display of this note",
                  "default": false
                }
              },
              "additionalProperties": false
            }
          },
          "status": {
            "description": "The status of the item",
            "type": "object",
            "properties": {
              "name": {
                "description": "Name of the status e.g. Available, Checked out, In transit",
                "type": "string",
                "enum": [
                  "Aged to lost",
                  "Available",
                  "Awaiting pickup",
                  "Awaiting delivery",
                  "Checked out",
                  "Claimed returned",
                  "Declared lost",
                  "In process",
                  "In process (non-requestable)",
                  "In transit",
                  "Intellectual item",
                  "Long missing",
                  "Lost and paid",
                  "Missing",
                  "On order",
                  "Paged",
                  "Restricted",
                  "Order closed",
                  "Unavailable",
                  "Unknown",
                  "Withdrawn"
                ]
              },
              "date": {
                "description": "Date and time when the status was last changed",
                "type": "string",
                "format": "date-time",
                "readonly": true
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          },
          "materialType": {
            "description": "Item's material type",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "description": "label for the material type",
                "type": "string"
              },
              "source": {
                "description": "origin of the material type record",
                "type": "string"
              },
              "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": [
              "name"
            ]
          },
          "permanentLoanType": {
            "type": "object",
            "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "description": "label for the loan type",
                "type": "string"
              },
              "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": [
              "name"
            ]
          },
          "temporaryLoanType": {
            "type": "object",
            "description": "Temporary loan type, is the temporary loan type for a given item.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "description": "label for the loan type",
                "type": "string"
              },
              "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": [
              "name"
            ]
          },
          "permanentLocation": {
            "type": "object",
            "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "description": "id of this (shelf) location record as UUID.",
                "type": "string"
              },
              "name": {
                "description": "Name of the (shelf) location",
                "type": "string"
              },
              "code": {
                "description": "Code of the (shelf) location, usually an abbreviation of the name.",
                "type": "string"
              },
              "description": {
                "description": "Description of the (shelf) location.",
                "type": "string"
              },
              "discoveryDisplayName": {
                "description": "Name of the (shelf) location to be shown in the discovery.",
                "type": "string"
              },
              "isActive": {
                "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
                "type": "boolean"
              },
              "institutionId": {
                "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "institution": {
                "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/institutions",
                "folio:linkFromField": "institutionId",
                "folio:linkToField": "id",
                "folio:includedElement": "locinsts.0"
              },
              "campusId": {
                "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "campus": {
                "description": "The campus, the second-level location unit, this (shelf) location belongs to",
                "type": "object",
                "folio:$ref": "loccamp.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/campuses",
                "folio:linkFromField": "campusId",
                "folio:linkToField": "id",
                "folio:includedElement": "loccamps.0"
              },
              "libraryId": {
                "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "library": {
                "description": "The library, the third-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/libraries",
                "folio:linkFromField": "libraryId",
                "folio:linkToField": "id",
                "folio:includedElement": "loclibs.0"
              },
              "details": {
                "description": "Details about this (shelf) location.",
                "type": "object"
              },
              "primaryServicePoint": {
                "description": "The UUID of the primary service point of this (shelf) location.",
                "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}$",
                "type": "string"
              },
              "primaryServicePointObject": {
                "type": "object",
                "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "primaryServicePoint",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints.0",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Id of service-point object"
                  },
                  "name": {
                    "type": "string",
                    "description": "service-point name, a required field"
                  },
                  "code": {
                    "type": "string",
                    "description": "service-point code, a required field"
                  },
                  "discoveryDisplayName": {
                    "type": "string",
                    "description": "display name, a required field"
                  },
                  "description": {
                    "type": "string",
                    "description": "description of the service-point"
                  },
                  "shelvingLagTime": {
                    "type": "integer",
                    "description": "shelving lag time"
                  },
                  "pickupLocation": {
                    "type": "boolean",
                    "description": "indicates whether or not the service point is a pickup location"
                  },
                  "holdShelfExpiryPeriod": {
                    "type": "object",
                    "description": "expiration period for items on the hold shelf at the service point",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Duration interval"
                      },
                      "intervalId": {
                        "type": "string",
                        "description": "Unit of time for the duration",
                        "enum": [
                          "Minutes",
                          "Hours",
                          "Days",
                          "Weeks",
                          "Months"
                        ],
                        "default": "Days"
                      }
                    },
                    "required": [
                      "duration",
                      "intervalId"
                    ],
                    "additionalProperties": false
                  },
                  "staffSlips": {
                    "type": "array",
                    "description": "List of staff slips for this service point",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "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}$",
                          "description": "The ID of the staff slip"
                        },
                        "printByDefault": {
                          "type": "boolean",
                          "description": "Whether or not to print the staff slip by default"
                        }
                      },
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "printByDefault"
                      ]
                    }
                  },
                  "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": [
                  "name",
                  "code",
                  "discoveryDisplayName"
                ]
              },
              "servicePointIds": {
                "description": "All service points that this (shelf) location has.",
                "type": "array",
                "items": {
                  "description": "The UUID of a service point that belongs to this (shelf) location.",
                  "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}$",
                  "not": {
                    "type": "null"
                  }
                }
              },
              "servicePoints": {
                "type": "array",
                "description": "List of dereferenced service points",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A service point",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Id of service-point object"
                    },
                    "name": {
                      "type": "string",
                      "description": "service-point name, a required field"
                    },
                    "code": {
                      "type": "string",
                      "description": "service-point code, a required field"
                    },
                    "discoveryDisplayName": {
                      "type": "string",
                      "description": "display name, a required field"
                    },
                    "description": {
                      "type": "string",
                      "description": "description of the service-point"
                    },
                    "shelvingLagTime": {
                      "type": "integer",
                      "description": "shelving lag time"
                    },
                    "pickupLocation": {
                      "type": "boolean",
                      "description": "indicates whether or not the service point is a pickup location"
                    },
                    "holdShelfExpiryPeriod": {
                      "type": "object",
                      "description": "expiration period for items on the hold shelf at the service point",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "properties": {
                        "duration": {
                          "type": "integer",
                          "description": "Duration interval"
                        },
                        "intervalId": {
                          "type": "string",
                          "description": "Unit of time for the duration",
                          "enum": [
                            "Minutes",
                            "Hours",
                            "Days",
                            "Weeks",
                            "Months"
                          ],
                          "default": "Days"
                        }
                      },
                      "required": [
                        "duration",
                        "intervalId"
                      ],
                      "additionalProperties": false
                    },
                    "staffSlips": {
                      "type": "array",
                      "description": "List of staff slips for this service point",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "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}$",
                            "description": "The ID of the staff slip"
                          },
                          "printByDefault": {
                            "type": "boolean",
                            "description": "Whether or not to print the staff slip by default"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "printByDefault"
                        ]
                      }
                    },
                    "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": [
                    "name",
                    "code",
                    "discoveryDisplayName"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "servicePointIds",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints"
              },
              "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": [
              "name",
              "code",
              "institutionId",
              "campusId",
              "libraryId",
              "primaryServicePoint"
            ]
          },
          "temporaryLocation": {
            "type": "object",
            "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "description": "id of this (shelf) location record as UUID.",
                "type": "string"
              },
              "name": {
                "description": "Name of the (shelf) location",
                "type": "string"
              },
              "code": {
                "description": "Code of the (shelf) location, usually an abbreviation of the name.",
                "type": "string"
              },
              "description": {
                "description": "Description of the (shelf) location.",
                "type": "string"
              },
              "discoveryDisplayName": {
                "description": "Name of the (shelf) location to be shown in the discovery.",
                "type": "string"
              },
              "isActive": {
                "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
                "type": "boolean"
              },
              "institutionId": {
                "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "institution": {
                "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/institutions",
                "folio:linkFromField": "institutionId",
                "folio:linkToField": "id",
                "folio:includedElement": "locinsts.0"
              },
              "campusId": {
                "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "campus": {
                "description": "The campus, the second-level location unit, this (shelf) location belongs to",
                "type": "object",
                "folio:$ref": "loccamp.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/campuses",
                "folio:linkFromField": "campusId",
                "folio:linkToField": "id",
                "folio:includedElement": "loccamps.0"
              },
              "libraryId": {
                "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "library": {
                "description": "The library, the third-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/libraries",
                "folio:linkFromField": "libraryId",
                "folio:linkToField": "id",
                "folio:includedElement": "loclibs.0"
              },
              "details": {
                "description": "Details about this (shelf) location.",
                "type": "object"
              },
              "primaryServicePoint": {
                "description": "The UUID of the primary service point of this (shelf) location.",
                "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}$",
                "type": "string"
              },
              "primaryServicePointObject": {
                "type": "object",
                "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "primaryServicePoint",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints.0",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Id of service-point object"
                  },
                  "name": {
                    "type": "string",
                    "description": "service-point name, a required field"
                  },
                  "code": {
                    "type": "string",
                    "description": "service-point code, a required field"
                  },
                  "discoveryDisplayName": {
                    "type": "string",
                    "description": "display name, a required field"
                  },
                  "description": {
                    "type": "string",
                    "description": "description of the service-point"
                  },
                  "shelvingLagTime": {
                    "type": "integer",
                    "description": "shelving lag time"
                  },
                  "pickupLocation": {
                    "type": "boolean",
                    "description": "indicates whether or not the service point is a pickup location"
                  },
                  "holdShelfExpiryPeriod": {
                    "type": "object",
                    "description": "expiration period for items on the hold shelf at the service point",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Duration interval"
                      },
                      "intervalId": {
                        "type": "string",
                        "description": "Unit of time for the duration",
                        "enum": [
                          "Minutes",
                          "Hours",
                          "Days",
                          "Weeks",
                          "Months"
                        ],
                        "default": "Days"
                      }
                    },
                    "required": [
                      "duration",
                      "intervalId"
                    ],
                    "additionalProperties": false
                  },
                  "staffSlips": {
                    "type": "array",
                    "description": "List of staff slips for this service point",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "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}$",
                          "description": "The ID of the staff slip"
                        },
                        "printByDefault": {
                          "type": "boolean",
                          "description": "Whether or not to print the staff slip by default"
                        }
                      },
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "printByDefault"
                      ]
                    }
                  },
                  "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": [
                  "name",
                  "code",
                  "discoveryDisplayName"
                ]
              },
              "servicePointIds": {
                "description": "All service points that this (shelf) location has.",
                "type": "array",
                "items": {
                  "description": "The UUID of a service point that belongs to this (shelf) location.",
                  "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}$",
                  "not": {
                    "type": "null"
                  }
                }
              },
              "servicePoints": {
                "type": "array",
                "description": "List of dereferenced service points",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A service point",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Id of service-point object"
                    },
                    "name": {
                      "type": "string",
                      "description": "service-point name, a required field"
                    },
                    "code": {
                      "type": "string",
                      "description": "service-point code, a required field"
                    },
                    "discoveryDisplayName": {
                      "type": "string",
                      "description": "display name, a required field"
                    },
                    "description": {
                      "type": "string",
                      "description": "description of the service-point"
                    },
                    "shelvingLagTime": {
                      "type": "integer",
                      "description": "shelving lag time"
                    },
                    "pickupLocation": {
                      "type": "boolean",
                      "description": "indicates whether or not the service point is a pickup location"
                    },
                    "holdShelfExpiryPeriod": {
                      "type": "object",
                      "description": "expiration period for items on the hold shelf at the service point",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "properties": {
                        "duration": {
                          "type": "integer",
                          "description": "Duration interval"
                        },
                        "intervalId": {
                          "type": "string",
                          "description": "Unit of time for the duration",
                          "enum": [
                            "Minutes",
                            "Hours",
                            "Days",
                            "Weeks",
                            "Months"
                          ],
                          "default": "Days"
                        }
                      },
                      "required": [
                        "duration",
                        "intervalId"
                      ],
                      "additionalProperties": false
                    },
                    "staffSlips": {
                      "type": "array",
                      "description": "List of staff slips for this service point",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "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}$",
                            "description": "The ID of the staff slip"
                          },
                          "printByDefault": {
                            "type": "boolean",
                            "description": "Whether or not to print the staff slip by default"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "printByDefault"
                        ]
                      }
                    },
                    "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": [
                    "name",
                    "code",
                    "discoveryDisplayName"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "servicePointIds",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints"
              },
              "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": [
              "name",
              "code",
              "institutionId",
              "campusId",
              "libraryId",
              "primaryServicePoint"
            ]
          },
          "effectiveLocation": {
            "type": "object",
            "description": "Read only current home location for the item.",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "id": {
                "description": "id of this (shelf) location record as UUID.",
                "type": "string"
              },
              "name": {
                "description": "Name of the (shelf) location",
                "type": "string"
              },
              "code": {
                "description": "Code of the (shelf) location, usually an abbreviation of the name.",
                "type": "string"
              },
              "description": {
                "description": "Description of the (shelf) location.",
                "type": "string"
              },
              "discoveryDisplayName": {
                "description": "Name of the (shelf) location to be shown in the discovery.",
                "type": "string"
              },
              "isActive": {
                "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
                "type": "boolean"
              },
              "institutionId": {
                "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "institution": {
                "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/institutions",
                "folio:linkFromField": "institutionId",
                "folio:linkToField": "id",
                "folio:includedElement": "locinsts.0"
              },
              "campusId": {
                "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "campus": {
                "description": "The campus, the second-level location unit, this (shelf) location belongs to",
                "type": "object",
                "folio:$ref": "loccamp.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/campuses",
                "folio:linkFromField": "campusId",
                "folio:linkToField": "id",
                "folio:includedElement": "loccamps.0"
              },
              "libraryId": {
                "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
                "type": "string"
              },
              "library": {
                "description": "The library, the third-level location unit, this (shelf) location belongs to.",
                "type": "object",
                "folio:$ref": "locinst.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "location-units/libraries",
                "folio:linkFromField": "libraryId",
                "folio:linkToField": "id",
                "folio:includedElement": "loclibs.0"
              },
              "details": {
                "description": "Details about this (shelf) location.",
                "type": "object"
              },
              "primaryServicePoint": {
                "description": "The UUID of the primary service point of this (shelf) location.",
                "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}$",
                "type": "string"
              },
              "primaryServicePointObject": {
                "type": "object",
                "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "primaryServicePoint",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints.0",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Id of service-point object"
                  },
                  "name": {
                    "type": "string",
                    "description": "service-point name, a required field"
                  },
                  "code": {
                    "type": "string",
                    "description": "service-point code, a required field"
                  },
                  "discoveryDisplayName": {
                    "type": "string",
                    "description": "display name, a required field"
                  },
                  "description": {
                    "type": "string",
                    "description": "description of the service-point"
                  },
                  "shelvingLagTime": {
                    "type": "integer",
                    "description": "shelving lag time"
                  },
                  "pickupLocation": {
                    "type": "boolean",
                    "description": "indicates whether or not the service point is a pickup location"
                  },
                  "holdShelfExpiryPeriod": {
                    "type": "object",
                    "description": "expiration period for items on the hold shelf at the service point",
                    "$schema": "http://json-schema.org/draft-04/schema#",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Duration interval"
                      },
                      "intervalId": {
                        "type": "string",
                        "description": "Unit of time for the duration",
                        "enum": [
                          "Minutes",
                          "Hours",
                          "Days",
                          "Weeks",
                          "Months"
                        ],
                        "default": "Days"
                      }
                    },
                    "required": [
                      "duration",
                      "intervalId"
                    ],
                    "additionalProperties": false
                  },
                  "staffSlips": {
                    "type": "array",
                    "description": "List of staff slips for this service point",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "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}$",
                          "description": "The ID of the staff slip"
                        },
                        "printByDefault": {
                          "type": "boolean",
                          "description": "Whether or not to print the staff slip by default"
                        }
                      },
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "printByDefault"
                      ]
                    }
                  },
                  "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": [
                  "name",
                  "code",
                  "discoveryDisplayName"
                ]
              },
              "servicePointIds": {
                "description": "All service points that this (shelf) location has.",
                "type": "array",
                "items": {
                  "description": "The UUID of a service point that belongs to this (shelf) location.",
                  "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}$",
                  "not": {
                    "type": "null"
                  }
                }
              },
              "servicePoints": {
                "type": "array",
                "description": "List of dereferenced service points",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A service point",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Id of service-point object"
                    },
                    "name": {
                      "type": "string",
                      "description": "service-point name, a required field"
                    },
                    "code": {
                      "type": "string",
                      "description": "service-point code, a required field"
                    },
                    "discoveryDisplayName": {
                      "type": "string",
                      "description": "display name, a required field"
                    },
                    "description": {
                      "type": "string",
                      "description": "description of the service-point"
                    },
                    "shelvingLagTime": {
                      "type": "integer",
                      "description": "shelving lag time"
                    },
                    "pickupLocation": {
                      "type": "boolean",
                      "description": "indicates whether or not the service point is a pickup location"
                    },
                    "holdShelfExpiryPeriod": {
                      "type": "object",
                      "description": "expiration period for items on the hold shelf at the service point",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "properties": {
                        "duration": {
                          "type": "integer",
                          "description": "Duration interval"
                        },
                        "intervalId": {
                          "type": "string",
                          "description": "Unit of time for the duration",
                          "enum": [
                            "Minutes",
                            "Hours",
                            "Days",
                            "Weeks",
                            "Months"
                          ],
                          "default": "Days"
                        }
                      },
                      "required": [
                        "duration",
                        "intervalId"
                      ],
                      "additionalProperties": false
                    },
                    "staffSlips": {
                      "type": "array",
                      "description": "List of staff slips for this service point",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "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}$",
                            "description": "The ID of the staff slip"
                          },
                          "printByDefault": {
                            "type": "boolean",
                            "description": "Whether or not to print the staff slip by default"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "id",
                          "printByDefault"
                        ]
                      }
                    },
                    "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": [
                    "name",
                    "code",
                    "discoveryDisplayName"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "service-points",
                "folio:linkFromField": "servicePointIds",
                "folio:linkToField": "id",
                "folio:includedElement": "servicepoints"
              },
              "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": [
              "name",
              "code",
              "institutionId",
              "campusId",
              "libraryId",
              "primaryServicePoint"
            ]
          },
          "electronicAccess": {
            "type": "array",
            "description": "References for accessing the item by URL.",
            "items": {
              "type": "object",
              "properties": {
                "uri": {
                  "type": "string",
                  "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                },
                "linkText": {
                  "type": "string",
                  "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                },
                "materialsSpecification": {
                  "type": "string",
                  "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                },
                "publicNote": {
                  "type": "string",
                  "description": "URL public note to be displayed in the discovery"
                },
                "relationshipId": {
                  "type": "string",
                  "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                }
              },
              "additionalProperties": false,
              "required": [
                "uri"
              ]
            }
          },
          "inTransitDestinationServicePointId": {
            "description": "Service point an item is intended to be transited to (should only be present when in transit)",
            "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}$"
          },
          "statisticalCodeIds": {
            "type": "array",
            "description": "List of statistical code IDs",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "purchaseOrderLineIdentifier": {
            "type": "string",
            "description": "ID referencing a remote purchase order object related to this item"
          },
          "tags": {
            "description": "arbitrary tags associated with this item",
            "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
          },
          "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"
            ]
          },
          "lastCheckIn": {
            "type": "object",
            "additionalProperties": false,
            "description": "Information about when an item was last scanned in the Inventory app.",
            "properties": {
              "dateTime": {
                "type": "string",
                "description": "Date and time of the last check in of the item.",
                "format": "date-time"
              },
              "servicePointId": {
                "type": "string",
                "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                "$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}$"
              },
              "staffMemberId": {
                "type": "string",
                "description": "ID a staff member who scanned the item",
                "$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}$"
              }
            }
          }
        },
        "additionalProperties": false,
        "required": [
          "materialType",
          "instanceRecord",
          "permanentLoanType",
          "holdingsRecord",
          "status"
        ]
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "dereferencedItems",
    "totalRecords"
  ]
}

Example:

{
  "items": [
    {
      "id": "0b96a642-5e7f-452d-9cae-9cee66c9a892",
      "instanceRecord": {
        "id": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
        "source": "Local: MARC",
        "title": "ADVANCING LIBRARY EDUCATION: TECHNOLOGICAL INNOVATION AND INSTRUCTIONAL DESIGN",
        "contributors": [
          {
            "name": "Sigal, Ari",
            "contributorNameTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2a",
            "primary": true
          }
        ],
        "identifiers": [
          {
            "identifierTypeId": "2e48e713-17f3-4c13-a9f8-23845bb210af",
            "value": "9781466636897"
          },
          {
            "identifierTypeId": "6051f95c-028e-4c6a-8a9e-ee689dd51453",
            "value": "1"
          }
        ],
        "instanceTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2c",
        "tags" : {
          "tagList" : [
            "important"
          ]
        }
      },
      "holdingsRecord": {
        "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
        "instanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
        "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
        "holdingsStatements": [
          {
            "statement": "Line 1",
            "note": "Note to line 1"
          },
          {
            "statement": "Line 2",
            "note": "Note to line2"
          }
        ],
        "tags" : {
          "tagList" : [
            "important"
          ]
        }
      },
      "barcode": "645398607547",
      "status": {
        "name": "In transit"
      },
      "materialType": {
        "name": "book"
      },
      "permanentLoanType": {
        "id": "2b94c631-fca9-4892-a730-03ee529ffe27",
        "name": "Can circulate"
      },
      "inTransitDestinationServicePointId": "5b31ec8c-95a7-4b91-95cc-b551a74b91ca",
      "tags" : {
        "tagList" : [
          "important"
        ]
      }
    }
  ],
  "totalRecords": 1
}

Response 400

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

Body

Media type: text/plain

Type: any

Example:

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

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

"unable to list items -- unauthorized"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"item not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

GET /item-storage-dereferenced/items/{itemId}

Retrieve item item with given {itemId}

GET /item-storage-dereferenced/items/{itemId}
URI Parameters
  • itemId: required (string)
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "An item record with related record data",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique ID of the item record"
    },
    "instanceRecord": {
      "type": "object",
      "description": "Parent instance record.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique ID of the instance record; a UUID",
          "$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}$"
        },
        "_version": {
          "type": "integer",
          "description": "Record version for optimistic locking"
        },
        "hrid": {
          "type": "string",
          "description": "The human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
        },
        "matchKey": {
          "type": "string",
          "description": "A unique instance identifier matching a client-side bibliographic record identification scheme, in particular for a scenario where multiple separate catalogs with no shared record identifiers contribute to the same Instance in Inventory. A match key is typically generated from select, normalized pieces of metadata in bibliographic records"
        },
        "source": {
          "type": "string",
          "description": "The metadata source and its format of the underlying record to the instance record. (e.g. FOLIO if it's a record created in Inventory;  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)"
        },
        "title": {
          "type": "string",
          "description": "The primary title (or label) associated with the resource"
        },
        "indexTitle": {
          "type": "string",
          "description": "Title normalized for browsing and searching; based on the title with articles removed"
        },
        "alternativeTitles": {
          "type": "array",
          "description": "List of alternative titles for the resource (e.g. original language version title of a movie)",
          "items": {
            "type": "object",
            "properties": {
              "alternativeTitleTypeId": {
                "type": "string",
                "description": "UUID for an alternative title qualifier",
                "$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}$"
              },
              "alternativeTitle": {
                "type": "string",
                "description": "An alternative title for the resource"
              }
            }
          },
          "uniqueItems": true
        },
        "editions": {
          "type": "array",
          "description": "The edition statement, imprint and other publication source information",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "series": {
          "type": "array",
          "description": "List of series titles associated with the resource (e.g. Harry Potter)",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "identifiers": {
          "type": "array",
          "description": "An extensible set of name-value pairs of identifiers associated with the resource",
          "minItems": 0,
          "items": {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "description": "Resource identifier value"
              },
              "identifierTypeId": {
                "type": "string",
                "description": "UUID of resource identifier type (e.g. ISBN, ISSN, LCCN, CODEN, Locally defined identifiers)",
                "$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}$"
              },
              "identifierTypeObject": {
                "type": "object",
                "description": "Information about identifier type, looked up from identifierTypeId",
                "folio:$ref": "illpolicy.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "identifier-types",
                "folio:linkFromField": "identifierTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "identifierTypes.0"
              }
            },
            "additionalProperties": false,
            "required": [
              "value",
              "identifierTypeId"
            ]
          }
        },
        "contributors": {
          "type": "array",
          "description": "List of contributors",
          "minItems": 0,
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Personal name, corporate name, meeting name"
              },
              "contributorTypeId": {
                "type": "string",
                "description": "UUID for the contributor type term defined in controlled vocabulary",
                "$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}$"
              },
              "contributorTypeText": {
                "type": "string",
                "description": "Free text element for adding contributor type terms other that defined by the MARC code list for relators"
              },
              "contributorNameTypeId": {
                "type": "string",
                "description": "UUID of contributor name type term defined by the MARC code list for relators",
                "$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}$"
              },
              "contributorNameType": {
                "type": "object",
                "description": "Dereferenced contributor-name type",
                "javaType": "org.folio.rest.jaxrs.model.contributorNameTypeVirtual",
                "readonly": true,
                "folio:$ref": "contributornametype.json",
                "folio:isVirtual": true,
                "folio:linkBase": "contributor-name-types",
                "folio:linkFromField": "contributorNameTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "contributorNameTypes.0"
              },
              "primary": {
                "type": "boolean",
                "description": "Whether this is the primary contributor"
              }
            },
            "additionalProperties": false,
            "required": [
              "name",
              "contributorNameTypeId"
            ]
          }
        },
        "subjects": {
          "type": "array",
          "description": "List of subject headings",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "classifications": {
          "type": "array",
          "description": "List of classifications",
          "minItems": 0,
          "items": {
            "type": "object",
            "properties": {
              "classificationNumber": {
                "type": "string",
                "description": "Classification (e.g. classification scheme, classification schedule)"
              },
              "classificationTypeId": {
                "type": "string",
                "description": "UUID of classification schema (e.g. LC, Canadian Classification, NLM, National Agricultural Library, UDC, and Dewey)",
                "$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}$"
              },
              "classificationType": {
                "type": "object",
                "description": "Dereferenced classification schema",
                "javaType": "org.folio.rest.jaxrs.model.classificationTypeVirtual",
                "readonly": true,
                "folio:$ref": "classificationtype.json",
                "folio:isVirtual": true,
                "folio:linkBase": "classification-types",
                "folio:linkFromField": "classificationTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "classificationTypes.0"
              }
            },
            "additionalProperties": false,
            "required": [
              "classificationNumber",
              "classificationTypeId"
            ]
          }
        },
        "publication": {
          "type": "array",
          "description": "List of publication items",
          "items": {
            "type": "object",
            "properties": {
              "publisher": {
                "type": "string",
                "description": "Name of publisher, distributor, etc."
              },
              "place": {
                "type": "string",
                "description": "Place of publication, distribution, etc."
              },
              "dateOfPublication": {
                "type": "string",
                "description": "Date (year YYYY) of publication, distribution, etc."
              },
              "role": {
                "type": "string",
                "description": "The role of the publisher, distributor, etc."
              }
            }
          }
        },
        "publicationFrequency": {
          "type": "array",
          "description": "List of intervals at which a serial appears (e.g. daily, weekly, monthly, quarterly, etc.)",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "publicationRange": {
          "type": "array",
          "description": "The range of sequential designation/chronology of publication, or date range",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "publicationPeriod": {
          "type": "object",
          "description": "Publication period",
          "properties": {
            "start": {
              "type": "integer",
              "description": "Publication start year"
            },
            "end": {
              "type": "integer",
              "description": "Publication end year"
            }
          },
          "additionalProperties": false
        },
        "electronicAccess": {
          "type": "array",
          "description": "List of electronic access items",
          "items": {
            "type": "object",
            "properties": {
              "uri": {
                "type": "string",
                "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
              },
              "linkText": {
                "type": "string",
                "description": "The value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
              },
              "materialsSpecification": {
                "type": "string",
                "description": "Materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
              },
              "publicNote": {
                "type": "string",
                "description": "URL public note to be displayed in the discovery"
              },
              "relationshipId": {
                "type": "string",
                "description": "UUID for the type of relationship between the electronic resource at the location identified and the item described in the record as a whole",
                "$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}$"
              }
            },
            "additionalProperties": false,
            "required": [
              "uri"
            ]
          }
        },
        "instanceTypeId": {
          "type": "string",
          "description": "UUID of the unique term for the resource type whether it's from the RDA content term list of locally defined",
          "$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}$"
        },
        "instanceFormatIds": {
          "type": "array",
          "description": "UUIDs for the unique terms for the format whether it's from the RDA carrier term list of locally defined",
          "items": {
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
            "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}$"
          }
        },
        "instanceFormats": {
          "type": "array",
          "description": "List of dereferenced instance formats",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The format of an Instance",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "description": "label for the Instance format",
                "type": "string"
              },
              "code": {
                "description": "distinct code for the Instance format",
                "type": "string"
              },
              "source": {
                "description": "origin of the Instance format record",
                "type": "string"
              },
              "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"
                ]
              }
            },
            "required": [
              "name",
              "code",
              "source"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "instance-formats",
          "folio:linkFromField": "instanceFormatIds",
          "folio:linkToField": "id",
          "folio:includedElement": "instanceFormats"
        },
        "physicalDescriptions": {
          "type": "array",
          "description": "Physical description of the described resource, including its extent, dimensions, and such other physical details as a description of any accompanying materials and unit type and size",
          "items": {
            "type": "string"
          }
        },
        "languages": {
          "type": "array",
          "description": "The set of languages used by the resource",
          "minItems": 0,
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "type": "array",
          "description": "Bibliographic notes (e.g. general notes, specialized notes), and administrative notes",
          "items": {
            "type": "object",
            "properties": {
              "instanceNoteTypeId": {
                "description": "ID of the type of note",
                "$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}$"
              },
              "note": {
                "type": "string",
                "description": "Text content of the note"
              },
              "staffOnly": {
                "type": "boolean",
                "description": "If true, determines that the note should not be visible for others than staff",
                "default": false
              }
            }
          }
        },
        "modeOfIssuanceId": {
          "type": "string",
          "description": "UUID of the RDA mode of issuance, a categorization reflecting whether a resource is issued in one or more parts, the way it is updated, and whether its termination is predetermined or not (e.g. monograph,  sequential monograph, serial; integrating Resource, other)",
          "$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}$"
        },
        "catalogedDate": {
          "type": "string",
          "description": "Date or timestamp on an instance for when is was considered cataloged"
        },
        "previouslyHeld": {
          "type": "boolean",
          "description": "Records the fact that the resource was previously held by the library for things like Hathi access, etc.",
          "default": "false"
        },
        "staffSuppress": {
          "type": "boolean",
          "description": "Records the fact that the record should not be displayed for others than catalogers"
        },
        "discoverySuppress": {
          "type": "boolean",
          "description": "Records the fact that the record should not be displayed in a discovery system",
          "default": false
        },
        "statisticalCodeIds": {
          "type": "array",
          "description": "List of statistical code IDs",
          "items": {
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
            "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}$"
          },
          "uniqueItems": true
        },
        "sourceRecordFormat": {
          "type": "string",
          "description": "Format of the instance source record, if a source record exists (e.g. FOLIO if it's a record created in Inventory,  MARC if it's a MARC record created in MARCcat or EPKB if it's a record coming from eHoldings)",
          "enum": [
            "MARC-JSON"
          ],
          "readonly": true
        },
        "statusId": {
          "type": "string",
          "description": "UUID for the Instance status term (e.g. cataloged, uncatalogued, batch loaded, temporary, other, not yet assigned)",
          "$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}$"
        },
        "statusUpdatedDate": {
          "type": "string",
          "description": "Date [or timestamp] for when the instance status was updated"
        },
        "tags": {
          "description": "arbitrary tags associated with this instance",
          "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
        },
        "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"
          ]
        },
        "holdingsRecords2": {
          "type": "array",
          "description": "List of holdings records",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A holdings record",
            "properties": {
              "id": {
                "type": "string",
                "description": "the unique ID of the holdings record; UUID",
                "$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}$"
              },
              "_version": {
                "type": "integer",
                "description": "Record version for optimistic locking"
              },
              "hrid": {
                "type": "string",
                "description": "the human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
              },
              "holdingsTypeId": {
                "type": "string",
                "description": "unique ID for the type of this holdings record, a UUID",
                "$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}$"
              },
              "formerIds": {
                "type": "array",
                "description": "Previous ID(s) assigned to the holdings record",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "instanceId": {
                "description": "Inventory instances identifier",
                "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}$"
              },
              "permanentLocationId": {
                "type": "string",
                "description": "The permanent shelving location in which an item resides.",
                "$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}$"
              },
              "permanentLocation": {
                "description": "The permanent shelving location in which an item resides",
                "type": "object",
                "folio:$ref": "location.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "locations",
                "folio:linkFromField": "permanentLocationId",
                "folio:linkToField": "id",
                "folio:includedElement": "locations.0"
              },
              "temporaryLocationId": {
                "type": "string",
                "description": "Temporary location is the temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
                "$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}$"
              },
              "effectiveLocationId": {
                "type": "string",
                "description": "Effective location is calculated by the system based on the values in the permanent and temporary locationId fields.",
                "$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}$"
              },
              "electronicAccess": {
                "description": "List of electronic access items",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "uri": {
                      "type": "string",
                      "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                    },
                    "linkText": {
                      "type": "string",
                      "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                    },
                    "materialsSpecification": {
                      "type": "string",
                      "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                    },
                    "publicNote": {
                      "type": "string",
                      "description": "URL public note to be displayed in the discovery"
                    },
                    "relationshipId": {
                      "type": "string",
                      "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "uri"
                  ]
                }
              },
              "callNumberTypeId": {
                "type": "string",
                "description": "unique ID for the type of call number on a holdings record, a UUID",
                "$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}$"
              },
              "callNumberPrefix": {
                "type": "string",
                "description": "Prefix of the call number on the holding level."
              },
              "callNumber": {
                "type": "string",
                "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item."
              },
              "callNumberSuffix": {
                "type": "string",
                "description": "Suffix of the call number on the holding level."
              },
              "shelvingTitle": {
                "type": "string",
                "description": "Indicates the shelving form of title."
              },
              "acquisitionFormat": {
                "type": "string",
                "description": "Format of holdings record acquisition"
              },
              "acquisitionMethod": {
                "type": "string",
                "description": "Method of holdings record acquisition"
              },
              "receiptStatus": {
                "type": "string",
                "description": "Receipt status (e.g. pending, awaiting receipt, partially received, fully received, receipt not required, and cancelled)"
              },
              "notes": {
                "type": "array",
                "description": "Notes about action, copy, binding etc.",
                "items": {
                  "type": "object",
                  "properties": {
                    "holdingsNoteTypeId": {
                      "type": "string",
                      "description": "ID of the type of note",
                      "$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}$"
                    },
                    "holdingsNoteType": {
                      "type": "object",
                      "description": "expanded note-type object corresponding to holdingsNoteTypeId",
                      "javaType": "org.folio.rest.jaxrs.model.HoldingsNoteTypeVirtual",
                      "folio:$ref": "holdingsnotetype.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-note-types",
                      "folio:linkFromField": "holdingsNoteTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsNoteTypes.0"
                    },
                    "note": {
                      "type": "string",
                      "description": "Text content of the note"
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "If true, determines that the note should not be visible for others than staff",
                      "default": false
                    }
                  }
                }
              },
              "illPolicyId": {
                "type": "string",
                "description": "unique ID for an ILL policy, a UUID",
                "$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}$"
              },
              "illPolicy": {
                "type": "object",
                "description": "expanded ILL Policy object corresponding to illPolicyId",
                "javaType": "org.folio.rest.jaxrs.model.IllPolicyVirtual",
                "folio:$ref": "illpolicy.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "ill-policies",
                "folio:linkFromField": "illPolicyId",
                "folio:linkToField": "id",
                "folio:includedElement": "illPolicies.0"
              },
              "retentionPolicy": {
                "type": "string",
                "description": "Records information regarding how long we have agreed to keep something."
              },
              "digitizationPolicy": {
                "description": "Records information regarding digitization aspects.",
                "type": "string"
              },
              "holdingsStatements": {
                "description": "Notes about action, copy, binding etc.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "Specifices the exact content to which the library has access, typically for continuing publications."
                    },
                    "note": {
                      "type": "string",
                      "description": "Note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "holdingsStatementsForIndexes": {
                "description": "Holdings record indexes statements",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "Textual description of the holdings of indexes"
                    },
                    "note": {
                      "type": "string",
                      "description": "Note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "holdingsStatementsForSupplements": {
                "description": "Holdings record supplements statements",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "statement": {
                      "type": "string",
                      "description": "textual description of the holdings of supplementary material"
                    },
                    "note": {
                      "type": "string",
                      "description": "note attached to a holdings statement"
                    },
                    "staffNote": {
                      "type": "string",
                      "description": "Private note attached to a holdings statment"
                    }
                  }
                }
              },
              "copyNumber": {
                "type": "string",
                "description": "Item/Piece ID (usually barcode) for systems that do not use item records. Ability to designate the copy number if institution chooses to use copy numbers."
              },
              "numberOfItems": {
                "type": "string",
                "description": "Text (Number)"
              },
              "receivingHistory": {
                "description": "Receiving history of holdings record",
                "type": "object",
                "properties": {
                  "displayType": {
                    "type": "string",
                    "description": "Display hint. 1: Display fields separately. 2: Display fields concatenated"
                  },
                  "entries": {
                    "type": "array",
                    "description": "Entries of receiving history",
                    "items": {
                      "type": "object",
                      "properties": {
                        "publicDisplay": {
                          "type": "boolean",
                          "description": "Defines if the receivingHistory should be visible to the public."
                        },
                        "enumeration": {
                          "type": "string",
                          "description": "This is the volume/issue number (e.g. v.71:no.6-2)"
                        },
                        "chronology": {
                          "type": "string",
                          "description": "Repeated element from Receiving history - Enumeration AND Receiving history - Chronology"
                        }
                      }
                    }
                  }
                }
              },
              "discoverySuppress": {
                "type": "boolean",
                "description": "records the fact that the record should not be displayed in a discovery system"
              },
              "statisticalCodeIds": {
                "type": "array",
                "description": "List of statistical code IDs",
                "items": {
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
                  "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}$"
                },
                "uniqueItems": true
              },
              "holdingsItems": {
                "description": "Items related to holdings record",
                "type": "array",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "An item record",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the item record"
                    },
                    "_version": {
                      "type": "integer",
                      "description": "Record version for optimistic locking"
                    },
                    "hrid": {
                      "type": "string",
                      "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                    },
                    "holdingsRecordId": {
                      "type": "string",
                      "description": "ID of the holdings record the item is a member of."
                    },
                    "formerIds": {
                      "type": "array",
                      "description": "Previous identifiers assigned to the item",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "discoverySuppress": {
                      "type": "boolean",
                      "description": "Records the fact that the record should not be displayed in a discovery system"
                    },
                    "accessionNumber": {
                      "type": "string",
                      "description": "Also called inventar number"
                    },
                    "barcode": {
                      "type": "string",
                      "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                    },
                    "effectiveShelvingOrder": {
                      "type": "string",
                      "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                      "readonly": true
                    },
                    "itemLevelCallNumber": {
                      "type": "string",
                      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                    },
                    "itemLevelCallNumberPrefix": {
                      "type": "string",
                      "description": "Prefix of the call number on the item level."
                    },
                    "itemLevelCallNumberSuffix": {
                      "type": "string",
                      "description": "Suffix of the call number on the item level."
                    },
                    "itemLevelCallNumberTypeId": {
                      "type": "string",
                      "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                    },
                    "effectiveCallNumberComponents": {
                      "type": "object",
                      "description": "Elements of a full call number generated from the item or holding",
                      "properties": {
                        "callNumber": {
                          "type": "string",
                          "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "prefix": {
                          "type": "string",
                          "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "suffix": {
                          "type": "string",
                          "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "typeId": {
                          "type": "string",
                          "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                          "readonly": true,
                          "$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}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "volume": {
                      "type": "string",
                      "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                    },
                    "enumeration": {
                      "type": "string",
                      "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                    },
                    "chronology": {
                      "type": "string",
                      "description": "Chronology is the descriptive information for the dating scheme of a serial."
                    },
                    "yearCaption": {
                      "type": "array",
                      "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "itemIdentifier": {
                      "type": "string",
                      "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                    },
                    "copyNumber": {
                      "type": "string",
                      "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                    },
                    "numberOfPieces": {
                      "type": "string",
                      "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                    },
                    "descriptionOfPieces": {
                      "description": "Description of item pieces.",
                      "type": "string"
                    },
                    "numberOfMissingPieces": {
                      "type": "string",
                      "description": "Number of missing pieces."
                    },
                    "missingPieces": {
                      "type": "string",
                      "description": "Description of the missing pieces. "
                    },
                    "missingPiecesDate": {
                      "type": "string",
                      "description": "Date when the piece(s) went missing."
                    },
                    "itemDamagedStatusId": {
                      "description": "Item dame status id identifier.",
                      "type": "string"
                    },
                    "itemDamagedStatusDate": {
                      "description": "Date and time when the item was damaged.",
                      "type": "string"
                    },
                    "notes": {
                      "type": "array",
                      "description": "Notes about action, copy, binding etc.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "itemNoteTypeId": {
                            "type": "string",
                            "description": "ID of the type of note"
                          },
                          "itemNoteType": {
                            "description": "Type of item's note",
                            "type": "object",
                            "folio:$ref": "itemnotetype.json",
                            "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "item-note-types",
                            "folio:linkFromField": "itemNoteTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "itemNoteTypes.0"
                          },
                          "note": {
                            "type": "string",
                            "description": "Text content of the note"
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "If true, determines that the note should not be visible for others than staff",
                            "default": false
                          }
                        }
                      }
                    },
                    "circulationNotes": {
                      "type": "array",
                      "description": "Notes to be displayed in circulation processes",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "The id of the circulation note"
                          },
                          "noteType": {
                            "type": "string",
                            "description": "Type of circulation process that the note applies to",
                            "enum": [
                              "Check in",
                              "Check out"
                            ]
                          },
                          "note": {
                            "type": "string",
                            "description": "Text to display"
                          },
                          "source": {
                            "type": "object",
                            "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                              },
                              "personal": {
                                "type": "object",
                                "description": "Personal information about the user",
                                "properties": {
                                  "lastName": {
                                    "description": "The user's last name",
                                    "type": "string"
                                  },
                                  "firstName": {
                                    "description": "The user's first name",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "date": {
                            "type": "string",
                            "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "Flag to restrict display of this note",
                            "default": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "status": {
                      "description": "The status of the item",
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Name of the status e.g. Available, Checked out, In transit",
                          "type": "string",
                          "enum": [
                            "Aged to lost",
                            "Available",
                            "Awaiting pickup",
                            "Awaiting delivery",
                            "Checked out",
                            "Claimed returned",
                            "Declared lost",
                            "In process",
                            "In process (non-requestable)",
                            "In transit",
                            "Intellectual item",
                            "Long missing",
                            "Lost and paid",
                            "Missing",
                            "On order",
                            "Paged",
                            "Restricted",
                            "Order closed",
                            "Unavailable",
                            "Unknown",
                            "Withdrawn"
                          ]
                        },
                        "date": {
                          "description": "Date and time when the status was last changed",
                          "type": "string",
                          "format": "date-time",
                          "readonly": true
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "materialTypeId": {
                      "type": "string",
                      "description": "Material type, term. Define what type of thing the item is."
                    },
                    "materialType": {
                      "description": "Item's material type",
                      "type": "object",
                      "folio:$ref": "materialtype.json",
                      "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "material-types",
                      "folio:linkFromField": "materialTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "mtypes.0"
                    },
                    "permanentLoanTypeId": {
                      "type": "string",
                      "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                    },
                    "temporaryLoanTypeId": {
                      "type": "string",
                      "description": "Temporary loan type, is the temporary loan type for a given item."
                    },
                    "permanentLocationId": {
                      "type": "string",
                      "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "permanentLocation": {
                      "description": "The permanent shelving location in which an item resides",
                      "type": "object",
                      "readonly": true
                    },
                    "temporaryLocationId": {
                      "type": "string",
                      "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "temporaryLocation": {
                      "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                      "type": "object",
                      "folio:$ref": "location.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "locations",
                      "folio:linkFromField": "temporaryLocationId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "locations.0"
                    },
                    "effectiveLocationId": {
                      "type": "string",
                      "description": "Read only current home location for the item.",
                      "readonly": true,
                      "$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}$"
                    },
                    "electronicAccess": {
                      "type": "array",
                      "description": "References for accessing the item by URL.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uri": {
                            "type": "string",
                            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                          },
                          "linkText": {
                            "type": "string",
                            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                          },
                          "materialsSpecification": {
                            "type": "string",
                            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                          },
                          "publicNote": {
                            "type": "string",
                            "description": "URL public note to be displayed in the discovery"
                          },
                          "relationshipId": {
                            "type": "string",
                            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "uri"
                        ]
                      }
                    },
                    "inTransitDestinationServicePointId": {
                      "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                      "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}$"
                    },
                    "statisticalCodeIds": {
                      "type": "array",
                      "description": "List of statistical code IDs",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "purchaseOrderLineIdentifier": {
                      "type": "string",
                      "description": "ID referencing a remote purchase order object related to this item"
                    },
                    "tags": {
                      "description": "arbitrary tags associated with this item",
                      "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
                    },
                    "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"
                      ]
                    },
                    "holdingsRecord2": {
                      "type": "object",
                      "description": "Item associated holdings record object.",
                      "folio:$ref": "holdingsrecord.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-storage/holdings",
                      "folio:linkFromField": "holdingsRecordId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsRecords.0"
                    },
                    "lastCheckIn": {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Information about when an item was last scanned in the Inventory app.",
                      "properties": {
                        "dateTime": {
                          "type": "string",
                          "description": "Date and time of the last check in of the item.",
                          "format": "date-time"
                        },
                        "servicePointId": {
                          "type": "string",
                          "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                          "$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}$"
                        },
                        "staffMemberId": {
                          "type": "string",
                          "description": "ID a staff member who scanned the item",
                          "$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}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "materialTypeId",
                    "permanentLoanTypeId",
                    "holdingsRecordId",
                    "status"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "inventory/items",
                "folio:linkFromField": "id",
                "folio:linkToField": "holdingsRecordId",
                "folio:includedElement": "items"
              },
              "bareHoldingsItems": {
                "description": "Items of bareHoldings",
                "type": "array",
                "items": {
                  "type": "object",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "An item record",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique ID of the item record"
                    },
                    "_version": {
                      "type": "integer",
                      "description": "Record version for optimistic locking"
                    },
                    "hrid": {
                      "type": "string",
                      "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
                    },
                    "holdingsRecordId": {
                      "type": "string",
                      "description": "ID of the holdings record the item is a member of."
                    },
                    "formerIds": {
                      "type": "array",
                      "description": "Previous identifiers assigned to the item",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "discoverySuppress": {
                      "type": "boolean",
                      "description": "Records the fact that the record should not be displayed in a discovery system"
                    },
                    "accessionNumber": {
                      "type": "string",
                      "description": "Also called inventar number"
                    },
                    "barcode": {
                      "type": "string",
                      "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
                    },
                    "effectiveShelvingOrder": {
                      "type": "string",
                      "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                      "readonly": true
                    },
                    "itemLevelCallNumber": {
                      "type": "string",
                      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
                    },
                    "itemLevelCallNumberPrefix": {
                      "type": "string",
                      "description": "Prefix of the call number on the item level."
                    },
                    "itemLevelCallNumberSuffix": {
                      "type": "string",
                      "description": "Suffix of the call number on the item level."
                    },
                    "itemLevelCallNumberTypeId": {
                      "type": "string",
                      "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
                    },
                    "effectiveCallNumberComponents": {
                      "type": "object",
                      "description": "Elements of a full call number generated from the item or holding",
                      "properties": {
                        "callNumber": {
                          "type": "string",
                          "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "prefix": {
                          "type": "string",
                          "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "suffix": {
                          "type": "string",
                          "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                          "readonly": true
                        },
                        "typeId": {
                          "type": "string",
                          "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                          "readonly": true,
                          "$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}$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "volume": {
                      "type": "string",
                      "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
                    },
                    "enumeration": {
                      "type": "string",
                      "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
                    },
                    "chronology": {
                      "type": "string",
                      "description": "Chronology is the descriptive information for the dating scheme of a serial."
                    },
                    "yearCaption": {
                      "type": "array",
                      "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "itemIdentifier": {
                      "type": "string",
                      "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
                    },
                    "copyNumber": {
                      "type": "string",
                      "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
                    },
                    "numberOfPieces": {
                      "type": "string",
                      "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
                    },
                    "descriptionOfPieces": {
                      "description": "Description of item pieces.",
                      "type": "string"
                    },
                    "numberOfMissingPieces": {
                      "type": "string",
                      "description": "Number of missing pieces."
                    },
                    "missingPieces": {
                      "type": "string",
                      "description": "Description of the missing pieces. "
                    },
                    "missingPiecesDate": {
                      "type": "string",
                      "description": "Date when the piece(s) went missing."
                    },
                    "itemDamagedStatusId": {
                      "description": "Item dame status id identifier.",
                      "type": "string"
                    },
                    "itemDamagedStatusDate": {
                      "description": "Date and time when the item was damaged.",
                      "type": "string"
                    },
                    "notes": {
                      "type": "array",
                      "description": "Notes about action, copy, binding etc.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "itemNoteTypeId": {
                            "type": "string",
                            "description": "ID of the type of note"
                          },
                          "itemNoteType": {
                            "description": "Type of item's note",
                            "type": "object",
                            "folio:$ref": "itemnotetype.json",
                            "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                            "readonly": true,
                            "folio:isVirtual": true,
                            "folio:linkBase": "item-note-types",
                            "folio:linkFromField": "itemNoteTypeId",
                            "folio:linkToField": "id",
                            "folio:includedElement": "itemNoteTypes.0"
                          },
                          "note": {
                            "type": "string",
                            "description": "Text content of the note"
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "If true, determines that the note should not be visible for others than staff",
                            "default": false
                          }
                        }
                      }
                    },
                    "circulationNotes": {
                      "type": "array",
                      "description": "Notes to be displayed in circulation processes",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "The id of the circulation note"
                          },
                          "noteType": {
                            "type": "string",
                            "description": "Type of circulation process that the note applies to",
                            "enum": [
                              "Check in",
                              "Check out"
                            ]
                          },
                          "note": {
                            "type": "string",
                            "description": "Text to display"
                          },
                          "source": {
                            "type": "object",
                            "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                              },
                              "personal": {
                                "type": "object",
                                "description": "Personal information about the user",
                                "properties": {
                                  "lastName": {
                                    "description": "The user's last name",
                                    "type": "string"
                                  },
                                  "firstName": {
                                    "description": "The user's first name",
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "date": {
                            "type": "string",
                            "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                          },
                          "staffOnly": {
                            "type": "boolean",
                            "description": "Flag to restrict display of this note",
                            "default": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "status": {
                      "description": "The status of the item",
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Name of the status e.g. Available, Checked out, In transit",
                          "type": "string",
                          "enum": [
                            "Aged to lost",
                            "Available",
                            "Awaiting pickup",
                            "Awaiting delivery",
                            "Checked out",
                            "Claimed returned",
                            "Declared lost",
                            "In process",
                            "In process (non-requestable)",
                            "In transit",
                            "Intellectual item",
                            "Long missing",
                            "Lost and paid",
                            "Missing",
                            "On order",
                            "Paged",
                            "Restricted",
                            "Order closed",
                            "Unavailable",
                            "Unknown",
                            "Withdrawn"
                          ]
                        },
                        "date": {
                          "description": "Date and time when the status was last changed",
                          "type": "string",
                          "format": "date-time",
                          "readonly": true
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "materialTypeId": {
                      "type": "string",
                      "description": "Material type, term. Define what type of thing the item is."
                    },
                    "materialType": {
                      "description": "Item's material type",
                      "type": "object",
                      "folio:$ref": "materialtype.json",
                      "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "material-types",
                      "folio:linkFromField": "materialTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "mtypes.0"
                    },
                    "permanentLoanTypeId": {
                      "type": "string",
                      "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
                    },
                    "temporaryLoanTypeId": {
                      "type": "string",
                      "description": "Temporary loan type, is the temporary loan type for a given item."
                    },
                    "permanentLocationId": {
                      "type": "string",
                      "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "permanentLocation": {
                      "description": "The permanent shelving location in which an item resides",
                      "type": "object",
                      "readonly": true
                    },
                    "temporaryLocationId": {
                      "type": "string",
                      "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
                    },
                    "temporaryLocation": {
                      "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                      "type": "object",
                      "folio:$ref": "location.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "locations",
                      "folio:linkFromField": "temporaryLocationId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "locations.0"
                    },
                    "effectiveLocationId": {
                      "type": "string",
                      "description": "Read only current home location for the item.",
                      "readonly": true,
                      "$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}$"
                    },
                    "electronicAccess": {
                      "type": "array",
                      "description": "References for accessing the item by URL.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uri": {
                            "type": "string",
                            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                          },
                          "linkText": {
                            "type": "string",
                            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                          },
                          "materialsSpecification": {
                            "type": "string",
                            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                          },
                          "publicNote": {
                            "type": "string",
                            "description": "URL public note to be displayed in the discovery"
                          },
                          "relationshipId": {
                            "type": "string",
                            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "uri"
                        ]
                      }
                    },
                    "inTransitDestinationServicePointId": {
                      "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                      "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}$"
                    },
                    "statisticalCodeIds": {
                      "type": "array",
                      "description": "List of statistical code IDs",
                      "items": {
                        "type": "string"
                      },
                      "uniqueItems": true
                    },
                    "purchaseOrderLineIdentifier": {
                      "type": "string",
                      "description": "ID referencing a remote purchase order object related to this item"
                    },
                    "tags": {
                      "description": "arbitrary tags associated with this item",
                      "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
                    },
                    "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"
                      ]
                    },
                    "holdingsRecord2": {
                      "type": "object",
                      "description": "Item associated holdings record object.",
                      "folio:$ref": "holdingsrecord.json",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "holdings-storage/holdings",
                      "folio:linkFromField": "holdingsRecordId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "holdingsRecords.0"
                    },
                    "lastCheckIn": {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Information about when an item was last scanned in the Inventory app.",
                      "properties": {
                        "dateTime": {
                          "type": "string",
                          "description": "Date and time of the last check in of the item.",
                          "format": "date-time"
                        },
                        "servicePointId": {
                          "type": "string",
                          "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                          "$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}$"
                        },
                        "staffMemberId": {
                          "type": "string",
                          "description": "ID a staff member who scanned the item",
                          "$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}$"
                        }
                      }
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "materialTypeId",
                    "permanentLoanTypeId",
                    "holdingsRecordId",
                    "status"
                  ]
                },
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "item-storage/items",
                "folio:linkFromField": "id",
                "folio:linkToField": "holdingsRecordId",
                "folio:includedElement": "items"
              },
              "holdingsInstance": {
                "description": "Instance of holding record",
                "type": "object",
                "folio:$ref": "instance.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "inventory/instances",
                "folio:linkFromField": "instanceId",
                "folio:linkToField": "id",
                "folio:includedElement": "instances.0"
              },
              "tags": {
                "description": "arbitrary tags associated with this holding",
                "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
              },
              "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"
                ]
              },
              "sourceId": {
                "description": "(A reference to) the source of a holdings record",
                "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}$"
              }
            },
            "additionalProperties": false,
            "required": [
              "instanceId",
              "permanentLocationId"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "holdings-storage/holdings",
          "folio:linkFromField": "id",
          "folio:linkToField": "instanceId",
          "folio:includedElement": "holdingsRecords"
        },
        "natureOfContentTermIds": {
          "type": "array",
          "description": "Array of UUID for the Instance nature of content (e.g. bibliography, biography, exhibition catalogue, festschrift, newspaper, proceedings, research report, thesis or website)",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "description": "Single UUID for the Instance nature of content",
            "$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}$"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "source",
        "title",
        "instanceTypeId"
      ]
    },
    "_version": {
      "type": "integer",
      "description": "Record version for optimistic locking"
    },
    "hrid": {
      "type": "string",
      "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
    },
    "holdingsRecord": {
      "type": "object",
      "description": "Holdings record the item is a member of.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "type": "string",
          "description": "the unique ID of the holdings record; UUID",
          "$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}$"
        },
        "_version": {
          "type": "integer",
          "description": "Record version for optimistic locking"
        },
        "hrid": {
          "type": "string",
          "description": "the human readable ID, also called eye readable ID. A system-assigned sequential ID which maps to the Instance ID"
        },
        "holdingsTypeId": {
          "type": "string",
          "description": "unique ID for the type of this holdings record, a UUID",
          "$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}$"
        },
        "formerIds": {
          "type": "array",
          "description": "Previous ID(s) assigned to the holdings record",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "instanceId": {
          "description": "Inventory instances identifier",
          "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}$"
        },
        "permanentLocationId": {
          "type": "string",
          "description": "The permanent shelving location in which an item resides.",
          "$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}$"
        },
        "permanentLocation": {
          "description": "The permanent shelving location in which an item resides",
          "type": "object",
          "folio:$ref": "location.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "locations",
          "folio:linkFromField": "permanentLocationId",
          "folio:linkToField": "id",
          "folio:includedElement": "locations.0"
        },
        "temporaryLocationId": {
          "type": "string",
          "description": "Temporary location is the temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
          "$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}$"
        },
        "effectiveLocationId": {
          "type": "string",
          "description": "Effective location is calculated by the system based on the values in the permanent and temporary locationId fields.",
          "$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}$"
        },
        "electronicAccess": {
          "description": "List of electronic access items",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "uri": {
                "type": "string",
                "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
              },
              "linkText": {
                "type": "string",
                "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
              },
              "materialsSpecification": {
                "type": "string",
                "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
              },
              "publicNote": {
                "type": "string",
                "description": "URL public note to be displayed in the discovery"
              },
              "relationshipId": {
                "type": "string",
                "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
              }
            },
            "additionalProperties": false,
            "required": [
              "uri"
            ]
          }
        },
        "callNumberTypeId": {
          "type": "string",
          "description": "unique ID for the type of call number on a holdings record, a UUID",
          "$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}$"
        },
        "callNumberPrefix": {
          "type": "string",
          "description": "Prefix of the call number on the holding level."
        },
        "callNumber": {
          "type": "string",
          "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item."
        },
        "callNumberSuffix": {
          "type": "string",
          "description": "Suffix of the call number on the holding level."
        },
        "shelvingTitle": {
          "type": "string",
          "description": "Indicates the shelving form of title."
        },
        "acquisitionFormat": {
          "type": "string",
          "description": "Format of holdings record acquisition"
        },
        "acquisitionMethod": {
          "type": "string",
          "description": "Method of holdings record acquisition"
        },
        "receiptStatus": {
          "type": "string",
          "description": "Receipt status (e.g. pending, awaiting receipt, partially received, fully received, receipt not required, and cancelled)"
        },
        "notes": {
          "type": "array",
          "description": "Notes about action, copy, binding etc.",
          "items": {
            "type": "object",
            "properties": {
              "holdingsNoteTypeId": {
                "type": "string",
                "description": "ID of the type of note",
                "$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}$"
              },
              "holdingsNoteType": {
                "type": "object",
                "description": "expanded note-type object corresponding to holdingsNoteTypeId",
                "javaType": "org.folio.rest.jaxrs.model.HoldingsNoteTypeVirtual",
                "folio:$ref": "holdingsnotetype.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "holdings-note-types",
                "folio:linkFromField": "holdingsNoteTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "holdingsNoteTypes.0"
              },
              "note": {
                "type": "string",
                "description": "Text content of the note"
              },
              "staffOnly": {
                "type": "boolean",
                "description": "If true, determines that the note should not be visible for others than staff",
                "default": false
              }
            }
          }
        },
        "illPolicyId": {
          "type": "string",
          "description": "unique ID for an ILL policy, a UUID",
          "$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}$"
        },
        "illPolicy": {
          "type": "object",
          "description": "expanded ILL Policy object corresponding to illPolicyId",
          "javaType": "org.folio.rest.jaxrs.model.IllPolicyVirtual",
          "folio:$ref": "illpolicy.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "ill-policies",
          "folio:linkFromField": "illPolicyId",
          "folio:linkToField": "id",
          "folio:includedElement": "illPolicies.0"
        },
        "retentionPolicy": {
          "type": "string",
          "description": "Records information regarding how long we have agreed to keep something."
        },
        "digitizationPolicy": {
          "description": "Records information regarding digitization aspects.",
          "type": "string"
        },
        "holdingsStatements": {
          "description": "Notes about action, copy, binding etc.",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "statement": {
                "type": "string",
                "description": "Specifices the exact content to which the library has access, typically for continuing publications."
              },
              "note": {
                "type": "string",
                "description": "Note attached to a holdings statement"
              },
              "staffNote": {
                "type": "string",
                "description": "Private note attached to a holdings statment"
              }
            }
          }
        },
        "holdingsStatementsForIndexes": {
          "description": "Holdings record indexes statements",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "statement": {
                "type": "string",
                "description": "Textual description of the holdings of indexes"
              },
              "note": {
                "type": "string",
                "description": "Note attached to a holdings statement"
              },
              "staffNote": {
                "type": "string",
                "description": "Private note attached to a holdings statment"
              }
            }
          }
        },
        "holdingsStatementsForSupplements": {
          "description": "Holdings record supplements statements",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "statement": {
                "type": "string",
                "description": "textual description of the holdings of supplementary material"
              },
              "note": {
                "type": "string",
                "description": "note attached to a holdings statement"
              },
              "staffNote": {
                "type": "string",
                "description": "Private note attached to a holdings statment"
              }
            }
          }
        },
        "copyNumber": {
          "type": "string",
          "description": "Item/Piece ID (usually barcode) for systems that do not use item records. Ability to designate the copy number if institution chooses to use copy numbers."
        },
        "numberOfItems": {
          "type": "string",
          "description": "Text (Number)"
        },
        "receivingHistory": {
          "description": "Receiving history of holdings record",
          "type": "object",
          "properties": {
            "displayType": {
              "type": "string",
              "description": "Display hint. 1: Display fields separately. 2: Display fields concatenated"
            },
            "entries": {
              "type": "array",
              "description": "Entries of receiving history",
              "items": {
                "type": "object",
                "properties": {
                  "publicDisplay": {
                    "type": "boolean",
                    "description": "Defines if the receivingHistory should be visible to the public."
                  },
                  "enumeration": {
                    "type": "string",
                    "description": "This is the volume/issue number (e.g. v.71:no.6-2)"
                  },
                  "chronology": {
                    "type": "string",
                    "description": "Repeated element from Receiving history - Enumeration AND Receiving history - Chronology"
                  }
                }
              }
            }
          }
        },
        "discoverySuppress": {
          "type": "boolean",
          "description": "records the fact that the record should not be displayed in a discovery system"
        },
        "statisticalCodeIds": {
          "type": "array",
          "description": "List of statistical code IDs",
          "items": {
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A universally unique identifier (UUID), this is a 128-bit number used to identify a record and is shown in hex with dashes, for example 6312d172-f0cf-40f6-b27d-9fa8feaf332f; the UUID version must be from 1-5; see https://dev.folio.org/guides/uuids/",
            "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}$"
          },
          "uniqueItems": true
        },
        "holdingsItems": {
          "description": "Items related to holdings record",
          "type": "array",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "An item record",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique ID of the item record"
              },
              "_version": {
                "type": "integer",
                "description": "Record version for optimistic locking"
              },
              "hrid": {
                "type": "string",
                "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
              },
              "holdingsRecordId": {
                "type": "string",
                "description": "ID of the holdings record the item is a member of."
              },
              "formerIds": {
                "type": "array",
                "description": "Previous identifiers assigned to the item",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "discoverySuppress": {
                "type": "boolean",
                "description": "Records the fact that the record should not be displayed in a discovery system"
              },
              "accessionNumber": {
                "type": "string",
                "description": "Also called inventar number"
              },
              "barcode": {
                "type": "string",
                "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
              },
              "effectiveShelvingOrder": {
                "type": "string",
                "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                "readonly": true
              },
              "itemLevelCallNumber": {
                "type": "string",
                "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
              },
              "itemLevelCallNumberPrefix": {
                "type": "string",
                "description": "Prefix of the call number on the item level."
              },
              "itemLevelCallNumberSuffix": {
                "type": "string",
                "description": "Suffix of the call number on the item level."
              },
              "itemLevelCallNumberTypeId": {
                "type": "string",
                "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
              },
              "effectiveCallNumberComponents": {
                "type": "object",
                "description": "Elements of a full call number generated from the item or holding",
                "properties": {
                  "callNumber": {
                    "type": "string",
                    "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "prefix": {
                    "type": "string",
                    "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "suffix": {
                    "type": "string",
                    "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "typeId": {
                    "type": "string",
                    "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                    "readonly": true,
                    "$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}$"
                  }
                },
                "additionalProperties": false
              },
              "volume": {
                "type": "string",
                "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
              },
              "enumeration": {
                "type": "string",
                "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
              },
              "chronology": {
                "type": "string",
                "description": "Chronology is the descriptive information for the dating scheme of a serial."
              },
              "yearCaption": {
                "type": "array",
                "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "itemIdentifier": {
                "type": "string",
                "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
              },
              "copyNumber": {
                "type": "string",
                "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
              },
              "numberOfPieces": {
                "type": "string",
                "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
              },
              "descriptionOfPieces": {
                "description": "Description of item pieces.",
                "type": "string"
              },
              "numberOfMissingPieces": {
                "type": "string",
                "description": "Number of missing pieces."
              },
              "missingPieces": {
                "type": "string",
                "description": "Description of the missing pieces. "
              },
              "missingPiecesDate": {
                "type": "string",
                "description": "Date when the piece(s) went missing."
              },
              "itemDamagedStatusId": {
                "description": "Item dame status id identifier.",
                "type": "string"
              },
              "itemDamagedStatusDate": {
                "description": "Date and time when the item was damaged.",
                "type": "string"
              },
              "notes": {
                "type": "array",
                "description": "Notes about action, copy, binding etc.",
                "items": {
                  "type": "object",
                  "properties": {
                    "itemNoteTypeId": {
                      "type": "string",
                      "description": "ID of the type of note"
                    },
                    "itemNoteType": {
                      "description": "Type of item's note",
                      "type": "object",
                      "folio:$ref": "itemnotetype.json",
                      "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "item-note-types",
                      "folio:linkFromField": "itemNoteTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "itemNoteTypes.0"
                    },
                    "note": {
                      "type": "string",
                      "description": "Text content of the note"
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "If true, determines that the note should not be visible for others than staff",
                      "default": false
                    }
                  }
                }
              },
              "circulationNotes": {
                "type": "array",
                "description": "Notes to be displayed in circulation processes",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The id of the circulation note"
                    },
                    "noteType": {
                      "type": "string",
                      "description": "Type of circulation process that the note applies to",
                      "enum": [
                        "Check in",
                        "Check out"
                      ]
                    },
                    "note": {
                      "type": "string",
                      "description": "Text to display"
                    },
                    "source": {
                      "type": "object",
                      "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                        },
                        "personal": {
                          "type": "object",
                          "description": "Personal information about the user",
                          "properties": {
                            "lastName": {
                              "description": "The user's last name",
                              "type": "string"
                            },
                            "firstName": {
                              "description": "The user's first name",
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "date": {
                      "type": "string",
                      "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "Flag to restrict display of this note",
                      "default": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "status": {
                "description": "The status of the item",
                "type": "object",
                "properties": {
                  "name": {
                    "description": "Name of the status e.g. Available, Checked out, In transit",
                    "type": "string",
                    "enum": [
                      "Aged to lost",
                      "Available",
                      "Awaiting pickup",
                      "Awaiting delivery",
                      "Checked out",
                      "Claimed returned",
                      "Declared lost",
                      "In process",
                      "In process (non-requestable)",
                      "In transit",
                      "Intellectual item",
                      "Long missing",
                      "Lost and paid",
                      "Missing",
                      "On order",
                      "Paged",
                      "Restricted",
                      "Order closed",
                      "Unavailable",
                      "Unknown",
                      "Withdrawn"
                    ]
                  },
                  "date": {
                    "description": "Date and time when the status was last changed",
                    "type": "string",
                    "format": "date-time",
                    "readonly": true
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              },
              "materialTypeId": {
                "type": "string",
                "description": "Material type, term. Define what type of thing the item is."
              },
              "materialType": {
                "description": "Item's material type",
                "type": "object",
                "folio:$ref": "materialtype.json",
                "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "material-types",
                "folio:linkFromField": "materialTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "mtypes.0"
              },
              "permanentLoanTypeId": {
                "type": "string",
                "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
              },
              "temporaryLoanTypeId": {
                "type": "string",
                "description": "Temporary loan type, is the temporary loan type for a given item."
              },
              "permanentLocationId": {
                "type": "string",
                "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
              },
              "permanentLocation": {
                "description": "The permanent shelving location in which an item resides",
                "type": "object",
                "readonly": true
              },
              "temporaryLocationId": {
                "type": "string",
                "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
              },
              "temporaryLocation": {
                "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                "type": "object",
                "folio:$ref": "location.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "locations",
                "folio:linkFromField": "temporaryLocationId",
                "folio:linkToField": "id",
                "folio:includedElement": "locations.0"
              },
              "effectiveLocationId": {
                "type": "string",
                "description": "Read only current home location for the item.",
                "readonly": true,
                "$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}$"
              },
              "electronicAccess": {
                "type": "array",
                "description": "References for accessing the item by URL.",
                "items": {
                  "type": "object",
                  "properties": {
                    "uri": {
                      "type": "string",
                      "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                    },
                    "linkText": {
                      "type": "string",
                      "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                    },
                    "materialsSpecification": {
                      "type": "string",
                      "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                    },
                    "publicNote": {
                      "type": "string",
                      "description": "URL public note to be displayed in the discovery"
                    },
                    "relationshipId": {
                      "type": "string",
                      "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "uri"
                  ]
                }
              },
              "inTransitDestinationServicePointId": {
                "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                "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}$"
              },
              "statisticalCodeIds": {
                "type": "array",
                "description": "List of statistical code IDs",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "purchaseOrderLineIdentifier": {
                "type": "string",
                "description": "ID referencing a remote purchase order object related to this item"
              },
              "tags": {
                "description": "arbitrary tags associated with this item",
                "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
              },
              "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"
                ]
              },
              "holdingsRecord2": {
                "type": "object",
                "description": "Item associated holdings record object.",
                "folio:$ref": "holdingsrecord.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "holdings-storage/holdings",
                "folio:linkFromField": "holdingsRecordId",
                "folio:linkToField": "id",
                "folio:includedElement": "holdingsRecords.0"
              },
              "lastCheckIn": {
                "type": "object",
                "additionalProperties": false,
                "description": "Information about when an item was last scanned in the Inventory app.",
                "properties": {
                  "dateTime": {
                    "type": "string",
                    "description": "Date and time of the last check in of the item.",
                    "format": "date-time"
                  },
                  "servicePointId": {
                    "type": "string",
                    "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                    "$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}$"
                  },
                  "staffMemberId": {
                    "type": "string",
                    "description": "ID a staff member who scanned the item",
                    "$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}$"
                  }
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "materialTypeId",
              "permanentLoanTypeId",
              "holdingsRecordId",
              "status"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "inventory/items",
          "folio:linkFromField": "id",
          "folio:linkToField": "holdingsRecordId",
          "folio:includedElement": "items"
        },
        "bareHoldingsItems": {
          "description": "Items of bareHoldings",
          "type": "array",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "An item record",
            "properties": {
              "id": {
                "type": "string",
                "description": "Unique ID of the item record"
              },
              "_version": {
                "type": "integer",
                "description": "Record version for optimistic locking"
              },
              "hrid": {
                "type": "string",
                "description": "The human readable ID, also called eye readable ID. A system-assigned sequential alternate ID"
              },
              "holdingsRecordId": {
                "type": "string",
                "description": "ID of the holdings record the item is a member of."
              },
              "formerIds": {
                "type": "array",
                "description": "Previous identifiers assigned to the item",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "discoverySuppress": {
                "type": "boolean",
                "description": "Records the fact that the record should not be displayed in a discovery system"
              },
              "accessionNumber": {
                "type": "string",
                "description": "Also called inventar number"
              },
              "barcode": {
                "type": "string",
                "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
              },
              "effectiveShelvingOrder": {
                "type": "string",
                "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
                "readonly": true
              },
              "itemLevelCallNumber": {
                "type": "string",
                "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
              },
              "itemLevelCallNumberPrefix": {
                "type": "string",
                "description": "Prefix of the call number on the item level."
              },
              "itemLevelCallNumberSuffix": {
                "type": "string",
                "description": "Suffix of the call number on the item level."
              },
              "itemLevelCallNumberTypeId": {
                "type": "string",
                "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
              },
              "effectiveCallNumberComponents": {
                "type": "object",
                "description": "Elements of a full call number generated from the item or holding",
                "properties": {
                  "callNumber": {
                    "type": "string",
                    "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "prefix": {
                    "type": "string",
                    "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "suffix": {
                    "type": "string",
                    "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
                    "readonly": true
                  },
                  "typeId": {
                    "type": "string",
                    "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
                    "readonly": true,
                    "$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}$"
                  }
                },
                "additionalProperties": false
              },
              "volume": {
                "type": "string",
                "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
              },
              "enumeration": {
                "type": "string",
                "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
              },
              "chronology": {
                "type": "string",
                "description": "Chronology is the descriptive information for the dating scheme of a serial."
              },
              "yearCaption": {
                "type": "array",
                "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "itemIdentifier": {
                "type": "string",
                "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
              },
              "copyNumber": {
                "type": "string",
                "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
              },
              "numberOfPieces": {
                "type": "string",
                "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
              },
              "descriptionOfPieces": {
                "description": "Description of item pieces.",
                "type": "string"
              },
              "numberOfMissingPieces": {
                "type": "string",
                "description": "Number of missing pieces."
              },
              "missingPieces": {
                "type": "string",
                "description": "Description of the missing pieces. "
              },
              "missingPiecesDate": {
                "type": "string",
                "description": "Date when the piece(s) went missing."
              },
              "itemDamagedStatusId": {
                "description": "Item dame status id identifier.",
                "type": "string"
              },
              "itemDamagedStatusDate": {
                "description": "Date and time when the item was damaged.",
                "type": "string"
              },
              "notes": {
                "type": "array",
                "description": "Notes about action, copy, binding etc.",
                "items": {
                  "type": "object",
                  "properties": {
                    "itemNoteTypeId": {
                      "type": "string",
                      "description": "ID of the type of note"
                    },
                    "itemNoteType": {
                      "description": "Type of item's note",
                      "type": "object",
                      "folio:$ref": "itemnotetype.json",
                      "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
                      "readonly": true,
                      "folio:isVirtual": true,
                      "folio:linkBase": "item-note-types",
                      "folio:linkFromField": "itemNoteTypeId",
                      "folio:linkToField": "id",
                      "folio:includedElement": "itemNoteTypes.0"
                    },
                    "note": {
                      "type": "string",
                      "description": "Text content of the note"
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "If true, determines that the note should not be visible for others than staff",
                      "default": false
                    }
                  }
                }
              },
              "circulationNotes": {
                "type": "array",
                "description": "Notes to be displayed in circulation processes",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The id of the circulation note"
                    },
                    "noteType": {
                      "type": "string",
                      "description": "Type of circulation process that the note applies to",
                      "enum": [
                        "Check in",
                        "Check out"
                      ]
                    },
                    "note": {
                      "type": "string",
                      "description": "Text to display"
                    },
                    "source": {
                      "type": "object",
                      "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
                        },
                        "personal": {
                          "type": "object",
                          "description": "Personal information about the user",
                          "properties": {
                            "lastName": {
                              "description": "The user's last name",
                              "type": "string"
                            },
                            "firstName": {
                              "description": "The user's first name",
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "date": {
                      "type": "string",
                      "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
                    },
                    "staffOnly": {
                      "type": "boolean",
                      "description": "Flag to restrict display of this note",
                      "default": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "status": {
                "description": "The status of the item",
                "type": "object",
                "properties": {
                  "name": {
                    "description": "Name of the status e.g. Available, Checked out, In transit",
                    "type": "string",
                    "enum": [
                      "Aged to lost",
                      "Available",
                      "Awaiting pickup",
                      "Awaiting delivery",
                      "Checked out",
                      "Claimed returned",
                      "Declared lost",
                      "In process",
                      "In process (non-requestable)",
                      "In transit",
                      "Intellectual item",
                      "Long missing",
                      "Lost and paid",
                      "Missing",
                      "On order",
                      "Paged",
                      "Restricted",
                      "Order closed",
                      "Unavailable",
                      "Unknown",
                      "Withdrawn"
                    ]
                  },
                  "date": {
                    "description": "Date and time when the status was last changed",
                    "type": "string",
                    "format": "date-time",
                    "readonly": true
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              },
              "materialTypeId": {
                "type": "string",
                "description": "Material type, term. Define what type of thing the item is."
              },
              "materialType": {
                "description": "Item's material type",
                "type": "object",
                "folio:$ref": "materialtype.json",
                "javaType": "org.folio.rest.jaxrs.model.materialTypeVirtual",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "material-types",
                "folio:linkFromField": "materialTypeId",
                "folio:linkToField": "id",
                "folio:includedElement": "mtypes.0"
              },
              "permanentLoanTypeId": {
                "type": "string",
                "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined."
              },
              "temporaryLoanTypeId": {
                "type": "string",
                "description": "Temporary loan type, is the temporary loan type for a given item."
              },
              "permanentLocationId": {
                "type": "string",
                "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location."
              },
              "permanentLocation": {
                "description": "The permanent shelving location in which an item resides",
                "type": "object",
                "readonly": true
              },
              "temporaryLocationId": {
                "type": "string",
                "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location."
              },
              "temporaryLocation": {
                "description": "Temporary location, shelving location, or holding which is a physical place where items are stored, or an Online location",
                "type": "object",
                "folio:$ref": "location.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "locations",
                "folio:linkFromField": "temporaryLocationId",
                "folio:linkToField": "id",
                "folio:includedElement": "locations.0"
              },
              "effectiveLocationId": {
                "type": "string",
                "description": "Read only current home location for the item.",
                "readonly": true,
                "$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}$"
              },
              "electronicAccess": {
                "type": "array",
                "description": "References for accessing the item by URL.",
                "items": {
                  "type": "object",
                  "properties": {
                    "uri": {
                      "type": "string",
                      "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
                    },
                    "linkText": {
                      "type": "string",
                      "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
                    },
                    "materialsSpecification": {
                      "type": "string",
                      "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
                    },
                    "publicNote": {
                      "type": "string",
                      "description": "URL public note to be displayed in the discovery"
                    },
                    "relationshipId": {
                      "type": "string",
                      "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "uri"
                  ]
                }
              },
              "inTransitDestinationServicePointId": {
                "description": "Service point an item is intended to be transited to (should only be present when in transit)",
                "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}$"
              },
              "statisticalCodeIds": {
                "type": "array",
                "description": "List of statistical code IDs",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "purchaseOrderLineIdentifier": {
                "type": "string",
                "description": "ID referencing a remote purchase order object related to this item"
              },
              "tags": {
                "description": "arbitrary tags associated with this item",
                "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
              },
              "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"
                ]
              },
              "holdingsRecord2": {
                "type": "object",
                "description": "Item associated holdings record object.",
                "folio:$ref": "holdingsrecord.json",
                "readonly": true,
                "folio:isVirtual": true,
                "folio:linkBase": "holdings-storage/holdings",
                "folio:linkFromField": "holdingsRecordId",
                "folio:linkToField": "id",
                "folio:includedElement": "holdingsRecords.0"
              },
              "lastCheckIn": {
                "type": "object",
                "additionalProperties": false,
                "description": "Information about when an item was last scanned in the Inventory app.",
                "properties": {
                  "dateTime": {
                    "type": "string",
                    "description": "Date and time of the last check in of the item.",
                    "format": "date-time"
                  },
                  "servicePointId": {
                    "type": "string",
                    "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
                    "$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}$"
                  },
                  "staffMemberId": {
                    "type": "string",
                    "description": "ID a staff member who scanned the item",
                    "$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}$"
                  }
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "materialTypeId",
              "permanentLoanTypeId",
              "holdingsRecordId",
              "status"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "item-storage/items",
          "folio:linkFromField": "id",
          "folio:linkToField": "holdingsRecordId",
          "folio:includedElement": "items"
        },
        "holdingsInstance": {
          "description": "Instance of holding record",
          "type": "object",
          "folio:$ref": "instance.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "inventory/instances",
          "folio:linkFromField": "instanceId",
          "folio:linkToField": "id",
          "folio:includedElement": "instances.0"
        },
        "tags": {
          "description": "arbitrary tags associated with this holding",
          "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
        },
        "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"
          ]
        },
        "sourceId": {
          "description": "(A reference to) the source of a holdings record",
          "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}$"
        }
      },
      "additionalProperties": false,
      "required": [
        "instanceId",
        "permanentLocationId"
      ]
    },
    "formerIds": {
      "type": "array",
      "description": "Previous identifiers assigned to the item",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "discoverySuppress": {
      "type": "boolean",
      "description": "Records the fact that the record should not be displayed in a discovery system"
    },
    "accessionNumber": {
      "type": "string",
      "description": "Also called inventar number"
    },
    "barcode": {
      "type": "string",
      "description": "Unique inventory control number for physical resources, used largely for circulation purposes"
    },
    "effectiveShelvingOrder": {
      "type": "string",
      "description": "A system generated normalization of the call number that allows for call number sorting in reports and search results",
      "readonly": true
    },
    "itemLevelCallNumber": {
      "type": "string",
      "description": "Call Number is an identifier assigned to an item, usually printed on a label attached to the item. The call number is used to determine the items physical position in a shelving sequence, e.g. K1 .M44. The Item level call number, is the call number on item level."
    },
    "itemLevelCallNumberPrefix": {
      "type": "string",
      "description": "Prefix of the call number on the item level."
    },
    "itemLevelCallNumberSuffix": {
      "type": "string",
      "description": "Suffix of the call number on the item level."
    },
    "itemLevelCallNumberTypeId": {
      "type": "string",
      "description": "Identifies the source of the call number, e.g., LCC, Dewey, NLM, etc."
    },
    "effectiveCallNumberComponents": {
      "type": "object",
      "description": "Elements of a full call number generated from the item or holding",
      "properties": {
        "callNumber": {
          "type": "string",
          "description": "Effective Call Number is an identifier assigned to an item or its holding and associated with the item.",
          "readonly": true
        },
        "prefix": {
          "type": "string",
          "description": "Effective Call Number Prefix is the prefix of the identifier assigned to an item or its holding and associated with the item.",
          "readonly": true
        },
        "suffix": {
          "type": "string",
          "description": "Effective Call Number Suffix is the suffix of the identifier assigned to an item or its holding and associated with the item.",
          "readonly": true
        },
        "typeId": {
          "type": "string",
          "description": "Effective Call Number Type Id is the call number type id of the item, if available, otherwise that of the holding.",
          "readonly": true,
          "$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}$"
        }
      },
      "additionalProperties": false
    },
    "volume": {
      "type": "string",
      "description": "Volume is intended for monographs when a multipart monograph (e.g. a biography of George Bernard Shaw in three volumes)."
    },
    "enumeration": {
      "type": "string",
      "description": "Enumeration is the descriptive information for the numbering scheme of a serial."
    },
    "chronology": {
      "type": "string",
      "description": "Chronology is the descriptive information for the dating scheme of a serial."
    },
    "yearCaption": {
      "type": "array",
      "description": "In multipart monographs, a caption is a character(s) used to label a level of chronology, e.g., year 1985.",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "itemIdentifier": {
      "type": "string",
      "description": "Item identifier number, e.g. imported from the union catalogue (read only)."
    },
    "copyNumber": {
      "type": "string",
      "description": "Copy number is the piece identifier. The copy number reflects if the library has a copy of a single-volume monograph; one copy of a multi-volume, (e.g. Copy 1, or C.7.)"
    },
    "numberOfPieces": {
      "type": "string",
      "description": "Number of pieces. Used when an item is checked out or returned to verify that all parts are present (e.g. 7 CDs in a set)."
    },
    "descriptionOfPieces": {
      "description": "Description of item pieces.",
      "type": "string"
    },
    "numberOfMissingPieces": {
      "type": "string",
      "description": "Number of missing pieces."
    },
    "missingPieces": {
      "type": "string",
      "description": "Description of the missing pieces. "
    },
    "missingPiecesDate": {
      "type": "string",
      "description": "Date when the piece(s) went missing."
    },
    "itemDamagedStatusId": {
      "description": "Item dame status id identifier.",
      "type": "string"
    },
    "itemDamagedStatusDate": {
      "description": "Date and time when the item was damaged.",
      "type": "string"
    },
    "notes": {
      "type": "array",
      "description": "Notes about action, copy, binding etc.",
      "items": {
        "type": "object",
        "properties": {
          "itemNoteTypeId": {
            "type": "string",
            "description": "ID of the type of note"
          },
          "itemNoteType": {
            "description": "Type of item's note",
            "type": "object",
            "folio:$ref": "itemnotetype.json",
            "javaType": "org.folio.rest.jaxrs.model.itemNoteTypeVirtual",
            "readonly": true,
            "folio:isVirtual": true,
            "folio:linkBase": "item-note-types",
            "folio:linkFromField": "itemNoteTypeId",
            "folio:linkToField": "id",
            "folio:includedElement": "itemNoteTypes.0"
          },
          "note": {
            "type": "string",
            "description": "Text content of the note"
          },
          "staffOnly": {
            "type": "boolean",
            "description": "If true, determines that the note should not be visible for others than staff",
            "default": false
          }
        }
      }
    },
    "circulationNotes": {
      "type": "array",
      "description": "Notes to be displayed in circulation processes",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of the circulation note"
          },
          "noteType": {
            "type": "string",
            "description": "Type of circulation process that the note applies to",
            "enum": [
              "Check in",
              "Check out"
            ]
          },
          "note": {
            "type": "string",
            "description": "Text to display"
          },
          "source": {
            "type": "object",
            "description": "The user who added/updated the note. The property is generated by the server and needed to support sorting. Points to /users/{id} resource.",
            "properties": {
              "id": {
                "type": "string",
                "description": "The id of the user who added/updated the note. The user information is generated by the server and needed to support sorting. Points to /users/{id} resource."
              },
              "personal": {
                "type": "object",
                "description": "Personal information about the user",
                "properties": {
                  "lastName": {
                    "description": "The user's last name",
                    "type": "string"
                  },
                  "firstName": {
                    "description": "The user's first name",
                    "type": "string"
                  }
                }
              }
            }
          },
          "date": {
            "type": "string",
            "description": "Date and time the record is added/updated. The property is generated by the server and needed to support sorting."
          },
          "staffOnly": {
            "type": "boolean",
            "description": "Flag to restrict display of this note",
            "default": false
          }
        },
        "additionalProperties": false
      }
    },
    "status": {
      "description": "The status of the item",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the status e.g. Available, Checked out, In transit",
          "type": "string",
          "enum": [
            "Aged to lost",
            "Available",
            "Awaiting pickup",
            "Awaiting delivery",
            "Checked out",
            "Claimed returned",
            "Declared lost",
            "In process",
            "In process (non-requestable)",
            "In transit",
            "Intellectual item",
            "Long missing",
            "Lost and paid",
            "Missing",
            "On order",
            "Paged",
            "Restricted",
            "Order closed",
            "Unavailable",
            "Unknown",
            "Withdrawn"
          ]
        },
        "date": {
          "description": "Date and time when the status was last changed",
          "type": "string",
          "format": "date-time",
          "readonly": true
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false
    },
    "materialType": {
      "description": "Item's material type",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "description": "label for the material type",
          "type": "string"
        },
        "source": {
          "description": "origin of the material type record",
          "type": "string"
        },
        "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": [
        "name"
      ]
    },
    "permanentLoanType": {
      "type": "object",
      "description": "The permanent loan type, is the default loan type for a given item. Loan types are tenant-defined.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "description": "label for the loan type",
          "type": "string"
        },
        "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": [
        "name"
      ]
    },
    "temporaryLoanType": {
      "type": "object",
      "description": "Temporary loan type, is the temporary loan type for a given item.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "description": "label for the loan type",
          "type": "string"
        },
        "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": [
        "name"
      ]
    },
    "permanentLocation": {
      "type": "object",
      "description": "Permanent item location is the default location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "description": "id of this (shelf) location record as UUID.",
          "type": "string"
        },
        "name": {
          "description": "Name of the (shelf) location",
          "type": "string"
        },
        "code": {
          "description": "Code of the (shelf) location, usually an abbreviation of the name.",
          "type": "string"
        },
        "description": {
          "description": "Description of the (shelf) location.",
          "type": "string"
        },
        "discoveryDisplayName": {
          "description": "Name of the (shelf) location to be shown in the discovery.",
          "type": "string"
        },
        "isActive": {
          "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
          "type": "boolean"
        },
        "institutionId": {
          "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "institution": {
          "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/institutions",
          "folio:linkFromField": "institutionId",
          "folio:linkToField": "id",
          "folio:includedElement": "locinsts.0"
        },
        "campusId": {
          "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "campus": {
          "description": "The campus, the second-level location unit, this (shelf) location belongs to",
          "type": "object",
          "folio:$ref": "loccamp.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/campuses",
          "folio:linkFromField": "campusId",
          "folio:linkToField": "id",
          "folio:includedElement": "loccamps.0"
        },
        "libraryId": {
          "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "library": {
          "description": "The library, the third-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/libraries",
          "folio:linkFromField": "libraryId",
          "folio:linkToField": "id",
          "folio:includedElement": "loclibs.0"
        },
        "details": {
          "description": "Details about this (shelf) location.",
          "type": "object"
        },
        "primaryServicePoint": {
          "description": "The UUID of the primary service point of this (shelf) location.",
          "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}$",
          "type": "string"
        },
        "primaryServicePointObject": {
          "type": "object",
          "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "primaryServicePoint",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints.0",
          "$schema": "http://json-schema.org/draft-04/schema#",
          "properties": {
            "id": {
              "type": "string",
              "description": "Id of service-point object"
            },
            "name": {
              "type": "string",
              "description": "service-point name, a required field"
            },
            "code": {
              "type": "string",
              "description": "service-point code, a required field"
            },
            "discoveryDisplayName": {
              "type": "string",
              "description": "display name, a required field"
            },
            "description": {
              "type": "string",
              "description": "description of the service-point"
            },
            "shelvingLagTime": {
              "type": "integer",
              "description": "shelving lag time"
            },
            "pickupLocation": {
              "type": "boolean",
              "description": "indicates whether or not the service point is a pickup location"
            },
            "holdShelfExpiryPeriod": {
              "type": "object",
              "description": "expiration period for items on the hold shelf at the service point",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "duration": {
                  "type": "integer",
                  "description": "Duration interval"
                },
                "intervalId": {
                  "type": "string",
                  "description": "Unit of time for the duration",
                  "enum": [
                    "Minutes",
                    "Hours",
                    "Days",
                    "Weeks",
                    "Months"
                  ],
                  "default": "Days"
                }
              },
              "required": [
                "duration",
                "intervalId"
              ],
              "additionalProperties": false
            },
            "staffSlips": {
              "type": "array",
              "description": "List of staff slips for this service point",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "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}$",
                    "description": "The ID of the staff slip"
                  },
                  "printByDefault": {
                    "type": "boolean",
                    "description": "Whether or not to print the staff slip by default"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "printByDefault"
                ]
              }
            },
            "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": [
            "name",
            "code",
            "discoveryDisplayName"
          ]
        },
        "servicePointIds": {
          "description": "All service points that this (shelf) location has.",
          "type": "array",
          "items": {
            "description": "The UUID of a service point that belongs to this (shelf) location.",
            "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}$",
            "not": {
              "type": "null"
            }
          }
        },
        "servicePoints": {
          "type": "array",
          "description": "List of dereferenced service points",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A service point",
            "properties": {
              "id": {
                "type": "string",
                "description": "Id of service-point object"
              },
              "name": {
                "type": "string",
                "description": "service-point name, a required field"
              },
              "code": {
                "type": "string",
                "description": "service-point code, a required field"
              },
              "discoveryDisplayName": {
                "type": "string",
                "description": "display name, a required field"
              },
              "description": {
                "type": "string",
                "description": "description of the service-point"
              },
              "shelvingLagTime": {
                "type": "integer",
                "description": "shelving lag time"
              },
              "pickupLocation": {
                "type": "boolean",
                "description": "indicates whether or not the service point is a pickup location"
              },
              "holdShelfExpiryPeriod": {
                "type": "object",
                "description": "expiration period for items on the hold shelf at the service point",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration interval"
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Unit of time for the duration",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months"
                    ],
                    "default": "Days"
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ],
                "additionalProperties": false
              },
              "staffSlips": {
                "type": "array",
                "description": "List of staff slips for this service point",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "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}$",
                      "description": "The ID of the staff slip"
                    },
                    "printByDefault": {
                      "type": "boolean",
                      "description": "Whether or not to print the staff slip by default"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "printByDefault"
                  ]
                }
              },
              "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": [
              "name",
              "code",
              "discoveryDisplayName"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "servicePointIds",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints"
        },
        "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": [
        "name",
        "code",
        "institutionId",
        "campusId",
        "libraryId",
        "primaryServicePoint"
      ]
    },
    "temporaryLocation": {
      "type": "object",
      "description": "Temporary item location is the temporarily location, shelving location, or holding which is a physical place where items are stored, or an Online location.",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "description": "id of this (shelf) location record as UUID.",
          "type": "string"
        },
        "name": {
          "description": "Name of the (shelf) location",
          "type": "string"
        },
        "code": {
          "description": "Code of the (shelf) location, usually an abbreviation of the name.",
          "type": "string"
        },
        "description": {
          "description": "Description of the (shelf) location.",
          "type": "string"
        },
        "discoveryDisplayName": {
          "description": "Name of the (shelf) location to be shown in the discovery.",
          "type": "string"
        },
        "isActive": {
          "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
          "type": "boolean"
        },
        "institutionId": {
          "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "institution": {
          "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/institutions",
          "folio:linkFromField": "institutionId",
          "folio:linkToField": "id",
          "folio:includedElement": "locinsts.0"
        },
        "campusId": {
          "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "campus": {
          "description": "The campus, the second-level location unit, this (shelf) location belongs to",
          "type": "object",
          "folio:$ref": "loccamp.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/campuses",
          "folio:linkFromField": "campusId",
          "folio:linkToField": "id",
          "folio:includedElement": "loccamps.0"
        },
        "libraryId": {
          "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "library": {
          "description": "The library, the third-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/libraries",
          "folio:linkFromField": "libraryId",
          "folio:linkToField": "id",
          "folio:includedElement": "loclibs.0"
        },
        "details": {
          "description": "Details about this (shelf) location.",
          "type": "object"
        },
        "primaryServicePoint": {
          "description": "The UUID of the primary service point of this (shelf) location.",
          "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}$",
          "type": "string"
        },
        "primaryServicePointObject": {
          "type": "object",
          "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "primaryServicePoint",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints.0",
          "$schema": "http://json-schema.org/draft-04/schema#",
          "properties": {
            "id": {
              "type": "string",
              "description": "Id of service-point object"
            },
            "name": {
              "type": "string",
              "description": "service-point name, a required field"
            },
            "code": {
              "type": "string",
              "description": "service-point code, a required field"
            },
            "discoveryDisplayName": {
              "type": "string",
              "description": "display name, a required field"
            },
            "description": {
              "type": "string",
              "description": "description of the service-point"
            },
            "shelvingLagTime": {
              "type": "integer",
              "description": "shelving lag time"
            },
            "pickupLocation": {
              "type": "boolean",
              "description": "indicates whether or not the service point is a pickup location"
            },
            "holdShelfExpiryPeriod": {
              "type": "object",
              "description": "expiration period for items on the hold shelf at the service point",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "duration": {
                  "type": "integer",
                  "description": "Duration interval"
                },
                "intervalId": {
                  "type": "string",
                  "description": "Unit of time for the duration",
                  "enum": [
                    "Minutes",
                    "Hours",
                    "Days",
                    "Weeks",
                    "Months"
                  ],
                  "default": "Days"
                }
              },
              "required": [
                "duration",
                "intervalId"
              ],
              "additionalProperties": false
            },
            "staffSlips": {
              "type": "array",
              "description": "List of staff slips for this service point",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "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}$",
                    "description": "The ID of the staff slip"
                  },
                  "printByDefault": {
                    "type": "boolean",
                    "description": "Whether or not to print the staff slip by default"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "printByDefault"
                ]
              }
            },
            "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": [
            "name",
            "code",
            "discoveryDisplayName"
          ]
        },
        "servicePointIds": {
          "description": "All service points that this (shelf) location has.",
          "type": "array",
          "items": {
            "description": "The UUID of a service point that belongs to this (shelf) location.",
            "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}$",
            "not": {
              "type": "null"
            }
          }
        },
        "servicePoints": {
          "type": "array",
          "description": "List of dereferenced service points",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A service point",
            "properties": {
              "id": {
                "type": "string",
                "description": "Id of service-point object"
              },
              "name": {
                "type": "string",
                "description": "service-point name, a required field"
              },
              "code": {
                "type": "string",
                "description": "service-point code, a required field"
              },
              "discoveryDisplayName": {
                "type": "string",
                "description": "display name, a required field"
              },
              "description": {
                "type": "string",
                "description": "description of the service-point"
              },
              "shelvingLagTime": {
                "type": "integer",
                "description": "shelving lag time"
              },
              "pickupLocation": {
                "type": "boolean",
                "description": "indicates whether or not the service point is a pickup location"
              },
              "holdShelfExpiryPeriod": {
                "type": "object",
                "description": "expiration period for items on the hold shelf at the service point",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration interval"
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Unit of time for the duration",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months"
                    ],
                    "default": "Days"
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ],
                "additionalProperties": false
              },
              "staffSlips": {
                "type": "array",
                "description": "List of staff slips for this service point",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "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}$",
                      "description": "The ID of the staff slip"
                    },
                    "printByDefault": {
                      "type": "boolean",
                      "description": "Whether or not to print the staff slip by default"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "printByDefault"
                  ]
                }
              },
              "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": [
              "name",
              "code",
              "discoveryDisplayName"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "servicePointIds",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints"
        },
        "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": [
        "name",
        "code",
        "institutionId",
        "campusId",
        "libraryId",
        "primaryServicePoint"
      ]
    },
    "effectiveLocation": {
      "type": "object",
      "description": "Read only current home location for the item.",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "id": {
          "description": "id of this (shelf) location record as UUID.",
          "type": "string"
        },
        "name": {
          "description": "Name of the (shelf) location",
          "type": "string"
        },
        "code": {
          "description": "Code of the (shelf) location, usually an abbreviation of the name.",
          "type": "string"
        },
        "description": {
          "description": "Description of the (shelf) location.",
          "type": "string"
        },
        "discoveryDisplayName": {
          "description": "Name of the (shelf) location to be shown in the discovery.",
          "type": "string"
        },
        "isActive": {
          "description": "Whether this (shelf) location is active. Inactive (shelf) locations can no longer been used.",
          "type": "boolean"
        },
        "institutionId": {
          "description": "The UUID of the institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "institution": {
          "description": "The institution, the first-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/institutions",
          "folio:linkFromField": "institutionId",
          "folio:linkToField": "id",
          "folio:includedElement": "locinsts.0"
        },
        "campusId": {
          "description": "The UUID of the campus, the second-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "campus": {
          "description": "The campus, the second-level location unit, this (shelf) location belongs to",
          "type": "object",
          "folio:$ref": "loccamp.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/campuses",
          "folio:linkFromField": "campusId",
          "folio:linkToField": "id",
          "folio:includedElement": "loccamps.0"
        },
        "libraryId": {
          "description": "The UUID of the library, the third-level location unit, this (shelf) location belongs to.",
          "type": "string"
        },
        "library": {
          "description": "The library, the third-level location unit, this (shelf) location belongs to.",
          "type": "object",
          "folio:$ref": "locinst.json",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "location-units/libraries",
          "folio:linkFromField": "libraryId",
          "folio:linkToField": "id",
          "folio:includedElement": "loclibs.0"
        },
        "details": {
          "description": "Details about this (shelf) location.",
          "type": "object"
        },
        "primaryServicePoint": {
          "description": "The UUID of the primary service point of this (shelf) location.",
          "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}$",
          "type": "string"
        },
        "primaryServicePointObject": {
          "type": "object",
          "description": "Dereferenced object for primary service point. This should really just be called 'primaryServicePoint', but the field containing the ID of this object has that name -- it should really be called 'primaryServicePointId' -- so we need something different for this one.",
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "primaryServicePoint",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints.0",
          "$schema": "http://json-schema.org/draft-04/schema#",
          "properties": {
            "id": {
              "type": "string",
              "description": "Id of service-point object"
            },
            "name": {
              "type": "string",
              "description": "service-point name, a required field"
            },
            "code": {
              "type": "string",
              "description": "service-point code, a required field"
            },
            "discoveryDisplayName": {
              "type": "string",
              "description": "display name, a required field"
            },
            "description": {
              "type": "string",
              "description": "description of the service-point"
            },
            "shelvingLagTime": {
              "type": "integer",
              "description": "shelving lag time"
            },
            "pickupLocation": {
              "type": "boolean",
              "description": "indicates whether or not the service point is a pickup location"
            },
            "holdShelfExpiryPeriod": {
              "type": "object",
              "description": "expiration period for items on the hold shelf at the service point",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "duration": {
                  "type": "integer",
                  "description": "Duration interval"
                },
                "intervalId": {
                  "type": "string",
                  "description": "Unit of time for the duration",
                  "enum": [
                    "Minutes",
                    "Hours",
                    "Days",
                    "Weeks",
                    "Months"
                  ],
                  "default": "Days"
                }
              },
              "required": [
                "duration",
                "intervalId"
              ],
              "additionalProperties": false
            },
            "staffSlips": {
              "type": "array",
              "description": "List of staff slips for this service point",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "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}$",
                    "description": "The ID of the staff slip"
                  },
                  "printByDefault": {
                    "type": "boolean",
                    "description": "Whether or not to print the staff slip by default"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "printByDefault"
                ]
              }
            },
            "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": [
            "name",
            "code",
            "discoveryDisplayName"
          ]
        },
        "servicePointIds": {
          "description": "All service points that this (shelf) location has.",
          "type": "array",
          "items": {
            "description": "The UUID of a service point that belongs to this (shelf) location.",
            "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}$",
            "not": {
              "type": "null"
            }
          }
        },
        "servicePoints": {
          "type": "array",
          "description": "List of dereferenced service points",
          "items": {
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A service point",
            "properties": {
              "id": {
                "type": "string",
                "description": "Id of service-point object"
              },
              "name": {
                "type": "string",
                "description": "service-point name, a required field"
              },
              "code": {
                "type": "string",
                "description": "service-point code, a required field"
              },
              "discoveryDisplayName": {
                "type": "string",
                "description": "display name, a required field"
              },
              "description": {
                "type": "string",
                "description": "description of the service-point"
              },
              "shelvingLagTime": {
                "type": "integer",
                "description": "shelving lag time"
              },
              "pickupLocation": {
                "type": "boolean",
                "description": "indicates whether or not the service point is a pickup location"
              },
              "holdShelfExpiryPeriod": {
                "type": "object",
                "description": "expiration period for items on the hold shelf at the service point",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration interval"
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Unit of time for the duration",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months"
                    ],
                    "default": "Days"
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ],
                "additionalProperties": false
              },
              "staffSlips": {
                "type": "array",
                "description": "List of staff slips for this service point",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "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}$",
                      "description": "The ID of the staff slip"
                    },
                    "printByDefault": {
                      "type": "boolean",
                      "description": "Whether or not to print the staff slip by default"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "printByDefault"
                  ]
                }
              },
              "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": [
              "name",
              "code",
              "discoveryDisplayName"
            ]
          },
          "readonly": true,
          "folio:isVirtual": true,
          "folio:linkBase": "service-points",
          "folio:linkFromField": "servicePointIds",
          "folio:linkToField": "id",
          "folio:includedElement": "servicepoints"
        },
        "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": [
        "name",
        "code",
        "institutionId",
        "campusId",
        "libraryId",
        "primaryServicePoint"
      ]
    },
    "electronicAccess": {
      "type": "array",
      "description": "References for accessing the item by URL.",
      "items": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "description": "uniform resource identifier (URI) is a string of characters designed for unambiguous identification of resources"
          },
          "linkText": {
            "type": "string",
            "description": "the value of the MARC tag field 856 2nd indicator, where the values are: no information provided, resource, version of resource, related resource, no display constant generated"
          },
          "materialsSpecification": {
            "type": "string",
            "description": "materials specified is used to specify to what portion or aspect of the resource the electronic location and access information applies (e.g. a portion or subset of the item is electronic, or a related electronic resource is being linked to the record)"
          },
          "publicNote": {
            "type": "string",
            "description": "URL public note to be displayed in the discovery"
          },
          "relationshipId": {
            "type": "string",
            "description": "relationship between the electronic resource at the location identified and the item described in the record as a whole"
          }
        },
        "additionalProperties": false,
        "required": [
          "uri"
        ]
      }
    },
    "inTransitDestinationServicePointId": {
      "description": "Service point an item is intended to be transited to (should only be present when in transit)",
      "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}$"
    },
    "statisticalCodeIds": {
      "type": "array",
      "description": "List of statistical code IDs",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "purchaseOrderLineIdentifier": {
      "type": "string",
      "description": "ID referencing a remote purchase order object related to this item"
    },
    "tags": {
      "description": "arbitrary tags associated with this item",
      "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
    },
    "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"
      ]
    },
    "lastCheckIn": {
      "type": "object",
      "additionalProperties": false,
      "description": "Information about when an item was last scanned in the Inventory app.",
      "properties": {
        "dateTime": {
          "type": "string",
          "description": "Date and time of the last check in of the item.",
          "format": "date-time"
        },
        "servicePointId": {
          "type": "string",
          "description": "Service point ID being used by a staff member when item was scanned in Check in app.",
          "$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}$"
        },
        "staffMemberId": {
          "type": "string",
          "description": "ID a staff member who scanned the item",
          "$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}$"
        }
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "materialType",
    "instanceRecord",
    "permanentLoanType",
    "holdingsRecord",
    "status"
  ]
}

Example:

{
  "id": "0b96a642-5e7f-452d-9cae-9cee66c9a892",
  "instanceRecord": {
    "id": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
    "source": "Local: MARC",
    "title": "ADVANCING LIBRARY EDUCATION: TECHNOLOGICAL INNOVATION AND INSTRUCTIONAL DESIGN",
    "contributors": [
      {
        "name": "Sigal, Ari",
        "contributorNameTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2a",
        "primary": true
      }
    ],
    "identifiers": [
      {
        "identifierTypeId": "2e48e713-17f3-4c13-a9f8-23845bb210af",
        "value": "9781466636897"
      },
      {
        "identifierTypeId": "6051f95c-028e-4c6a-8a9e-ee689dd51453",
        "value": "1"
      }
    ],
    "instanceTypeId": "2b94c631-fca9-4892-a730-03ee529ffe2c",
    "tags" : {
      "tagList" : [
        "important"
      ]
    }
  },
  "holdingsRecord": {
    "id": "65cb2bf0-d4c2-4886-8ad0-b76f1ba75d61",
    "instanceId": "601a8dc4-dee7-48eb-b03f-d02fdf0debd0",
    "permanentLocationId": "d9cd0bed-1b49-4b5e-a7bd-064b8d177231",
    "holdingsStatements": [
      {
        "statement": "Line 1",
        "note": "Note to line 1"
      },
      {
        "statement": "Line 2",
        "note": "Note to line2"
      }
    ],
    "tags" : {
      "tagList" : [
        "important"
      ]
    }
  },
  "barcode": "645398607547",
  "status": {
    "name": "In transit"
  },
  "materialType": {
    "name": "book"
  },
  "permanentLoanType": {
    "id": "2b94c631-fca9-4892-a730-03ee529ffe27",
    "name": "Can circulate"
  },
  "inTransitDestinationServicePointId": "5b31ec8c-95a7-4b91-95cc-b551a74b91ca",
  "tags" : {
    "tagList" : [
      "important"
    ]
  }
}

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to get retrieve item -- unauthorized

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"item not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator