FAQ
Why schedules behave the way they do after publish.
Published schedules
Why can staff still trade shifts after a schedule is published?
In Shiftd, a Published schedule is the finalized, staff-visible operational schedule. Publishing does not automatically close staff-request workflows.
Staff may still use trade requests, giveaway requests, and approved staffing workflows when those workflows are available for the schedule. Admins can still approve or deny those requests.
That is different from direct schedule editing. Schedulers cannot directly drag and drop assignments on a published imported schedule when Shiftd marks that schedule as engine-immutable.
Why are manual edits blocked after publish?
After publish, Shiftd treats the schedule as an operational record rather than a draft workspace.
For imported schedules where Shiftd marks engine mutability as off (engineMutable === false), direct admin assignment edits are blocked because they bypass request history, reduce auditability, and make it harder to tell who initiated a post-publish change.
That lock does not block admins from creating new custom shifts on an existing schedule instance, including imported schedules and schedules created inside Shiftd.
Post-publish changes should flow through custom shift creation, trade requests, giveaway requests, approved staffing workflows, or import correction workflows so the operational trail stays intact.
Can admins still add shifts after publish?
Yes. Admins can create new custom shifts on a published or scheduled schedule, whether the schedule was imported or created inside Shiftd.
The custom shift must still pass the normal safeguards: the schedule cannot be archived, the date must stay inside the schedule range, and the shift cannot have already started.
Direct edits to existing published imported assignments are different. Those still require moving the schedule back to Admin Adjustment when that rollback is allowed.
Does approving a trade or giveaway update every device?
Yes. Web, iOS, and Android read from the same assignment records.
When a trade or giveaway is approved, Shiftd updates the shared assignment records. Each platform shows the updated assignment owner after it refetches data, such as through a page reload, navigation, or normal refresh event.
Shiftd does not currently push those changes through websocket or live realtime synchronization, so an already-open screen may not change instantly.
What does “Closed” mean?
In Shiftd, Published is the finalized schedule lifecycle state. “Closed” usually refers to signup-window behavior, not the schedule lifecycle state itself.
An imported schedule that appears closed is often still Published. In that state, staff request workflows may still be allowed, while direct admin assignment edits remain locked for engine-immutable imported schedules.
Why does Shiftd work this way?
Shiftd treats schedules as operational records, not unrestricted spreadsheets.
Published schedules stay stable and staff-visible, while post-publish staffing changes follow explicit approval paths. That keeps assignment history traceable and protects accountability when real schedules change after release.