TennisSideStats
Object type
Per-side (per-team for doubles) tennis statistics + the side’s players’ bio. The STAT fields are
sourced from tennis_match_sides.stats (JSONB) and are NOT populated by the M14 ingestion transform
(Track C) — they resolve null for real matches. players[].rank is different: it resolves from the
canonical season race-ranking tables (POD-658), so this object materialises for any side with a ranked
player even though its stat fields are still empty. Every field is optional so a partial payload
renders what it has.
Fields
Section titled “Fields”| Field | Args | Type | Description |
|---|---|---|---|
aces | — | Int | — |
doubleFaults | — | Int | — |
firstServePct | — | Int | First-serve percentage as an integer (68 = 68%). |
winners | — | Int | — |
unforcedErrors | — | Int | — |
breakPointsSaved | — | String | Preformatted break-points-saved, e.g. “3/5 (65%)”. |
currentGame | — | String | Live game score for the in-progress set (e.g. “30”, “40”, “AD”). Point-level — Track C; null in M14. |
players | — | [TennisPlayerBio!] | Per-player bio, aligned by index to the side’s players. |