All players active
Session Planner
12 players / 3 courts / full court use
Twelve players moving.
Three courts stay full.
Keep every player active for six rounds, rotate partners, and print a schedule that makes the remaining opponent repeats explicit.
The short answer
12 players · 3 courts · 6 rounds
Twelve players fill three doubles courts with no sit-outs. This six-round example keeps partner repeats at zero while reporting the opponent repeats that remain.
Build your version- Sit-outs / round
- 0
- Games spread
- 0
- Sit-out spread
- 0
- Partner repeats
- 0
The next round starts here
No opaque shuffle.
Set player, court, and round counts. The schedule and its fairness ledger appear together.
- Every player accounted for each round
- Repeat partners and opponents made visible
- Print, CSV, and clipboard ready
Reviewed fixed example
See the complete rotation before you make it yours.
This example uses seed 1203. The ledger describes this selected schedule—not a promise that every seed produces the same repeat counts.
Good for
- Larger social groups with three courts
- Six-round club sessions
- Hosts who need full court utilization
Know the limits
- Opponent repeats remain over six rounds
- This is rotating-partner play, not a strict all-play-all tournament
- Roster changes require a new future schedule
Fixed example schedule
Example rotation
Balanced according to these settings · selected from a bounded heuristic search
All players active
All players active
All players active
All players active
All players active
Court-side questions
Questions about this setup
Do 12 players need sit-outs on 3 courts?
No. Three doubles courts use exactly twelve players each round.
How many rounds are in this example?
The preset uses six rounds, but you can choose from one to twelve before generating your own rotation.
Is this an official tournament schedule?
No. It is a transparent rotating-partner session plan generated by a bounded heuristic.
Ready-made starting points
Popular rotations
Start with a reviewed player-and-court setup, inspect its tradeoffs, then replace the labels with your own roster.
Ready to configure a session.