{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.sportops.it/formato/schema/partite.schema.json",
  "title": "Partite",
  "description": "Amichevoli, tornei e campionato, con il risultato. La squadra della società è «squadra_casa_id» o «squadra_trasferta_id» (o entrambe, in un'amichevole interna).",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Identificativo."
      },
      "tipo": {
        "type": [
          "string",
          "null"
        ],
        "description": "amichevole, interna, torneo, campionato.",
        "enum": [
          "amichevole",
          "interna",
          "torneo",
          "campionato",
          null
        ]
      },
      "data_ora": {
        "type": [
          "string",
          "null"
        ],
        "format": "date-time",
        "description": "Calcio d'inizio."
      },
      "ritrovo_ora": {
        "type": [
          "string",
          "null"
        ],
        "format": "date-time",
        "description": "Orario di ritrovo."
      },
      "squadra_casa_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ squadre.id, se la nostra squadra gioca in casa."
      },
      "squadra_trasferta_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ squadre.id, se la nostra squadra gioca in trasferta."
      },
      "avversaria_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ squadre_avversarie.id"
      },
      "avversaria_nome": {
        "type": [
          "string",
          "null"
        ],
        "description": "Nome dell'avversaria, per leggere senza incrociare."
      },
      "campionato_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ campionati.id"
      },
      "struttura_id": {
        "type": [
          "integer",
          "null"
        ],
        "description": "→ strutture.id"
      },
      "stato": {
        "type": [
          "string",
          "null"
        ],
        "description": "Stato della partita (programmata, in corso, conclusa…)."
      },
      "risultato_casa": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Gol/punti della squadra di casa."
      },
      "risultato_trasferta": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Gol/punti della squadra in trasferta."
      },
      "note": {
        "type": [
          "string",
          "null"
        ],
        "description": "Note."
      }
    },
    "required": [
      "id",
      "tipo",
      "data_ora",
      "ritrovo_ora",
      "squadra_casa_id",
      "squadra_trasferta_id",
      "avversaria_id",
      "avversaria_nome",
      "campionato_id",
      "struttura_id",
      "stato",
      "risultato_casa",
      "risultato_trasferta",
      "note"
    ],
    "additionalProperties": false
  }
}