# Penalties

## Overview

For further information about the type of penalties, please see [Sanctions](/table-tennis/live-data-scenarios/during-a-match/sanctions.md#sanctions-overview).\
If a sanction involves any point decrement due to a penalty, then the action has two parts. The first part is always a `Sanction` packet that describes the reason of a sanction (yellow and red card for the 1st time, or for the 2nd time, etc), followed by a [`PenaltyPoint`](#1-penalty-point-s) packet that contains the actual scores of the match, indicating a 1 point or 2 points decrements.

1. **Player** - Yellow Card 🟨
2. ~~**Coach** - Yellow Card~~ 🟨 (Currently not supported)
3. **Player** - Yellow and Red Card (1st) 🟨 🟥
4. **Player** - Yellow and Red Card (2nd) 🟨 🟥

## 1. Player - Yellow Card (Warning) 🟨

Showing a yellow card by the umpire is a warning to the player. If the player repeats the action or do something else wrong they can get a red card and then lose a point (See [Penalty Points](#penalty-points)). A `Sanction` packet, along with the `sanction type` will be emitted. (no penalty points).

```
{
    "eventElementType": "Sanction",
    "id": 0,
    "seqNum": 51,
    "sanctionType": "PlayerYellowCard",
    "team": "TeamA",
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z"
}
```

## 1. ~~Coach - Yellow Card~~ 🟨 (Currently not supported)

Showing a yellow card by the umpire is a warning to the coach. A `Sanction` packet, along with the `sanction type` will be emitted. (no penalty points).

```
{
    "eventElementType": "Sanction",
    "id": 0,
    "seqNum": 51,
    "sanctionType": "CoachYellowCard",
    "team": "TeamA",
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z"
}
```

## 1. Player - Yellow & Red Card (1st) 🟨 🟥

Showing a yellow and red card together for the 1st time means the player repeated any wrongdoing or did something else wrong and now losing a point (See [Penalty Points](#penalty-points)). After the `Sanction` packet, a [`PenaltyPoint`](#1-penalty-point-s) packet is emitted showing the current state of scores - 1 point decrement is expected.

```
{
    "eventElementType": "Sanction",
    "id": 0,
    "seqNum": 51,
    "sanctionType": "PlayerYellowRedOne",
    "team": "TeamA",
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z"
}
```

## 1. Player - Yellow & Red Card (2st) 🟨 🟥

Showing a yellow and red card together for the 2nd time means the player repeated any wrongdoing or did something else wrong and now losing a point (See [Penalty Points](#penalty-points)). After the `Sanction` packet, a [`PenaltyPoint`](#1-penalty-point-s) packet is emitted showing the current state of scores - 2 points decrement is expected.

```
{
    "eventElementType": "Sanction",
    "id": 0,
    "seqNum": 51,
    "sanctionType": "PlayerYellowRedTwo",
    "team": "TeamA",
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z"
}
```

## 1. Penalty Point(s)

Showing a yellow and red card together means the player repeated any wrongdoing or did something else wrong, and one or two points are awarded to the opponent for the offence(s). Before a `PenaltyPoint` packet, a `Sanction` is expected to be received (See [Player Yellow and Red 1 Card](#1-player-yellow-and-red-card-1-st) or [Player Yellow and Red 2 Card](#1-player-yellow-and-red-card-2-st)), and the current state of scores is being sent as part of the `PenaltyPoint` packet.

```
{
    "eventElementType": "PenaltyPoint",
    "id": 0,
    "seqNum": 26,
    "team": "TeamA",
    "matchScore": {
        "pointsA": 0,
        "pointsB": 0
    },
    "scores": [
        {
            "pointsA": 0,
            "pointsB": 11
        },
        {
            "pointsA": 5,
            "pointsB": 5
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        },
        {
            "pointsA": 0,
            "pointsB": 0
        }
    ],
    "game": 2,
    "timestamp": "1970-01-01T00:00:00.000Z"
}
```


---

# 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/table-tennis/live-data-scenarios/during-a-match/sanctions/game-penalties.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.
