Coach
Object type
A coach surfaced as a registry entity (POD-455). Individuals-backed
(participants + individuals, role COACH) exactly like Manager — but a
distinct role: football uses Manager, other sports (basketball, …) use Coach.
Coaches arrive via ingestion (EnetPulse rosters map participant type coach →
role COACH); the registry is edit-only (no manual create in v1).
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 updateCoach. |
firstName | — | String | — |
lastName | — | String | — |
nationality | — | String | — |
version | — | Int! required | Optimistic-locking version (participants.version) — pass as expectedVersion on updateCoach. |
sportId | — | ID! required | — |
createdAt | — | DateTime! required | When the participant row was first inserted (participants.created_at). |
aliases | — | [ParticipantAlias!]! required | Records merged into this canonical via the M22 merge flow (REQ-009). |
currentTeam | — | Team | Current team — derived from the active (end_date IS NULL) team_staff_membership for this individual (most recent start_date). Not a stored FK. Null when unassigned. |