Shift Object

The Zeal Shift object stores earning information for an employee and should be included when an employee check is created. Each shift object consists of earnings components (learn more about earning components here). You may include multiple earnings components in each shift. If you do not include 'wage' in an earning component, Zeal will use the employee's default_wage. Zeal is always adding more earning components. Reach out to Zeal at [email protected] if you have any questions.

attributetypedescription
shiftIDstringZeal Shift ID
statusstringHolds one of the following values:
pending
pre-processed
processed
employeeIDstringZeal Employee ID
employeeCheckIDstringZeal Employee Check ID that contains this shift. See the Employee Check Object
first_namestringFirst name of employee
last_namestringLast name of employee
metadataobjectCustom object you can attach to the shift object. This is useful for storing additional information about the object in a custom, structured format. See Metadata
timedatetimeDatetime of when shift was completed, in the ISO-8601 format in UTC. Example: <<currentYear>>-05-12T15:32:00Z
workLocationIDstringPass a workLocationID to be assigned to the shift object
wcc_codestringCan be used by employers to track workers compensation codes for each shift completed
customerAccountID (Early Access)stringCan be used to attach a customer account to a shift
flsa_ot_exempt (Early Access)booleanExempt shifts from FLSA Overtime rules
hourlyobjectHourly Earning Component


Show child attributes
hours
type: number
description: Number of regular hours worked in this shift


wage
type: number
description: Wage for this employee. If not provided, Zeal uses employee's default_wage


custom_name
type: string
description: Add a custom name to an earning component



flatobjectFlat Earning Component.

Used for paying employees a flat amount for a given number of hours.


Show child attributes
hours
type: number
description: Number of hours


amount
type: number
description: Amount to be paid for set number of hours


custom_name
type: string
description: Add a custom name to an earning component



overtimeobjectOvertime Earning Component.

Include this earning component in shift if employee worked more than 8 hours during the day.


Show child attributes
hours
type: number
description: Number of Overtime hours worked in this shift

wage
type: number
required: optional
description: Overtime Wage for this employee. If not provided, Zeal uses employee's default_ot_wage


custom_name
type: string
description: Add a custom name to an earning component



doubletimeobjectDoubletime Earning Component

Include this earning component for doubletime earnings such as when an employee is working during federal hours or more than 8 hours during the day.


Show child attributes hours
type: number
description: Number of Doubletime hours worked in this
shift


wage
type: number
required: false
description: Doubletime Wage for this employee. If not provided, Zeal uses employee's default_dt_wage


custom_name
type: string
description: Add a custom name to an earning component



reimbursementobjectReimbursement Earning Component

Include this component to reimburse an employee for any business-related expenses


Show child attributes
amount
type: number
description: Amount to be paid in reimbursement


custom_name
type: string
description: Add a custom name to an earning component



ptoobjectPTO Earning Component

Include this component to mark the amount of PTO hours for an employee


Show child attributes hours
type: number
description: Number of PTO hours


wage
type: number
required: false
description: Wage for this employee. If not provided, Zeal uses employee's default_wage


custom_name
type: string
description: Add a custom name to an earning component



vacationobjectVacation Earning Component

Include this earning component to mark vacation hours


Show child attributes hours
type: number
description: Number of Vacation hours


wage
type: number
required: false
description: Wage for this employee. If not provided, Zeal uses employee's default_wage


custom_name
type: string
description: Add a custom name to an earning component



sickobjectSick Pay Earning Component

Include this earning component to mark the number of sick pay hours


Show child attributes hours
type: number
description: Number of Sick Pay hours


wage
type: number
required: false
description: Wage for this employee. If not provided, Zeal uses employee's default_wage


custom_name
type: string
description: add a custom name to an earning component



holidayobjectHoliday Earning Component


Show child attributes hours
type: number
description: Number of holiday hours


wage
type: number
required: false
description: Wage for this employee. If not provided, Zeal uses employee's default_wage


custom_name
type: string
description: Add a custom name to an earning component



pieceworkobjectPiecework Earning Component

Use this earning component if an employee needs to be paid on a per-unit or per-project basis


Show child attributes hours
type: number
description: Total number of hours spent


units
type: number
description: Total number of units produced by this employee


amount_per_unit
type: number
description: Amount to be paid out per unit produced by this employee


custom_name
type: string
description: Add a custom name to an earning component



charged_tipsobjectCharged Tips Earning Component


Show child attributes amount
type: number
description: Amount for tip


custom_name
type: string
description: Add a custom name to an earning component



discretionary_bonusobjectDiscretionary Bonus Earning Component


Show child attributes amount
type: number
description: Amount to be paid for discretionary bonus


custom_name
type: string
description: Add a custom name to an earning component



nondiscretionary_bonusobjectNon-discretionary Bonus Earning Component


Show child attributes amount
type: number
description: Amount to be paid for non-discretionary bonus


custom_name
type: string
description: Add a custom name to an earning component



commissionobjectCommission Earning Component


Show child attributes amount
type: number
description: Amount for Commission


custom_name
type: string
description: Add a custom name to an earning component



commodityobjectCommodity Earning Component


Show child attributes
amount
type: number
description: Amount for Commodity


custom_name
type: string
description: add a custom name to an earning component



shareholder_healthcare_reimbursementobjectShareholder Premium Earning Component


Show child attributes

flat
type: number
description: Flat amount for healthcare premium



gross_upobjectGross-up Earning Component


Show child attributes
desired_net
type: number
description: The desired net amount that will be converted to gross
Note - the calculated_gross_amount will be returned by the GET endpoint once a check is in the processed status.


custom_name
type: string
description: Add a custom name to an earning component


correctionobjectCorrection Earning Component


Show child attributes

hours (optional)
type: number
description: The number of hours for a correction


amount
type: number
description: The gross wage amount to be corrected. Note that this field only accepts a negative number

custom_name
type: string
description: A custom note for the correction


meal_breakobjectMeal Break Premium Earning Component


Show child attributes

units
type: number
description: The number of breaks


amount_per_unit
type: number
description: The amount to be paid for each break. Note that this field is calculated at the time of check processing

custom_name
type: string
description: A custom note for the meal break


rest_breakobjectRest Break Premium Earning Component


Show child attributes

units
type: number
description: The number of breaks


amount_per_unit
type: number
description: The amount to be paid for each break. Note that this field is calculated at the time of check processing

custom_name
type: string
description: A custom note for the rest break


{
  "shiftID": "4712c99283304b7b989179aae36b4590",
  "status": "pending",
  "employeeID": "1234567890",
  "employeeCheckID": "1098876345",
  "first_name": "erlich",
  "last_name": "bachman",
  "metadata": {},
  "time": "2023-04-15T14:00:00Z",
  "wcc_code": "12324",
  "hourly": {
    "hours": 8,
    "wage": 20,
    "custom_name": "custom hourly"
  },
  "overtime": {
    "hours": 2,
    "wage": 30
  },
  "reimbursement": {
    "amount": 8.5
  }
}