Sports Contracts Reference (Shared Base + Sport Extensions)
Property/type documentation is split into dedicated files per sport for easier navigation. Examples are shown for each property to illustrate expected data format.
Every sport contract in this section inherits the same shared Sport base contract and then adds sport-specific fields.
Shared Base Contract (Sport)
All sport contracts inherit these members:
OriginTypeId(OriginType)
Source/origin enum for the data payload. Possible values:Unknown (0),Local (1),Cloud (2),Replay (3),Ingress (4),LocalEmulated (5). Example:2.
OriginType(string)
Human-readable origin derived fromOriginTypeId. Possible values:"Unknown","Local","Cloud","Replay","Ingress","Local emulated". Example:"Cloud".
ClockMinutesTens(char)
Tens digit of game clock minutes. Example:'1'.
ClockMinutesOnes(char)
Ones digit of game clock minutes. Example:'2'.
ClockSecondTens(char)
Tens digit of game clock seconds. Example:'3'.
ClockSecondOnes(char)
Ones digit of game clock seconds. Example:'4'.
ClockTenthsSecond(char)
Tenths digit used when scoreboard is in decimal clock mode. Example:'5'.
ClockMode(char)
Clock display mode separator. Possible values:':'(normal mode),'.'(tenths mode). Example:':'.
Clock(string)
Formatted clock string. Examples:12:34,34.5.
FullClock(string)
Full formatted clock including tenths. Example:12:34.5.
VendorSportId(int)
Internal vendor-sport mapping id used by decoders. Example:1.
EventId(EventType)
Sport/event enum value. Common values include:Baseball(1),Football(2),Basketball(3),Softball(4),Hockey(5),Volleyball(6),Lacrosse(7),Soccer(8),Wrestling(12),Swimming(13),Tennis(16),AutoDetect(19),DragRacing(20),Rodeo(21),Timing(22),WaterPolo(24),Timer(25),SingleTimer(26),SwissTiming(27),Generic(28),Futsal(29),Handball(30),TableTennis(31),Badminton(32). Example:3.
InboundChannelNumber(char)
Channel/line identifier used only on certain controllers that support multiple inbound channels. Example:'1'.
ClockStatus(char)
Effective clock status (derived from internal or emulated value). Possible values:'R'(running),'S'(stopped). Example:'R'.
PlayClockStatus(char)
Effective play-clock status (derived from internal or emulated value). Possible values:'R'(running),'S'(stopped). Example:'S'.
BotNumberHex(string)
Legacy bot id representation, generated asbot.Botnum.ToString("X6"). Example:00AF12.
BotNumber(int)
Numeric bot/device identifier. Example:175.
TimeStamp(string)
Legacy timestamp representation created byHexDateTime12.DateTimeToHex(...)(12-character hex string based on ticks). Example:08E6A1B2C3D4.
TimeStampFull(string)
Full ISO-like timestamp. Example:2026-04-01T10:30:00Z.
TimeStampEpoch(string)
Unix epoch timestamp as string. Example:1775039400.
GuestTeamName(string)
Guest/visitor team display name. Example:GUEST.
HomeTeamName(string)
Home team display name. Example:HOME.
WeightedCoverage(double)
Coverage/quality metric computed by sport implementation. Example:0.85.
PublishRate(double)
Calculated packets-per-second publish rate for the bot stream. Example:1.0.
VenueName(string)
Venue display name from bot metadata enrichment. Example:Main Arena.
VenueId(int)
Internal venue identifier from bot metadata enrichment. Example:2501.
VenueGeniusId(int)
External/partner venue identifier from bot metadata enrichment. Example:9001.
Important caveats
VenueName,VenueId, andVenueGeniusIdare populated only when data is processed through the Cloud pipeline (bot metadata enrichment).- When reading directly from local/raw decoder output without Cloud enrichment, venue fields can be empty/default values.
- For score fields composed from digit chars (for example
HomeScore,GuestScore,HomeRuns,GuestRuns), leading blanks and leading zeroes are normalized out (examples:001 -> 1,01 -> 1,000 -> 0).