Tutorial: Basketball Tournament
This scenario creates an 8-team basketball tournament with two groups and a four-team knockout stage. It demonstrates stage-specific assignments, transitions, quarter scoring and a bracket.
Sport and entities
Create a Sport Type from the basketball profile with all three initialization
switches enabled. Verify point events, fouls, player statistics and basketball
positions were initialized.
Create competition City Basketball Cup, season 2035, eight fictional clubs
and teams, and venues. Create project City Basketball Cup 2035 with project
type Tournament. Use the system timezone unless the tournament takes place in
another zone.
Add all eight teams as project entries with seeds 1–8. Add enough fictional players/staff to demonstrate lineups and statistics.
Group stages
Create two stages:
- Group A, type
group, sequence 1 - Group B, type
group, sequence 2
Switch each to explicit assignment. Assign seeds 1, 4, 5, 8 to Group A and 2, 3, 6, 7 to Group B (or use your draw). A participant must not appear in both groups unless the competition intentionally permits it.
Generate a one-leg four-team round robin in each group. Each group should produce 3 rounds and 6 programme items. Preview and verify before applying.
Knockout stage and qualification
Create stage Final Four, type knockout, sequence 3, explicit entries. Do
not manually assign finalists yet.
Create transitions:
- Group A top two → Final Four, standing rank range 1–2
- Group B top two → Final Four, standing rank range 1–2
Use the profile's total standing scope and assign target seed starts so the bracket receives deterministic positions. Preview transitions only after all group results are final. Apply and confirm exactly four entries are assigned.
Create semifinal and final rounds manually or with a compatible knockout schedule definition. Pair A1–B2 and B1–A2. The final must initially have unresolved/no fabricated finalists. Winners advance only after semifinal results are Final and the relevant outcome transition/progression is applied.
Basketball result entry
For each event, the profile contract expects timed periods and numeric points. Record quarter scores where supported and verify their aggregate equals the final score. A tied regulation event can use overtime according to the active profile; do not store a final draw when the contract disallows one.
Record scoring events (one/two/three points where configured), fouls and statistics against existing lineup people. A statistic such as assists can be recorded through its supported source even when it is not presented as a separate public timeline event.
Standings and bracket checks
Group standings are stage-scoped. Verify each group independently and confirm points/tie-break metrics follow the active profile version. The Final Four bracket requires at least two rounds and final source results.
Never assign the winner/finalist simply to make the bracket look complete. Before a semifinal is final, its final participant slot must remain unresolved.
Frontend setup
Create Project, Participants and Results items for the whole tournament; stage-specific Standings for Group A and Group B; and Bracket for Final Four. Publish Programme, Next Event, Event Ranking, Statistic Ranking and Project Navigation modules where appropriate.
Test these states:
- Before group completion: group tables work, Final Four is empty/unresolved.
- After final group results: transitions preview four qualifiers.
- After applying transitions: semifinal participants appear.
- After final semifinals/progression: final participants appear.
- After final result: champion path is highlighted correctly.
Run preflight after every structural transition. The complete project should have eight project entries, two 4-entry group stages, one 4-entry knockout stage and no result-contract failures.