Tennis

The rules of tennis can be found here:


Note: rules can vary between competitions.
This document describes the V3 tennis match state contract.

Match Summary Message

The summary message summarises the major match events into a single, easily digested message.

{
"Source":Betgenius,
"BetgeniusFixtureId":3415011,
"SourceFixtureId":null,
"BookmakerId":6002,
"CompetitorA":{},
"CompetitorB":{},
"IsReliable":true,
"IsScoreConfirmed":True,
"StateOfPlay":"BetweenPoints",
"Server":"CompetitorA",
"Match":{},
"StartedAt":"2015-10-01T15:15:40.951Z",
"FinishedAt":null,
"MessageTimestampUtc":"2015-10-01T15:15:44.955Z"
} 

Element

Type

Description

Source

String

The source of the data, typically the name of the company analysing the match

BetgeniusFixtureId

Integer

An immutable identifier for the fixture

SourceFixtureId

String

The fixture ID used by the data source if data source is not Betgenius

BookmakerId

Integer

An immutable identifier for the customer

CompetitorA

CompetitorDetails

An object that describes Competitor A

CompetitorB

CompetitorDetails

An object that describes Competitor B

IsReliable

Boolean

True if the data values are reliable, False otherwise

IsScoreConfirmed

Boolean

True if this score has been confirmed, False otherwise

StateOfPlay

MatchStatus

An enum describing the current state of play. Values:
NotStarted
WalkoverCompetitorOne (CompetitorOne wins)
WalkoverCompetitorTwo (CompetitorTwo wins)
OnCourt
WarmingUp
BetweenPoints
PointInProgress
Challenge
PlaySuspended
ShortDelay
MedicalTimeoutCompetitorOne
MedicalTimeoutCompetitorTwo
WinnerCompetitorOneByRetirementOrDefault
WinnerCompetitorTwoByRetirementOrDefault
WinnerCompetitorOne
WinnerCompetitorTwo

Server

CompetitorIdentifier

An object that indicates which competitor is serving

Match

Match

An object that describes the match score

StartedAt

DateTime, optional

The UTC time that the fixture started, if complete; null otherwise

FinishedAt

DateTime, optional

The UTC time that the fixture ended, if complete; null otherwise

MessageTimestampUtc

DateTime

The UTC time that the message is sent


CompetitorDetails

Describes a player in a tennis match.

{
"Id":"6546872",
"Name":"Andy Murray"
} 

Element

Type

Description

Id

String

An immutable ID for the player

Name

String

The name of the player


Match

Describes the current score in a tennis match.

{
"MatchScore":{},
"IsMatchComplete":false,
"IsDataComplete":true,
"Sets":[],
"Statistics":{}
} 

Element

Type

Description

MatchScore

Score

An object that describes the score in sets, games and points

IsMatchComplete

Boolean

True if the match is complete, false otherwise

IsDataComplete

Boolean

True if the data is complete, false otherwise

Sets

Set

An array of set objects

Statistics

CompetitorStatistics

An object holding statistics for each competitor


Set

Describes the score in a set of a tennis match.

{
"SetNumber":1,
"SetScore":{},
"IsSetComplete":true,
"IsDataComplete":true,
"SetType":Advantage,
"Games":[],
"Statistics":{},
"TieBreakStartsAt":1
} 

Element

Type

Description

SetNumber

Short

The number of the set within the match

SetScore

Score

The set score in games

IsSetComplete

Boolean

True if the set is complete, false otherwise

IsDataComplete

Boolean

True if the data is complete, false otherwise

SetType

SetType

An enum indicating the rules that will determine how the set winner will be decided if the score reaches 6-6. Values:
Advantage
Tiebreak
MatchTiebreak

Games

Game

An array of game objects detailing the outcome of individual games

Statistics

CompetitorStatistics

An object holding statistics for each competitor

TieBreakStartsAtInteger

Null or an integer, defines the number of tied games (6-6,10-10,12-12) required for the tiebreak to start in this specific set.

Example, if the tie break starts at 6-6 the value is 6

If tie break is not used, the value is set to null


CompetitorStatistics

Contains statistics about a players performance within the set or match.

{
"Competitor":{},
"FirstServeAces":2,
"FirstServePointsWonByServer":4,
"FirstServePointsWonByReceiver":4,
"SecondServeAces":0,
"SecondServeFaults":0,
"SecondServePointsWonByServer":0,
"SecondServePointsWonByReceiver":0,
"BreakPointsFaced":0,
"BreakPointsLost":0
} 

Element

Type

Description

Competitor

CompetitorIdentifier

An array describing the competitor to whom these statistics apply

FirstServeAces

Short

The number of aces awarded to the player from their first serve

FirstServePointsWonByServer

Short

The number of points won by the server on their first serve

FirstServerPointsWonByReceiver

Short

The number of points won by the receiver from the server's first serve

