{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "@type": "ContactPoint",
  "@context": "http://schema.org/",
  "description": "Schema.org ContactPoint",
  "type": "object",
  "definitions": {
    "Thing": {
      "@type": "Thing",
      "type": "object",
      "properties": {
        "additionalType": {
          "description": "An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
          "type": "string",
          "_format": "uri"
        },
        "description": {
          "description": "A short description of the item.",
          "type": "string"
        },
        "image": {
          "description": "URL of an image of the item.",
          "type": "string",
          "_format": "uri"
        },
        "name": {
          "description": "The name of the item.",
          "type": "string"
        },
        "url": {
          "description": "URL of the item.",
          "type": "string",
          "_format": "uri"
        }
      }
    },
    "ContactPoint": {
      "@type": "ContactPoint",
      "type": "object",
      "properties": {
        "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"
        },
        "faxNumber": {
          "description": "The fax number.",
          "type": "string"
        },
        "telephone": {
          "description": "The telephone number.",
          "type": "string"
        }
      }
    }
  },
  "allOf": [
    {
      "$ref": "#/definitions/Thing"
    },
    {
      "$ref": "#/definitions/ContactPoint"
    }
  ]
}