# FAQ

## How do I start the integration?

To begin integration:

1. **Schedule an onboarding call** with IMG Arena’s Integration Management team.
2. They will provide access credentials and walk you through the Sandbox tool.
3. **Use the `/tournament`** [**endpoint** ](https://docs.imgarena.com/golf-event-centre-integration-documentation/master/static-data)to retrieve an `eventID`.
4. This ID is required to initialize a tournament in the Sandbox environment.
5. [**Explore available modules**](https://docs.imgarena.com/golf-event-centre-integration-documentation/golf-ec-deep-linking/sandbox-examples) using the Sandbox interface.

* This helps validate view configurations and understand how the integration library behaves across different contexts.

## How do I build static data?

To generate static tournament data:

1. **Query the `/tournaments`** [**endpoint**](https://docs.imgarena.com/golf-event-centre-integration-documentation/master/static-data)**.**
   1. Use `dateFrom` and `dateTo` parameters to define the range.
   2. Example:

```
GET https://dde-api.imggaming.com/golf/tournaments?dateFrom=2022-01-01&dateTo=2022-12-31
```

* This returns all tournaments covered by IMG Arena within the specified period

2. **Query the `/schedule`** [**endpoint**](https://docs.imgarena.com/golf-event-centre-integration-documentation/master/static-data)**.**
   * For any active tournament week, use `/schedule` to retrieve tee-time data.
   * This includes groupings and timings for each round.

* Refer to the `/schedule` endpoint documentation for schema details and response structure.

## How do I map IMG Arena Event IDs to Internal systems IDs?

To perform tournament-level mapping:

1. **Query the `/tournaments` endpoint**
2. Extract key fields: `name`, `tour`, and `startDate`
3. These attributes are consistent across systems and suitable for matching
4. **Apply fuzzy matching logic**

* Use string similarity or date-based heuristics to align IMG Arena events with internal records
* This approach accounts for minor naming variations while leveraging universal identifiers like start date

Tip: Ensure your parser tolerates formatting differences (e.g., “The Masters” vs “Masters Tournament”) and supports partial matches when exact alignment isn’t guaranteed.

## What static data should I save and why?

To support reliable tournament mapping, scheduling, and market linking, save the following fields

| Parameter                                                  | Definition                                                                    | Purpose                                                                                                                                                                                     |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                                                       | Name of the tournament                                                        | To retrieve the tournament name related to the ID.                                                                                                                                          |
| startTeeTime                                               | Returns time of the first tee-off of the tournament                           | To determine the start time of the tournament. **Note that value will populate when the initial tee-times are made available. If tee-times are not available, then Null will be returned.** |
| isStreaming under golfCourses --> roundNo --> holes object | Returns which hole will have streaming enabled                                | Once the course details are made available, you can use this parameter to determine which hole will have streaming.                                                                         |
| id                                                         | Unique ID for the tournament                                                  | This ID returned will be the "eventID" used in the integration library. i.e this is the event ID needed to load the tournament via the event centre.                                        |
| tour                                                       | Returns the name of the federation of which the golf tournament is apart off. | Helps determine if the tour is apart of PGA, LPGA or DPWT. This will help when it comes to mapping. Note that we return "tour": "European Tour" for DPWT events.                            |
| startDate                                                  | Returns the start date of the tournament.                                     | This will help with mapping.                                                                                                                                                                |

From the `/tournaments` endpoint, persist the following fields to support tournament mapping, scheduling, and integration:

* **`name`**: Tournament name — used for display and fuzzy matching
* **`startDate`**: Tournament start date — critical for aligning with internal schedules
* **`id`**: Unique tournament identifier — passed as `eventID` when initializing the integration library
* **`tour`**: Federation or tour name (e.g., PGA, DPWT, LPGA) — used for filtering, categorization, and routing logic

These fields form the foundation for static data mapping and are essential for linking dynamic endpoints like `/schedule`, `/markets`, and `/leaderboard`.

#### **From the /tournament/{ID}/schedule endpoint:**

To support tee-time mapping, group-level targeting, and market linkage, store the following fields

| Parameter                                           | Definition                                                                            | Purpose                                                                                                                                                                                                                                                                                                       |
| --------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| startTime                                           | Start time for the group                                                              | expected time for when the group will start the hole.                                                                                                                                                                                                                                                         |
| date                                                | Stat date for the group                                                               | Start date of the group.                                                                                                                                                                                                                                                                                      |
| groupId                                             | Unique group ID for the group                                                         | You will need to save the groupId if you will be using initial context within the integration library. The GroupID will be useful when trying to link a 3/2 ball on the frontend to the 3/2ball markets. i.e so if a user clicks on a particular group the relevant markets will be displayed and vice versa. |
| teeSeq                                              | Tee Sequence for a given group. i.e "teeSeq": 4 means 4th group to start on the hole. | This will help you determine the ordering of the groups.                                                                                                                                                                                                                                                      |
| round                                               | The round the tee-times are related to.                                               | This will help determine which round the tee-time is related to.                                                                                                                                                                                                                                              |
| hole                                                | The hole that the group will start on, either will be 1 or 10                         | Will inform you which hole the groups are expected to started from.                                                                                                                                                                                                                                           |
| players within group--> groupNo --> teams--> teamNo | determine which players are within a group.                                           | Will inform you which players are within a group. This will help mapping at group level.                                                                                                                                                                                                                      |

#### What static data should I build from the `/tournament/{ID}/schedule` endpoint?

Before accessing this endpoint, ensure you have:

* **Tournament name**
* **Tournament ID (`eventID`)**
* **Estimated schedule release time** — typically **2 days before tournament start**

Static Data to Build by Round

<table><thead><tr><th width="177"></th><th></th></tr></thead><tbody><tr><td><code>groupId</code></td><td>Unique identifier for each group — used for market linkage and UI targeting</td></tr><tr><td><code>playerIds</code></td><td>List of players within the group — supports 2-Ball, 3-Ball, and Player Markets</td></tr><tr><td><code>teeTime</code></td><td>Scheduled start time — used for rendering and market activation</td></tr><tr><td><code>holeStart</code></td><td>Starting hole number (e.g., 1 or 10) — relevant for shotgun formats</td></tr><tr><td><code>groupOrder</code></td><td>Order of play — defines sequencing of groups within a roun</td></tr></tbody></table>

🧠 Release Timing Notes

* **Rounds 1 and 2**: Tee-times and groupings are released in advance (typically 48 hours before start)
* **Rounds 3 and 4**: Groupings are published after Round 2 completion, based on leaderboard standings

### When does a tournament start

* Use the `/tournament/{ID}` endpoint.
* Field: `startTeeTime`
* Returns the first scheduled tee-time (UTC).
* If not yet available, this field will return `null`

## When can I display the Golf Event Centre

* The Event Centre becomes renderable once **tee-times are available**.
* Use `startTeeTime` as the trigger to initialize the UI.

### When should I pull the `/schedule` endpoint

* Most tournaments run **Thursday–Sunday**.
* Initial schedule (Rounds 1 & 2) is typically available **Tuesday midday GMT**.
* Recommended polling:
* Every **minute on Tuesdays** for upcoming events.
* After completion of **Round 2 and Round 3** to retrieve updated groupings for Rounds 3 & 4.

### What format is `startTime`

* Format: `HH:MMZ` (UTC)
* `Z` indicates offset (e.g., `+01:00`, `-05:00`)

### When should I stop displaying the Event Centre

Recommended:

* Keep live until a few hours post-event.
* Event Centre supports displaying events up to **2–3 weeks in the past**.

### How do I track round status

* Use the `/leaderboards` **WebSocket** feed.
* Field: `roundStatuses`
  * Indicates: `notStarted`, `inProgress`, `suspended`, `finished`.
* Contact your Integration Manager for access.

### How do I test streaming

1. **Set up streaming in Sandbox**:
   1. Schedule a walkthrough with your Integration Manager.
2. **Generate streaming tokens**:
   1. Docs: [Token Creation Guide](/streaming-integration/authentication/token-creation.md)
   2. Node.js script: [Token Generator](/streaming-integration/authentication/token-creation/node.js-token-generator-code.md)
   3. Update your IP and ALC token in the script.
3. **Pass token + timestamp** into the Integration Library with your ALC Operator ID.
   1. Example: [Streaming Sandbox](https://codesandbox.io/s/group-detail-view-only-forked-rfq0li)
4. **Testing outside live hours**:
   1. Use the **weekly simulation** environment (*link to sim page*)

### How do I know if an event has streaming

1. Check `/tournament/{ID}`:
   1. Field: `holes[].isStreaming === true`
2. Request a **coverage schedule** from your Integration Manager.
3. View coverage in the **ALC platform**.

### What are the different coverage levels?

| Level | Data Type                                | Streaming            | Notes                   |
| ----- | ---------------------------------------- | -------------------- | ----------------------- |
| L1    | Shot-by-shot (`ShotlinkWithLaser`)       | ✅ 2 Par 3 holes      | Highest coverage        |
| L2    | Hole-by-hole (`ScoredWithWalkingScorer`) | ✅ (TV feed for LPGA) | Mid-tier coverage       |
| L3    | Leaderboards only (`HoleScoresOnly`)     | ❌                    | Minimal data, no stream |

### How to escalate issues?

* **During integration**: Contact your Integration/CSM team via your dedicated channel.
* **Post go-live**: Email <support@imgarena.com> — available 24/7/365.

### What are the SLAs for a live query?

For the response time for support:

* 15 minutes for the first response
* 15 minutes for the next update
* 30 minute intervals for any further updates thereafter

### What size of the iframe do you recommend?

* Minimum: **320px width × 362px height**
* Reducing height may cause UI misalignment.

### What is the quality of the stream?

* All streams run at **360p (728 Kbps)** due to broadcast rights.

### How is geo-blocking done for streaming?

* Geo-blocking is enforced **at operator level** by IMG Arena.
* Contact your Customer Solutions Manager for details.

### Can we get a list of player Id?

* Endpoint:\
  `https://dde-api.imggaming.com/golf/players`
* Returns: Player ID, name, country, DOB (if known), European Tour ID, PGA Tour ID.
* Contact your Integration Manager for access.

### What does Round "401" mean?

* Round `401` indicates a **playoff stage**

### What can I customise within the Iframe?

* Branding (colors, fonts, etc.) is customizable.
* Provide your brand guidelines to your Integration Manager.
* UX team can deliver mockups and a customization spec.

### How to pass your Google Analytics ID:

* Use the `options` field in the integration library:

`options: { videoPlaybackEnabled: true, userId: 'UA-XXXXXX-X' }`

* Contact IMG Integrations team if you need your GA ID.

### When are scoring levels available:

* **DPWT**: 7 days before tournament start
* **PGA**: Friday before event (\~5pm ET) with course data

### Current list of featured flags:

<table><thead><tr><th>Feature</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td>Disabling Favouriting</td><td>Allow you to disable the favouriting functionally</td><td></td></tr><tr><td>Disabling Searching</td><td>Allow you to disable the search functionally</td><td></td></tr><tr><td>Hole map default perspective</td><td>Allows the options to choose whether you would like the hole maps to show 2D or 3D by default.</td><td></td></tr><tr><td>Hole Map icons</td><td><p>Allows you to turn off any of the following icons:</p><ul><li>3D toggle</li><li>Reset</li><li>Full Screen</li><li>Green</li></ul></td><td></td></tr><tr><td>Leaderboard flags</td><td>Gives you the options of choosing whether you would like to show player flags next to their name.</td><td></td></tr><tr><td>Custom Favorite icon</td><td>Gives you the ability to have your own Fav icon.</td><td></td></tr><tr><td>Group Detail V2</td><td>On hole and shots view moves the player selector into the header to release more real estate to the map.</td><td></td></tr></tbody></table>

if you require the above feature flags, please liaise with the IMG Arena integrations team.


---

# 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-integration/faq.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.
