Ice Hockey
The rules of Ice-Hockey can be found here:
Note: not all data elements are available for all matches due to differing information availability and coverage methods.
This document describes the V3 Ice-Hockey match state contract.
Match State Summary Message
{
"CustomerId": 6105,
"FixtureId": "92964499",
"MessageTimestampUtc": "2017-03-14T13:22:46.685Z",
"IsReliable": false,
"MatchStatus": "ThirdPeriod",
"OvertimeCount": 0,
"Statistics": [],
"CurrentScore": [],
"IsScoreConfirmed": true,
"InProgressPenaltyCount": [],
"PlayersOnIceCount": [],
"HomeGoalKeeperOnIce": true,
"AwayGoalKeeperOnIce": true,
"IsClockRunning": false,
"DangerState": "HomeGoal",
"TimeRemainingInCurrentPeriod": [],
"HomeTeam": [],
"AwayTeam": [],
"MatchFormat": [],
}
Element |
Type |
Description |
---|---|---|
CustomerId |
Integer |
An immutable identifier for the customer |
FixtureId |
Integer |
An immutable identifier for the event |
MessageTimestampUtc |
DateTime |
The time in UTC at which the message was generated |
IsReliable |
Boolean |
True if the data values are reliable, False otherwise |
MatchStatus |
String |
Describes the current match status, possible values are: |
OvertimeCount |
Integer |
Describes the overtime count |
Statistics |
IceHockeyStatistics |
Describes match statistics |
CurrentScore |
Score |
Describes current score |
IsScoreConfirmed |
Boolean |
True if score is confirmed false otherwise |
InProgressPenaltyCount |
Score |
Describes penalty count |
PlayersOnIceCount |
Score |
Describes players on ice |
HomeGoalKeeperOnIce |
Boolean |
True if home goal keeper is on ice, False otherwise |
AwayGoalKeeperOnIce |
Boolean |
True if away goal keeper is on ice, False otherwise |
IsClockRunning |
Boolean |
True if game clock is running, False otherwise |
DangerState |
String |
Describes the current danger state, possible values are: |
TimeRemainingInCurrentPeriod |
TimeRemainingAtTimestamp |
Describes the time remaining in the period |
HomeTeam |
Team |
Describes team |
AwayTeam |
Team |
Describes Team |
MatchFormat |
MatchFormat |
Describes match format |
IceHockeyStatistics
{
"Goals": [],
"PenaltyShots": [],
"PenaltyShotGoals": [],
"TotalGoals": [],
"TotalPenalties": [],
"ShotsOnTarget": [],
"TotalAttacks": []
}
Element |
Type |
Description |
---|---|---|
Goals |
Score |
Describes goals |
PenaltyShots |
Score |
Describes penalty shots |
PenaltyShotGoals |
Score |
Describes penalty goals |
TotalGoals |
Score |
Describes total goals |
TotalPenalties |
Score |
Describes penalties |
ShotsOnTarget |
Score |
Describes shots on target |
TotalAttacks |
Score |
Describes total attacks |
Score
{
"Home":0,
"Away":2
}
Element |
Type |
Description |
---|---|---|
Home |
Integer |
The Home team's score |
Away |
Integer |
The Away team's score |
TimeRemainingInCurrentPeriod
{
"TimestampUtc": "2016-12-12T17:21:08.095Z",
"TimeRemaining": "00:12:19"
}
Element |
Type |
Description |
---|---|---|
TimestampUtc |
DateTime |
Describes the timestamp for the message |
TimeRemaining |
Duration |
Describes the duration of the phase |
Team
{
"Id": "1",
"Name": "TestHomeTeam",
"Jersey": []
}
Element |
Type |
Description |
---|---|---|
Id |
Integer |
An immutable identifier for the team |
Name |
String |
Describes team name |
Jersey |
Jersey |
Describes teams jersey |
Jersey
{
"MainColor": "red",
"MinorColor": "black"
}
Element |
Type |
Description |
---|---|---|
MainColor |
String |
Describes team main color |
MinorColor |
String |
Describes team minor color |
MatchFormat
{
"PeriodLength": "00:20:00",
"NumberOfExtraTimePeriods": 0,
"ExtraTimePeriodLength": "00:05:00"
}
Element |
Type |
Description |
---|---|---|
PeriodLength |
Duration |
Describes the length of the period |
NumberOfExtraTimePeriods |
Integer |
Describes the number of extra time periods |
ExtraTimePeriodLength |
Duration |
Describes extra time period length |
Match State Details Message
The detail message lists every action that has happened in an ice hockey match. This allows a complete timeline of the match to be constructed at any point.
{
"MatchActions": [],
"CustomerId": 6105,
"FixtureId": "92964499",
"MessageTimestampUtc": "2017-03-14T13:22:46.685Z",
"IsReliable": false,
"MatchStatus": "ThirdPeriod",
"OvertimeCount": 0,
"Statistics": [],
"CurrentScore": [],
"IsScoreConfirmed": true,
"InProgressPenaltyCount": [],
"PlayersOnIceCount": [],
"HomeGoalKeeperOnIce": true,
"AwayGoalKeeperOnIce": true,
"IsClockRunning": false,
"DangerState": "HomeGoal",
"TimeRemainingInCurrentPeriod": [],
"HomeTeam": [],
"AwayTeam": [],
"MatchFormat": [],
}
Element |
Type |
Description |
---|---|---|
MatchActions |
MatchActions |
Describes the historic match actions |
CustomerId |
Integer |
An immutable identifier for the customer |
FixtureId |
Integer |
An immutable identifier for the event |
MessageTimestampUtc |
DateTime |
The time in UTC at which the message was generated |
IsReliable |
Boolean |
True if the data values are reliable, False otherwise |
MatchStatus |
String |
Describes the current match status, possible values are: |
OvertimeCount |
Integer |
Describes the overtime count |
Statistics |
IceHockeyStatistics |
Describes match statistics |
CurrentScore |
Score |
Describes current score |
IsScoreConfirmed |
Boolean |
True if score is confirmed false otherwise |
InProgressPenaltyCount |
Score |
Describes penalty count |
PlayersOnIceCount |
Score |
Describes players on ice |
HomeGoalKeeperOnIce |
Boolean |
True if home goal keeper is on ice, False otherwise |
AwayGoalKeeperOnIce |
Boolean |
True if away goal keeper is on ice, False otherwise |
IsClockRunning |
Boolean |
True if game clock is running, False otherwise |
DangerState |
String |
Describes the current danger state, possible values are: |
TimeRemainingInCurrentPeriod |
TimeRemainingAtTimestamp |
Describes the time remaining in the period |
HomeTeam |
Team |
Describes team |
AwayTeam |
Team |
Describes Team |
MatchFormat |
MatchFormat |
Describes match format |
MatchActions
{
"ClockActions": [],
"FaceOffs": [],
"Goals": [],
"GoalKeeperOnIceChanges": [],
"Penalties": [],
"PenaltyShots": [],
"PenaltyShotGoals": [],
"PenaltyShotsMissed": [],
"PenaltyShotsRetaken": [],
"MatchStatusChanges": [],
"ShotsOnTarget": [],
"DangerStateChanges": [],
"PlayerCountChanges": []
}
Element |
Type |
Description |
---|---|---|
ClockActions |
ClockActionCollection |
Array of ClockActions |
FaceOffs |
FaceOffCollection |
Array of FaceOffs |
Goals |
GoalCollection |
Array of Goals |
GoalKeeperOnIceChanges |
GoalKeeperOnIceChangeCollection |
Array of GoalKeeperOnIceChanges |
Penalties |
PenaltyCollection |
Array of Penalties |
PenaltyShots |
PenaltyShotGoalCollection |
Array of PenaltyShots |
PenaltyShotGoals |
PenaltyShotCollection |
Array of PenaltyShotGoals |
PenaltyShotsMissed |
PenaltyShotMissedCollection |
Array of PenaltyShotsMissed |
PenaltyShotsRetaken |
PenaltyShotRetakeCollection |
Array of PenaltyShotsRetaken |
MatchStatusChanges |
MatchStatusChangeCollection |
Array of MatchStatusChanges |
ShotsOnTarget |
ShotOnTargetCollection |
Array of ShotsOnTarget |
DangerStateChanges |
DangerStateChangeCollection |
Array of DangerStateChanges |
PlayerCountChanges |
PlayerCountCollection |
Array of PlayerCountChanges |
ClockActionCollection
{
"Type": "Set",
"Adjustment": null,
"IsRunning": false,
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:17:36.217Z",
"TimeRemainingInPeriod": "00:02:20",
"OccurredDuring": "PreMatch",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
Type |
String |
Describes Clock action type, possible values are: |
Adjustment |
Duration |
Describes the adjustment |
IsRunning |
Boolean |
True if clock was running, false otherwise |
IsConfirmed |
Boolean |
True if message is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Timestamp of the action |
TimeRemainingInPeriod |
Duration |
Describes the time remaining |
OccurredDuring |
String |
Describes the match status, possible values are: |
OvertimeCount |
Integer |
|
FaceOffCollection
{
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:17:59.824Z",
"TimeRemainingInPeriod": "00:02:26",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status, possible values are: |
OvertimeCount |
|
|
GoalCollection
{
"Team": "Home",
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:20:03.396Z",
"TimeRemainingInPeriod": "00:01:20",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
Team |
String |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status, possible values are: |
OvertimeCount |
|
|
GoalKeeperOnIceChangeCollection
{
"IsOnIce": false,
"Team": "Home",
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:20:03.396Z",
"TimeRemainingInPeriod": "00:01:20",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
IsOnIce |
Boolean |
True if goal keeper is on ice, false otherwise |
Team |
String |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status, possible values are: |
OvertimeCount |
|
|
PenaltyCollection
{
"Status": "Finished",
"Duration": "00:02:00",
"IsGameMisconductPenalty": false,
"StartedAtTimeRemainingInPeriod": "00:02:07",
"StartedDuring": null,
"StartedDuringOvertimeCount": 0,
"Team": "Away",
"IsConfirmed": true,
"AwardedAtUtcTimestamp": "2016-12-12T16:19:00.184Z",
"AwardedAtTimeRemainingInPeriod": "00:02:07",
"AwardedAtOccurredDuring": "FirstPeriod",
"AwardedAtOvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
Status |
String |
Action status, possible values: |
Duration |
Duration |
|
IsGameMisconductPenalty |
Boolean |
True if miscontucted, false otherwise |
StartedAtTimeRemainingInPeriod |
Duration |
|
StartedDuring |
MatchStatus |
|
StartedDuringOvertimeCount |
Integer |
|
Team |
String |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
AwardedAtUtcTimestamp |
DateTime |
|
AwardedAtTimeRemainingInPeriod |
Duration |
|
AwardedAtOccurredDuring |
MatchStatus |
|
AwardedAtOvertimeCount |
MatchStatus |
|
MatchStatusChangeCollection
{
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:17:40.478Z",
"TimeRemainingInPeriod": "00:20:00",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
IsConfirmed |
Boolean |
True is action is confirmed |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes time remaining |
OccurredDuring |
MatchStatus |
Describes the phase |
OvertimeCount |
Integer |
|
ShotOnTargetCollection
{
"Team": "Home",
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:20:03.396Z",
"TimeRemainingInPeriod": "00:01:20",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
Team |
String |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status |
OvertimeCount |
|
|
DangerStateChangeCollection
{
"State": "Safe",
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:20:03.396Z",
"TimeRemainingInPeriod": "00:01:20",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
State |
String |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status |
OvertimeCount |
|
|
PlayerCountCollection
{
"HomePlayerCount": 5,
"AwayPlayerCount": 4,
"IsConfirmed": true,
"UtcTimestamp": "2016-12-12T16:19:03.439Z",
"TimeRemainingInPeriod": "00:02:07",
"OccurredDuring": "FirstPeriod",
"OvertimeCount": 0
}
Element |
Type |
Description |
---|---|---|
HomePlayerCount |
Integer |
Describes the team |
AwayPlayerCount |
Integer |
Describes the team |
IsConfirmed |
Boolean |
True if action is confirmed, false otherwise |
UtcTimestamp |
DateTime |
Action timestamp |
TimeRemainingInPeriod |
Duration |
Describes the time remaining duration |
OccurredDuring |
String |
Describes the match status |
OvertimeCount |
|
|