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
idID! required
nameString! required
displayNameStringOperator-curated display name (participants.display_name) — editable via updateCoach.
firstNameString
lastNameString
nationalityString
versionInt! requiredOptimistic-locking version (participants.version) — pass as expectedVersion on updateCoach.
sportIdID! required
createdAtDateTime! requiredWhen the participant row was first inserted (participants.created_at).
aliases[ParticipantAlias!]! requiredRecords merged into this canonical via the M22 merge flow (REQ-009).
currentTeamTeamCurrent 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.