> ## 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 handle bye requests?

> Record the league nights a team asked to sit out, then generate or optimise the schedule so those teams get the bye — and see which requests could not be met before you save.

<Note>
  **Must know**

  * Available when a superadmin enables **Bye Requests** for your club. It is new in Uplifter Curling (CCM's generator had no requested nights off), so it is off for every club until Uplifter switches it on — ask your Uplifter contact.
  * A bye request covers a whole league night, every draw time on it. A team can hold up to 20 requests in a league.
  * Requests shape the schedule only when you **generate** (or regenerate) or **optimise**. Adding a request never moves a game that is already saved; the panel warns you instead.
  * The generator never changes who plays whom, how many games each team gets or how many byes each team has. It rearranges the order and moves games; anything it cannot honour is listed before you save.
</Note>

With the feature on, a **Bye requests** panel sits on the league's **Draws** tab — "Nights a team asked to sit out." Convenors see the same panel in the League Portal's **Schedule** section. Admins, the league's managers and league convenors can add and remove requests for any team. Members can ask too, from **My Teams → Nights off**, until the club has scheduled that night; their requests appear here tagged **member**, with **Asked by** and any note.

<Steps>
  <Step title="Record the requests">
    On the league's **Draws** tab, open **Bye requests**. Pick the **Team**, the **Night** (the list offers the league's nights, and a night already on the schedule says **(scheduled)**), add a **Note (optional)** such as "away at a bonspiel", and click **Add request**. The badge counts the requests. Click the **×** on a row to remove one.
  </Step>

  <Step title="Generate around them">
    Click **Generate schedule** (or **Regenerate**). When the league has requests, the dialog shows **Honour N bye requests (M teams)**, ticked, and under it **Add make-up draws after the last night for games that cannot move**, also ticked. Set up the rest of the dialog as usual.
  </Step>

  <Step title="Preview">
    Click **Preview**. The preview says **N of M bye requests honoured** before anything is saved. Any request it could not meet is listed as *\{team} still plays \{night}* with the reason, and games sent to make-up draws are listed with the note "Their opponents sit those nights out instead."
  </Step>

  <Step title="Save">
    Click **Create schedule** (or **Replace schedule**). The confirmation repeats the count, for example **Created 8 draws — 3 of 3 bye requests honoured**. Preview and save give the same grid.
  </Step>
</Steps>

## How the generator honours a request

First it looks for an arrangement where the requesting team simply has that night's bye: it reorders the teams within each division and the rounds within each round-robin cycle, which changes neither the matchups nor anyone's game or bye count. Two teams asking for the same night are paired against each other where possible, so one moved game clears both. Whatever is still on a requested night is then moved or swapped into a free sheet on another night.

When a game still cannot move — typically in a league where every team plays every draw — **Add make-up draws** puts it on a make-up draw after the last league night, skipping holidays, excluded dates, nights either team asked off and game times reserved for another division. The opponent then sits the original night out, which is why this is a choice. Untick it to leave such requests unmet instead.

The reasons you may see for an unmet request:

| Reason in the preview | What it means |
| - | - |
| no draw on another night had room for the game | Every other night was full and make-up draws were off, or none could be found. |
| the schedule has no dates — set a start date and game times | Nothing to arrange without a **First league night** and **Game times**. |
| a template or fill run keeps its nights | Generating from a saved template, or **Fill in missing games**, keeps its nights; requests are reported, not arranged. |
| a locked game puts the team on that night | A locked game you kept through the regenerate is on the requested night. |

A league with an odd number of teams has one bye per night, so two teams asking off the same night, or one team asking off two nights in one cycle, cannot all get the bye without make-up draws.

## After the schedule is saved

A request added for a night the saved schedule still has the team playing shows a warning that stays visible even with the panel collapsed — *\{team} requested a bye on \{night} but is scheduled (\{draw}) — regenerate or move the game.* (with **Draw Optimizer** enabled it ends *regenerate or optimise unlocked games.*) — and a **scheduled anyway** badge. Nothing moves on its own: regenerate, move the game yourself, or, with **Draw Optimizer** enabled, run **Optimise unlocked games**, whose preview shows **On requested byes: before → after**.

In the classic view, the **Generate Games** screen honours the league's requests the same way, and its result line adds **N of M bye requests honoured** (with the teams and nights still scheduled). The classic screen has no requests panel; record requests in the new view. Turning the feature off hides the panel, the member button and the dialog line, and generating ignores the stored requests; turning it back on brings them back unchanged.

**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) · [What is the draw optimizer?](/club/leagues-and-draws/what-is-the-draw-optimizer) · [How do I ask for a night off (a bye)?](/members/leagues-and-games/how-do-i-ask-for-a-night-off) · [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.