# Event Disconnections

\
Overview
--------

Our API sends heartbeats every 10 seconds to still indicate a healthy connection to the event.

However, if there are local connection/power issues at an event we will send an alarm packet. From that point on, we will send a new alarm packet every 25 seconds until the connection is restored at which point we will reconstruct all of the lost packets.

Whilst we aim to limit this, in global areas with limited internet infrastructure there will always unfortunately be an amount of connectivity issues. This is improving year on year.

## Alarm Packets

As soon as we are aware there are connectivity issues, we will issue an alarm packet much like the following:

* ALARM JSON

```
{
  "seqNum": 13,
  "timestamp": "2022-06-27T15:11:19.582Z",
  "eventElementType": "Alarm",
  "lastReceivedTimestamp": "2022-06-27T15:10:55.471Z"
}
```

#### Best Practice

You should use Alarm packets to suspend markets

## Reconstructed Packets

If the connectivity issues persist and the players continue to play, we may not deliver packets live. As soon as connectivity is re-established, we will reconstruct all of the missing keystrokes, as live. They should not be treated as live but will provide an accurate point-by-point description of what happened.

An example of a reconstructed packet is as follows:

* RECONSTRUCTED JSON

```
{
  "server": {
    "team": "TeamA"
  },
  "timestamp": "2022-06-27T15:11:26.277Z",
  "nextServer": {
    "team": "TeamA"
  },
  "delayStatus": "RECONSTRUCTED",
  "score": {
    "currentSetScore": {
      "gamesA": 0,
      "gamesB": 0
    },
    "overallSetScore": {
      "setsA": 0,
      "setsB": 0
    },
    "currentGameScore": {
      "pointsA": "30",
      "pointsB": "0",
      "gameType": "StandardGame"
    },
    "previousSetsScore": []
  },
  "eventElementType": "PointScored",
  "matchTime": "00:01:21",
  "seqNum": 14,
  "details": {
    "scoredBy": "TeamA",
    "pointType": "Standard"
  }
}
```

## Inaccurately Reconstructed Packets

In the event that a match goes offline and we need to reconstruct the keystrokes, we will attempt to reconstruct the correct keystroke sequence up to the confirmed state of the match upon the match coming back online.

If we are unable to do so, the keystroke packets that we know are inaccurate will be marked with RECONSTRUCTION INACCURATE. You should assume these are inaccurate and these should not be used to settle point-by-point markets.

Please note that these are incredibly rare.


---

# 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/tennis/live-data-scenarios-1/event-disconnections.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.
