Shift assignment and time-off statuses

What each shift-assignment and time-off-request state means and which actions are available in it.

Two workforce records carry a lifecycle: the shift assignment on the schedule and the time-off request. The states control what you can do next.

Shift assignment states

A shift assignment is one employee on one shift on one date. It does not use a status enum; instead, two flags drive its state: whether it has been called off and whether it has been replaced.

StateMeaningWhat you can do
ScheduledA live assignment.Edit, call off, replace, or remove.
Called offMarked as not worked, with a reason.Reinstate (undo the call-off), or replace. Cannot be edited.
ReplacedSuperseded by a replacement for the same shift and date.None; the replacement is now the live assignment.
RemovedDeleted from the schedule.Reinstate (restore it).

The following diagram shows the states a shift assignment moves between:

Shift assignment states: Scheduled can be called off, replaced, or removed; called-off and removed assignments can be reinstated back to Scheduled

  • Call-off reasons are Sick, Personal, Emergency, No show, and Other.
  • A called-off assignment cannot be edited; reinstate it or replace it.
  • A replacement employee must differ from the original and cannot already be assigned to the same shift on that date.

Time-off request statuses

StatusMeaningWhat you can do
PendingSubmitted, awaiting review.Approve, reject, or cancel.
ApprovedGranted; hours drawn from the balance.Cancel (returns the hours).
RejectedDeclined, with an optional reason.None.
CancelledWithdrawn.None.

The following diagram shows how a time-off request moves between statuses:

Time-off request status flow: Pending to Approved, with Rejected and Cancelled branches; an Approved request can also be cancelled to return the hours

  • Only pending requests can be approved or rejected.
  • Only pending or approved requests can be cancelled.
  • Approving draws the used hours from the employee's balance; cancelling an approved request returns them.

Where to go next