{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "CreateDonorRequest",
  "self": {
    "version": "3.0",
    "title": "Create Donor",
    "description": "Schema for creating a donor record in Hill Labs API"
  },
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "The donor's identifier such as driver's license or passport number.",
      "minLength": 1,
      "maxLength": 32
    },
    "firstName": {
      "type": "string",
      "description": "The donor's first name.",
      "minLength": 1,
      "maxLength": 64
    },
    "lastName": {
      "type": "string",
      "description": "The donor's last name.",
      "minLength": 1,
      "maxLength": 64
    },
    "dateOfBirth": {
      "type": "string",
      "description": "The donor's date of birth in YYYY-MM-DD format.",
      "format": "date",
      "minLength": 10,
      "maxLength": 10
    },
    "gender": {
      "description": "The donor's gender.",
      "$ref": "https://cat-cdn.hill-laboratories.com/json-schema/client-api/v3/GenderEnumSchema.json"
    }
  },
  "required": [
    "identifier",
    "firstName",
    "lastName",
    "dateOfBirth",
    "gender"
  ]
}
