Build Your Perfect League Format

Independent settings for match structure, registration, entry mode, and partner commitment. Pick a preset or go fully custom.

Four presets, one click

Most leagues fit one of four patterns. Select a preset and every setting is configured automatically. No forms, no guesswork.

Classic Round Robin

Season registration, fixed doubles partners, round robin scheduling. The traditional league format most clubs run today.

Social Mixer

Season registration, individual entry, rotating partners each week. Great for community building and meeting new players.

Drop-In Series

Per-week registration with a session fee. Show up when you can, pay only for the sessions you attend. Cumulative standings across weeks.

Ladder

Season registration, individual entry. Challenge-based play with rung promotions and challenge windows.

Custom mode. None of the presets fit? Select "Custom" and configure each setting independently. Combine per-week registration with fixed doubles partners, or season registration with individual entry and rotating partners. Any combination works.


Independent settings

Each aspect of a league is its own setting. Change one without affecting the others.

Setting Options What it controls
Match Structure Round Robin, Ladder How matches are scheduled and brackets formed
Registration Mode Season, Per Week, Player Chooses How players sign up and when they pay
Entry Mode Individual, Doubles Whether players register alone or as a pair
Partner Commitment Fixed, Rotating Whether doubles partners stay together or change each week

Round Robin + Per Week + Individual + Rotating — casual drop-in with new partners every session

Round Robin + Season + Doubles + Fixed — traditional competitive doubles league

Round Robin + Player Chooses + Individual + Rotating — flexible league where players pick their commitment level

Ladder + Season + Individual — challenge-based competition with a fixed roster


Per-week fee proration

Leagues with per-week or player-chooses registration automatically prorate platform fees. Players who attend 4 out of 10 weeks pay 40% of the platform fee, not the full amount.

Automatic calculation

Platform fees are prorated per session based on the total number of weeks in the season. No manual configuration needed.

Per-session line items

Each session payment generates its own invoice line item with the prorated platform fee, making reconciliation straightforward.


Always-available standings

Every composable league gets multiple standings views. Players can toggle between them at any time.

Per-night standings — results from a single session or week

Cumulative standings — running totals across all played weeks in the season

All-time standings — career stats within this league across multiple seasons

Cross-division leaderboard — see how you rank against all divisions, not just your own

Scoring mode is automatic. Season-based leagues use win-loss records. Per-week and player-chooses leagues use cumulative points, which normalize for variable attendance.


Fully backward compatible

Existing leagues are completely unchanged. No data migration, no behavior changes, no risk. Composable settings only apply to leagues created through the new flow.

Zero risk

Legacy leagues continue using their existing league_type enum. All scheduling, standings, and registration paths remain untouched.

Separate code paths

A composable_settings? guard ensures new logic only runs for new leagues. Existing code paths are never modified.


Frequently asked questions

Do I have to use presets?

No. Presets are a convenience. Select "Custom" and you can configure every setting independently.

Can I convert an existing legacy league to composable?

Not currently. Existing leagues keep their original configuration. Create a new league with composable settings for your next season.

What happens if I pick a preset and then change one setting?

The league is saved as "Custom" with whatever settings you configured. The preset is just a starting point.

Are per-week platform fees more expensive?

No. Platform fees are prorated proportionally. A player attending every week pays the same total as a full-season registration.

Can I mix season and per-week players in the same league?

Yes. Use the "Player Chooses" registration mode. Each player decides whether to commit for the full season or pay per week.