{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GameInfo",
  "title": "GameInfo",
  "properties": {
    "GameId": {
      "type": "integer",
      "description": "The unique ID of this game"
    },
    "Season": {
      "type": "integer",
      "description": "The MLB season of the game"
    },
    "SeasonType": {
      "type": "integer",
      "description": "The type of season that this record corresponds to (1=Regular Season, 2=Preseason, 3=Postseason, 4=Offseason, 5=AllStar)."
    },
    "Day": {
      "type": [
        "string",
        "null"
      ],
      "description": "The day of the game"
    },
    "DateTime": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date and time of the game in US Eastern Time"
    },
    "Status": {
      "type": [
        "string",
        "null"
      ],
      "description": "Indicates the game's status. Possible values include: Scheduled; InProgress; Final; Suspended; Delayed; Postponed; Canceled; Forfeit; NotNecessary"
    },
    "AwayTeamId": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The unique TeamID of the away team"
    },
    "HomeTeamId": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The unique ID of the home team"
    },
    "AwayTeamName": {
      "type": [
        "string",
        "null"
      ],
      "description": "The abbreviation [Key] of the away team"
    },
    "HomeTeamName": {
      "type": [
        "string",
        "null"
      ],
      "description": "The abbreviation [Key] of the home team"
    },
    "GlobalGameId": {
      "type": "integer",
      "description": "A globally unique ID for this game. This value is guaranteed to be unique across all sports/leagues."
    },
    "GlobalAwayTeamId": {
      "type": [
        "integer",
        "null"
      ],
      "description": "A globally unique ID for the away team. This value is guaranteed to be unique across all sports/leagues"
    },
    "GlobalHomeTeamId": {
      "type": [
        "integer",
        "null"
      ],
      "description": "A globally unique ID for the home team. This value is guaranteed to be unique across all sports/leagues."
    },
    "PregameOdds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GameOdd"
      },
      "description": "List of Pregame GameOdds from different sportsbooks"
    },
    "LiveOdds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GameOdd"
      },
      "description": "Shows a list of live odds from different sportsbooks"
    },
    "HomeTeamScore": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Score of the home team (updated after game ends to allow for resolving bets)"
    },
    "AwayTeamScore": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Score of the away team (updated after game ends to allow for resolving bets)"
    },
    "TotalScore": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The combined scores of the home and away team of the game tied to this event (post-game)"
    },
    "HomeRotationNumber": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Rotation number of home team for this game"
    },
    "AwayRotationNumber": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Rotation number of away team for this game"
    },
    "AlternateMarketPregameOdds": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GameOdd"
      },
      "description": "List of Alternate Market Game Odds from different sportsbooks."
    }
  }
}