# Provision Ball Selected

This event will be sent following when a player hits a provisional ball – it will indicate which of the provisional balls was chosen and how the player will continue their round.

Will be the event that follows any stroke events that have the provisionalIndex NOT set to 0.

**ProvisionalBallSelected Object**

| Field Name        | Type    | Description                                                                                                                                               |
| ----------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| seqNum            | integer | The sequence number of the packet.                                                                                                                        |
| 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 ID of the player who did the event                                                                                                               |
| player            | array   | 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                                                                                                                        |
| eventElementType  | string  | The type of event, in this case ProvisionalBallSelected                                                                                                   |
| 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…         |
| penaltyStrokes    | integer | The number of penalty strokes attributed to that particular provisional ball that was selected                                                            |
| ballLie           | array   | See object below                                                                                                                                          |
| provisionalResult | int     | the number of strokes assigned to that provisional ball selected                                                                                          |

**Ball Lie Object**

<table data-header-hidden><thead><tr><th width="178.33333333333331">Field Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Field Name</td><td>Type</td><td>Description</td></tr><tr><td>coordinates</td><td>object</td><td>See object below</td></tr><tr><td>shotDistance</td><td>integer</td><td>How far the shot went for that stroke. Data returned in meters.</td></tr><tr><td>distanceToPin</td><td>decimal</td><td>How far the ball is from the pin. Data returned in meters</td></tr><tr><td>surfaceType</td><td>string</td><td><p>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.</p><p>See Surface Types table below.</p></td></tr><tr><td>surfaceTypeCode</td><td>string</td><td><p>3 letter enum code which describes the lie of the ball.</p><p>See Surface Types table below.</p></td></tr><tr><td>obstructions</td><td>boolean</td><td>true if the team has an obstruction next to the ball that makes the ball hard to hit</td></tr><tr><td>blindshot</td><td>boolean</td><td>true if the team cannot see the pin from where they are taking the shot</td></tr></tbody></table>

**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 |

#### Player Object

<table><thead><tr><th width="195.5762711864407">Field Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>displayName</td><td>string</td><td>The full name or display name of that player</td></tr><tr><td>country</td><td>string</td><td>The affiliated country (typically birthplace)</td></tr><tr><td>gender</td><td>string</td><td>The gender of player</td></tr><tr><td>isAmateur</td><td>string</td><td>Is that player an amateur or not (true/false)</td></tr><tr><td>lastName</td><td>string</td><td>The surname of the player</td></tr><tr><td>firstName</td><td>string</td><td>The forename of that player</td></tr><tr><td>id</td><td>Integer</td><td>The Player unique Id</td></tr></tbody></table>

**Sample Event Packet**

```
{
    "holeNo": 15,
    "player": {
        "id": 8717,
        "gender": "male",
        "country": "BEL",
        "lastName": "Dumont De Chassart",
        "firstName": "Adrien",
        "isAmateur": False,
        "displayName": "Adrien Dumont De Chassart"
    },
    "seqNum": 257,
    "teamNo": 98,
    "ballLie": {
        "blindShot": False,
        "coordinates": {
            "x": 51.50338251877189,
            "y": 25.38905758536166,
            "z": None
        },
        "surfaceType": "Fairway",
        "obstructions": False,
        "shotDistance": None,
        "distanceToPin": 186.036710347744,
        "surfaceTypeCode": "OFW"
    },
    "groupId": 1192533,
    "groupNo": 29,
    "roundNo": 4,
    "courseId": "8",
    "playerId": 8717,
    "strokeNo": 1,
    "holeOrder": 15,
    "timestamp": "2025-02-09T12:02:25.000Z",
    "penaltyStrokes": 1,
    "eventElementType": "ProvisionalBallSelected",
    "provisionalIndex": 1,
    "provisionalResult": 3
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/golf-media/round-details-and-match-details-scenarios/provision-ball-selected.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
