Skip to main content
Documentation

Scheduling & Availability

For competitions where matches aren't all played at a fixed time, Tabletop League helps players and organizers agree on when each match happens. Set the scheduling model per competition under Settings.

Scheduling modes

ModeWho sets the time
OrganizerYou assign each match's start time (via Match Settings on the Matches tab). The default.
PeerPlayers arrange their own matches by proposing times to each other; you stay out of the loop unless a match stalls.

How peer scheduling works

In peer mode, either player on a match can propose a time (with an optional short message), or open a time poll with several candidate times for a group vote. The opponent (and, for a poll, anyone else who votes) gets a notification.

Single time proposals

  • Accept sets the match's start time and moves it to Scheduled.
  • Decline clears the proposal so someone can suggest another time.

Time polls

A time poll lists 2–5 candidate times; players (and, on Discord, anyone in the channel) vote for the ones that work. How a poll resolves:

  • Both match participants vote for the same time — it's accepted automatically. The rest of the vote count is advisory context, not a requirement.
  • No mutual pick — whichever time has the most votes becomes the leading candidate, and the non-proposing player explicitly accepts or declines it (a tie lets them pick any of the tied leaders).
  • No votes at all — the poll expires once its voting window closes.
  • You (the organizer) can accept any candidate on an open poll at any time, overriding the vote — useful when players have settled on a time outside the app.

Opening a poll supersedes the proposer's own pending single proposals, and only one poll can be open per match at a time — creating a new one while your own is still open replaces it; while the opponent's is open, you're asked to wait. Accepting any proposal or poll (by either mechanism) supersedes every other open negotiation on that match. Once a poll's voting window (or, after a leader emerges, its acceptance window) passes, it expires and either player can start a fresh one.

On Discord

If your community uses the Tabletop League Discord bot, /poll-time opens the same poll as a native Discord poll — players vote right in the channel, and the bot reports the outcome back to the platform automatically. /poll-time auto skips typing candidate times entirely; the bot pulls suggested times from both players' saved availability (see below) and opens the poll with those. Command reference lives in the bot's own docs; the voting/acceptance rules above are identical regardless of which side (web or Discord) a poll was opened from.

Availability

Players can share when they're generally free, so opponents (and the poll auto-suggest / auto-candidates features) propose sensible times instead of guessing. Availability is advisory — it informs proposals but doesn't auto-schedule anything.

Availability windows are interpreted in each player's own profile timezone (set under Settings → Profile). A player who hasn't set one is treated as UTC for these comparisons — worth flagging to players in different timezones if their suggested times look off.

Finding matches that need attention

On the Matches tab, two preset filters surface scheduling gaps:

  • Unscheduled — matches with no agreed time that aren't yet complete.
  • Passed incomplete — matches whose scheduled time is in the past but which still aren't done.

When players go quiet on scheduling, you can chase them with a bulk nudge — the Nudge players → Nudge unscheduled matches action targets exactly the unscheduled set (scoped to your active stage/round filter). For a round whose deadline has passed, Matches to resolve in your Inbox is the place to resolve stragglers deliberately.

Scheduling deadlines (auto-consequences for unscheduled matches at a cutoff) aren't built yet — today, scheduling enforcement is manual via nudges and Matches to resolve.