| Attendance Status | Meaning | Sync strategy |
| SCHEDULED | The Shift is planned for a future date and time. | Passive: Hook to Shift events. It will inform you when a shift is created. If in the past, it will have this state. |
| IN_PROGRESS | The Shift is currently in progress. | Passive: Hook to work-session events. It will inform you when a mobile user has puched in. |
| LATE | The Shift start date and time has passed, and no employee has clocked in. | Active: Fetch the Shift once startDateTime is in the past. |
| ON_BREAK | The employee assigned to the shift is on break. | Passive: Hook to work-session or break-sessions. It will inform you when a break has started. |
| EARLY_CLOCK_OUT | The employee assigned to the shift has clocked out of the Shift before its end date and time. | Passive: Hook to work-session events. It will inform you when a mobile user has punched out. |
| OVER_CLOCK | The Shift's end date and time has passed and the assigned employee remains clocked in. | Active: Fetch the Shift once endDateTime is in the past. |
| COMPLETED | The employee assigned to the shift has clocked out of the Shift. | Passive: Hook to work-session events. It will inform you when a mobile user has punched out. |
| MISSED | The Shift's end time has passed and no one has clocked into the Shift. | Active: Fetch the Shift once endDateTime is in the past. |
| Transition | Trigger By | From State | To State | Given that... |
| 1 | User action | SCHEDULED | IN_PROGRESS | You clocked in before the grace period. |
| 2 | System | SCHEDULED | LATE | Your shift has started and you haven't clocked in yet. |
| 3 | User action | IN_PROGRESS | ON_BREAK | You can take a break and you have started a break. |
| 4 | User action | IN_PROGRESS | EARLY_CLOCK_OUT | You clocked out before the shift was scheduled to end. |
| 5 | System | IN_PROGRESS | OVER_CLOCK | You have not clocked out and the shift has ended. |
| 6 | User action | IN_PROGRESS | COMPLETED | You clocked out within a second of when your shifts ends. |
| 7 | User action | LATE | IN_PROGRESS | You clocked in after the shift's planned start time. |
| 8 | System | LATE | MISSED | You didn't clock in. |
| 9 | User action | ON_BREAK | IN_PROGRESS | You were in a break and ended your break. |
| 10 | User action | ON_BREAK | EARLY_CLOCK_OUT | You were in a break and decided to end your shift before the shift's scheduled end. |
| 11 | User action | ON_BREAK | OVER_CLOCK | You were in a break and decided to end your break after the shift ended. |
| 12 | User action | EARLY_CLOCK_OUT | IN_PROGRESS | You clocked out before your shift was scheduled to end, and then clocked in again. |
| 13 | System | EARLY_CLOCK_OUT | COMPLETED | You clocked out before your shift was scheduled to end, and later the shift's scheduled end date and time has passed. |
| 14 | User action | OVER_CLOCK | COMPLETED | You clocked out after your shift's scheduled end date and time. |