Team
Object type
Team — primary entity for the Sports product. Generic across team
sports (football, rugby, cricket); each row carries its sport
discriminator. Fixture-backed for entity-matching; football reads populate it with real rows.
The single SHARED team identity (Blueprint 1 §3.6): one canonical teams row reused across all
sports. It implements Entity for the M22 merge surface AND carries the football read fields;
football-only bio forks to footballProfile (football_club_profiles). There is no separate
FootballTeam type — foundations are shared, only the event and profile layers fork.
Implements: Entity
Fields
Section titled “Fields”| Field | Args | Type | Description |
|---|---|---|---|
id | — | ID! required | — |
name | — | String! required | — |
displayName | — | String | Operator-curated display name (participants.display_name) — editable via updateTeam. |
sport | — | String | — |
country | — | String | — |
tla | — | String | Three-letter abbreviation (shared teams.tla), where the club/side has a stable one. |
shortName | — | String | Short name (participants.short_name) — editable via updateTeam. |
isNationalTeam | — | Boolean | True for national sides (generated teams.is_national_team). |
league | — | String | — |
founded | — | Int | — |
homeVenue | — | String | — |
homeVenueId | — | ID | Linked home-venue id (teams.home_venue_id → a Venue/courses row). Editable via updateTeam; distinct from the free-text homeVenue name. |
homeVenueRef | — | EntityRef | Resolved linked home venue (id + name + city) for rich chip rendering. Null when unlinked. Joined in the same query — no extra round-trip. |
colours | — | String | Club colours / kit description (teams.silks_description) — editable via updateTeam. |
sportId | — | ID! required | — |
createdAt | — | DateTime! required | — |
aliases | — | [ParticipantAlias!]! required | — |
version | — | Int! required | Optimistic-locking version (participants.version) — pass as expectedVersion on updateTeam. |