Free tool

On-call schedule generator

Add your team, pick a pattern, set your rules - get a fair, rule-checked schedule for next month. Runs entirely in your browser.

One name per line — up to 24.

A dedicated night shift covers weeknights while day teams work weekdays; weekend call covers the gap.

Sep 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
ALCHPA
2
OKRECH
3
ALOKRE
4
OKPAAL
5
RE
6
CH
7
OKPAAL
8
OKPACH
9
PAREOK
10
ALPARE
11
ALCHPA
12
OK
13
RE
14
ALCHPA
15
ALCHOK
16
ALCHPA
17
CHREAL
18
PARECH
19
OK
20
RE
21
ALPACH
22
ALPAOK
23
ALCHPA
24
CHREAL
25
OKPARE
26
CH
27
AL
28
OKPARE
29
OKPACH
30
OKPARE

Fairness — weighted load per provider

Score 98/100

Spread between highest and lowest weighted load: 1. Lower is fairer.

Dr. Alvarez20.5 pts · 15 shifts
Dr. Chen21.5 pts · 15 shifts
Dr. Okafor20.5 pts · 14 shifts
Dr. Patel20.5 pts · 17 shifts
Dr. Reyes21.5 pts · 13 shifts

Violations

Every shift was filled without breaking a rule.

Could not fill a shift instead of quietly breaking a rule (a max-consecutive-days or max-consecutive-nights cap, most often) means the roster is too thin for the pattern you picked — add a provider, relax a rule, or try a lighter pattern.

How it works

The generator places shifts chronologically, always choosing the provider whose placement keeps everyone's weighted load closest together without breaking a hard rule (max consecutive days, max consecutive nights, or no double-booking). Once every shift has an initial placement, it runs a local-search pass - thousands of small swaps - that only keeps a swap if it lowers the overall unfairness. Same inputs and same seed always produce the same schedule, so you can trust it's not just noise.

What "fair" means here

Not every shift costs the same. A weekday day shift has a base weight of 1; a night or 24-hour call shift usually weighs more, and weekend or holiday weights multiply further (both are adjustable in the rules panel). The tool tracks each provider's weighted load, divided by their FTE, and the fairness score (0–100) reflects how close those weighted loads are across the group. A 100 means every provider carries an identical load; a lower score means someone is carrying meaningfully more.

The limits of a free, in-browser tool

This tool has no memory. Close the tab and the schedule is gone unless you downloaded it first. It also can't track approved time off across future months, publish a page your team can bookmark, or handle swap requests after the fact - those need a database, which is what the full product adds on top of the same engine.

Common questions

Yes. This page calls the exact same scheduling engine that powers RotaBay accounts - the same fairness math, the same rule checks. Nothing here is a stripped-down demo.

Save this schedule and publish it to your team

Sign up free to keep your roster, publish a live who's-on page, and let providers subscribe to their own calendar feed.