Skip to content

On-Call Rotation Planner

Generate a round-robin on-call rotation across a list of named participants, skipping a participant only on a shift that starts on one of their own stated unavailable dates, and tracking exactly how many shifts each person ends up carrying.

Just need one handoff checked, not a full rotation? See Shift Handoff Planner.

Worked example

Three participants, each with no stated unavailability, rotating through three consecutive 7-day shifts, are assigned in order, one shift each, so every person carries exactly one shift and the burden is perfectly even. Add a stated unavailable date that falls on the day the second person's shift would have started, and the rotation skips that person for that specific shift, assigning it to the next available participant instead, then resumes the normal rotation order from there rather than restarting from the beginning of the list.

Common mistakes

  • Assuming every participant ends up with exactly the same number of shifts. Once any unavailability is involved, the burden can become uneven, which the total shift count per person makes visible.
  • Entering an unavailable date that falls mid-shift rather than on a shift's actual start date. Only the start date of a shift is checked against a participant's unavailability.

Limitations

This generates a simple round-robin rotation only, not a fairness-optimized schedule, and it makes no employment, scheduling, or fatigue-management claim about how on-call work should actually be assigned.

Frequently asked questions

What happens if every participant is unavailable for a given shift?
That shift is reported as having no available participant rather than being silently assigned to someone anyway.
Does the rotation always start with the first participant listed?
Yes, on the very first shift, then continues in order from whoever was actually assigned last.