Skip to content

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

FieldArgsTypeDescription
id—ID! required—
name—String! required—
displayName—StringOperator-curated display name (participants.display_name) — editable via updateCoach.
firstName—String—
lastName—String—
nationality—String—
version—Int! requiredOptimistic-locking version (participants.version) — pass as expectedVersion on updateCoach.
sportId—ID! required—
createdAt—DateTime! requiredWhen the participant row was first inserted (participants.created_at).
aliases—[ParticipantAlias!]! requiredRecords merged into this canonical via the M22 merge flow (REQ-009).
currentTeam—TeamCurrent 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.