Overview
Use the Shift History report to trace shift changes that can help resolve labor disputes, hold employees and schedule managers accountable for their actions, and identify patterns of behavior over time.
Considerations
- Shift history is available for shifts from the last 60 days.
- Shifts assigned to archived users are included in the report.
- Data available in the Shift History report are current as of the prior midnight in your account’s timezone. Any data from midnight until the current time will be reflected in the next day’s report.
Field details
The following table includes details about each column in the Shifts report.
Account ID |
Account ID where the shift is scheduled. |
Account Name |
Account name where the shift is scheduled. |
Shift ID |
Internal ID of the shift. |
Occurred At |
Date and time when the shift was last created, edited, or deleted. |
Update Reason |
Action taken that changed the shift. See Update Reason Reference. |
Updated Fields |
Shift fields that were updated. |
Updater ID |
Internal ID of the user that updated the shift. |
Previous Updater ID |
Internal ID of the user that previously updated the shift. |
Updater Name |
Name (last, first) of the user that updated the shift. |
Previous Updater Name |
Name (last, first) of the user that previously updated the shift. |
Updater Role |
Role of the user that updated the shift. |
Previous Updater Role |
Role of the user that previously updated the shift. |
Schedule ID |
Internal ID of the schedule. |
Previous Schedule ID |
Internal ID of the schedule when the shift was previously updated. |
Schedule Name |
Name of the schedule. |
Previous Schedule Name |
Name of the schedule when the shift was previously updated. |
OpenShift Status |
Indicates whether the shift is an OpenShift. |
Previous OpenShift Status |
Indicates whether the shift was an OpenShift when it was previously updated. |
OpenShift Count |
If the shift is an OpenShift, indicates the number of shifts that are available. |
Previous OpenShift Count |
The number of shifts that were available when the shift was previously updated. |
Assignee User ID |
Internal ID of the assigned user. |
Previous Assignee User ID |
Internal ID of the assigned user when the shift was previously updated. |
Assignee Name |
Name (last, first) of the assigned user. |
Previous Assignee Name |
Name (last, first) of the assigned user when the shift was previously updated. |
Assignee Employee ID |
Employee ID of the assigned user. |
Previous Assignee Employee ID |
Employee ID of the assigned user when the shift was previously updated. |
Start Date |
Date when the shift starts. |
Previous Start Date |
The state of Start Date when the shift was previously updated. |
Start Time |
Time when the shift starts. |
Previous Start Time |
The state of Start Time when the shift was previously updated. |
End Date |
Date when the shift ends. |
Previous End Date |
The state of End Date when the shift was previously updated. |
End Time |
Time when the shift ends. |
Previous End Time |
The state of End Time when the shift was previously updated. |
Unpaid Break Length |
Length of the shift’s unpaid break (hours). |
Previous Unpaid Break Length |
The state of the Unpaid Break length when the shift was previously updated. |
Length |
The length of the shift, not included unpaid break. |
Previous Length |
The state of the shift length when the shift was previously updated. |
Position ID |
Internal ID of the shift’s position. |
Previous Position ID |
Internal ID of the shift’s position when the shift was previously updated. |
Position Name |
Name of the shift’s position. |
Previous Position Name |
Name of the shift’s position when the shift was previously updated. |
Job Site ID |
Internal ID for the shift’s job site. |
Previous Job Site ID |
Internal ID for the shift’s job site when the shift was previously updated. |
Job Site Name |
Name of the shift’s job site. |
Previous Job Site Name |
Name of the shift’s job site when the shift was previously updated. |
Shift Notes |
Notes added to the shift. |
Previous Shift Notes |
Notes added to the shift when the shift was previously updated. |
Created At |
Date and time when the shift was created. Note: This column may be blank if the shift was created more than 60 days ago. |
Creator User ID |
Internal ID of the user that created the shift. |
Creator Name |
Name (last, first) of the user that created the shift. |
Published Status |
Indicates whether the shift is published or unpublished. |
Previous Published Status |
The state of the Shift Published status when the shift was previously updated. |
Published At |
Date and time when the shift was last published. |
Previous Published At |
The state of the Shift Published at when the shift was previously updated. |
Notified At |
Date and time when the assignee was last notified of the shift being published or updated. |
Previous Notified At |
The State of Shift Notified at when the shift was previously updated. |
Confirmed Status |
Indicates whether the assigned user has confirmed the shift. |
Previous Confirmed Status |
The state of Confirmed Status when the shift was previously updated. |
Confirmed At |
Date and time when the assigned user confirmed the shift. |
Previous Confirmed At |
The state of Confirmed At when the shift was previously updated. |
Assignee Role |
Role of the assigned user. |
Previous Assignee Role |
Role of the assigned user when the shift was previously updated. |
Assignee Base Hourly Rate |
Base hourly rate of the assigned user. |
Previous Assignee Base Hourly Rate |
Base hourly rate of the assigned user when the shift was previously updated. |
Assignee Position Rate |
Hourly rate the user earns when working the shift’s position. |
Previous Assignee Position Rate |
The state of the Assignee Position Rate when the shift was previously updated. |
Deleted Status |
Indicates whether the shift is deleted. |
Previous Deleted Status |
The state of Deleted Status when the shift was previously updated. |
Column | Description |
Account ID | Account ID where the shift is scheduled. |
Account Name | Account name where the shift is scheduled. |
Shift ID | Internal ID of the shift. |
Occurred At | Date and time when the shift was last created, edited, or deleted. |
Update Reason | Action taken that changed the shift. See Update Reason Reference. |
Updated Fields | Shift fields that were updated. |
Updater ID | Internal ID of the user that updated the shift. |
Previous Updater ID | Internal ID of the user that previously updated the shift. |
Updater Name | Name (last, first) of the user that updated the shift. |
Previous Updater Name | Name (last, first) of the user that previously updated the shift. |
Updater Role | Role of the user that updated the shift. |
Previous Updater Role | Role of the user that previously updated the shift. |
Schedule ID | Internal ID of the schedule. |
Previous Schedule ID | Internal ID of the schedule when the shift was previously updated. |
Schedule Name | Name of the schedule. |
Previous Schedule Name | Name of the schedule when the shift was previously updated. |
OpenShift Status | Indicates whether the shift is an OpenShift. |
Previous OpenShift Status | Indicates whether the shift was an OpenShift when it was previously updated. |
OpenShift Count | If the shift is an OpenShift, indicates the number of shifts that are available. |
Previous OpenShift Count | The number of shifts that were available when the shift was previously updated. |
Assignee User ID | Internal ID of the assigned user. |
Previous Assignee User ID | Internal ID of the assigned user when the shift was previously updated. |
Assignee Name | Name (last, first) of the assigned user. |
Previous Assignee Name | Name (last, first) of the assigned user when the shift was previously updated. |
Assignee Employee ID | Employee ID of the assigned user. |
Previous Assignee Employee ID | Employee ID of the assigned user when the shift was previously updated. |
Start Date | Date when the shift starts. |
Previous Start Date | The state of Start Date when the shift was previously updated. |
Start Time | Time when the shift starts. |
Previous Start Time | The state of Start Time when the shift was previously updated. |
End Date | Date when the shift ends. |
Previous End Date | The state of End Date when the shift was previously updated. |
End Time | Time when the shift ends. |
Previous End Time | The state of End Time when the shift was previously updated. |
Unpaid Break Length | Length of the shift’s unpaid break (hours). |
Previous Unpaid Break Length | The state of the Unpaid Break length when the shift was previously updated. |
Length | The length of the shift, not included unpaid break. |
Previous Length | The state of the shift length when the shift was previously updated. |
Position ID | Internal ID of the shift’s position. |
Previous Position ID | Internal ID of the shift’s position when the shift was previously updated. |
Position Name | Name of the shift’s position. |
Previous Position Name | Name of the shift’s position when the shift was previously updated. |
Job Site ID | Internal ID for the shift’s job site. |
Previous Job Site ID | Internal ID for the shift’s job site when the shift was previously updated. |
Job Site Name | Name of the shift’s job site. |
Previous Job Site Name | Name of the shift’s job site when the shift was previously updated. |
Shift Notes | Notes added to the shift. |
Previous Shift Notes | Notes added to the shift when the shift was previously updated. |
Created At | Date and time when the shift was created. Note: This column may be blank if the shift was created more than 60 days ago. |
Creator User ID | Internal ID of the user that created the shift. |
Creator Name | Name (last, first) of the user that created the shift. |
Published Status | Indicates whether the shift is published or unpublished. |
Previous Published Status | The state of the Shift Published status when the shift was previously updated. |
Published At | Date and time when the shift was last published. |
Previous Published At | The state of the Shift Published at when the shift was previously updated. |
Notified At | Date and time when the assignee was last notified of the shift being published or updated. |
Previous Notified At | The State of Shift Notified at when the shift was previously updated. |
Confirmed Status | Indicates whether the assigned user has confirmed the shift. |
Previous Confirmed Status | The state of Confirmed Status when the shift was previously updated. |
Confirmed At | Date and time when the assigned user confirmed the shift. |
Previous Confirmed At | The state of Confirmed At when the shift was previously updated. |
Assignee Role | Role of the assigned user. |
Previous Assignee Role | Role of the assigned user when the shift was previously updated. |
Assignee Base Hourly Rate | Base hourly rate of the assigned user. |
Previous Assignee Base Hourly Rate | Base hourly rate of the assigned user when the shift was previously updated. |
Assignee Position Rate | Hourly rate the user earns when working the shift’s position. |
Previous Assignee Position Rate | The state of the Assignee Position Rate when the shift was previously updated. |
Deleted Status | Indicates whether the shift is deleted. |
Previous Deleted Status | The state of Deleted Status when the shift was previously updated. |
Update reason reference
Update Reason identifies the action a user took that caused a shift to change. For example: a shift could be reassigned by a shift edit (edit), a user taking an OpenShift (take), or a user accepting a shift drop (drop-accept).
assign |
OpenShift assigned to a user by a supervisor, manager, or admin. This can occur for a single or multiple instance OpenShift. Note: This is not recorded for a shift that is manually assigned from one user to another. In that case, the reason code is edit. |
assign-auto |
Shift assigned via the auto-assign feature. |
confirm |
Shift confirmed by the assigned user. |
copy |
Shift created via the copy previous action. |
create |
Shift created. |
created-from-repeating-series |
Shift created in a repeating series (the first shift in the series will NOT have this reason code attached to the saved event). |
delete |
Shift deleted (not via clear schedule or delete bulk). |
delete-bulk |
Shift deleted via the edit-multiple feature. |
delete-clear |
Shift deleted via the clear schedule dialog. |
deleted-assigned-user |
When a user is deleted, the user taking the action chooses whether to delete future shifts, or move them to open. This code will is recorded in either scenario. |
drop-accept |
Shift reassigned when a user accepts a drop request. This code will also be recorded for a “find replacement” action (the version of a drop that is initiated by a supervisor, manager, or admin on behalf of the shift’s user.) |
edit |
Shift edited by a supervisor, manager, admin. This also includes manual reassignment. |
edit-bulk |
Shift edited by a supervisor, manager, admin via the edit-multiple feature. |
openshift-approve |
OpenShift approved by a supervisor, manager, admin. |
openshift-approve-partial |
Overlapping OpenShift approved by a supervisor, manager, admin and time was trimmed from the OpenShift. |
overwrite-conflicts-delete |
Shift deleted due to overwriting conflicts when applying a schedule template or copying from a previous week. |
publish |
Shift published via the published. |
release |
Shift released by the assigned euser. |
repeating-delete |
Shift in a repeating series is deleted as a result of changing the repeating pattern to no longer include this shift. |
split |
Shift is split in two. The code is recorded for the original shift and the newly split shift. |
swap-accept |
Shift swapped when a user accepted a swap request. This code is recorded for both swapped shifts when the users change as the result of a swap. |
take |
OpenShift taken by a user (any role). This can occur for a shift taken from multiple instances, or a single shift. |
take-partial |
An overlapping OpenShift taken by a user (any role) and time was trimmed from the OpenShift. |
unassign-bulk |
Shift unassigned. Note: this action currently is only triggered from the annotation dialog. |
unpublish |
Shift unpublished. |
updated-from-repeating-series |
Shift is updated in a repeating series (the original shift being updated will NOT have this reason code attached to the saved event, but all future shifts in the series will). |
user-removed-from-schedule |
When a user is removed from a schedule, all their future shifts are converted to OpenShifts this code is recorded. |
Reason Code | Description |
assign | OpenShift assigned to a user by a supervisor, manager, or admin. This can occur for a single or multiple instance OpenShift. Note: This is not recorded for a shift that is manually assigned from one user to another. In that case, the reason code is edit. |
assign-auto | Shift assigned via the auto-assign feature. |
confirm | Shift confirmed by the assigned user. |
copy | Shift created via the copy previous action. |
create | Shift created. |
created-from-repeating-series | Shift created in a repeating series (the first shift in the series will NOT have this reason code attached to the saved event). |
delete | Shift deleted (not via clear schedule or delete bulk). |
delete-bulk | Shift deleted via the edit-multiple feature. |
delete-clear | Shift deleted via the clear schedule dialog. |
deleted-assigned-user | When a user is deleted, the user taking the action chooses whether to delete future shifts, or move them to open. This code will is recorded in either scenario. |
drop-accept | Shift reassigned when a user accepts a drop request. This code will also be recorded for a “find replacement” action (the version of a drop that is initiated by a supervisor, manager, or admin on behalf of the shift’s user.) |
edit | Shift edited by a supervisor, manager, admin. This also includes manual reassignment. |
edit-bulk | Shift edited by a supervisor, manager, admin via the edit-multiple feature. |
openshift-approve | OpenShift approved by a supervisor, manager, admin. |
openshift-approve-partial | Overlapping OpenShift approved by a supervisor, manager, admin and time was trimmed from the OpenShift. |
overwrite-conflicts-delete | Shift deleted due to overwriting conflicts when applying a schedule template or copying from a previous week. |
publish | Shift published via the published. |
release | Shift released by the assigned euser. |
repeating-delete | Shift in a repeating series is deleted as a result of changing the repeating pattern to no longer include this shift. |
split | Shift is split in two. The code is recorded for the original shift and the newly split shift. |
swap-accept | Shift swapped when a user accepted a swap request. This code is recorded for both swapped shifts when the users change as the result of a swap. |
take | OpenShift taken by a user (any role). This can occur for a shift taken from multiple instances, or a single shift. |
take-partial | An overlapping OpenShift taken by a user (any role) and time was trimmed from the OpenShift. |
unassign-bulk | Shift unassigned. Note: this action currently is only triggered from the annotation dialog. |
unpublish | Shift unpublished. |
updated-from-repeating-series | Shift is updated in a repeating series (the original shift being updated will NOT have this reason code attached to the saved event, but all future shifts in the series will). |
user-removed-from-schedule | When a user is removed from a schedule, all their future shifts are converted to OpenShifts this code is recorded. |
Example scenarios
Check out Shift History Report Example Scenarios for more information about detailed report scenarios.