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. 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.

Learn more about which Earning Components are taxed vs. non-taxed here

attribute

type

description

shiftID

string

Zeal Shift ID

status

string

Holds one of the following values:
pending
pre-processed
processed

employeeID

string

Zeal Employee ID

employeeCheckID

string

Zeal Employee Check ID that contains this shift. See the Employee Check Object

first_name

string

First name of employee

last_name

string

Last name of employee

metadata

object

Custom 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

time

datetime

Datetime of when shift was completed, in the ISO-8601 format in UTC. Example: <<currentYear>>-05-12T15:32:00Z

hourly

object

Hourly 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

flat

object

Flat 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

overtime

object

Overtime 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

doubletime

object

Doubletime 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

amount
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

reimbursement

object

Reimbursement 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

pto

object

PTO 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

vacation

object

Vacation 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

sick

object

Sick 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

holiday

object

Holiday 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

piecework

object

Piecework 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_tips

object

Charged 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_bonus

object

Discretionary 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_bonus

object

Non-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

commission

object

Commission 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

commodity

object

Commodity 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

gross_up

object

Gross-up Earning Component

Show child attributes

desired_net
type: number
description: The desired net number 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

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