{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/HumanName",
  "definitions": {
    "HumanName": {
      "type": "object",
      "properties": {
        "use": {
          "type": "string",
          "enum": [
            "official",
            "usual",
            "nickname",
            "maiden",
            "old",
            "anonymous"
          ],
          "description": "Context in which this name is used"
        },
        "text": {
          "type": "string",
          "description": "Full text representation of the name (e.g., \"John A. Smith, CPCU\")"
        },
        "family": {
          "type": "string",
          "description": "Surname / family name"
        },
        "given": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Given names (first name, middle names)"
        },
        "prefix": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name prefixes (Mr., Dr., etc.)"
        },
        "suffix": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name suffixes and professional designations (Jr., CPCU, ARM, CIC)"
        },
        "period": {
          "$ref": "#/definitions/Period",
          "description": "Period during which this name was/is in use"
        }
      },
      "additionalProperties": false,
      "description": "A human name with structured components. Adapted for insurance industry use (e.g., professional designations like CPCU, ARM, CIC).",
      "examples": [
        {
          "use": "official",
          "text": "John A. Smith, CPCU",
          "family": "Smith",
          "given": [
            "John",
            "Andrew"
          ],
          "suffix": [
            "CPCU"
          ]
        }
      ]
    },
    "Period": {
      "type": "object",
      "properties": {
        "start": {
          "type": "string",
          "description": "Start of the period (inclusive).",
          "format": "date"
        },
        "end": {
          "type": "string",
          "description": "End of the period (inclusive).",
          "format": "date"
        }
      },
      "additionalProperties": false,
      "description": "A time period defined by a start and/or end date. Used for policy terms, coverage periods, etc.",
      "examples": [
        {
          "start": "2025-01-01",
          "end": "2026-01-01"
        }
      ]
    }
  },
  "$id": "https://bind-standard.org/schema/HumanName",
  "title": "HumanName"
}
