Full Events Streams schema

Please find a breakdown of the full schema for /events endpoint

Match Status Update:


    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },    
    "matchStatus": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "umpireCountry": {
          "type": "string"
        },
        "umpire": {
          "type": "string"
        },
        "teamAPlayer1": {
          "type": "string"
        },
        "tossChooser": {
          "type": "string"
        },
        "teamBPlayer2": {
          "type": "string"
        },
        "teamAPlayer2": {
          "type": "string"
        },
        "matchState": {
          "type": "object",
          "oneOf": [
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                },
                "suspensionType": {
                  "type": "string"
                }
              }
            },
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                },
                "team": {
                  "type": "string",
                  "enum": [
                    "TeamA",
                    "TeamB",
                    "UnknownTeam"
                  ]
                },
                "won": {
                  "type": "string",
                  "enum": [
                    "TeamA",
                    "TeamB",
                    "UnknownTeam"
                  ]
                },
                "challengeEnded": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            {
              "additionalProperties": false,
              "properties": {
                "treatmentLocation": {
                  "type": "string"
                },
                "treatmentStarted": {
                  "type": "string",
                  "format": "date-time"
                },
                "treatmentEnded": {
                  "type": "string",
                  "format": "date-time"
                },
                "evaluationStarted": {
                  "type": "string",
                  "format": "date-time"
                },
                "team": {
                  "type": "string"
                },
                "playerId": {
                  "type": "integer"
                },
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "team"
              ]
            },
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                },
                "team": {
                  "type": "string",
                  "enum": [
                    "TeamA",
                    "TeamB",
                    "UnknownTeam"
                  ]
                },
                "playerId": {
                  "type": "integer"
                },
                "reason": {
                  "type": "string"
                }
              },
              "required": [
                "team",
                "playerId",
                "reason"
              ]
            },
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                },
                "suspensionType": {
                  "type": "string"
                },
                "suspensionEnded": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            {
              "additionalProperties": false,
              "properties": {
                "locationTimestamp": {
                  "type": "string",
                  "format": "date-time"
                },
                "team": {
                  "type": "string",
                  "enum": [
                    "TeamA",
                    "TeamB",
                    "UnknownTeam"
                  ]
                },
                "toiletBreakEnded": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          ]
        },
        "teamBPlayer1": {
          "type": "string"
        },
        "numSets": {
          "type": "integer"
        },
        "scoringType": {
          "type": "string",
          "enum": [
            "StandardWithNoAdvScoringType",
            "ProSetScoringType",
            "LastSetTiebreak12ScoringType",
            "StandardScoringType",
            "MatchTieBreakScoringType",
            "ShortSetsScoringType",
            "ModernSetLongScoringType",
            "ModernSetShortScoringType",
            "SuddenDeathScoringType",
            "UnknownScoringType",
            "ATPShortSetScoringType",
            "ShortSetsNoAdvScoringType",
            "ATPShortSetNoAdvScoringType",
            "ModernSetWithNoAdvScoringType"
          ]
        },
        "firstServer": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "tossWinner": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "courtNum": {
          "type": "integer"
        },
        "teamAPlayersDetails": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "player1Id": {
              "type": "string"
            },
            "player2Id": {
              "type": "string"
            },
            "player1Country": {
              "type": "string"
            },
            "player2Country": {
              "type": "string"
            }
          },
          "required": [
            "player1Id",
            "player1Country"
          ]
        },
        "teamBPlayersDetails": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "player1Id": {
              "type": "string"
            },
            "player2Id": {
              "type": "string"
            },
            "player1Country": {
              "type": "string"
            },
            "player2Country": {
              "type": "string"
            }
          },
          "required": [
            "player1Id",
            "player1Country"
          ]
        },
        "umpireCode": {
          "type": "string"
        },
        "tieBreakType": {
          "type": "string"
        }
      },
      "required": [
        "teamAPlayer1",
        "scoringType",
        "teamBPlayer1",
        "matchState"
      ]
    }
  },
  "required": [
    "seqNum",
    "timestamp",
    "matchStatus"
  ]
}

Team Player Details:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TeamPlayersDetails$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "player1Id": {
      "type": "string"
    },
    "player2Id": {
      "type": "string"
    },
    "player1Country": {
      "type": "string"
    },
    "player2Country": {
      "type": "string"
    }
  },
  "required": [
    "player1Id",
    "player1Country"
  ]
}

