Handball
- Martin Mand
- Alexandru Iftimiciuc
The rules of Handball can be found here:
This document describes the V3 Handball match state contract.
Match State Summary Message
{ "AwayTeam": [], "BallPossession": "Away", "CustomerId": "6265", "FirstHalfScore": [], "FixtureId": "4281889", "GameClock": [], "HomeTeam": [], "IsReliable": "true", "IsScoreConfirmed": "true", "MatchStatus": "PostMatch", "MessageTimestampUtc": "2017-05-30T10:54:22.995Z", "OvertimeOneFirstHalfScore": [], "OvertimeOneSecondHalfScore": [], "OvertimeTwoFirstHalfScore": [], "OvertimeTwoSecondHalfScore": [], "PenaltyShootoutScore": [], "PlayerCount": [], "Score": [], "SecondHalfScore": [], "Stats": [] }
Element | Type | Description |
---|---|---|
AwayTeam | Team | Describes away team |
BallPossession | PossessionTeamSide | Describes ball possession |
CustomerId | Integer | An immutable identifier for the customer |
FirstHalfScore | Score | Describes first half score |
FixtureId | String | An immutable identifier for the fixture |
GameClock | GameClock | Describes game clock |
HomeTeam | Team | Describes home team |
IsReliable | Boolean | True is data is reliable, false otherwise |
IsScoreConfirmed | Boolean | True if score is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status, possible values are: |
MessageTimestampUtc | DateTime | Describes message timestamp |
OvertimeOneFirstHalfScore | Score | Describes first over time first half score |
OvertimeOneSecondHalfScore | Score | Describes first over time second half score |
OvertimeTwoFirstHalfScore | Score | Describes second over time first half score |
OvertimeTwoSecondHalfScore | Score | Describes second over time first second half score |
PenaltyShootoutScore | Score | Describes penalty score |
PlayerCount | Score | Describes player count |
Score | Score | Describes the current score |
SecondHalfScore | Score | Describes second half score |
Stats | HandballStats | Describes stats |
GameClock
{ "GameTime": "PT1H", "IsRunning": "false", "TimestampUtc": "2016-09-29T11:17:46.483Z" }
Element | Type | Description |
---|---|---|
GameTime | Duration | Describes game time; Is updated only when there are clock stops/starts or adjustments |
IsRunning | Boolean | True if clock is running, false otherwise |
TimestampUtc | DateTime |
|
HandballStats
{ "Possession": [], "SevenMeterThrowsAwarded": [], "SevenMeterThrowsMissed": [], "SevenMeterThrowsScored": [], "Suspensions": [], "Timeouts": [] }
Element | Type | Description |
---|---|---|
Possession | Score | Describes possesion |
SevenMeterThrowsAwarded | Score | Describes throws |
SevenMeterThrowsMissed | Score | Describes throws |
SevenMeterThrowsScored | Score | Describes throws |
Suspensions | Score | Describes suspensions |
Timeouts | Score | Describes timeouts |
Score
{ "Home":0, "Away":2 }
Element | Type | Description |
---|---|---|
Home | Integer | The Home team's score |
Away | Integer | The Away team's score |
Team
{ "ShirtColorMajor": "white", "ShirtColorMinor": "white" }
Element | Type | Description |
---|---|---|
ShirtColorMajor | String | Describes main shirt color |
ShirtColorMinor | String | Describes main shirt color |
Match State Details Message
The detail message lists every action that has happened in a handball match. This allows a complete timeline of the match to be constructed at any point.
{ "AwayTeam": [], "BallPossession": "Away", "CustomerId": "6265", "FirstHalfScore": [], "FixtureId": "4281889", "GameClock": [], "HomeTeam": [], "IsReliable": "true", "IsScoreConfirmed": "true", "MatchStatus": "PostMatch", "MessageTimestampUtc": "2017-05-30T10:54:22.995Z", "OvertimeOneFirstHalfScore": [], "OvertimeOneSecondHalfScore": [], "OvertimeTwoFirstHalfScore": [], "OvertimeTwoSecondHalfScore": [], "PenaltyShootoutScore": [], "PlayerCount": [], "Score": [], "SecondHalfScore": [], "Stats": [], "MatchActions": [] }
Element | Type | Description |
---|---|---|
AwayTeam | Team | Describes away team |
BallPossession | PossessionTeamSide | Describes ball possession |
CustomerId | Integer | An immutable identifier for the customer |
FirstHalfScore | Score | Describes first half score |
FixtureId | String | An immutable identifier for the fixture |
GameClock | GameClock | Describes game clock |
HomeTeam | Team | Describes home team |
IsReliable | Boolean | True if data is reliable, false otherwise |
IsScoreConfirmed | Boolean | True if score is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status, possible values are: |
MessageTimestampUtc | DateTime | Describes message timestamp |
OvertimeOneFirstHalfScore | Score | Describes first over time first half score |
OvertimeOneSecondHalfScore | Score | Describes first over time second half score |
OvertimeTwoFirstHalfScore | Score | Describes second over time first half score |
OvertimeTwoSecondHalfScore | Score | Describes second over time second half score |
PenaltyShootoutScore | Score | Describes penalty score |
PlayerCount | Score | Describes player count |
Score | Score | Describes the current score |
SecondHalfScore | Score | Describes second half score |
Stats | HandballStats | Describes stats |
MatchActions | MatchActions | Describes match actions |
MatchActions
{ "ClockActionCollection": [], "GoalCollection": [], "MatchStatusChangeCollection": [], "PlayerCountCollection": [], "PossessionChangeCollection": [], "SevenMeterThrowAwardedCollection": [], "SevenMeterThrowMissedCollection": [], "SuspensionCollection": [], "TimeoutCollection": [] }
Element | Type | Description |
---|---|---|
ClockActionCollection | ClockActionCollection |
|
GoalCollection | GoalCollection |
|
MatchStatusChangeCollection | MatchStatusChangeCollection |
|
PlayerCountCollection | PlayerCountCollection |
|
PossessionChangeCollection | PossessionChangeCollection |
|
SevenMeterThrowAwardedCollection | SevenMeterThrowAwardedCollection |
|
SevenMeterThrowMissedCollection | SevenMeterThrowMissedCollection |
|
SuspensionCollection | SuspensionCollection |
|
TimeoutCollection | TimeoutCollection |
|
ClockActionCollection
{ "ClockActions": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
ClockActions | ArrayOfClockAction |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfClockAction
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT0S", "UtcTimestamp": "2016-09-29T09:59:39.144Z", "Adjustment": NULL, "IsRunning": "true", "Type": "Start" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Adjustment | Duration | Describes clock adjustment |
IsRunning | Boolean | True if clock is running, false otherwise |
Type | String | Describes update type, possible values are: |
GoalCollection
{ "GoalCollection": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
GoalCollection | ArrayOfGoal |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfGoal
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT26S", "UtcTimestamp": "2016-09-29T10:00:05.96Z", "Team": "Away", "ScoredFromSevenMeterThrow": "false" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Team | Team | Describes the team |
ScoredFromSevenMeterThrow | Boolean | True if scored from seven meters, false otherwise |
MatchStatusChangeCollection
{ "MatchStatusChanges": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
MatchStatusChanges | ArrayOfMatchStatusChange |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfMatchStatusChange
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT0S", "UtcTimestamp": "2016-09-29T09:59:39.144Z" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
PlayerCountCollection
{ "PlayerCounts": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
PlayerCounts | ArrayOfPlayerCount | |
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfPlayerCount
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT0S", "UtcTimestamp": "2016-09-29T09:59:39.144Z", "Count": [] }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Count | Score | Describes the player count |
PossessionChangeCollection
{ "PossessionChanges": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
PossessionChanges | ArrayOfPossessionChange |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfPossessionChange
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT1S", "UtcTimestamp": "2016-09-29T09:59:40.712Z", "Possession": "Away" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Possession | Team | Describes the team |
SevenMeterThrowAwardedCollection
{ "SevenMeterThrowsAwarded": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
SevenMeterThrowsAwarded | ArrayOfSevenMeterThrowAwarded |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfSevenMeterThrowAwarded
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT1S", "UtcTimestamp": "2016-09-29T09:59:40.712Z", "Team": "Away" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Team | Team | Describes the team |
SevenMeterThrowMissedCollection
{ "SevenMeterThrowsMissed": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
ClockActions | ArrayOfSevenMeterThrowMissed |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfSevenMeterThrowMissed
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT1S", "UtcTimestamp": "2016-09-29T09:59:40.712Z", "Team": "Away" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Team | Team | Describes the team |
SuspensionCollection
{ "Suspensions": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
Suspensions | ArrayOfSuspension |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfSuspension
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT24M2S", "UtcTimestamp": "2016-09-29T10:27:13.853Z", "Team": "Away", "IsFinished": "true", "StartedAt": "PT24M2S" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Team | Team | Describes the team |
IsFinished | Boolean | True if suspension is finished, false otherwise |
StartedAt | Duration | Describes the start of the suspension |
TimeoutCollection
{ "Timeouts": [], "IsCollected": "true", "IsReliable": "true" }
Element | Type | Description |
---|---|---|
Timeouts | ArrayOfTimeout |
|
IsCollected | Boolean | True if data is collected, false otherwise |
IsReliable | Boolean | True if data is reliable, false otherwise |
ArrayOfTimeout
{ "IsConfirmed": "true", "MatchStatus": "FirstHalf", "TimeElapsedInPhase": "PT5M52S", "UtcTimestamp": "2016-09-29T10:05:32.533Z", "Team": "Home" }
Element | Type | Description |
---|---|---|
IsConfirmed | Boolean | True if data is confirmed, false otherwise |
MatchStatus | MatchStatus | Described match status |
TimeElapsedInPhase | Duration | Describes time elapsed in phase |
UtcTimestamp | DateTime | Describes message timestamp |
Team | Team | Describes the team |