{
  "type": "object",
  "required": [],
  "additionalProperties": true,
  "properties": {
    "ref": {
      "type": "object",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      }
    },
    "source": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "name": {
      "$ref": "#/$defs/multilingual"
    },
    "alt_name": {
      "$ref": "#/$defs/multilingual"
    },
    "loc_name": {
      "$ref": "#/$defs/multilingual"
    },
    "official_name": {
      "$ref": "#/$defs/multilingual"
    },
    "description": {
      "$ref": "#/$defs/multilingual"
    },
    "website": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "website:details": {
      "$ref": "#/$defs/multilingual-uri"
    },
    "phone": {
      "type": "array",
      "items": {
        "type": "string",
        "contentMediaType": "text/vnd.phone-number",
        "xContentRole": "phone"
      }
    },
    "email": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "email"
      }
    },
    "facebook": {
      "type": "string",
      "format": "uri"
    },
    "twitter": {
      "type": "string",
      "format": "uri"
    },
    "instagram": {
      "type": "string",
      "format": "uri"
    },
    "linkedin": {
      "type": "string",
      "format": "uri"
    },
    "pinterest": {
      "type": "string",
      "format": "uri"
    },
    "image": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri",
        "xContentRole": "image"
      }
    },
    "mapillary": {
      "type": "integer"
    },
    "panoramax": {
      "type": "string",
      "format": "uuid"
    },
    "addr": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "properties": {
        "street": {
          "type": "string"
        },
        "hamlet": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      }
    },
    "opening_hours": {
      "type": "string",
      "contentMediaType": "text/vnd.osm.opening_hours",
      "xContentRole": "opening_hours"
    },
    "start_date": {
      "type": "string",
      "format": "date"
    },
    "end_date": {
      "type": "string",
      "format": "date"
    },
    "wheelchair": {
      "enum": [
        "yes",
        "no",
        "limited"
      ]
    },
    "internet_access": {
      "enum": [
        "wlan",
        "no"
      ]
    },
    "brand": {
      "type": "string"
    }
  },
  "$defs": {
    "multilingual": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "multilingual-uri": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "format": "uri"
      }
    }
  }
}