# Incident Kinds Types

## Overview

The Incidents Queue delivers messages categorized by **Kind**. Each Kind represents a different type of event and has its own message structure and timing rules.

All incident messages share common fields (MessageId, Timestamp, Fixture, Decision Info, etc.) but each Kind has unique conditional fields that define its specific behavior.

| Kind                                            | Description                                                                                                                                                                                 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Score](#id-1.-score)                           | <p>Reports score changes when a scoring event occurs (goal, point, run, etc.). </p><p>Each period starts at 0-0 and position IDs remain constant throughout the match.</p>                  |
| [Period](#id-2.-period)                         | Reports period state changes when a period starts (Status = "Started") or ends (Status = "Finished") for halves, quarters, sets, etc.                                                       |
| [Statistic](#id-3.-statistic)                   | Reports in-game team statistics such as corners, yellow cards, attacks, shots, fouls, and offsides. Updates continuously as statistics change during the match.                             |
| [Player Statistic](#id-4.-playerstatistic)      | Reports individual player statistics such as shots on target, tackles, passes, and goals. Sent when player-specific events occur and accumulates throughout the match.                      |
| [VAR](#id-5.-var)                               | Reports Video Assistant Referee review processes and decisions. Sent when VAR review begins or when a VAR decision is made.                                                                 |
| [Timer](#id-5.-var)                             | Reports match clock and timing events. Sent periodically during the match and on timing events like stoppage time or injury time.                                                           |
| [Possession](#id-7.-possession)                 | Reports ball possession percentage for each team. Updates continuously during the match, typically every few seconds. Match-wide statistic with no period breakdown.                        |
| [Status Description](#id-8.-status-description) | Reports fixture-level status changes that are not tied to specific game events. Provides period-specific status updates.                                                                    |
| [Fixture Status](#id-9.-fixturestatus)          | Reports overall fixture status changes such as NSY (Not Started Yet), In Progress, Finished, Cancelled, Postponed, Interrupted, Abandoned, AboutToStart, etc. Status codes range from 0-10. |

***

### Core Incident Kinds

#### 1. Score&#x20;

**Purpose:** Reports score changes during the match

**When Sent:**

* Immediately when a scoring event occurs (goal, point, run, etc.)
* Each period starts at 0-0 and reports independently

**Position IDs remain constant throughout the match**

* Position 1 = Home team (entire match)
* Position 2 = Away team (entire match)

**Each period score resets to 0-0**

* 1st Half: Starts 0-0
* 2nd Half: Starts 0-0 (does not carry over from 1st half)
* Each period reports its own independent score&#x20;

***

#### 2. Period&#x20;

**Purpose:** Reports period state changes (start/end of halves, quarters, sets, etc.)

**When Sent:**

* When a period starts (Status = "Started")
* When a period ends (Status = "Finished")

***

#### 3. Statistic&#x20;

**Purpose:** Reports in-game statistics (corners, yellow cards, attacks, shots, etc.)

**When Sent:**

* Continuously throughout the match as statistics change
* Frequency varies by statistic type

***

#### 4. Player Statistic&#x20;

**Purpose:** Reports individual player statistics

**When Sent:**

* When player-specific events occur
* Accumulates throughout the match

***

#### 5. VAR&#x20;

**Purpose:** Reports VAR review processes and decisions

**When Sent:**

* When VAR review begins
* When VAR decision is made

***

#### 6. Timer&#x20;

**Purpose:** Reports match clock and timing events

**When Sent:**

* Periodically during the match
* On timing events (stoppage time, injury time, etc.)

***

#### 7. Possession&#x20;

**Purpose:** Reports ball possession percentage

**When Sent:**

* Continuously updates during match
* Typically every few seconds

***

#### 8. Status Description&#x20;

**Purpose:** Reports fixture-level status changes

**When Sent:**

* When overall match status changes
* Not tied to specific game events

***

#### 9. FixtureStatus&#x20;

**Purpose:** Reports overall fixture status changes

**When Sent:**

* When match status changes (NSY, InProgress, Finished, Cancelled, etc.)
