← Application StudioAvailable · v0.1.0

Round-robin court pack

A venue-ready plan for a small all-play-all event: courts, gap slots, score sheet and each participant’s itinerary.

Venue and timing assumptions

Times are elapsed from 0:00. No live clock, bookings or waiting-time optimization.

Local temporary inputs only. Downloads contain the supplied names. Editing clears the previous draw.

Take a small event from roster to court handoff

Enter individual players or preformed teams, choose your available courts and set a planning slot length. This tool creates every pair once, assigns each match a court and slot, and gives each participant a personal itinerary. Save the HTML pack to read or print at the venue. The pack includes blank score cells for recording results on paper, and a JSON download preserves the structured schedule.

This is a scheduling handoff for a small club or informal event. It does not manage registrations, collect scores, rank players or decide a winner. Use one name per singles player, or one name per already formed team. Partners are not rotated within teams.

How the schedule is arranged

The roster order feeds a deterministic circle rotation. Every participant meets every other participant exactly once. A roster of N participants produces N × (N − 1) ÷ 2 matches, with N − 1 rounds for an even roster and N rounds for an odd roster. An odd roster has one bye in each round.

A participant plays at most once within each round. If there are more matches than courts, the round is split into consecutive slots. Matches from the next round start only after the current round and your chosen gap slots are finished. Unused courts and participants waiting in each slot are listed explicitly; a bye means no match in that entire round, while waiting can also happen when courts are limited.

Control gaps without promising an optimized draw

Gap slots are empty slots inserted between rounds. With a gap of one, there is at least one scheduled slot between any participant’s matches in different rounds. People can wait longer because of court capacity or byes. With a gap of zero, back-to-back slots are possible. The itinerary shows actual intervening slots so you can review the distribution.

The tool does not optimize waiting time, court balance, seeding, skill balance or home/away assignments. Roster order changes the rotation. Reorder the names and rebuild if you want another deterministic arrangement, then check the entire result before handing it out. Gap slots are a planning setting, not a recommendation for physical recovery or a sport’s official rest rule.

Work through the example

Six participants create 15 matches over five rounds. With two courts, each round needs two match slots. Adding one empty slot between rounds produces 14 total slots: ten used for matches and four gap slots. At 20 minutes per slot, the planning window is 280 minutes. Each participant has five matches, and no participant is assigned to two courts in the same slot.

Times are elapsed from the event’s start, beginning at 0:00. They are not wall-clock times or calendar bookings. Slot length includes whatever match and changeover allowance you choose. Matches may overrun; there is no live clock, automatic notification or rescheduling. Unused courts are not carried forward to overlap later rounds.

Save and use the pack

The HTML download contains the event settings, complete slot-by-slot court sheet and a separate itinerary for every participant. Blank score cells are for handwritten scores. They do not store edits or calculate standings. Use the browser’s print command when viewing the saved pack, checking scale and page breaks in the print preview. JSON includes the same match identifiers, rounds, slot assignments and participant indexes for a separate process; it is not a federation import format.

Give participants a clear start location and explain that elapsed times are planning estimates. Confirm court availability, scoring, tie-breaking, withdrawal and overrun procedures separately. This app does not certify a draw under USTA, AITA or any other organization’s rules.

Limits and temporary data

Use 2–16 unique names, up to 60 characters each, and 1–4 courts. Names are trimmed and checked for case-insensitive Unicode-normalized duplicates. Slot length accepts whole minutes from 5 to 180; gap slots accept whole numbers from 0 to 3. These bounds keep the pack manageable; they are not recommended event settings. Long names wrap in the output.

Inputs remain in this page’s memory, with no accounts, uploads, calendar connection or server storage. Changing any setting removes the previous result and downloads so an old draw cannot be mistaken for the new roster. Clear or reload removes page state; files you deliberately download remain on your device and include the supplied names. There is no saved history, sharing service or analytics in the tool.

Reference: USTA’s round-robin format overview describes playing each opponent once. Its competition and scoring rules are separate from this informal scheduling tool.