Expand description
Normalized, provider-agnostic domain model for the World Cup.
Every backend maps its upstream representation into these types so the TUI
and the rest of the app depend only on this module, never on a specific data
source. Times are always stored in UTC (OffsetDateTime); the UI converts
to the user’s local zone for display.
Structs§
- Bracket
- The knockout bracket as an ordered list of rounds.
- Bracket
Round - One round of the knockout bracket.
- Calendar
- The competition calendar: the set of stage windows.
- Group
- A group table.
- Group
Standing - One team’s row in a group table.
- Lineup
- A team’s lineup for a match.
- Match
- A single fixture.
- Match
Detail - Full detail for a single match: the fixture plus timeline, lineups, stats.
- Match
Event - A single timeline event in a match.
- Player
- A player in a lineup.
- Score
- The score of a match, including a penalty-shootout tally when applicable.
- Stage
Window - A scheduling window for a stage, from the competition calendar.
- Team
- A national team.
- Team
Stat - A single comparable team statistic (e.g. possession, shots).
Enums§
- Match
Event Kind - The kind of in-match event on a timeline.
- Match
Status - The live/finished state of a match.
- Stage
- A stage of the tournament. The 2026 format is a 48-team group stage (12 groups of 4) followed by a 32-team knockout.