Schedule Drafts
The schedule editor uses a draft layer so you can prepare changes before they go live. Every edit you make is saved as a draft and held in a working view until you publish.
How drafts work
When you edit the schedule, your changes are saved as one of three draft types:
Create draft - a brand-new session or item that does not exist in the published schedule yet.
Update draft - an edit to an existing published item (time, room, teacher, title, and so on).
Remove draft - a published item flagged for deletion.
The schedule view shows you a working set that combines the current published schedule with all pending drafts applied on top. You can compare the working set against the unmodified baseline at any time before publishing.
Moving items across weeks
You can drag a published item to a date in a different week. The move is saved as an update draft against the original published item.
The item appears in the target week in your working view.
The item is hidden from its original week in your working view.
The original published item is not changed until you publish.
When you publish the target week, the system includes the source item in its pre-publish snapshot so that staff notifications and session lifecycle events (updated, not created) are emitted correctly for the move.
Working view and baseline
The schedule API merges the published baseline and all pending drafts to build the working view for a date range:
Update drafts that move an item into the requested range are included even if the published source item started outside that range.
Update drafts that move an item out of the requested range suppress the original published item from that range.
The baseline (unmodified published schedule) is always available for comparison.
Publishing
Publishing applies all drafts for a location and week to the live schedule. After a successful publish:
Create drafts become new published items.
Update drafts overwrite the published item's fields.
Remove drafts mark published items as removed.
If a resource conflict exists (for example, a room or teacher is double-booked), the publish request returns a 409 response and no changes are applied. Resolve the conflict in the draft and try again.
Draft status on items
While a draft is pending, each affected working item shows a local save status indicator. The indicator clears once the draft is confirmed saved.
Booked count on cards
When you edit a published week, each schedule card shows a booked count badge, for example 3/12, indicating how many spots are booked out of the item's capacity. Hover over the badge to see the full label.
The badge only appears for items that have a capacity set.
The badge is hidden while editing a template, since templates do not have live bookings.
The badge is hidden on a newly created draft item, since a brand-new session has no bookings yet.
If you duplicate a booked item to create a new draft copy, the copy does not inherit the original item's booked count. Only the original item keeps its badge.