{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.sportops.it/formato/schema/eventi.schema.json",
  "title": "Eventi della società",
  "description": "Assemblee, feste, riunioni e ogni appuntamento che non sia una partita o un allenamento.",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Identificativo nella piattaforma."
      },
      "titolo": {
        "type": [
          "string",
          "null"
        ],
        "description": "Titolo dell'evento."
      },
      "descrizione": {
        "type": [
          "string",
          "null"
        ],
        "description": "Descrizione libera (può mancare)."
      },
      "data": {
        "type": [
          "string",
          "null"
        ],
        "format": "date",
        "description": "Giorno dell'evento."
      },
      "ora": {
        "type": [
          "string",
          "null"
        ],
        "description": "Ora di inizio, se indicata (HH:MM)."
      },
      "luogo": {
        "type": [
          "string",
          "null"
        ],
        "description": "Dove si tiene."
      },
      "squadra_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Squadra a cui è rivolto; vuoto se è di tutta la società."
      },
      "tipo": {
        "type": [
          "string",
          "null"
        ],
        "description": "Tipo dichiarato dalla società."
      },
      "visibilita": {
        "type": [
          "string",
          "null"
        ],
        "description": "public = visibile a tutti nella società; internal = solo allo staff."
      }
    },
    "required": [
      "id",
      "titolo",
      "descrizione",
      "data",
      "ora",
      "luogo",
      "squadra_id",
      "tipo",
      "visibilita"
    ],
    "additionalProperties": false
  }
}