Shift lifecycle — from draft to approved#
For: Manager | Admin You’ll need: Nothing.
A shift moves through several statuses on its way from “first sketched on the calendar” to “approved by a manager”. This article walks each status, what triggers a transition, and what gets locked along the way. Payroll runs over approved time entries — payment itself isn’t a status the schedule tracks.
Shift statuses#
A shift sits in one of three statuses, shown as a badge on every shift block and list row.
Draft — newly created. Visible to planners and managers; not visible to shift workers. Free to edit, move, resize, and delete.
Published — released to the team. Shift workers see it on their schedule and in notifications. Still editable for managers, but edits and deletes are constrained by downstream state (see “Locks”, below).
Cancelled — the shift won’t run. Stays on the calendar as a record so reports can account for it.
Drafts get published in bulk from the publish horizon. Unpublish retracts a published shift back to draft while it’s still just shared — once the shift has started or an assignment has been approved, unpublish is blocked and you cancel the shift instead. Unpublishing notifies everyone assigned, resets their answers to ‘Pending’, and withdraws live marketplace offers on the shift. Cancelling is refused once someone has clocked in on the shift. On a recurring shift, ‘Publish’, ‘Unpublish’, and ‘Cancel shift’ on the edit page act on the whole series, skipping any occurrence the rule doesn’t allow.
General events publish the same way. A company meeting, a training day, or a party is a draft until you publish it, and only then does it appear on the team’s schedule. Draft it, get the details right, publish when it’s confirmed — and the RSVP box (‘Going’ / ‘Decline’, plus ‘Tentative’ on optional events) appears for the people on it. See General events.
What an assignment carries#
An assignment (one person × one shift) has no draft/published status of its own — its visibility simply follows the shift. What it does carry is two independent answers:
Acceptance — if your company turns on shift acceptance, this is the shift worker’s reply to a published shift: ‘Pending’, ‘Accepted’, or ‘Declined’. A declined assignment drops out of coverage counts. The answer goes back to ‘Pending’ when a manager changes the shift’s time, location, or position before it starts, unpublishes it, or gives the assignment to someone else. It’s optional, and off by default.
Worked hours — the timesheet status once the shift is over: ‘Scheduled’ → ‘Confirmed’ → ‘Approved’ (covered next).
Publishing a shift doesn’t flip a separate assignment status — it just makes the shift, and everyone on it, visible to the team. A locked assignment (one whose hours are approved) keeps the whole shift from being unpublished or edited.
Time entry statuses live on the assignment#
Once a published shift starts, its assignment becomes the home for clock-in / clock-out times. The lifecycle:
Scheduled — no worked hours confirmed yet.
Confirmed — the hours have been recorded and signed off as correct (clocked in/out, or filled from the schedule). Confirming triggers leave and time-compensation accruals where applicable. Depending on your company’s mode, the person confirms their own hours first or a manager does — see How confirmation and approval work.
Approved — a manager has signed off. Approval also locks the underlying shift.
Two reverse arrows undo each step. Undo confirmation withdraws the confirmation: punched hours and breaks are kept, while hours typed in or filled from the schedule are removed together with their breaks and leave / time-comp accruals. It isn’t offered in ‘Automatic’ mode — edit the recorded hours instead — or while the person is still clocked in. Unapprove clears the approval (with an optional reason), returns the entry to ‘Confirmed’, and lets it be edited again. See Timesheet.
Leave request lifecycle#
Leave requests have their own state machine, tied to the calendar via an auto-created event block.
Pending — created by the shift worker (or a manager on their behalf). Awaiting review.
Confirmed — approved. Deducts hours from the leave balance and spawns the calendar event.
Declined — refused at review. Calendar event removed if it was auto-created.
Revoked — called off by a reviewer, before or after approval. Reverses any leave-balance booking and removes the calendar event.
Withdrawn — called off by the person who asked for it, before the leave started. Reverses any leave-balance booking, removes the calendar event, and notifies the reviewers.
Pending and declined requests can be deleted; confirmed, revoked, and withdrawn ones stay for audit. See Leave requests.
Approval locks the shift#
Approval is the only lock. When a manager approves a time entry, the underlying shift, its assignment, and the entry itself can’t be edited, deleted, or have its confirmation undone — Shiftavo shows a ‘locked’ banner (with who approved it and when) and refuses the change. See Why a shift can’t be edited or deleted.
To release the lock, unapprove the time entry. There’s no period to close or reopen.
Recurring shift series#
A recurring shift is a parent rule plus generated child shifts. Editing or deleting a child opens a scope chooser:
‘This shift only’ — affects only this occurrence; the parent rule remains.
‘This and following shifts’ — splits the series at this date.
‘All shifts in the series’ — regenerates the whole series from the new parent rule (preserves per-occurrence exceptions).
See How to edit a recurring shift and How to delete a recurring shift.
When something looks locked#
If a save or delete is refused, the cause is almost always one of these:
The underlying time entry has been approved → unapprove first.
The shift is cancelled and you’re trying to clock it.
Verify it worked#
The shift’s badge on the planning list matches the state you expect — ‘Draft’, ‘Published’ or ‘Cancelled’ — and the actions the detail offers match it too: a draft can be published, a published shift can be unpublished until it starts or its hours are approved, and a cancelled one offers neither.