# The Basics

## Overview

This section will cover the basic packets that will be a part of every game

## Point Started

This is the packet that starts the point.

* Point Started JSON

```
{
  "eventElementType": "PointStarted",
  "matchTime": "00:00:00",
  "nextServer": {
    "member": 1,
    "team": "TeamB"
  },
  "seqNum": 6,
  "server": {
    "member": 1,
    "team": "TeamB"
  },
  "timestamp": "2024-07-14T13:10:24.081Z"
}
```

#### Best Practice

Use 'Point Started' packets to automatically close markets and to suspend betting

## Fault

This packet indicates that a team has faulted on service.

* Fault JSON

```
{
  "eventElementType": "PointFault",
  "faultType": "Fault",
  "matchTime": "00:00:00",
  "nextServer": {
    "member": 1,
    "team": "TeamB"
  },
  "seqNum": 9,
  "server": {
    "member": 1,
    "team": "TeamB"
  },
  "timestamp": "2024-07-14T13:11:00.694Z"
}
```

## Point

A point packed is received whenever a player wins a point. They are generally standard, aces or double faults.

* Standard Point JSON
* Ace Point JSON
* Double Fault JSON

```
{
  "details": {
    "pointType": "Standard",
    "scoredBy": "TeamB"
  },
  "eventElementType": "PointScored",
  "matchTime": "00:00:07",
  "nextServer": {
    "member": 1,
    "team": "TeamB"
  },
  "score": {
    "currentGameScore": {
      "gameType": "StandardGame",
      "pointsA": "0",
      "pointsB": "15"
    },
    "currentSetScore": {
      "gamesA": 0,
      "gamesB": 0
    },
    "overallSetScore": {
      "setsA": 0,
      "setsB": 0
    },
    "previousSetsScore": []
  },
  "seqNum": 8,
  "server": {
    "member": 1,
    "team": "TeamB"
  },
  "timestamp": "2024-05-20T09:48:11.872Z"
}
```

## Game Won

When you receive a new packet, with a currentGameScore of 0-0, with the currentSetScore updated and the server being changed, this indicates that a player has won the previous game. The player who won the point will be the player who has won that particular game.

* Game Won JSON

```
{
  "details": {
    "pointType": "Standard",
    "scoredBy": "TeamB"
  },
  "eventElementType": "PointScored",
  "matchTime": "00:04:33",
  "nextServer": {
    "member": 1,
    "team": "TeamA"
  },
  "score": {
    "currentGameScore": {
      "gameType": "StandardGame",
      "pointsA": "0",
      "pointsB": "0"
    },
    "currentSetScore": {
      "gamesA": 0,
      "gamesB": 1
    },
    "overallSetScore": {
      "setsA": 0,
      "setsB": 0
    },
    "previousSetsScore": []
  },
  "seqNum": 26,
  "server": {
    "member": 1,
    "team": "TeamB"
  },
  "timestamp": "2024-05-20T09:52:37.809Z"
}
```

## Time Called

This packet indicates that the umpire has called time at the end of the changeover and that the match needs to continue

* Time Called JSON

```
{
  "eventElementType": "TimeAnnouncement",
  "matchTime": "00:22:11",
  "seqNum": 92,
  "time": "2024-07-14T14:32:14",
  "timestamp": "2024-07-14T13:32:14.072Z"
}
```
