{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://schema.mydesignsystem.com/event-location.schema.json",
  "title": "Event Location",
  "description": "Event location component for displaying event dates, location details, and related links.",
  "type": "object",
  "properties": {
    "dates": {
      "title": "Dates",
      "description": "List of dates of the event",
      "type": "array",
      "items": {
        "$ref": "http://schema.mydesignsystem.com/event-appointment.schema.json"
      }
    },
    "locationName": {
      "title": "Location Name",
      "description": "Name of the event location",
      "type": "string",
      "examples": ["Berlin Congress Center"]
    },
    "displayMode": {
      "title": "Display Mode",
      "description": "Spacious is recommended for 1-2 appointments, Compact for more than 2.",
      "type": "string",
      "enum": ["spacious", "compact"],
      "default": "spacious"
    },
    "address": {
      "title": "Address",
      "description": "Address of the appointment",
      "type": "string",
      "examples": [
        "Berlin Congress Center<br />Alexanderplatz 1<br />10178 Berlin"
      ]
    },
    "links": {
      "title": "Links",
      "description": "Links related to the event location",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "label": {
            "type": "string"
          },
          "newTab": {
            "type": "boolean",
            "default": true,
            "description": "Open link in a new tab"
          }
        },
        "required": ["url", "label"]
      }
    }
  },
  "additionalProperties": false
}