Team Player Details:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TeamPlayersDetails$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "player1Id": {
      "type": "string"
    },
    "player2Id": {
      "type": "string"
    },
    "player1Country": {
      "type": "string"
    },
    "player2Country": {
      "type": "string"
    }
  },
  "required": [
    "player1Id",
    "player1Country"
  ]
}

Match State:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "MatchState$",
  "oneOf": [
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "suspensionType": {
          "type": "string"
        }
      }
    },
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "won": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "challengeEnded": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    {
      "additionalProperties": false,
      "properties": {
        "treatmentLocation": {
          "type": "string"
        },
        "treatmentStarted": {
          "type": "string",
          "format": "date-time"
        },
        "treatmentEnded": {
          "type": "string",
          "format": "date-time"
        },
        "evaluationStarted": {
          "type": "string",
          "format": "date-time"
        },
        "team": {
          "type": "string"
        },
        "playerId": {
          "type": "integer"
        },
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "team"
      ]
    },
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "playerId": {
          "type": "integer"
        },
        "reason": {
          "type": "string"
        }
      },
      "required": [
        "team",
        "playerId",
        "reason"
      ]
    },
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "suspensionType": {
          "type": "string"
        },
        "suspensionEnded": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    {
      "additionalProperties": false,
      "properties": {
        "locationTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "toiletBreakEnded": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  ]
}

Server:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "Server$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    },
    "member": {
      "type": "integer"
    }
  },
  "required": [
    "team"
  ]
}

Points Scored Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointScored$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "details": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "scoredBy": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "pointType": {
          "type": "string",
          "enum": [
            "Ace",
            "DoubleFault",
            "Standard",
            "UnknownPointType"
          ]
        }
      },
      "required": [
        "scoredBy",
        "pointType"
      ]
    }
  },
  "required": [
    "seqNum",
    "details",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Score:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TennisScore$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "currentGameScore": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "gameType": {
          "type": "string",
          "enum": [
            "StandardGame",
            "TieBreaker",
            "UnknownGameType"
          ]
        },
        "pointsA": {
          "type": "string"
        },
        "pointsB": {
          "type": "string"
        }
      },
      "required": [
        "gameType",
        "pointsA",
        "pointsB"
      ]
    },
    "currentSetScore": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "gamesA": {
          "type": "integer"
        },
        "gamesB": {
          "type": "integer"
        }
      },
      "required": [
        "gamesA",
        "gamesB"
      ]
    },
    "previousSetsScore": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "gamesA": {
            "type": "integer"
          },
          "gamesB": {
            "type": "integer"
          },
          "tieBreakScore": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "pointsA": {
                "type": "integer"
              },
              "pointsB": {
                "type": "integer"
              }
            },
            "required": [
              "pointsA",
              "pointsB"
            ]
          }
        },
        "required": [
          "gamesA",
          "gamesB"
        ]
      }
    },
    "overallSetScore": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "setsA": {
          "type": "integer"
        },
        "setsB": {
          "type": "integer"
        }
      },
      "required": [
        "setsA",
        "setsB"
      ]
    }
  },
  "required": [
    "currentGameScore",
    "currentSetScore",
    "previousSetsScore",
    "overallSetScore"
  ]
}

Current Game Score:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "GameScore$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "gameType": {
      "type": "string",
      "enum": [
        "StandardGame",
        "TieBreaker",
        "UnknownGameType"
      ]
    },
    "pointsA": {
      "type": "string"
    },
    "pointsB": {
      "type": "string"
    }
  },
  "required": [
    "gameType",
    "pointsA",
    "pointsB"
  ]
}

Current Set Score:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "InProgressSetScore$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "gamesA": {
      "type": "integer"
    },
    "gamesB": {
      "type": "integer"
    }
  },
  "required": [
    "gamesA",
    "gamesB"
  ]
}

Previous Set Score:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "CompletedSetScore$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "gamesA": {
      "type": "integer"
    },
    "gamesB": {
      "type": "integer"
    },
    "tieBreakScore": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "pointsA": {
          "type": "integer"
        },
        "pointsB": {
          "type": "integer"
        }
      },
      "required": [
        "pointsA",
        "pointsB"
      ]
    }
  },
  "required": [
    "gamesA",
    "gamesB"
  ]
}

Tie Break Score:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TieBreakScore",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "pointsA": {
      "type": "integer"
    },
    "pointsB": {
      "type": "integer"
    }
  },
  "required": [
    "pointsA",
    "pointsB"
  ]
}

