Skip to main content

Schedule

The Schedule page (/schedule) is the central surface for shift planning, amendment, and approval. It's organised into seven tabs.

Periods​

A schedule period is a named block of dates with a timezone. Periods move through draft → published → archived. The list shows status, date range, timezone, and a publish action for drafts. Once published, a period is what employees see on their schedule and what acknowledgements track against.

Swaps​

Employees request shift trades; supervisors approve or reject. Each swap shows the requester, the partner, the affected shifts, and an optional reason code. Approval is single-step and audited.

Exceptions​

The Exceptions tab tracks deviations from the published schedule — absences, late starts, overtime, manual overrides. Each exception has a reason code, a multi-stage approval state, and a detail drawer for review notes. Auto-exception rules can pre-populate the queue for system-detected events (see Settings → Exception rules).

Availability​

Employees declare weekly time preferences (recurring availability windows) and submit blackout date requests. Supervisors approve. The optimiser reads availability when generating drafts.

Acknowledgements​

After a period publishes, employees acknowledge their shifts. The Acknowledgements tab shows who has and hasn't acknowledged per period — used for compliance follow-up.

Shift rule sets​

A rule set describes the shifts generation and self-schedule may use: a start window (for example 06:00 to 15:30, a start every 30 minutes), a length range (8:30, or 8:00 to 9:00 every 30 minutes, lunch included), the days, and optional effective dates. It replaced shift patterns: every pattern became a rule set with one start and one length, and its breaks became unpaid break rules.

  • Rule sets. The list shows each rule set's scope, start window, length, days, activities and how many shifts a day it expands to. The editor checks the rule set as you type and shows the count and, for each line of business that would use it, two work figures: shift days a week (shifts a day times agent days), what generation weighs today, and placement work a week (shift variants a day times agent days), what placing breaks and lunch will weigh. A warning shows when shift days are above what generation was measured at (1,632,000 a week), when placement work is above the release 1 target (64,155,000 a week, not yet measured), or when the placements are too many to count. A warning never stops a save.
  • Starts and ends between forecast intervals. Generation counts an agent on shift for every forecast interval a shift touches, as a whole. So for a rule set of more than one shift it uses only the shifts that start and end on the forecast's intervals (on a 30 minute forecast, starts on the hour or half hour and lengths in half hours), and the editor says so. A rule set of one start and one length is used as written. Self-schedule can use every shift a rule set produces.
  • Activity rules. Breaks, lunch, admin and team meetings inside a rule set: a length, where the activity may start (after the shift starts, before it ends, or at a clock time), paid or unpaid (breaks paid and lunch unpaid by default), required or optional (an optional rule is left off a shift it does not fit, so a daily 09:00 huddle is an optional rule), and the shift lengths it applies to. Generation does not place them on shifts yet; until it does, it takes the minutes of unpaid rules off each shift's paid hours. The hours per day and per week limits measure a shift from start to end with lunch inside, so an unpaid lunch does not let a longer shift under them. Breaks converted from a shift pattern still come off those limits, as they did before, and say "from the shift pattern's breaks" until edited.
  • Bags. Groups of rule sets, listed by client, with a warning beside a bag whose lines of business are above a work threshold. A bag belongs to a client or to all clients. Copy to client makes a new bag for another client with copies of the first client's rule sets, so the copy can be changed without touching the original; rule sets for all clients are shared. The copies start inactive, so nothing changes for that client until you reactivate them, which the new bag's editor offers beside each one.
  • LOB default bags. A line of business can take a bag of its own client, or a bag for all clients, as its default. With no default it uses every active rule set that applies to it. A bag with no rule set for the line of business is marked in the choice, and choosing it warns: generation would place nothing for the line of business and self-schedule would refuse every pick.
  • Rule sets for all clients. A planner who manages only some clients cannot change the rule sets of a bag for all clients, or change or deactivate a rule set for all clients, when a line of business of another client has that bag as its default.

Drafts​

The Drafts tab shows the output of the schedule optimiser. Each draft includes:

  • Fitness score — the optimiser's overall quality measure
  • Coverage % — share of forecast demand met by the draft
  • Compliance violations — count of labour-rule violations (max hours, rest, etc.)
  • Availability conflicts — shifts assigned to unavailable employees
  • Contract hours deviation — over/under guaranteed weekly hours
  • Unassigned agents — employees with no shifts in the draft

Actions: Promote turns a draft into a published period; Discard removes it. Multiple drafts per period let analysts try alternative configurations side by side.

Approval gating​

ActionWho can do it
Publish a periodWFM analyst / scheduler
Approve / reject swapSupervisor or team lead of either party
Approve exceptionSupervisor (own team), then HR for some reason codes
Approve availability changeSupervisor