Overview
Schedules define who is on-call and when. By creating rotation schedules, you ensure there’s always someone available to respond to incidents. EasyContact’s scheduling system supports flexible rotation patterns, multiple coverage layers, time-based restrictions, and temporary overrides.Rotation Management
Multi-Layer Coverage
Flexible Restrictions
Temporary Overrides
Understanding Schedules
A schedule consists of several key components:Rotation Type
- Daily Rotation
- Weekly Rotation
- High-volume alert environments
- Distributing load evenly
- Teams that prefer short shifts
- Handoff time: 09:00
- Monday: Alice → Tuesday: Bob → Wednesday: Carol → …
Layers
Layers allow multiple rotation tracks within a single schedule. Each layer can have its own users and restrictions.Example: Multi-Layer Schedule
Example: Multi-Layer Schedule
- Users: Alice, Bob, Carol
- Rotation: Weekly
- Active: 24/7
- Users: Dave, Eve
- Rotation: Weekly
- Active: Saturday-Sunday only
Restrictions
Layers can be restricted to specific times or days:| Restriction Type | Description | Example |
|---|---|---|
| Time-based | Active during specific hours | 09:00 - 18:00 (business hours) |
| Day-based | Active on specific days | Monday - Friday (weekdays) |
| Overnight | Spans across midnight | 18:00 - 09:00 (night shift) |
Viewing Schedules
The Schedules list shows all your on-call schedules:| Column | Description |
|---|---|
| Schedule | Name and description |
| Rotation | Daily or Weekly badge |
| On-Call Now | Current on-call person(s) |
| Layers | Number of layers and total users |
| Timezone | Schedule’s timezone |
| Status | Active or Inactive |
On-Call Status
The “On-Call Now” column shows who’s currently responsible:- User avatar — The current on-call person
- Multiple avatars — Multiple layers active simultaneously
- Override badge — An override is in effect
Creating Schedules
Open Create Dialog
Configure Basic Settings
- Name — Descriptive name (e.g., “Platform Engineering On-Call”)
- Timezone — The timezone for handoff times
- Description — Optional explanation
- Rotation Type — Daily or Weekly
- Handoff Time — When rotation changes occur
- Handoff Day — For weekly, which day of the week
Add Rotation Layers
- Click Add Layer
- Name the layer (e.g., “Primary”)
- Select users in rotation order
- Configure restrictions if needed
Save Schedule
Setting Up Rotation Order
When selecting users for a layer, the order matters:- Check users in the order they should rotate
- The first user checked rotates first
- View the rotation order with numbered badges (#1, #2, #3…)
Configuring Layers
Adding a Layer
Click Add Layer
Name the Layer
Select Users
Set Restrictions (Optional)
Configuring Time Restrictions
To limit when a layer is active:Enable Time Restriction
Set Hours
- Start Time — When the layer becomes active
- End Time — When the layer becomes inactive
Handle Overnight
Configuring Day Restrictions
To limit which days a layer is active:Enable Day Restriction
Select Days
Layer Priority
When multiple layers are active simultaneously:- Lower index = Higher priority
- The first layer (Primary) takes precedence
- All active layers are displayed in the on-call view
Schedule Detail View
Click on a schedule to see its detail page with:Calendar View
A monthly calendar showing:- Gray cells — Normal rotation coverage
- Blue cells — Override in effect
- Red cells — Coverage gap detected
On-Call Timeline
Shows daily coverage with:- Primary user (PRI badge)
- Secondary users (SEC badge)
- Override users (OVR badge)
- Layer assignments
- Time restrictions
Current On-Call
Displays who’s on-call right now:- User name and avatar
- Layer they’re covering
- Override indicator if applicable
- Time until next handoff
Coverage Gaps
Warnings for periods with no coverage:- Gap start and end times
- Duration in hours
- Total uncovered time in the analysis period
Active Overrides
List of current and upcoming overrides:- User who’s covering
- Override date range
- Reason (if provided)
- Quick delete option
Managing Overrides
Overrides let you temporarily change who’s on-call without modifying the rotation.Creating an Override
Open Override Dialog
Select User
Set Date Range
- Start — When the override begins
- End — When the override ends
Add Reason (Optional)
Save Override
Override Behavior
- Overrides take highest priority over all layers
- Override applies to the entire schedule, not just one layer
- Multiple overrides can exist but shouldn’t overlap
- Past overrides remain for historical reference
Common Override Scenarios
Vacation Coverage
Vacation Coverage
- Create override for the full vacation period
- Assign to the backup person (e.g., Bob)
- Add reason: “Alice on PTO”
Shift Swap
Shift Swap
- Create override for Bob’s shift, assign to Carol
- Create override for Carol’s shift, assign to Bob
- Add reason: “Shift swap agreed”
Emergency Coverage
Emergency Coverage
- Create immediate override starting now
- Assign to available team member
- Delete when original person returns
Deleting Overrides
- Find the override in the Active Overrides list
- Click the delete button (trash icon)
- Confirm deletion
Understanding Coverage Gaps
Coverage gaps occur when no layer is active for a time period.How Gaps Happen
Missing Day Coverage
Missing Day Coverage
Missing Time Coverage
Missing Time Coverage
Empty Layers
Empty Layers
Detecting Gaps
The schedule detail page automatically analyzes coverage:- Checks the next 30 days by default
- Shows gap periods with start/end times
- Calculates total uncovered hours
Fixing Gaps
- Add users to cover the gap period
- Extend layer restrictions to cover more time
- Add a new layer specifically for the gap period
- Create standing overrides if gaps are intentional
Timezone Handling
Schedules operate in a specific timezone:- Handoff times are in the schedule’s timezone
- Overrides use ISO format with timezone info
- Calendar view displays in the schedule’s timezone
Best Practices
Start Simple
Start Simple
Ensure Full Coverage
Ensure Full Coverage
Use Meaningful Names
Use Meaningful Names
- Schedule: “Backend Engineering On-Call”
- Layers: “Primary”, “Weekend Backup”, “Night Shift”
Plan for Absences
Plan for Absences
- Document the override process for your team
- Set up overrides in advance for known absences
- Have a backup plan for unexpected unavailability
Right-Size Rotations
Right-Size Rotations
- Daily rotations work well for 5+ person teams
- Weekly rotations suit smaller teams
- Consider alert volume when choosing rotation length
Review Regularly
Review Regularly
- Check schedules when team membership changes
- Verify coverage after organizational changes
- Archive inactive schedules to reduce clutter
Schedules in Escalation Policies
Schedules integrate with escalation policies as notification targets:- Add a schedule as an escalation target
- When the escalation level triggers:
- The current on-call person is determined
- That person receives the notification
- If no one is on-call (gap), the escalation continues to the next level
Example: Schedule in Escalation
Example: Schedule in Escalation
- Notifies whoever is currently on-call
- 5-minute timeout
- If no acknowledgment, notifies entire team
- 10-minute timeout
- Final escalation to management
Troubleshooting
Wrong person showing as on-call
Wrong person showing as on-call
- Check the schedule’s timezone matches your expectation
- Verify the handoff time hasn’t passed
- Look for active overrides that might change assignments
- Check layer restrictions that might exclude the expected user
Coverage gaps appearing unexpectedly
Coverage gaps appearing unexpectedly
- Review all layer restrictions
- Ensure time restrictions don’t leave gaps
- Check day restrictions cover all days
- Verify layers have users assigned
Override not taking effect
Override not taking effect
- Verify the override start time has passed
- Check the override end time hasn’t passed
- Confirm the override is for the correct schedule
- Refresh the page to see latest data
Rotation not advancing
Rotation not advancing
- Check the rotation type (daily vs weekly)
- Verify the handoff time/day settings
- Confirm the schedule timezone is correct
- Ensure there are multiple users in the rotation
Notifications going to wrong person
Notifications going to wrong person
- Check escalation policy is using correct schedule
- Verify current on-call in schedule detail view
- Look for overrides that might redirect
- Check user’s notification settings
Quick Reference
Rotation Calculation
| Type | Changes | Example |
|---|---|---|
| Daily | Every day at handoff time | 09:00 daily |
| Weekly | Every week on handoff day at handoff time | Monday 09:00 |
Layer Priority
| Priority | Description |
|---|---|
| 1 (Primary) | First layer, highest priority |
| 2 (Secondary) | Backup when primary unavailable |
| 3+ | Additional specialized layers |
Coverage Status Colors
| Color | Meaning |
|---|---|
| Gray | Normal rotation coverage |
| Blue | Override active |
| Red | Coverage gap |