MatchSummary
The team-Match read view of a [`Contest`](crate::domain::contest::Contest): a two-entrant `Match` between team-backed entrants, projected onto the home/away/score shape team-sport clients consume. `id` is the underlying [`ContestId`]; `home_team`/`away_team` and the optional [`Score`] are reconstructed by the store from the contest's two [`ContestEntrant`](crate::domain::contest_entrant::ContestEntrant) edges (ordered by `start_slot`: 0 = home, 1 = away) and their per-entrant [`Result`](crate::domain::result::Result) rows.
away_team_namestringnulloptionalServer-resolved away team name; see `home_team_name`.
competitionCompetitionIdrequired
editionEditionIdrequired
eventone ofoptional
home_team_namestringnulloptionalServer-resolved home team name (one `teams` join on the list read — a consumer should never need N follow-up team lookups to label a slate). `None` only on reads that predate the field.
idContestIdrequired
kickoffstring<date-time>requiredlocationone ofoptional
scoreone ofoptional
stageone ofoptional
statusContestStatusrequired
scheduledin_progressfinalpostponedcancelledsuspended