SecondServeAces

Score

The number of aces awarded to the player from their second serves

SecondServeFaults

Short

The number of double faults committed by the player

SecondServePointsWonByServer

Short

The number of points won by the server on their second server

SecondServePointsWonByReceiver

Short

The number of points won by the receiver on the server's second server

BreakPointsFaced

Short

The number of break points faced by the competitor

BreakPointsLost

Short

The number of break points lost by the competitor


Game

Describes the score in a game of a tennis match.

{
"GameNumber":1,
"GameScore":{},
"IsGameComplete":true,
"IsDataComplete":true,
"GameType":Standard,
"Points":[]
} 

Element

Type

Description

GameNumber

Short

The number of the game within the set

GameScore

Score

The game score in points and in standard tennis format

IsGameComplete

Boolean

True if the game is complete, false otherwise

IsDataComplete

Boolean

True if the data is complete, false otherwise

GameType

GameType

An enum indicating how the winner of the game will be decided if the score reaches 40-40. Values:
Standard
NoAd
Tiebreak
MatchTiebreak

Points

Point

An array of point objects detailing the outcome of individual points


GameScore

Describes the score in a game of a tennis match.

{
"DisplayCompetitorOneScore":"30",
"DisplayCompetitorTwoScore":"40",
"CompetitorOneScore":2,
"CompetitorTwoScore":3,
} 

Element

Type

Description

DisplayCompetitorOneScore

String

Competitor One's score in standard tennis nomenclature. Values for normal game:
0
15
30
40
A
Game

In a tiebreak game, score will be presented as an integer.

DisplayCompetitorTwoScore

String

Competitor Two's score in standard tennis nomenclature. Values for normal game:
0
15
30
40
A
Game

In a tiebreak game, score will be presented as an integer.

CompetitorOneScore

Short

A count of points scored by Competitor One

CompetitorTwoScre

Short

A count of points scored by Competitor Two


Match Details Message

Tennis match details messages provide the same kind of data as summaries do, however a full timeline of the event is kept available within any given message. 

{
"Source":Betgenius,
"BetgeniusFixtureId":3415011,
"SourceFixtureId":null,
"BookmakerId":6002,
"CompetitorA":{},
"CompetitorB":{},
"IsReliable":true,
"IsScoreConfirmed":True,
"StateOfPlay":"BetweenPoints",
"Server":"CompetitorA",
"Match":{},
"MessageTimestampUtc":"2015-10-01T15:15:44.955Z"
} 

Element

Type

Description

Source

String

The source of the data, typically the name of the company analysing the match

BetgeniusFixtureId

Integer

An immutable identifier for the fixture

SourceFixtureId

String

The fixture ID used by the data source if data source is not Betgenius

BookmakerId

Integer

An immutable identifier for the customer

CompetitorA

CompetitorDetails

An object that describes Competitor A

CompetitorB

CompetitorDetails

An object that describes Competitor B

IsReliable

Boolean

True if the data values are reliable, False otherwise

IsScoreConfirmed

Boolean

True if this score has been confirmed, False otherwise

StateOfPlay

MatchStatus

An enum describing the current state of play. Values:
NotStarted
WalkoverCompetitorOne (CompetitorOne wins)
WalkoverCompetitorTwo (CompetitorTwo wins)
OnCourt
WarmingUp
BetweenPoints
PointInProgress
Challenge
PlaySuspended
ShortDelay
MedicalTimeoutCompetitorOne
MedicalTimeoutCompetitorTwo
WinnerCompetitorOneByRetirementOrDefault
WinnerCompetitorTwoByRetirementOrDefault
WinnerCompetitorOne
WinnerCompetitorTwo

Server

CompetitorIdentifier

An object that indicates which competitor is serving

Match

Match

An object that describes the match score

MessageTimestampUtc

DateTime

The UTC time that the message is sent

Points

Describes a point in a game of a tennis match.

{
"PointNumber":1,
"Server":{},
"IsInSequence":true,
"IsDataComplete":true,
"Actions":[]
} 

Element

Type

Description

PointNumber

Short

The number of the point within the game

Server

CompetitorIdentifer

An object that indicates which competitor is serving

IsInSequence

Boolean

True if Point is in sequence, false otherwise

IsDataComplete

Boolean

True if the data is complete, false otherwise

Actions

PointAction

A collection of point actions describing the history of the point


PointAction

Describes a point in a game of a tennis match.

{
"ActionType":PointStarted,
"TimestampUtc":"2015-10-01T15:15:44.9551641Z"
} 

Element

Type

Description

ActionType

PointActionType

The type of point action. Values
PointStarted
Let
Fault
Ace
ServerWon
ReceiverWon
ChallengeServer
ChallengeReceiver
ChallengeFailed
ChallengeSuccessful

TimestampUtc

Datetime

The time in UTC at which the action was recorded by the Umpire