Coverage gaps are named, not hidden
Open shifts, over-hours, and conflicts appear before publish with the rule that flagged them. A person stays in control of the final call.
For teams accountable for coverage
Shiftd surfaces open seats, conflicting assignments, and over-hours before you publish. Staff get the schedule on their phone the moment it goes out. Every change leaves a record.
Built for hospital units and every team where a gap in coverage is a real problem, not a spreadsheet footnote.
For schedulers
Every schedule lives in a single workspace: lifecycle, assignments, coverage, compliance, approvals, and history. This is what a scheduling week looks like inside it.
The lifecycle panel states the current phase, what staff can see, and the next action. Publishing runs through a wizard that shows coverage gaps, conflicts, and unfilled seats before a single person is notified.
Double-bookings and rule violations are named with the assignment that caused them. Resolve jumps straight to the highlighted cell in the grid, so the fix is one click from the finding.
Each clinical staff member's shift obligations are checked against the schedule: under, over, or in range. When someone is short, assign them a shift straight from the row.
Trades, giveaways, and time off arrive in a department-wide inbox. Decide with the schedule open next to you; the decision is pushed to the staff member's phone.
A schedule-scoped audit trail records phase moves, assignment changes, and publish events, each attributed to the person who made the call. Defensible by design.
The eight-phase lifecycle
Draft. Admins lay out the bones: dates, shift types, and how many of each role every day needs. Staff see nothing yet.
Self-signup. A signup window opens and staff bid for the shifts they want from their phones. Caps and role rules screen every bid.
Admin adjust. Schedulers fill what signup left open, resolve conflicts, and rebalance hours with the coverage grid in view.
Supplemental. Still short? An extra-shift signup opens for the unfilled seats, with a hole report tracking what closes.
On-call. Call coverage layers on as its own child schedule, so escalation never muddies the base assignments.
Locked. Edits stop. The schedule holds still for a final read before the rules run.
Balanced. Every rule runs once more: hour caps, role match, tier obligations. Anything that fails is named.
Published. Staff are notified and the schedule becomes the operational record. From here, changes flow through requests.
Publish makes the schedule visible to staff. After that, changes flow through requests and custom shifts, so the operational trail stays intact.
For staff
The moment a schedule publishes, it is in every pocket. The iPhone app is built for the 11pm check: next shift, requests, done.
The dashboard leads with the next assignment: date, time, shift. One glance answers it.
When self-signup opens, staff get a push and bid for the shifts they want. Caps and role rules apply to everyone the same way.
Trades, giveaways, and time off are submitted in seconds. The decision comes back as a push notification, with a record behind it.
Every assignment flows into a personal calendar feed for Apple or Google Calendar. The schedule lives where their life already does.
Why teams trust it
Open shifts, over-hours, and conflicts appear before publish with the rule that flagged them. A person stays in control of the final call.
Every assignment runs through the same backend engine: caps, role match, lifecycle phase, permissions. The UI cannot bypass a constraint, even by mistake.
Drafts, signups, admin adjustments, call coverage, and publish decisions stay traceable. Nothing important changes without a record.
Workspaces are invite-only. Ask us for a pilot, or sign in to the workspace your department already runs.