Free tool
Add your team, pick a rotation length, drop in PTO blocks. Get a fair schedule, per-person ICS feeds, and a share link your teammates can open without a login.
No PTO scheduled.
No PTO scheduled.
No PTO scheduled.
8 shifts · handoff at 09:00 Europe/London
Hatched bars = covering for a teammate on PTO.
Fair means two things. First, every member takes roughly the same number of shifts across a quarter, and second, the load doesn't silently fall on one person because the others are away. Most rota spreadsheets fail the second test: a teammate goes on PTO, someone else picks up the shift, and the cover never gets that slot back. ClockOrbit pushes the skipped member to the back of the queue so the cycle re-balances on its own.
"Monday morning" means three different things to a team in San Francisco, London, and Singapore. If the handoff is anchored to one person's local time, the others quietly inherit a worse shift every cycle. Pick a single handoff TZ up front, write it on the runbook, and stick to it. The generator anchors every shift to your chosen zone so the boundary is unambiguous even across DST switches.
Add a date range to anyone's PTO blocks and the generator skips them automatically. The teammate who covers is flagged with a hatched bar in the timeline, and a "covering" tag in the calendar description, so it's obvious at a glance who took the extra load. When you download the ICS feed, the same flag appears in the description field, so anyone glancing at the calendar knows it's a swap, not a regular shift.
Picture a roster of Alex, Sam, and Pat on a one-week rotation, with Sam away during week two. Week one goes to Alex as normal. When week two comes up, Sam sits at the head of the queue but is unavailable, so Sam moves to the back and Pat takes the shift, flagged as covering. From there the queue keeps cycling: Alex takes week three, Sam returns for week four, and Pat takes week five. Across those five weeks the load lands two, two, and one, and the person who was away carries the lightest share rather than the person who happened to cover. Extend the schedule a few more cycles and the counts even out on their own, which is the property a hand-edited spreadsheet usually loses.
The generator offers one to four days, one week, or two weeks. Shorter shifts spread the disruption thinly but multiply handoffs, and every handoff is a chance for context about an ongoing incident to fall through the cracks. Longer shifts protect continuity but concentrate the burden: on a three-person team, a weekly rotation already means each engineer holds the pager roughly seventeen weeks a year. One week is the most common compromise. Two-day and four-day options suit teams that split weekdays from weekends, and two weeks works best for larger rosters where each person's turn comes around rarely.
Each shift boundary is computed as an exact universal instant from the handoff hour in the zone you selected. When that zone moves its clocks, the boundary stays pinned to the same local hour, so the shift that spans the transition is one hour shorter or longer in absolute terms: a weekly shift becomes 167 or 169 hours instead of 168. Teammates in other regions see the handoff arrive an hour earlier or later on their own clocks for part of the year, which is expected and worth noting in the runbook rather than working around.
The next available person in the queue takes the shift and it is marked as covering. The skipped teammate moves to the back of the queue and picks up the first shift after their leave ends, so nobody's turn silently disappears.
The schedule still assigns a name rather than leaving a hole, and the shift keeps its covering flag so the gap is visible. Treat those slots as a prompt to arrange cover by hand.
Inside the link. The whole configuration, names, leave blocks, and settings, is encoded into the share URL, so there is no account, no login, and nothing kept on a server.
Yes. Every member gets a personal ICS download containing just their shifts, and there is a separate team file with everyone's. Covering shifts carry a covering label in the event title and description.
One, two, three, or four days, one week, or two weeks. The start date, handoff hour, and handoff time zone apply to whichever length you pick.