When a team member completes a shift, a record is created of the actual times worked by that team member. A timesheet then follows a workflow for "approval" and "payment".

Data ElementData TypeWhat is itMandatory
IdIntegerUnique identifierYes
EmployeeIntegerEmployee ID who worked the shiftYes
EmployeeHistoryIntegerID of the employee's history at time of timesheetNo
EmployeeAgreementIntegerEmployeeAgreement of the employee for the location worked in the shiftNo
DateDateDate of the shiftNo
StartTimeIntegerStart time of the shiftNo
EndTimeIntegerEnd time of the shiftNo
MealbreakTimeTime of Meal BreakNo
MealbreakSlotsStringSlots used to define the start/end times of meal and rest breaksNo
TotalTimeFloatTotal time to be paid in shiftYes
TotalTimeInvFloatNot usedYes
CostDecimalCost of shift
RosterIntegerID of scheduled shift that is associated with this timesheetNo
EmployeeCommentStringComment entered by employeeNo
SupervisorCommentStringNot usedNo
SupervisorIntegerNot usedN/A
DisputedBooleanNot usedN/A
TimeApprovedBooleanTrue if time component of timesheet has been approved. There is a seperate field for if pay component of timesheet has been approved.No
TimeApproverIntegerID of employee who approved time of timesheetNo
DiscardedBooleanTrue if this is a discarded timesheetsNo
ValidationFlagIntegerThis field whole multiple values to indicate different timesheet validations. It is set with bitwise math (to allow multiple values to be set here) to show if the timesheet has some reasons that it needs attention (i.e. clocked in far away, timesheet was forgotten to be finished, etc.). The bitwise math allows it to represent an AND of combination of reasons that need attention.Yes
OperationalUnitIntegerArea associated with shiftNo
isInProgressBooleanTrue if shift is currently in progressNo
IsLeaveBooleanTrue if timesheet is associated with a leave requestNo
LeaveIdIntegerLeave request associated with TimesheetNo
LeaveRuleIntegerLeave rule associated with TimesheetNo
InvoicedBooleanNot usedN/A
InvoiceCommentStringNot usedN/A
PayRuleApprovedBooleanTrue if pay component of timesheet has been approved.Yes
ExportedBooleanTrue if Timesheet was exported (often used to mark that it was sent to another system, such as payroll)No
StagingIdIntegerAssociation to the timesheet_stage record which wraps all timesheets that got marked as paid togetherNo
PayStagedBooleanTrue if timesheet has been marked as paid and lockedNo
PayCycleIdIntegerPayPeriod associated with timesheetNo
FileIntegerReference to the photo taken in Kiosk/Time ClockNo
CustomFieldDateIntegerCustom Timesheet Questions attached to timesheetNo
RealTimeBooleanBoolean to signify if timesheet was ever in progress as opposed to having been submitted retrospectivelyNo
AutoProcessedBooleanTimesheet has automatically been processed by business rulesNo
AutoRoundedBooleanTimesheet has been rounded by automatic rounding rulesNo
AutoPayRuleApprovedBooleanTimesheet has automatically had pay approved by location rules or by using one step approvalNo
CreatorIntegerEmployee who created timesheetNo
CreatedDatetimeTime timesheet was createdNo
ModifiedDatetimeTime timesheet was modifiedNo

Foreign Objects which can be linked with the Resource API

EmployeeObject - Employee
EmployeeAgreementObject - EmployeeAgreement
RosterObject - Roster
OperationalUnitObject - OperationalUnit
Leave - Leave
LeaveRuleObject - LeaveRules
Paycycle - EmployeePayCycle
CustomFieldDataObject - CustomFieldData