{
  "type": "object",
  "required": [],
  "additionalProperties": true,
  "properties": {
    "event": {
      "title": "Non OSM",
      "type": "array",
      "items": {
        "enum": [
          "SaleEvent",
          "BricABrac",
          "FairOrShow",
          "Market",
          "OpenDay",
          "GarageSale",
          "BusinessEvent",
          "TrainingWorkshop",
          "ExecutiveBoardMeeting",
          "Congress",
          "BoardMeeting",
          "WorkMeeting",
          "Seminar",
          "SocialEvent",
          "LocalAnimation",
          "Carnival",
          "Parade",
          "TraditionalCelebration",
          "PilgrimageAndProcession",
          "ReligiousEvent",
          "CulturalEvent",
          "Concert",
          "Conference",
          "ArtistSigning",
          "ChildrensEvent",
          "Exhibition",
          "Festival",
          "Reading",
          "Opera",
          "TheaterEvent",
          "ScreeningEvent",
          "Recital",
          "VisualArtsEvent",
          "ShowEvent",
          "CircusEvent",
          "DanceEvent",
          "Harvest",
          "SportsEvent",
          "SportsCompetition",
          "SportsDemonstration",
          "Game",
          "Rally",
          "Rambling",
          "Other"
        ]
      }
    },
    "tourism": {
      "enum": [
        "hotel"
      ]
    },
    "stars": {
      "type": "string",
      "enum": [
        "1",
        "1S",
        "1.5",
        "2",
        "2S",
        "2.5",
        "3",
        "3S",
        "3.5",
        "4",
        "4S",
        "4.5",
        "5",
        "5S"
      ],
      "contentMediaType": "text/vnd.osm.stars"
    },
    "award:tournesol": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "award:soleil_camping": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "award:soleil_locatif": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 4,
      "xContentRole": "rating-scale"
    },
    "award:epi_camping": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 4,
      "xContentRole": "rating-scale"
    },
    "award:epi_locatif": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "xContentRole": "rating-scale"
    },
    "award:epi_gite": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "xContentRole": "rating-scale"
    },
    "award:cle": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "xContentRole": "rating-scale"
    },
    "award:toque": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 0,
      "maximum": 5,
      "xContentRole": "rating-scale"
    },
    "award:fleurs_locatif": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "xContentRole": "rating-scale"
    },
    "award:cheminee": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "award:lutin_bleu": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "award:lutin_blanc": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "award:lutin_rouge": {
      "title": "Non OSM",
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "xContentRole": "rating-scale"
    },
    "capacity": {
      "type": "integer"
    },
    "capacity:beds": {
      "type": "integer"
    },
    "capacity:rooms": {
      "type": "integer"
    },
    "capacity:persons": {
      "type": "integer"
    },
    "capacity:caravans": {
      "type": "integer"
    },
    "capacity:cabins": {
      "type": "integer"
    },
    "capacity:pitches": {
      "type": "integer"
    },
    "amenity": {
      "enum": [
        "cafe",
        "fast_food",
        "ice_cream",
        "restaurant"
      ]
    },
    "fast_food": {
      "enum": [
        "cafeteria"
      ]
    },
    "shop": {
      "enum": [
        "cheese",
        "pastry"
      ]
    },
    "organic": {
      "enum": [
        "yes",
        "no",
        "only",
        "limited"
      ]
    },
    "diet:vegan": {
      "enum": [
        "yes",
        "no",
        "only",
        "limited"
      ]
    },
    "diet:vegetarian": {
      "enum": [
        "yes",
        "no",
        "only",
        "limited"
      ]
    },
    "diet:kosher": {
      "enum": [
        "yes",
        "no",
        "only"
      ]
    },
    "diet:gluten_free": {
      "enum": [
        "yes",
        "no",
        "only",
        "limited"
      ]
    },
    "cuisine": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "african",
          "american",
          "asian",
          "bistronomique",
          "burger",
          "caribbean",
          "european",
          "fine_dining",
          "fish",
          "french",
          "indian",
          "japanese",
          "local",
          "meat",
          "mediterranean",
          "new_french",
          "pie",
          "pizza",
          "regional",
          "salad",
          "sandwich",
          "seafood",
          "south_american",
          "sushi",
          "tapas",
          "italian",
          "ice_cream",
          "spanish",
          "crepe",
          "international",
          "steak_house",
          "western",
          "arab",
          "latin_american",
          "chicken",
          "friture",
          "waffle",
          "greek",
          "kebab",
          "thai",
          "vietnamese",
          "fish_and_chips",
          "chinese",
          "argentinian",
          "coffee_shop",
          "hawaiian",
          "portuguese",
          "tex-mex",
          "barbecue",
          "brunch",
          "breakfast",
          "indonesian",
          "pasta",
          "oriental",
          "tea",
          "bistro",
          "brasserie",
          "gastronomique",
          "grill",
          "rotisserie",
          "tunisian",
          "cake"
        ]
      }
    },
    "route": {
      "type": "object",
      "properties": {
        "gpx_trace": {
          "type": "string"
        },
        "pdf": {
          "$ref": "#/$defs/multilingual"
        },
        "waypoint:type": {
          "enum": [
            "parking",
            "start",
            "end",
            "waypoint"
          ]
        }
      },
      "additionalProperties": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "difficulty": {
            "enum": [
              "easy",
              "normal",
              "hard"
            ]
          },
          "duration": {
            "title": "Duration in minutes",
            "type": "number"
          },
          "length": {
            "title": "Length in kilometer",
            "type": "number"
          }
        }
      }
    },
    "route_temp": {
      "enum": [
        "bus"
      ]
    },
    "colour": {
      "type": "string",
      "contentMediaType": "text/vnd.osm.html-color"
    },
    "colour:text": {
      "type": "string",
      "contentMediaType": "text/vnd.osm.html-color"
    },
    "highway": {
      "enum": [
        "bus_stop"
      ]
    },
    "public_transport": {
      "enum": [
        "platform",
        "stop_position",
        "station"
      ]
    },
    "bin": {
      "enum": [
        "no",
        "yes"
      ]
    },
    "lit": {
      "enum": [
        "no",
        "yes"
      ]
    },
    "bus": {
      "enum": [
        "yes"
      ]
    },
    "shelter": {
      "enum": [
        "no",
        "yes"
      ]
    },
    "covered": {
      "enum": [
        "no",
        "yes"
      ]
    },
    "bench": {
      "enum": [
        "no",
        "yes",
        "stand_up_bench",
        "wave_lounger"
      ]
    },
    "network": {
      "type": "string"
    },
    "route_ref": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "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"
      }
    }
  }
}