{
  "type": "object",
  "required": [],
  "additionalProperties": true,
  "properties": {
    "local_name": {
      "type": "string"
    },
    "old_name": {
      "type": "string"
    },
    "short_name": {
      "type": "string"
    },
    "wikipedia": {
      "type": "string"
    },
    "wikidata": {
      "type": "string"
    },
    "addr:city": {
      "type": "string"
    },
    "contact:phone": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contact:mobile": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "mobile": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contact:website": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contact:email": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contact:facebook": {
      "type": "string"
    },
    "contact:instagram": {
      "type": "string"
    },
    "uic_ref": {
      "type": "string"
    },
    "ref:FR:CRTA": {
      "type": "string"
    },
    "ref:INSEE": {
      "type": "string"
    },
    "ref:FR:NAF": {
      "type": "string"
    },
    "ref:FR:SIREN": {
      "type": "string"
    },
    "ref:FR:SIRET": {
      "type": "string"
    },
    "seasonal": {
      "type": "array",
      "items": {
        "enum": [
          "yes",
          "no",
          "spring",
          "summer",
          "autumn",
          "winter"
        ]
      }
    },
    "collection_times": {
      "type": "string"
    },
    "opening_hours:url": {
      "type": "string"
    },
    "tactile_paving": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "operator": {
      "type": "string"
    },
    "operator:type": {
      "enum": [
        "association",
        "community",
        "cooperative",
        "government",
        "public",
        "private",
        "private_non_profit",
        "religious",
        "university"
      ]
    },
    "owner": {
      "type": "string"
    },
    "network": {
      "type": "string"
    },
    "office": {
      "enum": [
        "association",
        "company",
        "government",
        "coworking",
        "university",
        "it",
        "newspaper"
      ]
    },
    "bicycle_parking": {
      "enum": [
        "stands",
        "wide_stands",
        "lockers",
        "wall_loops",
        "safe_loops",
        "crossbar",
        "wave",
        "streetpod",
        "rack",
        "ground_slots",
        "anchors",
        "handlebar_holder",
        "shed",
        "bollard",
        "building",
        "floor"
      ]
    },
    "service:bicycle:retail": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:rental": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:cleaning": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:pump": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:repair": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:diy": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "service:bicycle:second_hand": {
      "enum": [
        "yes",
        "no"
      ]
    },
    "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"
    },
    "fast_food": {
      "enum": [
        "cafeteria"
      ]
    },
    "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"
        ]
      }
    },
    "boundary": {
      "enum": [
        "protected_area"
      ]
    },
    "leisure": {
      "enum": [
        "nature_reserve"
      ]
    },
    "water": {
      "enum": [
        "lake"
      ]
    },
    "protect_class": {
      "enum": [
        "4"
      ]
    },
    "natural": {
      "enum": [
        "bay",
        "mountain_range",
        "water"
      ]
    },
    "religion": {
      "enum": [
        "buddhist",
        "christian",
        "hindu",
        "muslim",
        "taoist"
      ]
    },
    "craft": {
      "enum": [
        "bakery",
        "beekeeper",
        "winery"
      ]
    },
    "healthcare": {
      "enum": [
        "pharmacy",
        "doctor"
      ]
    },
    "shop": {
      "enum": [
        "cheese",
        "pastry",
        "chemist",
        "gas"
      ]
    },
    "information": {
      "enum": [
        "office",
        "map",
        "board",
        "visitor_center"
      ]
    },
    "capacity:disabled": {
      "type": "integer"
    },
    "amenity": {
      "type": "string",
      "enum": [
        "drinking_water",
        "cafe",
        "fast_food",
        "ice_cream",
        "restaurant",
        "fuel",
        "church",
        "camping",
        "picnic_site"
      ]
    },
    "tourism": {
      "type": "string",
      "enum": [
        "artwork",
        "hotel",
        "viewpoint",
        "information"
      ]
    },
    "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",
        "designated"
      ]
    },
    "internet_access": {
      "enum": [
        "wlan",
        "no"
      ]
    },
    "brand": {
      "type": "string"
    }
  },
  "$defs": {
    "multilingual": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "multilingual-uri": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "format": "uri"
      }
    }
  }
}