Skip to content

Building & fixing a schedule

These actions live on the Schedule screen and are available to editors and admins. (If you don't see the buttons, you're a viewer — see roles.)

Before you build a year, make sure the Roster, Time Off, and Holidays are up to date, because the scheduler reads from all three.


Generate — build a whole year

Use Generate to create a brand-new schedule for a year (or completely rebuild one).

  1. Pick the year.
  2. Click Generate.
  3. Confirm. The app fills every week fairly and saves the result.

How it decides:

  • Each role (Manager / Voice / Data) is filled from its own pool, always giving the next week to whoever has been on call the fewest times so far, so each pool stays balanced.
  • No back-to-back weeks — the same person won't be on call two weeks in a row (managers are checked across all roles).
  • People on PTO that week are skipped.
  • Holiday weeks are left blank for you to fill (volunteer-first) — use Assign holidays to fill them automatically.

It's fair and repeatable

Generating shuffles the starting point each year so the same people don't always get the same weeks — but generating the same year again produces the same schedule.

Generate replaces the year

Generate rebuilds the whole year from scratch. If you only need to fix part of a year that's already in use, use Regenerate or Rebalance instead (below).


Regenerate — repair from a date forward

Use Regenerate after something changed mid-year (someone took new PTO, or left). It repairs rather than rebuilds.

  1. Click Regenerate.
  2. Choose an effective date — weeks before this date are left untouched.
  3. Confirm.

What it does: keeps existing assignments and only reassigns weeks where the assigned person is now on PTO (or no longer active), and fills any empty slots. Holidays are included — a filled holiday whose person is now on PTO gets reassigned, but blank holidays stay blank.

Tip

Reach for Regenerate for small mid-year fixes. Reach for Generate only when you want a completely fresh, fully balanced year.


Rebalance — even things out after a roster change

Use Rebalance after you add or remove a person in the roster. It evens out the per-pool load while changing as few future weeks as possible.

  1. Click Rebalance.
  2. Choose the effective date (only weeks from that date forward can move).
  3. Confirm.

People already carrying their fair share keep their weeks; over-loaded weeks shift to under-loaded people (including new hires). Holidays are handled separately by Assign holidays.


Swap weeks — two people trade

Use Swap weeks when two people simply want to trade upcoming turns.

  1. Click Swap weeks.
  2. Pick person A and one of their weeks.
  3. Pick person B and one of their weeks.
  4. Confirm.

The app checks the swap is valid first — it won't land someone on a week they're on PTO, and it won't double-book anyone — then applies it.


Assign holidays — fill the blank holiday weeks

Holiday weeks start blank and marked "(fill manually)" so you can ask for volunteers. When you're ready to fill the rest automatically:

  1. Click Assign holidays.
  2. Confirm.

It fills the blanks balanced by holiday count, so everyone gets one holiday before anyone gets a second (as far as the roster allows). Filled holiday weeks then show the assigned person.


If a week can't be filled normally

If literally no one is eligible for a slot (everyone either worked the week before or is on PTO), the app won't leave it blank — it assigns the most-rested person instead, relaxing the back-to-back rule first and overriding PTO only as a last resort. These weeks are flagged so you can still find a volunteer and fix them by hand or with a swap.


Undo a change

Every one of these actions saves a snapshot first. If you don't like the result, open History and Restore the previous version. See The Schedule screen → Schedule History.