What this module is for
The Tournaments module is the operator workspace for maintaining tournament templates, reviewing generated tournament instances, and handling participant outcomes when a tournament is already running or completed.
Use it when you need to:
- create or edit a reusable tournament configuration
- review which active or past tournament instances were generated from that configuration
- inspect one tournament instance in a read-only preview
- correct one active instance or cancel it before completion
- review participant rankings and resend failed coupon prizes
- inspect tournament lifecycle and error events in the activity log tab
- track untranslated tournament content and trigger translation support
Surfaces in this module
List: theTournament Schedulercatalog for tournament configurations.Detail: the create/edit screen for one configuration record.Ongoing Tournaments: generated tournament instances currently inSCHEDULEDorIN-PROGRESSoperational scope.Past Tournaments: generated tournament instances grouped from completed and canceled records.Activities: the tournament-specific activity feed shown under the visibleActivitiestab.Activity Detail: the create/edit surface for one active instance.Activity Preview: the read-only preview for one active or past instance.Participant Leaderboard: the nested operator view for ranked participants, recalculation, and prize resend actions.Translations: the untranslated-content helper surfaced from the module landing page.
Lifecycle automation
Tournament configuration rows do not become player-facing tournament instances by themselves. The backend lifecycle check reads active configurations, creates generated rows in public.tournaments_list, advances those rows between SCHEDULED, IN-PROGRESS, and COMPLETED, and writes tournament activity rows when status changes or errors happen.
When an instance reaches its end time, backend completion logic computes participant statistics from public.user_tournaments, stores summary stats on the generated instance, distributes configured prizes, marks the instance COMPLETED, and sends leaderboard/notification updates. Operators should treat the Scheduler row as the template, and the Ongoing/Past rows as the concrete execution records.
Where operators usually get confused
Tournament Scheduleris the configuration catalog.Ongoing TournamentsandPast Tournamentsare generated instances, not the same rows.- The visible
Activitiestab is the event feed, not the generated-instance grid. - A configuration can stay active even when one concrete instance is already completed. Repeat rules determine whether new instances continue to spawn.
Lead TimeandLeg Timeshift the effective start and effective end used in the active instance grid.- Recalculation and prize resend are not cosmetic actions. They reach tournament runtime services and can update participant outcomes.
- Translation support is split: the tournament editor can translate one record, while the landing-page widget tracks all untranslated tournament content.
Verification scope
This module is documented from: