This event will be sent when a player is about to hit the ball, i.e, they are standing over the ball literally about to take their stroke.
Addressing Ball Object
Field Name
Type
Description
seqNum
integer
The sequence number of the packet.
groupId
integer
The group ID of the player who did the event
groupNo
integer
[Optional] The group number of the player who did the event
teamNo
integer
The team number of the player who did the event
playerId
integer
The player ID of the player who did the event
holeNo
integer
The hole in which the event took place
holeOrder
integer
The hole order of the hole in which the event took place (e.g. if a player starts a round on hole 10, this will be 1) – always starts at 1 and ends on 18
courseId
integer
The ID of the course where the event took place
strokeNo
integer
The stroke associated with the event
timestamp
date
The timestamp of the event, in UTC
timestampReceived
date
The server time of the moment that this packet has been processed
eventElementType
string
The type of event, in this case AddressingBall
provisionalIndex
integer
indicates if the event is part of a provisional ball. 0 if not, 1 if first provisional ball, 2 if second provisional ball for that stroke, e.t.c…
player
object
See object below
clubTypeCode
string
This is the type of Club a player used for the shot. NB. this is only populated for Drives.
roundNo
integer
The current round number
displayName
string
The full name or display name of that player
country
string
The affiliated country (typically birthplace)
gender
string
The gender of player
isAmateur
string
Is that player an amateur or not (true/false)
lastName
string
The surname of the player
firstName
string
The forename of that player
id
Integer
The Player unique Id
Club Types
clubTypeCode
Description
CDR
Driver
CFW
Fairway Wood
CIR
Iron
CUK
Unknown
Sample Event Packet:
This event will be sent as soon as the player has hit the ball.
Hit Ball Object
Field Name
Type
Description
seqNum
integer
The sequence number of the packet.
groupID
integer
The group ID of the player who did the event
groupNo
integer
[Optional] The group number of the player who did the event
teamNo
integer
The team number of the player who did the event
playerId
integer
The player ID of the player who did the event
holeNo
integer
The hole in which the event took place
holeOrder
integer
The hole order of the hole in which the event took place (e.g. if a player starts a round on hole 10, this will be 1) – always starts at 1 and ends on 18
courseId
integer
The ID of the course where the event took place
strokeNo
integer
The stroke associated with the event
timestamp
date
The timestamp of the event, in UTC
timestampReceived
date
The server time of the moment that this packet has been processed
eventElementType
string
The type of event, in this case HitBall
provisionalIndex
integer
indicates if the event is part of a provisional ball. 0 if not, 1 if first provisional ball, 2 if second provisional ball for that stroke, e.t.c…
player
object
See object below
roundNo
integer
round number of the event
score
object
See object below
displayName
string
The full name or display name of that player
country
string
The affiliated country (typically birthplace)
isAmateur
string
Is that player an amateur or not (true/false)
gender
string
the gender of the player
lastName
string
The surname of the player
firstName
string
The forename of that player
id
Integer
The Player unique Id
Score Object
Field Name
Type
Description
currentHoleStrokes
integer
The number of strokes that the team is on for that hole; Can be greater than ‘stroke’ above in the instance that the team has been awarded a penalty
currentHolePar
integer
The par score for the current hole
currentRoundScoreToPar
object
The team’s current ‘To Par’ score for the current round
overallScoreToPar
object
The team’s current ‘To Par’ score for the tournament
Sample Event Packet:
This will be sent as soon as we have any information on the lie of the ball. It is approximate because it assumes the data collector has not been able to get to where the ball has landed on the course, and will be estimating it’s lie based on a map.
Approximate Ball Lie Object
Field Name
Type
Description
seqNum
integer
The sequence number of the packet.
strokesAssessed
integer
Default as 1.
groupID
integer
The group ID of the player who did the event
groupNo
integer
[Optional] The group number of the player who did the event
teamNo
integer
The team number of the player who did the event
playerId
integer
The player ID of the player who did the event
holeNo
integer
The hole in which the event took place
holeOrder
integer
The hole order of the hole in which the event took place (e.g. if a player starts a round on hole 10, this will be 1) – always starts at 1 and ends on 18
courseId
integer
The ID of the course where the event took place
strokeNo
integer
The stroke associated with the event
timestamp
date
The timestamp of the event, in UTC
timestampReceived
date
The server time of the moment that this packet has been processed
eventElementType
string
The type of event, in this case ApproximateLie
ballLie
object
See object below
player
object
See object below
provisionalIndex
integer
indicates if the event is part of a provisional ball. 0 if not, 1 if first provisional ball, 2 if second provisional ball for that stroke, e.t.c…
Ball Lie Object
Field Name
Type
Description
coordinates
object
See object below
shotDistance
decimal
How far the shot went for that stroke. Data returned in meters.
distanceToPin
integer
How far the ball is from the pin. Data returned in meters
surfaceType
string
Text string which describes the lie of the ball, can be inconsistent across different data collection systems / Tours. We recommend using the 3 letter codes.
See Surface Types table below.
surfaceTypeCode
string
3 letter enum code which describes the lie of the ball.
See Surface Types table below.
obstructions
boolean
true if the team has an obstruction next to the ball that makes the ball hard to hit
blindshot
boolean
true if the team cannot see the pin from where they are taking the shot
distanceToPinProb
array
distance to ping probability - only for PGA events
isPredictionUnconfident
boolean
isWaterProbable
boolean
if the ball is in the water - only for PGA events
strokesToPinProb
array
strokes to ping probability - only for PGA events
coordinates object:
Field
Type
Description
x
decimal
X co-ordinate of the ball
y
decimal
Y co-ordinate of the ball
z
decimal
Z co-ordinate of the ball
Surface Types:
surfaceTypeCode
surfaceType
OFW
Fairway
OGR
Green
OIR
IntermediateRough
ORO
Rough or PrimaryRough
OST
FairwayBunker
OGS
Greenside Bunker
OCO
Fringe
ONA
NativeArea
OTO
Trees or TreeOutline
OBU
Bushes
ODS
Desert
OWA
Water
OTH
Other
OCA
CartPath
ODO
Dirt or DirtOutline
OTF
OtherFairway
OOB
OutOfBounds
OWB
WasteBunker
OUK
Unknown
displayName
string
The full name or display name of that player
country
string
The affiliated country (typically birthplace)
gender
string
The gender of the player
isAmateur
string
Is that player an amateur or not (true/false)
lastName
string
The surname of the player
firstName
string
The forename of that player
id
Integer
The Player unique Id
Sample Event Packet:
This will be sent as soon as we have more detailed information on the lie of the ball – I.e the data collector has been able to walk over to the lie of the ball and give the exact GPS location of the ball.
Detailed Ball Lie Object
Field Name
Type
Description
ballLie
object
See object below
seqNum
integer
The sequence number of the packet.
strokesAssessed
integer
Default as 1.
groupNo
integer
[Optional] The group number of the player who did the event
groupId
integer
the group Id of the player who did the event
teamNo
integer
The team number of the player who did the event
playerId
integer
The player ID of the player who did the event
player
object
See object below
holeNo
integer
The hole in which the event took place
holeOrder
integer
The hole order of the hole in which the event took place (e.g. if a player starts a round on hole 10, this will be 1) – always starts at 1 and ends on 18
courseId
integer
The ID of the course where the event took place
strokeNo
integer
The stroke associated with the event
timestamp
date
The timestamp of the event, in UTC
timestampReceived
date
The server time of the moment that this packet has been processed
eventElementType
string
The type of event, in this case ApproximateLie
provisionalIndex
integer
indicates if the event is part of a provisional ball. 0 if not, 1 if first provisional ball, 2 if second provisional ball for that stroke, e.t.c…
roundNo
integer
round number of the event
Ball Lie Object
Field Name
Type
Description
coordinates
decimal
Z co-ordinate of the ball
shotDistance
integer
How far the shot went for that stroke. Data returned in meters
distanceToPin
integer
How far the ball is from the pin. Data returned in meters
surfaceType
string
Text string which describes the lie of the ball, can be inconsistent across different data collection systems / Tours. We recommend using the 3 letter codes.
See Surface Types table above.
surfaceTypeCode
string
3 letter enum code which describes the lie of the ball.
See Surface Types table above.
obstructions
boolean
true if the team has an obstruction next to the ball that makes the ball hard to hit
blindshot
boolean
true if the team cannot see the pin from where they are taking the shot
coordinates object:
Field
Type
Description
x
decimal
X co-ordinate of the ball
y
decimal
Y co-ordinate of the ball
z
decimal
Z co-ordinate of the ball
displayName
string
The full name or display name of that player
country
string
The affiliated country (typically birthplace)
isAmateur
string
Is that player an amateur or not (true/false)
gender
string
The gender of the player
lastName
string
The surname of the player
firstName
string
The forename of that player
id
Integer
The Player unique Id
Sample Event Packet:
Will be sent when the ball has been holed.
Ball Holed Object
Field Name
Type
Description
seqNum
integer
The sequence number of the packet.
strokesAssessed
integer
Default as 1.
groupId
integer
The group Id of the player who did the event
groupNo
integer
[Optional] The group number of the player who did the event
teamNo
integer
The team number of the player who did the event
playerId
integer
The player ID of the player who did the event
holeNo
integer
The hole in which the event took place
holeOrder
integer
The hole order of the hole in which the event took place (e.g. if a player starts a round on hole 10, this will be 1) – always starts at 1 and ends on 18
courseId
integer
The ID of the course where the event took place
strokeNo
integer
The stroke associated with the event
timestamp
date
The timestamp of the event, in UTC
timestampReceived
date
The server time of the moment that this packet has been processed
eventElementType
string
The type of event, in this case BallHoled
score
object
See object below
roundNo
integer
round number in the event
player
object
see object below
provisionalIndex
integer
indicates if the event is part of a provisional ball. 0 if not, 1 if first provisional ball, 2 if second provisional ball for that stroke, e.t.c…
Player Object
displayName
string
The full name or display name of that player
country
string
The affiliated country (typically birthplace)
isAmateur
string
Is that player an amateur or not (true/false)
gender
string
The gender of the player
lastName
string
The surname of the player
firstName
string
The forename of that player
id
Integer
The Player unique Id
Score Object
Field Name
Type
Description
currentHoleStrokes
integer
The number of strokes that the team is on for that hole; Can be greater than ‘stroke’ above in the instance that the team has been awarded a penalty
currentHolePar
integer
The par score for the current hole
currentRoundScore
object
The team’s current ‘To Par’ score for the current round
overallScore
object
The team’s current ‘To Par’ score for the tournament
Sample Event Packet
← Hole: Started / FinishedPenalty Stroke →