Tutorial: Tennis Bracket
This tutorial creates an eight-player singles knockout tournament. It avoids team assumptions and uses nested set/game scoring.
Create the tennis foundation
Create a Sport Type from the tennis profile with positions, events and
statistics enabled. Create competition Open Singles, season 2035 and
project Open Singles 2035 with project type Tournament or Cup as allowed by
the active profile.
Create eight fictional Person records. Teams and clubs are optional for this individual event. Add each person as a project entry with kind Person and seed numbers 1–8.
Stage and rounds
Create one stage named Main Draw, type knockout, sequence 1, inheriting all
project entries. Create three rounds:
- Quarterfinals, sequence 1
- Semifinals, sequence 2
- Final, sequence 3
Create four quarterfinal programme items with seed pairings such as 1–8, 4–5, 2–7 and 3–6. Semifinal/final slots should be populated by winner progression, not by copying names in advance.
Score contract
Tennis uses a nested score rather than a single football-like number. Record sets and games according to the profile's configured best-of format, tie-break rules and win-by-margin behavior. A valid straight-sets result can contain two completed set segments; a three-set event needs the deciding set.
Do not encode a set sequence into a free text result. Structured score segments allow Event Report, bracket advancement and future validation to understand the winner.
When the competition uses a match tie-break instead of a final set, ensure that behavior is present in the selected profile/project rule before entering the result.
Progress winners
After every quarterfinal is Final, preview/apply winner transitions into the semifinal round/stage assignment as configured. Repeat after semifinals for the final.
The public bracket should show:
- all eight different players in quarterfinals;
- no known semifinalist before its quarterfinal is final;
- no known finalist before its semifinal is final;
- the champion only after a valid final result.
Clicking one player highlights only that stable entry's path, even if two people have similar display names.
Lineup, officials and statistics
For singles, the participants are the players themselves; do not create an 11-player lineup. Assign profile-compatible officials such as chair/line umpires when configured. Record aces, double faults, break points and other statistics supported by the profile. Event Report adapts to the two participants and centers statistic names between their values.
Frontend setup
Create Bracket (project + Main Draw stage), Results, Participants, Participant, Participant Statistics, Event Report routing and Statistic Ranking menu items. Publish Project Navigation, Programme, Next Event and ranking modules.
Verify mobile bracket navigation, horizontal round movement and participant path highlighting. Event Report should display set breakdowns; Results should remain a compact programme/result overview without event timelines.
Validation checklist
- 8 person entries, no forced team entries.
- 3 ordered rounds and 7 total programme items.
- every first-round pairing uses two different entries.
- nested score segments satisfy the immutable tennis contract.
- every advanced entry is the winner of a final source event.
- bracket never fabricates future participants.