Schedule & Seasons
Configure registration windows, competition dates, season resets, and roster lock timing for your ladder.
Registration & competition window
Four datetime fields define when teams can join and when matches count toward standings. All four are optional — a ladder with no dates set accepts registrations and matches at any time while it is ACTIVE.
Registration opens (registrationOpen)
Type: datetime
When teams can start joining the ladder. Before this timestamp the registration form is locked and new teams cannot enroll. Leave null to allow registration immediately when the ladder is ACTIVE.
Registration closes (registrationClose)
Type: datetime
When team enrollment locks. Existing enrolled teams keep playing after this date; new teams are blocked from joining. Useful for competitive seasons where you want a hard cut-off before competition begins.
Competition starts (competitionStart)
Type: datetime
When matches start counting toward standings. Matches reported before this date are rejected by the server. Use this to run a pre-season warm-up period where teams can get comfortable without affecting rank.
Competition ends (competitionEnd)
Type: datetime
When the season ends. Matches after this date are rejected; standings freeze at this point. Combine with seasonEnd and autoReset (below) to drive the full season lifecycle automatically.
All four date fields are independent — you can set just competitionEnd without setting
registrationOpen, or run a ladder with no dates at all. The system enforces only the fields you
configure.
Season & reset
Multi-season ladders reuse a single ladder record across seasons rather than creating a new ladder each time. The settings below drive the archive-and-reset job.
Season ends (seasonEnd)
Type: datetime
When the current season closes. Combined with autoReset, this drives the scheduled job that archives standings and starts the next season number.
Auto reset (autoReset)
Type: boolean
When true and seasonEnd passes, the ladder automatically archives the current season's standings and increments the season number. When false, the org owner triggers the reset manually from the Seasons sub-tab in the ladder admin.
Reset mode (resetMode)
Type: FULL_RESET | SOFT_RESET | DECAY
Controls how ratings or points carry over into the new season:
- FULL_RESET — every team resets to default rating / 0 points. Maximum competitive freshness; prior results have no influence on the new season.
- SOFT_RESET — ratings compress toward the mean. The leaderboard order is roughly preserved but the spread tightens, giving challengers a better shot at climbing without making rank meaningless.
- DECAY — ratings drift toward the default by a fixed amount each reset. Teams that were dominant stay ahead but lose ground if they don't play the new season.
Roster lock date (rosterLockDate)
Type: datetime
When the roster snapshot freezes. After this date, roster changes on the source org roster (add / remove members) no longer propagate to the ladder team. The locked snapshot is used for match eligibility instead.
Roster unlock date (rosterUnlockDate)
Type: datetime
When the lock auto-clears — typically the end of playoffs. Setting both rosterLockDate and rosterUnlockDate arms the scheduled lock/unlock job. Leaving them null means the lock follows the manual roster-lock toggle in the admin UI instead.
To run a traditional season: set competitionEnd = seasonEnd, enable autoReset, choose a
resetMode, and set rosterLockDate a week before the season ends. The system handles the rest.