Resident scheduling software that treats duty-hour limits as hard rules.
Write the limits your program follows as sentences. ShiftPilot builds each block or month with every one of them satisfied, or tells you exactly which cannot be, and then runs reminders, swaps and coverage for the residents.
Why resident schedules are unforgiving
- 01
Limits stack across the week
Rest after a shift, a cap on consecutive shifts, a weekly ceiling. A change on Tuesday can break a limit on Sunday, and it is found after the fact.
- 02
Coverage cannot dip
The service still needs its minimum every day, including the days after a swap or a sick call. Chief residents rebuild the same week many times.
- 03
Fairness is watched closely
Nights, weekends and holidays have to balance across the cohort, and residents can tell when they do not.
Rules programs write
Every limit is a sentence with an editable number. When a rule does not fit a sentence, it can be written as a small custom rule and still runs in the same solve.
Rules as sentences
- At least 10 hours off between scheduled shifts.hard
- No more than 6 consecutive days scheduled.hard
- No more than 24 hours of continuous scheduled duty.hard
- Minimum coverage on every service, every day, including holidays.hard
- Spread nights, weekends and holidays evenly across the cohort.soft
- Honour requested days off whenever coverage allows.soft
- Licensing
- Coverage at 6 sites
- Back-to-back limits
- Weekend fairness
- Opener and closer pairs
- Availability honoured
All 14 hard rules satisfied. 3 soft preferences traded off.
View trade-offs
One solve. No violations.
A constraint solver places the whole period at once, then shows which soft preferences it traded to get there.
What runs the block after it is published
Residents live on their phones. Reminders, swaps and availability work there, and every change is checked against the limits first.
Swaps that cannot break a limit
Residents trade or give away shifts from the app. Rest, consecutive and coverage rules are checked before the swap goes through; the program only sees exceptions.
Availability in plain language
"Off the 12th to the 14th, no Sundays, nights only week 3." Requests arrive as text and land on the calendar parsed.
Reminders and confirmations
WhatsApp, SMS or email on the timing the program sets. One word confirms. Silence escalates to a chief or coordinator.
How programs switch
- 1
Write the limits as rules
Rest, consecutive caps, weekly ceilings, service minimums. Each becomes a sentence with the program's own numbers.
- 2
Generate a block and check it
The solver builds the block with every hard rule satisfied, or names the one it cannot. Fairness counts are visible per resident.
- 3
Publish and hand off to residents
Reminders, swaps and availability by text switch on with the published schedule. Coordinators see confirmations and exceptions only.
Questions before you switch
Short answers about residency programs scheduling in ShiftPilot. Anything else, ask on a demo.
Can ShiftPilot enforce our program's duty-hour limits?
The limits your program follows are written as hard rules with your own numbers: rest between shifts, consecutive caps, continuous duty, weekly ceilings. The solver satisfies every hard rule or reports exactly which one it cannot. ShiftPilot does not certify compliance with any regulator; it holds the rules you configure.
Does it handle blocks and rotations as well as months?
Schedules are generated for the period you choose, and rules can be scoped per person and per service, so block-based programs configure their services as sites with their own coverage minimums.
Can residents swap shifts without breaking the rules?
Yes. Every swap or giveaway is checked against the same rules the solver used before it goes through, and credits stay balanced. Coordinators only see exceptions.
Who can see the schedule?
Residents see their own schedule in the app and can ask Avery who is on. Services and sites can have read-only logins. Calendar feeds keep Outlook and Google Calendar current.
Your next month, already scheduled.
See ShiftPilot on your own rules and roster. Thirty minutes, no slides.