What a schedule is
A WHAWIT on-call schedule is a named rotation that answers one question: who is responsible right now? It has its own IANA timezone — for exampleAmerica/Argentina/Buenos_Aires or Europe/Madrid — and every handoff,
restriction and shift boundary is evaluated in that timezone, not in the
viewer’s.
A schedule is made of layers. Each layer is an ordered list of people who
rotate through shifts independently of the other layers. A common setup is two
layers, Primary and Secondary, where the second exists to catch what the first
misses.
Creating a schedule
1
Name it and pick the timezone
Go to On-Call → Schedules and create a schedule. The timezone you choose
governs handoff times and any coverage restrictions you add later. Pick the
timezone the team actually works in.
2
Add a layer
Give the layer a name — Primary, Secondary, Weekend — and add its members in
the order they should rotate. The order matters: it is the sequence shifts
are handed off in.
3
Choose the rotation
Set the rotation to
daily, weekly, or custom. A custom rotation takes
a shift length in hours, which is how you build 8-hour or 12-hour
follow-the-sun coverage.4
Set the anchor and the handoff time
The start date anchors the rotation — it is the beginning of the first
member’s first shift. The handoff time, such as
09:00, is the local time
of day a shift changes hands.5
Check who it resolves to
Open the schedule and look at the current on-call and the upcoming shifts.
This is the check worth doing before an incident rather than during one.
Rotation types
Restrictions — partial coverage
By default a layer covers the clock. A restriction narrows it to specific days and hours, so the layer only puts someone on call inside that window. Outside it, the layer yields nobody and escalation moves past it. A restriction is a set of days of the week plus a start and end time, evaluated in the schedule’s timezone. The end time may be earlier than the start time, which is how you express a window that crosses midnight —22:00 to 06:00
is one continuous overnight shift, not an empty range.
Overrides — time off and swaps
An override substitutes a person into a specific time window, replacing whoever the rotation would otherwise have selected. Use them for vacation, illness, or a swap between two engineers.- An override has a user, a start, an end, and an optional note explaining why it exists.
- Scope it to a single layer to replace just the primary, or leave the layer unset to override every layer in the schedule for that window.
- Overrides win over the rotation for their window, and the rotation resumes untouched afterwards.
Reading the schedule
Once a schedule exists you can ask it three things:- Who is on call right now, across one schedule or all of them.
- Who is on call at a given moment, which is what the escalation engine itself calls when an incident fires.
- The shifts across a future window, so you can see the rotation laid out before it happens and spot a gap while there is still time to fix it.
What to check before you rely on it
Does the timezone match the team?
Does the timezone match the team?
Handoffs and restrictions are evaluated in the schedule’s timezone. A
schedule created in the wrong timezone will hand off at the wrong local
hour, and the mistake is invisible until someone is paged at the wrong time.
Are there gaps in coverage?
Are there gaps in coverage?
If every layer has restrictions and none of them cover, say, Sunday
mornings, the schedule resolves to nobody in that window. Look at the
upcoming shifts across a full week before trusting it.
Is the rotation order right?
Is the rotation order right?
Members rotate in the order they are listed. Reordering after the anchor
date changes who is up next, so check the upcoming shifts after any edit.
Next
Escalation policies
Point an escalation chain at the schedule you just built.
Notifications
Choose how the people on that schedule get reached.

