{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/folio/main/json-schema/folio-check-in-response-schema.json",
  "title": "checkInResponse",
  "description": "Check-in response",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/folio-mod-circulation-bff-circulationbff-openapi.yml#/components/schemas/checkInResponse",
  "type": "object",
  "properties": {
    "item": {
      "description": "Item data",
      "type": "object",
      "properties": {
        "id": {
          "description": "Item ID",
          "type": "string"
        },
        "instanceId": {
          "description": "Related Instance Id",
          "type": "string"
        },
        "holdingsRecordId": {
          "description": "Related holding record id",
          "type": "string"
        },
        "title": {
          "description": "Related title",
          "type": "string"
        },
        "barcode": {
          "description": "Barcode of the item",
          "type": "string"
        },
        "inTransitDestinationServicePointId": {
          "description": "Service point an item is intended to be transited to (should only be present when in transit)",
          "type": "string"
        },
        "inTransitDestinationServicePoint": {
          "description": "Service point an item is intended to be transited to (should only be present when in transit)",
          "type": "object",
          "properties": {
            "id": {
              "description": "The ID of the service point",
              "type": "string"
            },
            "name": {
              "description": "Name of the service point",
              "type": "string"
            }
          }
        },
        "location": {
          "description": "Effective location of the item",
          "type": "object",
          "properties": {
            "name": {
              "description": "Name of the location",
              "type": "string"
            }
          }
        },
        "enumeration": {
          "description": "Enumeration of the item",
          "type": "string"
        },
        "volume": {
          "description": "Volume of the item",
          "type": "string"
        },
        "chronology": {
          "description": "Chronology of the item",
          "type": "string"
        },
        "displaySummary": {
          "description": "Display summary of the item",
          "type": "string"
        },
        "copyNumber": {
          "description": "Copy number of the item",
          "type": "string"
        },
        "callNumber": {
          "description": "Call number of the item",
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "staffSlipContext": {
      "description": "Staff slips data",
      "type": "object",
      "properties": {
        "item": {
          "description": "Staff slips item data",
          "type": "object",
          "properties": {
            "title": {
              "description": "Title of the instance record",
              "type": "string"
            },
            "primaryContributor": {
              "description": "Primary contributor name from the instance record",
              "type": "string"
            },
            "allContributors": {
              "description": "List of contributor names from the instance record concatenated with semicolon",
              "type": "string"
            },
            "barcode": {
              "description": "Barcode of the item",
              "type": "string"
            },
            "status": {
              "description": "Status of the item",
              "type": "string"
            },
            "enumeration": {
              "description": "Enumeration of the item",
              "type": "string"
            },
            "volume": {
              "description": "Volume of the item",
              "type": "string"
            },
            "chronology": {
              "description": "Chronology of the item",
              "type": "string"
            },
            "yearCaption": {
              "description": "Year caption of the item",
              "type": "string"
            },
            "materialType": {
              "description": "Material type of the item",
              "type": "string"
            },
            "loanType": {
              "description": "Loan type of the item",
              "type": "string"
            },
            "copy": {
              "description": "Copy number of the item",
              "type": "string"
            },
            "numberOfPieces": {
              "description": "Number of item pieces",
              "type": "string"
            },
            "displaySummary": {
              "description": "Display summary of the item",
              "type": "string"
            },
            "descriptionOfPieces": {
              "description": "Description of item pieces",
              "type": "string"
            },
            "effectiveLocationSpecific": {
              "description": "Name of the effective location",
              "type": "string"
            },
            "effectiveLocationLibrary": {
              "description": "Library name of the effective location",
              "type": "string"
            },
            "effectiveLocationCampus": {
              "description": "Campus name of the effective location",
              "type": "string"
            },
            "effectiveLocationInstitution": {
              "description": "Institution name of the effective location",
              "type": "string"
            },
            "effectiveLocationDiscoveryDisplayName": {
              "description": "Discovery display name of the effective location",
              "type": "string"
            },
            "effectiveLocationPrimaryServicePointName": {
              "description": "Primary service point name of the effective location",
              "type": "string"
            },
            "callNumber": {
              "description": "Call number of the item",
              "type": "string"
            },
            "callNumberPrefix": {
              "description": "Prefix of the item's call number",
              "type": "string"
            },
            "callNumberSuffix": {
              "description": "Suffix of the item's call number",
              "type": "string"
            },
            "lastCheckedInDateTime": {
              "description": "Last checked in date of the item",
              "type": "string",
              "format": "date-time"
            },
            "toServicePoint": {
              "description": "Destination service point of the item",
              "type": "string"
            },
            "fromServicePoint": {
              "description": "Last checked in service point of the item",
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "loan": {
      "description": "Links the item with the patron and applies certain conditions based on policies",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique ID of the loan",
          "type": "string"
        },
        "userId": {
          "description": "Unique ID of the user who has borrowed the item",
          "type": "string"
        },
        "borrower": {
          "description": "Additional information about the borrower of the item, taken from the user referred to by the userId",
          "type": "object",
          "properties": {
            "firstName": {
              "description": "First name of the borrower",
              "type": "string"
            },
            "lastName": {
              "description": "Last name of the borrower",
              "type": "string"
            },
            "middleName": {
              "description": "Middle name of the borrower",
              "type": "string"
            },
            "barcode": {
              "description": "Barcode used to identify the borrower",
              "type": "string"
            },
            "preferredFirstName": {
              "description": "Preferred first name of the borrower",
              "type": "string"
            },
            "patronGroup": {
              "description": "Current patron group of the borrower",
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "item": {
          "description": "Item data",
          "type": "object",
          "properties": {
            "id": {
              "description": "Item ID",
              "type": "string"
            },
            "inTransitDestinationServicePointId": {
              "description": "Service point an item is intended to be transited to (should only be present when in transit)",
              "type": "string"
            },
            "inTransitDestinationServicePoint": {
              "description": "Service point an item is intended to be transited to (should only be present when in transit)",
              "type": "object",
              "properties": {
                "id": {
                  "description": "The ID of the service point",
                  "type": "string"
                },
                "name": {
                  "description": "Name of the service point",
                  "type": "string"
                }
              }
            },
            "location": {
              "description": "Effective location of the item",
              "type": "object",
              "properties": {
                "name": {
                  "description": "Name of the location",
                  "type": "string"
                }
              }
            },
            "instanceId": {
              "description": "Related Instance Id",
              "type": "string"
            },
            "holdingsRecordId": {
              "description": "Related holding record id",
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  }
}