Avro Schema
- Schema
[
{
"type": "record",
"name": "BasketballEvent",
"namespace": "com.geniussports.dataplatform.basketball.uefv2",
"doc": "Basketball universal event",
"fields": [
{
"name": "version",
"type": "string",
"doc": "Semantic version of event"
},
{
"name": "source",
"type": {
"type": "enum",
"name": "EventSource",
"doc": "Defines event feed source",
"symbols": [
"UNKNOWN",
"GeniusSportsInPlay",
"GeniusInPlay",
"GeniusLiveStats",
"GeniusScoresheet"
],
"default": "UNKNOWN"
},
"doc": "Event source system"
},
{
"name": "traceId",
"type": "string",
"doc": "Unique identifier provided by collection tool run to trace the event"
},
{
"name": "id",
"type": "string",
"doc": "Unique identifier of event instance"
},
{
"name": "insertedBeforeEventId",
"type": [
"null",
"string"
],
"doc": "Unique identifier of event instance this event should be inserted before in a correction",
"default": null
},
{
"name": "fixtureId",
"type": "string",
"doc": "Unique identifier of fixture that event occurred. Provided by Fixtures API. Prefer using fixture object instead."
},
{
"name": "fixture",
"type": [
"null",
{
"type": "record",
"name": "Fixture",
"doc": "Identifies the fixture the event belongs to",
"fields": [
{
"name": "id",
"type": "string",
"doc": "Unique identifier of the fixture"
},
{
"name": "externalIds",
"type": [
"null",
{
"type": "map",
"values": "string"
}
],
"doc": "Map of external system identifiers",
"default": null
}
]
}
],
"doc": "Fixture the event belongs to. Prefer over fixtureId.",
"default": null
},
{
"name": "period",
"type": {
"type": "record",
"name": "Period",
"doc": "Defines period attributes, which uniquely identifies period",
"fields": [
{
"name": "type",
"type": {
"type": "enum",
"name": "PeriodType",
"doc": "Defines possible values for period type",
"symbols": [
"UNKNOWN",
"PREGAME",
"REGULAR",
"OVERTIME"
],
"default": "UNKNOWN"
}
},
{
"name": "number",
"type": "int",
"doc": "Period sequence number, which is reset for each period type"
},
{
"name": "status",
"type": {
"type": "enum",
"name": "PeriodStatus",
"doc": "Defines possible values for period status",
"symbols": [
"UNKNOWN",
"PENDING",
"IN_PROGRESS",
"FINISHED"
],
"default": "UNKNOWN"
}
}
]
}
},
{
"name": "eventType",
"type": {
"type": "enum",
"name": "EventType",
"doc": "Enumerates all supported basketball event types",
"symbols": [
"UNKNOWN",
"CHALLENGE",
"CLOCK",
"EJECTION",
"FOUL",
"FREE_THROW",
"JUMP_BALL",
"MATCH_STATUS_CHANGE",
"PARTICIPATION",
"PERIOD_TRANSITION",
"PROTEST",
"SHOT",
"SUBSTITUTION",
"TIMEOUT",
"TURNOVER",
"REBOUND",
"RELIABILITY",
"LINEUP",
"POSSESSION_CHANGE",
"POSSESSION_ARROW_CHANGE"
],
"default": "UNKNOWN"
}
},
{
"name": "startGameClock",
"type": [
"null",
"long"
],
"doc": "Game clock value of moment, when event started to occur. Must be provided in milliseconds.",
"default": null
},
{
"name": "endGameClock",
"type": [
"null",
"long"
],
"doc": "Game clock value of moment, when event finished to occur. Must be provided in milliseconds.",
"default": null
},
{
"name": "competitors",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "Competitor",
"doc": "Defines competitor, who issued the sport action",
"fields": [
{
"name": "id",
"type": "string",
"doc": "Unique identifier of a competitor"
},
{
"name": "type",
"type": {
"type": "enum",
"name": "CompetitorType",
"doc": "Classifies the role a competitor plays in an event",
"symbols": [
"UNKNOWN",
"HOME",
"AWAY"
],
"default": "UNKNOWN"
}
},
{
"name": "externalIds",
"type": [
"null",
{
"type": "map",
"values": "string"
}
],
"doc": "Map of external system identifiers",
"default": null
}
]
}
},
"doc": "List of competitors, who participated in a sport event"
},
{
"name": "participants",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "Participant",
"doc": "Defines participants, which participated in the sport action",
"fields": [
{
"name": "id",
"type": "string",
"doc": "Unique identifier of participant"
},
{
"name": "competitorId",
"type": "string",
"doc": "Unique identifier of competitor"
},
{
"name": "type",
"type": {
"type": "enum",
"name": "ParticipantType",
"doc": "Classifies the role a participant plays in an event",
"symbols": [
"UNKNOWN",
"SHOOTER",
"FOUL_BY",
"FOUL_ON",
"ASSISTER",
"BLOCKER",
"REBOUNDER",
"TURNOVER_BY",
"STEALER",
"PARTICIPANT",
"WON_BY",
"LOST_BY",
"SUBSTITUTED_IN",
"SUBSTITUTED_OUT",
"STARTER",
"BENCH"
],
"default": "UNKNOWN"
}
},
{
"name": "externalIds",
"type": [
"null",
{
"type": "map",
"values": "string"
}
],
"doc": "Map of external system identifiers",
"default": null
}
]
}
},
"doc": "List of participants, who participated in a sport event"
},
{
"name": "audit",
"type": {
"type": "record",
"name": "AuditFields",
"doc": "Defines metadata attributes for universal feed event",
"fields": [
{
"name": "sequenceNumber",
"type": "int",
"doc": "Event sequence number to track if any events were missed to receive"
},
{
"name": "startUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event start time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "endUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event end time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "createdUtc",
"type": {
"type": "long",
"logicalType": "timestamp-millis"
},
"doc": "Event creation time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)"
},
{
"name": "updatedUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event update time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "insertedUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event insertion time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "deletedUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event deletion time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "publishedUtc",
"type": {
"type": "long",
"logicalType": "timestamp-millis"
},
"doc": "Event publish time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)"
},
{
"name": "confirmedUtc",
"type": [
"null",
{
"type": "long",
"logicalType": "timestamp-millis"
}
],
"doc": "Event confirmation time in UTC timezone. Must be provided in UNIX date-time representation (milliseconds)",
"default": null
},
{
"name": "startFrameIdx",
"type": [
"null",
"int"
],
"doc": "Start frame index",
"default": null
},
{
"name": "endFrameIdx",
"type": [
"null",
"int"
],
"doc": "End frame index",
"default": null
},
{
"name": "confidence",
"type": {
"type": "record",
"name": "Confidence",
"doc": "Defines confidence (reliability) attributes",
"fields": [
{
"name": "score",
"type": [
"null",
"float"
],
"doc": "Confidence level expressed in scale of 0.0 - 1.0",
"default": null
},
{
"name": "flagged",
"type": [
"null",
"boolean"
],
"doc": "Defines, whether the particular event is flagged by collection tool",
"default": null
}
]
}
},
{
"name": "externalIds",
"type": [
"null",
{
"type": "record",
"name": "ExternalIds",
"fields": [
{
"name": "externalId",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "externalIdType",
"type": [
"null",
"string"
],
"default": null
}
]
}
],
"default": null
}
]
}
},
{
"name": "tags",
"type": [
"null",
{
"type": "map",
"values": "string"
}
],
"doc": "A collection of tags provided by collection tools",
"default": null
},
{
"name": "additionalAttributes",
"type": [
"null",
{
"type": "map",
"values": "string"
}
],
"doc": "Additional, non-standard attributes provided by collection tools",
"default": null
},
{
"name": "attributes",
"type": [
"null",
{
"type": "record",
"name": "ShotAttributes",
"doc": "Shot-specific attributes",
"fields": [
{
"name": "points",
"type": "int"
},
{
"name": "isSuccessful",
"type": "boolean"
},
{
"name": "type",
"type": {
"type": "enum",
"name": "ShotType",
"symbols": [
"UNKNOWN",
"DUNK",
"LAYUP",
"FADEAWAY",
"TIP_IN_DUNK",
"TIP_IN_LAYUP",
"JUMP_SHOT",
"ALLEY_OOP",
"DRIVING_LAYUP",
"HOOK_SHOT",
"FLOATING_JUMP_SHOT",
"STEPBACK_JUMP_SHOT",
"PULLUP_JUMP_SHOT",
"TURNAROUND_JUMP_SHOT",
"WRONG_BASKET",
"REVERSE_LAYUP",
"EURO_STEP",
"ALLEY_OOP_DUNK"
],
"default": "UNKNOWN"
}
},
{
"name": "qualifiers",
"type": {
"type": "array",
"items": {
"type": "enum",
"name": "ShotQualifier",
"symbols": [
"UNKNOWN",
"SECOND_CHANCE",
"FAST_BREAK",
"FROM_TURNOVER",
"POINTS_IN_THE_PAINT",
"BLOCKED"
],
"default": "UNKNOWN"
}
},
"default": []
},
{
"name": "hasAssister",
"type": [
"null",
"boolean"
],
"default": null
},
{
"name": "hasBlocker",
"type": [
"null",
"boolean"
],
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "FoulAttributes",
"fields": [
{
"name": "freeThrowsAwarded",
"type": [
"null",
"int"
],
"default": null
},
{
"name": "type",
"type": {
"type": "enum",
"name": "FoulType",
"symbols": [
"UNKNOWN",
"OFFENSIVE",
"PERSONAL",
"TECHNICAL",
"DISQUALIFYING",
"UNSPORTSMANLIKE",
"INTENTIONAL",
"THROW_IN",
"BENCH",
"COACH"
],
"default": "UNKNOWN"
}
},
{
"name": "qualifiers",
"type": {
"type": "array",
"items": {
"type": "enum",
"name": "FoulQualifier",
"symbols": [
"UNKNOWN",
"CLASS_A",
"CLASS_B",
"DIRECT",
"INDIRECT",
"GAME_DISQUALIFICATION",
"FIGHTING",
"CANCELLED_FREE_THROWS",
"ONE_AND_ONE"
],
"default": "UNKNOWN"
}
},
"default": []
},
{
"name": "hasFoulOn",
"type": [
"null",
"boolean"
],
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "FreeThrowAttributes",
"fields": [
{
"name": "points",
"type": "int"
},
{
"name": "isSuccessful",
"type": "boolean"
},
{
"name": "attemptSequence",
"type": [
"null",
"int"
],
"default": null
},
{
"name": "qualifiers",
"type": {
"type": "array",
"items": {
"type": "enum",
"name": "FreeThrowQualifier",
"symbols": [
"UNKNOWN",
"SECOND_CHANCE",
"FAST_BREAK",
"FROM_TURNOVER"
],
"default": "UNKNOWN"
}
},
"default": []
},
{
"name": "foulId",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "hasAssister",
"type": [
"null",
"boolean"
],
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ClockAttributes",
"fields": [
{
"name": "status",
"type": {
"type": "enum",
"name": "ClockStatusType",
"symbols": [
"UNKNOWN",
"STARTED",
"STOPPED",
"ADJUSTED"
],
"default": "UNKNOWN"
}
},
{
"name": "fromDevice",
"type": [
"null",
"boolean"
],
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "EjectionAttributes",
"doc": "Ejection-specific attributes",
"fields": [
{
"name": "type",
"type": {
"type": "enum",
"name": "EjectionType",
"doc": "Defines possible ejection types",
"symbols": [
"UNKNOWN",
"DISQUALIFICATION",
"FOULED_OUT"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "TimeoutAttributes",
"fields": [
{
"name": "type",
"type": {
"type": "enum",
"name": "TimeoutType",
"symbols": [
"UNKNOWN",
"FULL",
"SHORT",
"OFFICIALS",
"MEDIA",
"COMMERCIALS"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "SubstitutionAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ReboundAttributes",
"fields": [
{
"name": "shotId",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "freeThrowId",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "type",
"type": {
"type": "enum",
"name": "ReboundType",
"symbols": [
"UNKNOWN",
"DEFENSIVE",
"OFFENSIVE",
"DEFENSIVE_DEADBALL",
"OFFENSIVE_DEADBALL"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "TurnoverAttributes",
"fields": [
{
"name": "hasTurnoverBy",
"type": [
"null",
"boolean"
],
"doc": "Identifies whether TurnoverBy participant is present, null when unknown",
"default": null
},
{
"name": "hasStealer",
"type": [
"null",
"boolean"
],
"doc": "Identifies whether Stealer participant is present, null when unknown",
"default": null
},
{
"name": "type",
"type": {
"type": "enum",
"name": "TurnoverType",
"symbols": [
"UNKNOWN",
"BACK_COURT",
"BACK_COURT_TIME_VIOLATION",
"BAD_PASS",
"BALL_HANDLING",
"DOUBLE_DRIBBLE",
"FIVE_SECONDS",
"FREE_THROW_LANE_VIOLATION",
"JUMP_BALL",
"NONE",
"OFFENSIVE",
"OFFENSIVE_GOAL_TENDING",
"OTHER",
"OUT_OF_BOUNDS",
"SHOT_CLOCK",
"THREE_SECONDS",
"TRAVEL"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "JumpBallAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "PeriodTransitionAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ParticipationAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ChallengeAttributes",
"fields": [
{
"name": "reason",
"type": {
"type": "enum",
"name": "ChallengeReason",
"symbols": [
"UNKNOWN",
"CLOCK",
"TWO_POINTS",
"THREE_POINTS",
"FREE_THROW_SHOOTER",
"OUT_OF_BOUNDS",
"FOUL",
"GOAL_TENDING",
"VIOLENCE"
],
"default": "UNKNOWN"
}
},
{
"name": "outcome",
"type": {
"type": "enum",
"name": "ChallengeOutcome",
"symbols": [
"UNKNOWN",
"SUCCESSFUL",
"UNSUCCESSFUL"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ProtestAttributes",
"fields": [
{
"name": "reason",
"type": [
"null",
{
"type": "enum",
"name": "ProtestReason",
"symbols": [
"UNKNOWN",
"SCOREKEEPING",
"TIMEKEEPING",
"SHOT_CLOCK",
"OTHER"
],
"default": "UNKNOWN"
}
],
"default": null
},
{
"name": "description",
"type": [
"null",
"string"
],
"doc": "Free-text description of the protest",
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "LineupAttributes",
"fields": [
{
"name": "lineup",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "LineupParticipant",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "isStarter",
"type": "boolean"
}
]
}
}
}
]
},
{
"type": "record",
"name": "MatchStatusChangeAttributes",
"fields": [
{
"name": "status",
"type": {
"type": "enum",
"name": "MatchStatus",
"symbols": [
"UNKNOWN",
"NOT_STARTED",
"WARMUP",
"IN_PROGRESS",
"FINISHED",
"INTERRUPTED",
"CANCELLED",
"ABANDONED"
],
"default": "UNKNOWN"
}
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "PossessionChangeAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "PossessionArrowChangeAttributes",
"fields": [
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
},
{
"type": "record",
"name": "ReliabilityAttributes",
"fields": [
{
"name": "confidence",
"type": [
"null",
"float"
],
"default": null
},
{
"name": "isCompleted",
"type": [
"null",
"boolean"
],
"default": null
}
]
}
],
"doc": "Event-specific attributes based on event type",
"default": null
}
]
},
{
"namespace": "com.geniussports.dataplatform",
"type": "record",
"name": "StandardizedZoneKey",
"fields": [
{
"name": "sourceId",
"type": "string"
},
{
"name": "sportId",
"type": "string"
},
{
"name": "fixtureId",
"type": "string"
}
]
},
{
"namespace": "com.geniussports.dataplatform",
"type": "record",
"name": "RawZoneKey",
"fields": [
{
"name": "sourceId",
"type": "string"
},
{
"name": "sportId",
"type": "string"
},
{
"name": "sourceEntityId",
"type": [
"null",
"string"
],
"default": null
}
]
}
]