{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "anyOf": [
    {
      "$ref": "https://json.schemastore.org/schema-org-thing.json"
    }
  ],
  "description": "This is a JSON schema representation of the schema.org Action schema: https://schema.org/ContactPoint",
  "id": "https://json.schemastore.org/schema-org-contact-point.json",
  "properties": {
    "@context": {
      "type": "string",
      "format": "regex",
      "pattern": "http://schema.org",
      "description": "override the @context property to ensure the schema.org URI is used"
    },
    "@type": {
      "description": "override the @type property to ensure ContactPoint is used",
      "type": "string",
      "format": "regex",
      "pattern": "ContactPoint"
    },
    "areaServed": {
      "description": "The geographic area where a service or offered item is provided. Supersedes serviceArea.",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "https://json.schemastore.org/schema-org-thing.json",
                "description": "AdministrativeArea"
              },
              {
                "$ref": "https://json.schemastore.org/schema-org-thing.json",
                "description": "GeoShape"
              },
              {
                "$ref": "https://json.schemastore.org/schema-org-thing.json",
                "description": "Place"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        {
          "anyOf": [
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "AdministrativeArea"
            },
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "GeoShape"
            },
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "Place"
            },
            {
              "type": "string"
            }
          ]
        }
      ]
    },
    "availableLanguage": {
      "description": "A language someone may use with the item. Please use one of the language codes from the IETF BCP 47 standard. See also inLanguage",
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "Language"
            }
          ]
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "https://json.schemastore.org/schema-org-thing.json",
                "description": "Language"
              }
            ]
          }
        }
      ]
    },
    "contactOption": {
      "description": "An option available on this contact point (e.g. a toll-free number or support for hearing-impaired callers).",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "enum": ["HearingImpairedSupported", "TollFree"]
              }
            ]
          }
        },
        {
          "enum": ["HearingImpairedSupported", "TollFree"]
        }
      ]
    },
    "contactType": {
      "description": "A person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point.",
      "type": "string"
    },
    "email": {
      "description": "Email address.",
      "type": "string",
      "format": "email"
    },
    "faxNumber": {
      "description": "The fax number.",
      "type": "string"
    },
    "hoursAvailable": {
      "description": "The hours during which this service or contact is available. (OpeningHoursSpecification)",
      "$ref": "https://json.schemastore.org/schema-org-thing.json"
    },
    "productSupported": {
      "description": "The product or service this support contact point is related to (such as product support for a particular product line). This can be a specific product or product line (e.g. \"iPhone\") or a general category of products or services (e.g. \"smartphones\").",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "https://json.schemastore.org/schema-org-thing.json",
                "description": "Product"
              }
            ]
          }
        },
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "Product"
            }
          ]
        }
      ]
    },
    "telephone": {
      "description": "The telephone number.",
      "type": "string"
    }
  },
  "required": ["@type"],
  "title": "JSON schema for schema.org / ContactPoint",
  "type": "object"
}
