{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "anyOf": [
    {
      "$ref": "#/definitions/SCBookAvailabilityRequestByIsbn"
    },
    {
      "$ref": "#/definitions/SCBookAvailabilityRequestByUuid"
    }
  ],
  "description": "Request to check the availability of books",
  "definitions": {
    "SCBookAvailabilityRequestByIsbn": {
      "type": "object",
      "properties": {
        "isbn": {
          "type": "string",
          "description": "ISBN of the book to check availability for"
        }
      },
      "required": [
        "isbn"
      ],
      "additionalProperties": false,
      "description": "Availability request by ISBN"
    },
    "SCBookAvailabilityRequestByUuid": {
      "type": "object",
      "properties": {
        "uid": {
          "$ref": "#/definitions/SCUuid",
          "description": "UID of the book to check availability for"
        }
      },
      "required": [
        "uid"
      ],
      "additionalProperties": false,
      "description": "Availability request by UUID"
    },
    "SCUuid": {
      "type": "string",
      "description": "Universally unique identifier of the thing",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
    },
    "SCSCBookAvailabilityRequest": {
      "anyOf": [
        {
          "$ref": "#/definitions/SCBookAvailabilityRequestByIsbn"
        },
        {
          "$ref": "#/definitions/SCBookAvailabilityRequestByUuid"
        }
      ],
      "description": "Request to check the availability of books"
    }
  },
  "$id": "https://core.stapps.tu-berlin.de/v4.0.2/lib/schema/SCBookAvailabilityRequest.json"
}