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 |
| 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 |
| 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 Componenthours (number): Number of regular hours worked in this shiftwage (number): Wage for this employee. If not provided, Zeal uses employee's default_wagecustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| 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 hourswage (number, optional): Wage per houramount (number): Amount to be paid for set number of hourscustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| 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 shiftwage (number, optional): Overtime Wage for this employee. If not provided, Zeal uses employee's default_ot_wagecustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| doubletime | object | Doubletime Earning ComponentInclude 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 shiftwage (number, optional): Doubletime Wage for this employee. If not provided, Zeal uses employee's default_dt_wagecustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| reimbursement | object | Reimbursement Earning ComponentInclude this component to reimburse an employee for any business-related expensesamount (number): Amount to be paid in reimbursementcustom_name (string, optional): Name for this earning that will show in the paystub |
| pto | object | PTO Earning ComponentInclude this component to mark the amount of PTO hours for an employeehours (number): Number of PTO hourswage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wagecustom_name (string, optional): Name for this earning that will show in the paystubapply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usageaccrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is truebill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| vacation | object | Vacation Earning ComponentInclude this earning component to mark vacation hourshours (number): Number of Vacation hourswage (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 usageaccrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is truebill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| sick | object | Sick Pay Earning ComponentInclude this earning component to mark the number of sick pay hourshours (number): Number of Sick hourswage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wagecustom_name (string, optional): Name for this earning that will show in the paystubapply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usageaccrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is truebill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| holiday | object | Holiday Earning Componenthours (number): Number of Holiday hourswage (number, optional): Wage for this employee. If not provided, Zeal uses employee's default_wagecustom_name (string, optional): Name for this earning that will show in the paystubapply_accrual_usage (boolean, optional): If true, the number of hours will be applied to the specified accrual policy's usageaccrual_policy_code (string, optional): The code of the accrual policy to which these hours should be applied. Required only if apply_accrual_usage is truebill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| piecework | object | Piecework Earning ComponentUse this earning component if an employee needs to be paid on a per-unit or per-project basishours (number): Total number of hours spentunits (number): Total number of units produced by this employeeamount_per_unit (number): Amount to be paid out per unit produced by this employeecustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| charged_tips | object | Charged Tips Earning Componentamount (number): Amount for tipcustom_name (string, optional): Name for this earning that will show in the paystub |
| cash_tips | object | Cash Tips Earning Componentamount (number): Amount for tipcustom_name (string, optional): Name for this earning that will show in the paystub |
| discretionary_bonus | object | Discretionary Bonus Earning Componentamount (number): Amount to be paid for discretionary bonuscustom_name (string, optional): Name for this earning that will show in the paystub |
| nondiscretionary_bonus | object | Non-discretionary Bonus Earning Componentamount (number): Amount to be paid for non-discretionary bonuscustom_name (string, optional): Name for this earning that will show in the paystub |
| commission | object | Commission Earning Componentamount (number): Amount for Commissioncustom_name (string, optional): Name for this earning that will show in the paystub |
| commodity | object | Commodity Earning Componentamount (number): Amount for Commoditycustom_name (string, optional): Name for this earning that will show in the paystub |
| shareholder_healthcare_reimbursement | object | Shareholder Premium Earning Componentflat (number): Flat amount for healthcare premium |
| gross_up | object | Gross-up Earning Componentdesired_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 Componenthours (number, optional): The number of hours for a correctionamount (number): The gross wage amount to be corrected. Note: this field only accepts a negative numbercustom_name (string, optional): Name for this earning that will show in the paystubbill_rate_type (string, only required if bill_rate is provided): The type of bill rate set for this earning. Can be:
bill_rate (number, only required if bill_rate_type is provided): The numeric value of the bill rate. Its interpretation depends on the bill_rate_type |
| meal_break | object | Meal Break Premium Earning Componentunits (number): The number of breaksamount_per_unit (number): The amount to be paid for each break. Note: this field is calculated at the time of check processingcustom_name (string, optional): Name for this earning that will show in the paystub |
| rest_break | object | Rest Break Premium Earning Componentunits (number): The number of breaksamount_per_unit (number): The amount to be paid for each break. Note: this field is calculated at the time of check processingcustom_name (string, optional): Name for this earning that will show in the paystub |
| owners_draw | object | Owner's Draw earning component (Early Access) amount (number): Amount to be paid custom_name (string, optional): Name for this earning that will show in the paystub |
{
"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": "Downtown Pickup #1234",
"bill_rate_type": "percentage",
"bill_rate": 15
},
"overtime": {
"hours": 2,
"wage": 30,
"bill_rate_type": "percentage",
"bill_rate": 20
},
"reimbursement": {
"amount": 8.5
}
}

