Scheduling & Events

Creating an event

Plan a session ahead of time — set the date, courts, and capacity, invite your group, and collect RSVPs.

Set the details once, invite your group, and players RSVP from a personal link. When it's game time, launch the Mixer and everyone who said yes is already loaded — no retyping names.

1. Create the event

From your Dashboard, open the Scheduler and choose Create Event / League. A new event is created on your active group, so make sure the right group is selected first.

Give the event a name. If you're running a season, check the recurring option to create a whole series at once — see Recurring leagues.

2. Set the date and time

Pick the date and time of day. The timezone defaults to your group's timezone, so the wall-clock time you enter is what players see.

You can also set an optional location and a session duration in minutes. These show up on the event page and in invite emails.

3. Courts and capacity

Two fields shape the size of your session:

Field What it does
Courts How many courts you have. Enter a single number, or a comma-separated list (e.g. 1, 3, 5) when your courts aren't numbered sequentially.
Max Players The capacity cap. Once that many players have RSVP'd "In," the rest go to the waitlist.

The Mixer uses your court count later to decide how many players are on court each round and how sit-outs rotate.

4. Invite your players

Open the event to see your group's roster. Invite the players you want, and each one gets a personal link. From that link they can RSVP In, Out, or land on the waitlistno account required. The event page tallies responses live as they come in.

Want different groups invited at staggered times — your core players first, then everyone else? That's Auto-invite.

5. Launch into the Mixer

When it's game time, open the event and launch the Mixer. Every player who RSVP'd In is loaded as your starting roster — set your courts and press Mix.

If you started a session and stepped away, the event page shows it as live or paused and offers to continue right where you left off. Players' score-entry links stay valid throughout.

Target Division (ladder events)

When your active group is a ladder division, every new event is automatically scoped to that division — its player roster comes from that division rather than the full ladder. If your active group is the ladder as a whole, a Target Division dropdown lets you pick which division's players the event is for. You can change this on any existing event the same way.

This matters for inviting: the player list shown when you open an event is drawn from whichever division the event targets, not from the full ladder roster.

Organizer RSVP override

You can move any invited player between statuses — In, Out, Waitlist, or Unknown — directly from the event's player list. Use this when a player calls you to say they're coming but hasn't touched their link, or when you need to pull someone in before the waitlist processes automatically.

When you move a player from In to any other status, the next person on the waitlist is promoted automatically and receives an email. When you move a player who is In to any other status within 24 hours of game time, a late-dropout notice appears on the event for your reference.

Allow player score entry

Each event has an Allow player score entry toggle. When it's on, players see a Score Entry button on their personal schedule page for that event, so they can enter game results from their phone. When it's off, the button is hidden and only you can enter scores from the Mixer.

The toggle is per-event — enabling it on one night doesn't affect any other events in a series. Your group's score-entry setting acts as the master switch; if remote score entry is disabled at the group level, the per-event toggle has no effect. See Player score entry.

After-Game Social (AGS)

If your group grabs food or drinks after playing, turn on After-Game Social (AGS) for an event to track who's staying. You enable it when you create or edit the event, and you can give it a custom label — it shows as an AGS badge on the event, or AGS: your label if you name it.

Once it's on, each invited player gets an AGS toggle in the player list that cycles through unknown → yes (AGS ✓) → no (AGS ✗), and a running AGS ✓ count tells you how many are in so you can book a table. It's a side question only: a player's AGS answer is completely separate from whether they RSVP'd in for the games.

Continuing or resuming a session

Once you launch the Mixer from an event, the event page tracks that session. If you close the browser or step away, the event card shows the session as live (actively mixing) or paused. Clicking Continue reopens the Mixer exactly where you left off — the same roster, round history, and court assignments — and players' personal score-entry links remain valid throughout.

Each Launch Mixer click creates a new draft session. Old drafts accumulate in your Sessions list; if you hit the per-group draft cap, the event prompts you to delete one before launching again.

Importing events from a CSV

To load a whole schedule at once, use the CSV import option in the Scheduler. Your file needs a header row, then one row per event with these columns in order:

Column Required Notes
date Yes Any date format PHP can parse, e.g. 2026-09-15 18:30
name Yes Event name
location No Venue text
courts No Number of courts; defaults to 1
duration No Duration in minutes; defaults to 120

Rows with an unparseable date are skipped silently. Max players defaults to courts × 4 for each imported event. All other settings (waitlist type, auto-invite, score entry) default to off — you can edit them individually after import.

Importing into a ladder division automatically scopes each event to that division.

What's next