Skip to content

Runner

Object type

FieldArgsTypeDescription
idID! required
statusRunnerStatus! required
clothInt
reservePositionIntReserve-runner ordering within the race (R1, R2, …). Non-null only when status is RESERVE; the entries_reserve_position_only_when_reserve check constraint enforces the invariant at the database level. Sourced from the IHRB reserve="y" attribute at ingest, or set by operators when manually marking a runner as a reserve.
stallInt
raceRaceThe parent race this runner is entered into. Useful for entry-list views (e.g. a horse’s form table) where each row needs its own race context. Nullable: races are soft-deleted (deleted_at IS NOT NULL) but entry rows may still reference them; the loader returns null for those, and we’d rather surface that than nullify the entire Runner via a non-null violation. Form-history queries already filter out soft-deleted races.
horseHorse
jockeyJockey
trainerTrainer
ownership[Ownership!]
silkSilk
weightWeight! required
officialRatingInt
adjustedRatingInt
overweightIntOverweight carried (lb) — jockey could not make the allocated weight.
allowanceIntApprentice/conditional jockey claim/allowance (lb).
penaltyIntPenalty weight (lb) for a race won after declaration (operator-entered).
outOfHandicapIntOut-of-handicap weight (lb): surplus carried when rated below the race minimum.
recentFormString
startingPricePrice
equipment[EquipmentItem!]
medication[MedicationType!]Operator-editable medication (POD-574). WIND_OPERATION is also written by the Weatherbys OD feed (POD-686).
lastRunDaysInt
courseWinnerBoolean
distanceWinnerBoolean
beatenFavoriteBoolean
casualtyReasonCasualtyReason
withdrawnReasonString
withdrawnAtDateTime
resultRunnerResult
winningsMonetaryAmountPrize money this runner earned in the race (POD-539). Derived at read time from the finishing position against the race’s per-position prize breakdown (Race.prizeMoney.places) — there is no per-entry winnings column. Null (never 0) when the runner did not earn: a non-finisher (no finishing position), an unplaced runner (finished outside the paid places), or a race that carries no prize breakdown. A genuine unpaid finish and a race with no breakdown are indistinguishable here — both surface as null. Dead heats share the pooled prize for the tied placings equally (racing convention). Disqualified / amended results earn against the revised finishing position, matching how placings are officially settled.
sourceString! requiredOrigin of the runner row. 'manual' for runners added via createRunner; 'ingested' (or a provider tag) for runners written by ingestion pipelines. Drives destructive-action gating in the UI: “Delete from race” is offered when the parent race is manual or this runner was added manually.
versionInt! required
createdAtDateTime! required
updatedAtDateTime! required