Badminton
- Martin Mand
- Martin Kuks
- Tonis Danilson
The rules of Badminton can be found here: https://corporate.bwfbadminton.com/statutes/
This document describes the V1 Badminton match state contract.
Match Summary Message
The Summary message summarises the major match events into a single, easily digested message.
{ "FixtureId":"3421547", "CustomerId":6444, "CompetitorOne":{}, "CompetitorTwo":{}, "IsDoublesMatch":false, "CurrentServer":"CompetitorOnePlayerOne", "CurrentScore":{}, "MatchStatus":"BetweenPoints", "IsReliable":true, "MessageTimestampUtc":"2015-10-01T15:15:44.9551641Z" "IsCoverageCancelled":false }
Element | Type | Description |
---|---|---|
FixtureId | Integer | An immutable identifier for the event |
CustomerId | Integer | An immutable identifier for the customer |
CompetitorOne | Competitor | An object describing competitor one |
CompetitorTwo | Competitor | An object describing competitor two |
IsDoublesMatch | Boolean | True if this is a doubles match, false otherwise |
CurrentServer | PlayerIdentifier, optional | An enum describing the current server. Values |
CurrentScore | MatchScore | An object that describes the current match score |
MatchStatus | MatchStatus | An enum that describes the current state of the match. Possible values are: |
IsReliable | Boolean | True if the data values are reliable, False otherwise |
MessageTimestampUtc | DateTime | The time that the message was generated |
IsCoverageCancelled | Boolean | False normally, true if coverage has been cancelled |
CoverageCancelledAt | Datetime, optional | If coverage is cancelled, the time at which coverage was canceleld |
Competitor
Describes a competitor in a badminton match.
{ "Id":"6546872", "Name":"Andy Murray", "PlayerOne":{}, "PlayerTwo":{} }
Element | Type | Description |
---|---|---|
Id | String | An immutable ID for the competitor |
Name | String | The name of the competitor |
PlayerOne | Player | An object describing player one |
PlayerTwo | Player | An object describing player two |
Player
Describes a player in a badminton match.
{ "Id":"6546872", "Name":"Andy Murray", }
Element | Type | Description |
---|---|---|
Id | String | An immutable ID for the player |
Name | String | The name of the player |
MatchScore
An object that describes the current match score.
{ "ScoreInGames":{}, "ScoreInPoints":{} }
Element | Type | Description |
---|---|---|
ScoreInGames | Score | An object that describes the current score in games |
ScoreInPoints | Score | An object that describes the score of the current set in points |
Score
An object that describes a score.
{ "CompetitorOne":6, "CompetitorTwo":3 }
Element | Type | Description |
---|---|---|
CompetitorOne | Integer | CompetitorOne's score |
CompetitorTwo | Integer | CompetitorTwo's score |
Match Details Message
The Details message provides details of every action that has taken place in a match.
{ "FixtureId":"3421547", "CustomerId":6444, "CompetitorOne":{}, "CompetitorTwo":{}, "IsDoublesMatch":false, "CurrentServer":"CompetitorOnePlayerOne", "CurrentScore":{}, "MatchStatus":"BetweenPoints", "IsReliable":true, "MessageTimestampUtc":"2015-10-01T15:15:44.9551641Z" "IsCoverageCancelled":false }
Element | Type | Description |
---|---|---|
FixtureId | Integer | An immutable identifier for the event |
CustomerId | Integer | An immutable identifier for the customer |
CompetitorOne | Competitor | An object describing competitor one |
CompetitorTwo | Competitor | An object describing competitor two |
IsDoublesMatch | Boolean | True if this is a doubles match, false otherwise |
CurrentServer | PlayerIdentifier, optional | An enum describing the current server. Values |
Match | Match | An object that describes events so far within the match |
MatchStatus | MatchStatus | An enum that describes the current state of the match. Possible values are: |
IsReliable | Boolean | True if the data values are reliable, False otherwise |
MessageTimestampUtc | DateTime | The time that the message was generated |
IsCoverageCancelled | Boolean | False normally, true if coverage has been cancelled |
CoverageCancelledAt | Datetime, optional | If coverage is cancelled, the time at which coverage was cancelled |
Match
A collection of objects describing events so far in the match.
{ "Games":{}, "ScoreInGames":{}, "MatchWinner":{}, "StartedAtUtc":"2015-10-01T15:14:04.9551641Z", "FinishedAtUtc":"2015-10-01T15:14:46.3875293Z" "IsConfirmedComplete":true, }
Element | Type | Description |
---|---|---|
Games | GameCollection | The number of the point being described |
ScoreInGames | Score | True if the point is in sequence, false otherwise |
MatchWinner | CompetitorIdentifier, optional | An object describing the winner of the match if the match has ended |
StartedAtUtc | DateTime, optional | The time at which the match started. Null if this information is not available. |
FinishedAtUtc | DateTime, optional | The time at which the match ended if the match has ended and the information is available, Null otherwise |
IsConfirmedComplete | Boolean | The match score at the time that the point began |
Point
A collection of objects describing a point.
{ "PointNumber":1, "IsInSequence":true, "IsConfirmed":true, "Server":"TeamOne", "StartedAtUtc":"2015-10-01T15:14:44.9551641Z", "Winner":"TeamOne", "WonAtUtc":"2015-10-01T15:14:46.3875293Z", "ScoreWhenPointStarted":{} }
Element | Type | Description |
---|---|---|
PointNumber | Integer | The number of the point being described |
IsInSequence | Boolean | True if the point is in sequence, false otherwise |
IsConfirmed | Boolean | True if the point has been confirmed, false otherwise |
Server | TeamIdentifier | The team that is currently serving |
StartedAtUtc | DateTime, optional | The time at which the point started. Null if this information is not available. |
Winner | TeamIdentifier, optional | The team that won the point if the point is complete, Null otherwise |
WonAtUtc | DateTime, optional | The time at which the point was won if the point is complete and the information is available, Null otherwise |
ScoreWhenPointStarted | MatchScore | The match score at the time that the point began |