{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/flight-create-orders-contact-dictionary-schema.json",
  "title": "ContactDictionary",
  "description": "represents a contact",
  "type": "object",
  "properties": {
    "addresseeName": {
      "title": "name",
      "description": "name",
      "allOf": [
        {
          "type": "object",
          "description": "description of the name of a physical person",
          "properties": {
            "firstName": {
              "description": "First name.",
              "type": "string",
              "example": "Marie"
            },
            "lastName": {
              "description": "Last name.",
              "type": "string",
              "example": "Dupont"
            },
            "middleName": {
              "description": "Middle name(s), for example \"Lee\" in \"John Lee Smith\".",
              "type": "string",
              "example": "Sample Name"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "secondLastName": {
              "description": "second last name",
              "type": "string"
            }
          }
        }
      ]
    },
    "address": {
      "type": "object",
      "description": "address information",
      "properties": {
        "lines": {
          "type": "array",
          "description": "Line 1 = Street address, Line 2 = Apartment, suite, unit, building, floor, etc \nEach line is limited to 35 characters",
          "items": {
            "type": "string"
          }
        },
        "postalCode": {
          "type": "string",
          "description": "Example: 74130",
          "example": "string-value"
        },
        "countryCode": {
          "type": "string",
          "description": "country code [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
          "pattern": "[a-zA-Z]{2}",
          "example": "FR"
        },
        "cityName": {
          "type": "string",
          "description": "Full city name. Example: Dublin",
          "pattern": "[a-zA-Z -]{1,35}",
          "example": "Paris"
        },
        "stateName": {
          "type": "string",
          "description": "Full state name",
          "example": "Sample Name"
        },
        "postalBox": {
          "type": "string",
          "description": "E.g. BP 220",
          "example": "string-value"
        }
      }
    },
    "language": {
      "description": "the preferred language of communication with this Contact",
      "type": "string",
      "example": "EN"
    },
    "purpose": {
      "description": "the purpose for which this contact is to be used.\n - STANDARD for standard use, comunication, advertissement etc...\n - INVOICE for your invoice contact, usually its your billing adress. it's mandatory in france when you buy online\n - STANDARD_WITHOUT_TRANSMISSION is standard contact that are not share with third party outside of Amadeus",
      "type": "string",
      "enum": [
        "STANDARD",
        "INVOICE",
        "STANDARD_WITHOUT_TRANSMISSION"
      ]
    }
  }
}