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.

Aug 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
CH
2
AL
3
OKPARE
4
OKPARE
5
OKPAAL
6
OKRECH
7
PAREOK
8
PA
9
CH
10
ALREOK
11
ALREPA
12
ALOKRE
13
ALCHOK
14
ALCHRE
15
PA
16
AL
17
CHOKRE
18
CHOKPA
19
OKRECH
20
ALREOK
21
CHPARE
22
AL
23
PA
24
CHOKRE
25
CHOKAL
26
CHOKRE
27
CHOKPA
28
OKREAL
29
CH
30
PA
31
OKREAL

Fairness — weighted load per provider

Score 97/100

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

Dr. Alvarez21 pts · 13 shifts
Dr. Chen21 pts · 14 shifts
Dr. Okafor20 pts · 18 shifts
Dr. Patel21.5 pts · 12 shifts
Dr. Reyes20 pts · 16 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.