JSON Schema
- Viewer
- Schema
Loading ....
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "TennisMatchState",
"type": "object",
"additionalProperties": false,
"required": [
"source",
"fixtureId",
"sequence",
"messageTimestampUtc",
"isReliable",
"isCoverageCancelled",
"reliabilityReasons",
"bookmakerId",
"competitorOne",
"competitorTwo",
"stateOfPlay",
"match",
"scoringType",
"maximumNumberOfSets"
],
"properties": {
"source": {
"type": "string"
},
"fixtureId": {
"type": "string"
},
"sequence": {
"type": "integer",
"format": "int32"
},
"messageTimestampUtc": {
"type": "string",
"format": "date-time"
},
"isReliable": {
"type": "boolean"
},
"isCoverageCancelled": {
"type": "boolean"
},
"reliabilityReasons": {
"type": "object",
"x-dictionaryKey": {
"$ref": "#/definitions/reliabilityStatusType"
},
"additionalProperties": {
"type": "string"
}
},
"bookmakerId": {
"type": "integer",
"format": "int32"
},
"competitorOne": {
"$ref": "#/definitions/competitorDetails"
},
"competitorTwo": {
"$ref": "#/definitions/competitorDetails"
},
"stateOfPlay": {
"$ref": "#/definitions/matchStatus"
},
"server": {
"$ref": "#/definitions/playerIdentifier"
},
"firstServer": {
"$ref": "#/definitions/competitorIdentifier"
},
"match": {
"$ref": "#/definitions/match"
},
"scoringType": {
"x-deprecated": true,
"x-deprecatedMessage": "Use ScoringMethod",
"oneOf": [
{
"$ref": "#/definitions/scoringType"
}
]
},
"maximumNumberOfSets": {
"type": "integer",
"format": "int32",
"x-deprecated": true,
"x-deprecatedMessage": "Use NumberOfSets"
},
"numberOfSets": {
"type": "integer",
"format": "int32"
},
"scoringMethod": {
"$ref": "#/definitions/scoringType"
},
"finalSetType": {
"$ref": "#/definitions/finalSetType"
},
"finalSetTieBreakStartsAt": {
"type": "integer",
"format": "int32"
}
},
"definitions": {
"reliabilityStatusType": {
"type": "string",
"description": "",
"enum": [
"Heartbeat",
"FeedReliability",
"Coverage"
]
},
"competitorDetails": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"matchStatus": {
"type": "string",
"description": "",
"enum": [
"NotStarted",
"UmpireOnCourt",
"PlayersArriveOnCourt",
"WalkoverCompetitorOne",
"WalkoverCompetitorTwo",
"WarmingUp",
"Overrule",
"BetweenPoints",
"BetweenSets",
"PointInProgress",
"Challenge",
"PlaySuspended",
"PlayUnsuspended",
"ToiletBreak",
"MedicalTimeoutCompetitorOne",
"MedicalTimeoutCompetitorTwo",
"MedicalTreatmentCompetitorOne",
"MedicalTreatmentCompetitorTwo",
"BallMarkInspection",
"PostSuspensionWarmup",
"PostSuspensionMatchRestart",
"PhysioCalledCompetitorOne",
"PhysioCalledCompetitorTwo",
"PhysioCancelledCompetitorOne",
"PhysioCancelledCompetitorTwo",
"CoachingOnCourtCompetitorOne",
"CoachingOnCourtCompetitorTwo",
"CoachingOnCourtEndedCompetitorOne",
"CoachingOnCourtEndedCompetitorTwo",
"WinnerCompetitorOneByRetirementOrDefault",
"WinnerCompetitorTwoByRetirementOrDefault",
"WinnerCompetitorOne",
"WinnerCompetitorTwo"
]
},
"playerIdentifier": {
"type": "string",
"description": "",
"enum": [
"CompetitorOnePlayerOne",
"CompetitorOnePlayerTwo",
"CompetitorTwoPlayerOne",
"CompetitorTwoPlayerTwo"
]
},
"competitorIdentifier": {
"type": "string",
"description": "",
"enum": [
"CompetitorOne",
"CompetitorTwo"
]
},
"match": {
"type": "object",
"additionalProperties": false,
"required": [
"sets",
"scoreInSets",
"isConfirmedComplete"
],
"properties": {
"sets": {
"type": "array",
"items": {
"$ref": "#/definitions/set"
}
},
"scoreInSets": {
"$ref": "#/definitions/score"
},
"matchWinner": {
"$ref": "#/definitions/competitorIdentifier"
},
"startedAtUtc": {
"type": "string",
"format": "date-time"
},
"finishedAtUtc": {
"type": "string",
"format": "date-time"
},
"isConfirmedComplete": {
"type": "boolean"
}
}
},
"set": {
"type": "object",
"additionalProperties": false,
"required": [
"setNumber",
"games",
"scoreInGames",
"isConfirmedComplete"
],
"properties": {
"setNumber": {
"type": "integer"
},
"games": {
"type": "array",
"items": {
"$ref": "#/definitions/game"
}
},
"scoreInGames": {
"$ref": "#/definitions/score"
},
"winner": {
"$ref": "#/definitions/competitorIdentifier"
},
"startedAtUtc": {
"type": "string",
"format": "date-time"
},
"finishedAtUtc": {
"type": "string",
"format": "date-time"
},
"isConfirmedComplete": {
"type": "boolean"
}
}
},
"game": {
"type": "object",
"additionalProperties": false,
"required": [
"gameNumber",
"points",
"scoreInPoints",
"wonByPenalty",
"isConfirmedComplete"
],
"properties": {
"gameNumber": {
"type": "integer"
},
"points": {
"type": "array",
"items": {
"$ref": "#/definitions/point"
}
},
"scoreInPoints": {
"$ref": "#/definitions/gameScore"
},
"winner": {
"$ref": "#/definitions/competitorIdentifier"
},
"startedAtUtc": {
"type": "string",
"format": "date-time"
},
"finishedAtUtc": {
"type": "string",
"format": "date-time"
},
"wonByPenalty": {
"type": "boolean"
},
"isConfirmedComplete": {
"type": "boolean"
}
}
},
"point": {
"type": "object",
"additionalProperties": false,
"required": [
"pointNumber",
"scoreWhenPointStarted",
"actions",
"wonByPenalty",
"isConfirmedComplete"
],
"properties": {
"pointNumber": {
"type": "integer"
},
"server": {
"$ref": "#/definitions/playerIdentifier"
},
"winner": {
"$ref": "#/definitions/competitorIdentifier"
},
"scoreWhenPointStarted": {
"$ref": "#/definitions/matchScore"
},
"startedAtUtc": {
"type": "string",
"format": "date-time"
},
"finishedAtUtc": {
"type": "string",
"format": "date-time"
},
"actions": {
"type": "array",
"items": {
"$ref": "#/definitions/pointAction"
}
},
"wonByPenalty": {
"type": "boolean"
},
"isConfirmedComplete": {
"type": "boolean"
}
}
},
"matchScore": {
"type": "object",
"additionalProperties": false,
"required": [
"completedSets",
"currentSetScore",
"currentGameScore"
],
"properties": {
"completedSets": {
"type": "array",
"items": {
"$ref": "#/definitions/setScore"
}
},
"currentSetScore": {
"$ref": "#/definitions/score"
},
"currentGameScore": {
"$ref": "#/definitions/gameScore"
}
}
},
"setScore": {
"type": "object",
"additionalProperties": false,
"required": [
"scoreInGames",
"tiebreakScore"
],
"properties": {
"scoreInGames": {
"$ref": "#/definitions/score"
},
"tiebreakScore": {
"$ref": "#/definitions/score"
}
}
},
"score": {
"type": "object",
"additionalProperties": false,
"required": [
"competitorOne",
"competitorTwo"
],
"properties": {
"competitorOne": {
"type": "integer"
},
"competitorTwo": {
"type": "integer"
}
}
},
"gameScore": {
"type": "object",
"additionalProperties": false,
"required": [
"displayCompetitorOne",
"displayCompetitorTwo",
"competitorOne",
"competitorTwo"
],
"properties": {
"displayCompetitorOne": {
"type": "string"
},
"displayCompetitorTwo": {
"type": "string"
},
"competitorOne": {
"type": "integer"
},
"competitorTwo": {
"type": "integer"
}
}
},
"pointAction": {
"type": "object",
"additionalProperties": false,
"required": [
"actionType"
],
"properties": {
"actionType": {
"$ref": "#/definitions/pointActionType"
},
"timestampUtc": {
"type": "string",
"format": "date-time"
}
}
},
"pointActionType": {
"type": "string",
"description": "",
"enum": [
"PointStarted",
"Let",
"Fault",
"DoubleFault",
"Ace",
"CompetitorOneWon",
"CompetitorTwoWon",
"CompetitorOneChallenge",
"CompetitorTwoChallenge",
"ChallengeSuccessful",
"ChallengeFailed",
"Overrule",
"ReplayPoint"
]
},
"scoringType": {
"type": "string",
"description": "",
"enum": [
"Standard",
"StandardWithNoAdv",
"ShortSets",
"ShortSetsNoAdv",
"ProSet",
"MatchTieBreak",
"SuddenDeath",
"ModernSetShort",
"ModernSetLong",
"ModernSetWithNoAdv",
"Unknown"
]
},
"finalSetType": {
"type": "string",
"description": "",
"enum": [
"TieBreak",
"Advantage",
"MatchTieBreak"
]
}
}
}