TennisMatch
Object type
A tennis match (singles or doubles). Implements the contest-level SportEvent interface; status
follows the shared multisport status model. Freshness is poll-bound — see the blueprint’s
live-update caveats.
Implements: SportEvent
Fields
Section titled “Fields”| Field | Args | Type | Description |
|---|---|---|---|
id | — | ID! required | — |
sport | — | Sport! required | — |
competition | — | Competition! required | Non-null here (covariance-legal): every tennis match belongs to a competition. |
season | — | CompetitionSeason! required | — |
stage | — | CompetitionStage! required | — |
venue | — | Course | — |
scheduledTime | — | DateTime! required | — |
lifecycle | — | EventLifecycle! required | — |
status | — | MultisportEventStatus! required | — |
statusDetail | — | String | Fine-grained provider state name, e.g. “1st set”, “Finished AET”, “Walk over”. |
matchType | — | TennisMatchType! required | — |
gender | — | EventGender | — |
round | — | String | Knockout round label where published, e.g. “1/8”. |
isKnockout | — | Boolean | — |
bestOfSets | — | Int | Best-of format, e.g. 3 or 5 — from provider match metadata. |
startedAt | — | DateTime | Actual start time, once under way (null pre-match). |
umpire | — | String | Chair umpire, where the provider supplies it. Track C — null in the M14 feed. |
surface | — | String | Playing surface, e.g. “Clay”. Track C — null in the M14 feed. |
court | — | String | The court the match is played on, e.g. “Court 2” — the display name of venue, offered as a scalar for clients that want the name without selecting the whole Course. Null when the venue has not resolved. Use venue when you need the court’s id or country. |
orderOnCourt | — | Int | 1-indexed position in the order of play on court. Sparse — only tournaments that publish an order of play supply it, so null is normal and does not imply an error. MUTABLE: re-cut intraday when a court is reshuffled, and not guaranteed contiguous once matches are withdrawn. This is an ordinal, NOT a start time — order the day’s play by this within a court, but never infer a clock time from it. |
activity | — | [TennisActivityEntry!] | Recent activity / update feed. Track C (point-by-point dormant) — empty in M14. |
sides | — | [TennisMatchSide!]! required | Exactly two sides; each side carries 1 (singles) or 2 (doubles) players. |
setScores | — | [SegmentScore!]! required | Per-set scores, in set order; includes the in-progress set during live play. |
games | — | [TennisMatchGame!]! required | Game-by-game progression (the Match Events tab), in game order across the match. Promoted from the EnetPulse eventScopes game segments (POD-665 Tier B). |
incidents | limit: Intoffset: IntincludeDeleted: Boolean | [MatchIncident!]! required | Point-by-point incident stream, where the provider publishes one. DORMANT in M14 (Enet Blueprint 1 §12.4 D4) — resolves to an empty list until canonical point-by-point storage lands. |
createdAt | — | DateTime! required | — |
updatedAt | — | DateTime! required | — |
version | — | Int! required | — |