> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uplifter-curling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How do I build the schedule?

> Generate a round robin, then move, swap, lock, add or delete games and print score sheets from the Schedule section.

<Note>
  **Must know**

  * **Schedule** is the full admin draw tool. **Generate schedule** builds a round robin over the league's teams on its draw nights and sheets; once one exists the button reads **Regenerate** and *Regenerating replaces the existing schedule.*
  * After generation: click a game to record its result; drag it (or use ⇄) onto an empty sheet to move it or onto another game in the same draw to swap; the lock pins it in place.
  * **Add game**, **Mass edit**, **Import CSV**, **CSV**, **Clear** and **Print score sheets** are on the toolbar. Points rules live on the admin **League Setup** tab, reached via **Full admin view**.
</Note>

<Steps>
  <Step title="Check the setup">
    The generator uses the league's draw days, times, sheets, divisions and sessions from **League Setup** (open **Full admin view** if you need to change them). Make sure the teams are built.
  </Step>

  <Step title="Generate">
    Choose **Generate schedule** — *Round robin over the league's teams.* Tick the days the league plays under **League nights** (Tuesday and Thursday, say), and add a **Last league night (optional)** if the season must end on a date — round robins are added up to it and nothing is scheduled after. **Balance playing sheets** (on by default) spreads each team across the sheets, and **Show a game against "Nobody" for a bye** lists the team sitting out a night. The grid fills with one row per draw and one column per sheet, plus a **No sheet** column for any games against "Nobody". See [How do I generate the draw schedule?](/club/leagues-and-draws/how-do-i-generate-the-draw-schedule) for the details.
  </Step>

  <Step title="Adjust">
    Drag games to move or swap them, lock the ones that must not move, **Add game** for a make-up or playoff, or **Edit draw** to change a draw's date or label. **Clear** deletes the whole schedule (*Clear the entire draw schedule? Games are deleted too.*).
  </Step>
</Steps>

If your club has the draw optimiser enabled you also see a fairness card, **Optimise unlocked games** and a fill mode; without it the plain grid is what CCM offered.

If Uplifter has switched on **Bye Requests** for your club, a **Bye requests** panel above the grid lists the nights teams asked to sit out, and you can add or remove requests there. **Generate schedule** then offers **Honour N bye requests** and its preview says **N of M bye requests honoured** before you save — see [How do I handle bye requests?](/club/leagues-and-draws/how-do-i-handle-bye-requests).

Members see the schedule on the league page as soon as the club's publish toggles allow; unpublished games stay hidden. **Print score sheets** produces one sheet per game for a draw.

**Related:** [How do I create teams?](/convenors/running-your-league/how-do-i-create-teams) · [How do I enter a game result?](/convenors/running-your-league/how-do-i-enter-a-game-result) · [What is the League Portal?](/convenors/league-portal/what-is-the-league-portal)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.