> ## 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.

# What is the draw optimizer?

> Lock games in place, see a fairness panel, fill gaps around locked games and drag games to move them — extras beyond CCM's generate and edit grid.

<Note>
  **Must know**

  * Available when a superadmin enables **Draw Optimizer** for your club. Without it the **Draws** tab is the plain CCM-style grid: generate, regenerate, edit, swap and clear still work; there are no lock icons, fairness panel, optimise button, fill mode or drag handles.
  * **Optimise unlocked games** only moves games between dates, times and sheets. It never changes who plays whom.
  * Locked games survive **Regenerate → Replace schedule**; they do not survive **Clear**.
</Note>

With the optimizer on, the Draws tab gains four things:

* **Locks.** Each game has a lock icon (**Lock game in place** / **Unlock game**). Locked games cannot be moved, dragged or replaced by a regenerate.
* **Fairness card.** Badges for **Matchup repeats**, **Excess games**, **Max consecutive draws**, **Sheet imbalance**, **Bye imbalance** and **N locked**, plus a per-team table — games, byes, back-to-back draws, games per sheet and per time slot — flagged "uneven sheets" or "uneven times".
* **Optimise unlocked games.** A dialog with **Move draws off these dates (optional)** and **Avoid a team playing the same sheet two games running**. Click **Preview**, then **Apply N moves**. With **Bye Requests** also enabled, it steers games off nights a team asked to sit out, and the preview adds **On requested byes: before → after** whenever a game sits on a requested night.
* **Fill mode.** When a schedule exists, **Generate schedule** asks **What to do with the current schedule**: **Replace schedule** or **Fill in missing games (keep the schedule)**. Fill adds only the games that are missing, around what is there. It keeps its own packing, so **Last league night (optional)**, **Balance playing sheets** and **Show a game against "Nobody" for a bye** do not apply and are hidden in fill mode.
* **Drag to move.** Drag a game to another cell. Drops onto a locked game, a game with a result, or an occupied sheet in another draw are refused.

In the classic view the Games list gains **Lock** / **Unlock** on ticked rows, the fairness line and **Optimise**. The classic **Existing schedule** Replace/Fill choice is shown whenever a schedule exists, but **Fill** is refused unless the feature is enabled.

**Related:** [How do I generate the draw schedule?](/club/leagues-and-draws/how-do-i-generate-the-draw-schedule) · [How do I clear or regenerate the schedule?](/club/leagues-and-draws/how-do-i-clear-or-regenerate-the-schedule) · [How do I handle bye requests?](/club/leagues-and-draws/how-do-i-handle-bye-requests) · [What is the Features page?](/club/get-set-up/what-is-the-features-page)


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