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.
attribute
type
description
shiftID
string
Zeal Shift ID
status
string
Holds one of the following values:
pendingpre-processedprocessed
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
workLocationID
string
Pass a workLocationID to be assigned to the shift object
wcc_code
string
Can be used by employers to track workers compensation codes for each shift completed
customerAccountID (Early Access)
string
Can be used to attach a customer account to a shift
flsa_ot_exempt (Early Access)
boolean
Exempt shifts from FLSA Overtime rules
hourly
object
Hourly Earning Component
hours (number): Number of regular hours worked in this shift
wage (number): Wage for this employee. If not provided, Zeal uses employee's default_wage
custom_name (string, optional): Name for this earning that will show in the paystub
flat
object
Flat Earning Component.
Used for paying employees a flat amount for a given number of hours. The hours and wage are for record keeping purposes only and do not affect the amount in any way.
hours (number): Number of hours
wage (number, optional): Wage per hour
amount (number): Amount to be paid for set number of hours
custom_name (string, optional): Name for this earning that will show in the paystub
overtime
object
Overtime Earning Component.
Include this earning component in shift if employee worked more than 8 hours during the day.
hours (number): Number of Overtime hours worked in this shift
wage (number, optional): Overtime Wage for this employee. If not provided, Zeal uses employee's default_ot_wage
custom_name (string, optional): Name for this earning that will show in the paystub
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.
hours (number): Number of Doubletime hours worked in this shift
wage (number, optional): Doubletime Wage for this employee. If not provided, Zeal uses employee's default_dt_wage
custom_name (string, optional): Name for this earning that will show in the paystub
reimbursement
object
Reimbursement Earning Component
Include this component to reimburse an employee for any business-related expenses
amount (number): Amount to be paid in reimbursement
custom_name (string, optional): Name for this earning that will show in the paystub
pto
object
PTO Earning Component
Include this component to mark the amount of PTO hours for an employee
hours (number): Number of PTO hours
wage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wage
custom_name (string, optional): Name for this earning that will show in the paystub
apply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usage
accrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is true
vacation
object
Vacation Earning Component
Include this earning component to mark vacation hours
hours (number): Number of Vacation hours
wage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wage
`custom_name (string, optional): Name for this earning that will show in the paystub
apply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usage
accrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is true
sick
object
Sick Pay Earning Component
Include this earning component to mark the number of sick pay hours
hours (number): Number of Sick hours
wage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wage
custom_name (string, optional): Name for this earning that will show in the paystub
apply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usage
accrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is true
holiday
object
Holiday Earning Component
hours (number): Number of Holiday hours
wage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wage
custom_name (string, optional): Name for this earning that will show in the paystub
apply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usage
accrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is true
piecework
object
Piecework Earning Component
Use this earning component if an employee needs to be paid on a per-unit or per-project basis
hours (number): Total number of hours spent
units (number): Total number of units produced by this employee
amount_per_unit (number): Amount to be paid out per unit produced by this employee
custom_name (string, optional): Name for this earning that will show in the paystub
charged_tips
object
Charged Tips Earning Component
amount (number): Amount for tip
custom_name (string, optional): Name for this earning that will show in the paystub
discretionary_bonus
object
Discretionary Bonus Earning Component
amount (number): Amount to be paid for discretionary bonus
custom_name (string, optional): Name for this earning that will show in the paystub
nondiscretionary_bonus
object
Non-discretionary Bonus Earning Component
amount (number): Amount to be paid for non-discretionary bonus
custom_name (string, optional): Name for this earning that will show in the paystub
commission
object
Commission Earning Component
amount (number): Amount for Commission
custom_name (string, optional): Name for this earning that will show in the paystub
commodity
object
Commodity Earning Component
amount (number): Amount for Commodity
custom_name (string, optional): Name for this earning that will show in the paystub
shareholder_healthcare_reimbursement
object
Shareholder Premium Earning Component
flat (number): Flat amount for healthcare premium
gross_up
object
Gross-up Earning Component
desired_net (number): 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 (string, optional): Name for this earning that will show in the paystub
correction
object
Correction Earning Component
hours (number, optional): The number of hours for a correction
amount (number): The gross wage amount to be corrected. Note: this field only accepts a negative number
custom_name (string, optional): Name for this earning that will show in the paystub
meal_break
object
Meal Break Premium Earning Component
units (number): The number of breaks
amount_per_unit (number): The amount to be paid for each break. Note: this field is calculated at the time of check processing
custom_name (string, optional): Name for this earning that will show in the paystub
rest_break
object
Rest Break Premium Earning Component
units (number): The number of breaks
amount_per_unit (number): The amount to be paid for each break. Note: this field is calculated at the time of check processing
custom_name (string, optional): Name for this earning that will show in the paystub