Point Score Details:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointDetails$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "scoredBy": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    },
    "pointType": {
      "type": "string",
      "enum": [
        "Ace",
        "DoubleFault",
        "Standard",
        "UnknownPointType"
      ]
    }
  },
  "required": [
    "scoredBy",
    "pointType"
  ]
}

Overall Set Score Details:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "OverallSetScore$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "setsA": {
      "type": "integer"
    },
    "setsB": {
      "type": "integer"
    }
  },
  "required": [
    "setsA",
    "setsB"
  ]
}

Point Started Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointStarted$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Point Fault Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointFault$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "faultType": {
      "type": "string",
      "enum": [
        "Fault",
        "FootFault"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "faultType",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Point Replayed Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointReplayed$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Point Let Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PointLet$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

CodePenaltyPacket:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "CodePenalty$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "team",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Time Penalty Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TimePenalty$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "team",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Game Penalty Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "GamePenalty$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "team",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Undo Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "Undo$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Overrule Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "Overrule$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "numOverrules": {
      "type": "integer"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "score": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "currentGameScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gameType": {
              "type": "string",
              "enum": [
                "StandardGame",
                "TieBreaker",
                "UnknownGameType"
              ]
            },
            "pointsA": {
              "type": "string"
            },
            "pointsB": {
              "type": "string"
            }
          },
          "required": [
            "gameType",
            "pointsA",
            "pointsB"
          ]
        },
        "currentSetScore": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "gamesA": {
              "type": "integer"
            },
            "gamesB": {
              "type": "integer"
            }
          },
          "required": [
            "gamesA",
            "gamesB"
          ]
        },
        "previousSetsScore": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "gamesA": {
                "type": "integer"
              },
              "gamesB": {
                "type": "integer"
              },
              "tieBreakScore": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "pointsA": {
                    "type": "integer"
                  },
                  "pointsB": {
                    "type": "integer"
                  }
                },
                "required": [
                  "pointsA",
                  "pointsB"
                ]
              }
            },
            "required": [
              "gamesA",
              "gamesB"
            ]
          }
        }
      },
      "required": [
        "currentGameScore",
        "currentSetScore",
        "previousSetsScore"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "score",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Code Violation Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "CodeViolation$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    },
    "playerId": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "team",
    "matchTime",
    "reason",
    "timestamp",
    "playerId"
  ]
}

Time Violation:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TimeViolation$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    },
    "playerId": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "team",
    "matchTime",
    "timestamp",
    "playerId"
  ]
}

Physio Called Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PhysioCalled$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "timestamp"
  ]
}

Physio Cancelled Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "PhysioCancelled$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "timestamp"
  ]
} 

Swap Server Packet (Doubles Only):

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "SwapServer$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

Swap Receiver Packet (Doubles Only):

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "SwapReceiver$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "server": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "nextServer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "team": {
          "type": "string",
          "enum": [
            "TeamA",
            "TeamB",
            "UnknownTeam"
          ]
        },
        "member": {
          "type": "integer"
        }
      },
      "required": [
        "team"
      ]
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "nextServer",
    "timestamp"
  ]
}

On Court Coaching Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "OnCourtCoaching$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "status": {
      "type": "string"
    },
    "team": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "team",
    "status",
    "matchTime",
    "timestamp"
  ]
}

Time Announcement Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "TimeAnnouncement$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "time": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "seqNum",
    "timestamp",
    "time"
  ]
}

Move Umpires Chair Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "MoveUmpiresChair$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "timestamp"
  ]
}

Match Finished Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "MatchFinished$",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "delayStatus": {
      "type": "string"
    },
    "reason": {
      "type": "string",
      "enum": [
        "UnknownFinishedReason",
        "SuddenDeath",
        "FinishedReasonDefault",
        "Retirement",
        "Normally"
      ]
    },
    "matchTime": {
      "type": "string",
      "format": "time"
    },
    "seqNum": {
      "type": "integer"
    },
    "won": {
      "type": "string",
      "enum": [
        "TeamA",
        "TeamB",
        "UnknownTeam"
      ]
    }
  },
  "required": [
    "seqNum",
    "matchTime",
    "timestamp"
  ]
}

Alarm Packet:

{
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "$id": "Alarm",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "seqNum": {
      "type": "integer"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "lastReceivedTimestamp": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "seqNum",
    "timestamp",
    "lastReceivedTimestamp"
  ]
}

Last updated