Premium Pay
What Is Premium Pay?
Premium pay refers to additional compensation that Salsa calculates and applies on top of a worker's base wages when certain conditions are met. These premiums are driven by labor regulations that vary by jurisdiction and are designed to ensure workers receive fair compensation for specific scheduling or work patterns.
Salsa currently supports the following premium pay types:
| Premium Type | Category | Availability |
|---|---|---|
| Split Shifts | Day-based premium | New York |
| Spread of Hours | Day-based premium | New York |
| Wage Parity | Hourly-compensation premium | New York |
Split Shifts & Spread of Hours
Split shifts and spread of hours are premium pay requirements under New York wage orders. When certain conditions are met, employers must ensure that a worker's total daily compensation meets a minimum threshold — and if it doesn't, a premium top-up must be paid.
Salsa calculates these premiums automatically when shift data is sent through the Paystream API with the appropriate eligibility flags.
Split Shifts
A split shift occurs when a worker works two or more separate segments in the same workday with a break longer than one hour between them. When this happens, New York wage orders require that the worker's total daily earnings meet or exceed a minimum floor — specifically, the minimum wage multiplied by the hours worked, plus one additional hour of minimum wage.
If the worker's actual earnings fall short of this floor, the employer must pay the difference as a split-shift premium.
Spread of Hours
Spread of hours refers to the total span of time from the start of a worker's first shift to the end of their last shift in a workday — including all breaks, unpaid time, and gaps. When this span exceeds 10 hours, the same minimum-floor calculation applies, and a spread-of-hours premium may be owed.
When Split Shift or Spread of Hours Premium Are Not Paid
No split shift or spread of hours premium is owed when:
- Earnings already exceed the floor — if the worker's total daily earnings (including tips, bonuses, and other compensation) already meet or exceed the minimum required amount.
- The worker is exempt or a contractor — split-shift premiums apply only to non-exempt employees.
- Shifts are in different states — cross-state gaps do not create a split shift. Each state's rules are evaluated in isolation.
One-Per-Day Rule
If both split shift and spread of hours are triggered on the same day for the same worker, only one premium is paid — the one resulting in the higher required minimum-wage floor. Both premium types are tracked independently in YTD totals regardless.
How To Send Data via the Paystream API
Premium Eligibility Flags
The Paystream API accepts an optional premiumEligibility object on both pay and timeWorked entries. This object contains two boolean flags:
"premiumEligibility": {
"splitShift": true,
"spreadOfHours": true
}| Field | Type | Default | Description |
|---|---|---|---|
splitShift | boolean | false | Indicates this shift should be evaluated for split-shift premium. |
spreadOfHours | boolean | false | Indicates this shift should be evaluated for spread-of-hours premium. |
When the premiumEligibility object is not provided, both flags default to false, maintaining backward compatibility with existing integrations.
Important: These flags tell Salsa to evaluate whether a premium is owed — they do not guarantee a premium will be paid. Salsa uses the shift timestamps and earnings data to determine whether the trigger conditions are met and whether a premium is actually due.
Supported Entry Types
Premium eligibility flags are supported on:
- Pay entries (rate-based only) — fixed-amount and frequency-based pay entries do not support these flags.
- Time worked entries
The flags are only supported on shift-based entries (entries with startDateTime and endDateTime). Whole-day entries are not allowed to use these flags.
Full API Example
Endpoint: POST /api/rest/v1/paystream/payroll-elements
{
"data": [
{
"type": "PaystreamPayrollElementPeriodReplacementInput",
"workers": [
{
"pay": [
{
"rate": "20",
"startDateTime": "2025-03-15T09:00:00-05:00",
"endDateTime": "2025-03-15T12:00:00-05:00",
"payReferenceId": "ref:pay:partner:us:hourly",
"premiumEligibility": {
"splitShift": true,
"spreadOfHours": true
}
},
{
"rate": "20",
"startDateTime": "2025-03-15T14:00:00-05:00",
"endDateTime": "2025-03-15T18:00:00-05:00",
"payReferenceId": "ref:pay:partner:us:hourly",
"premiumEligibility": {
"splitShift": true,
"spreadOfHours": true
}
}
],
"timeWorked": [
{
"startDateTime": "2025-03-15T09:00:00-05:00",
"endDateTime": "2025-03-15T12:00:00-05:00",
"premiumEligibility": {
"splitShift": true,
"spreadOfHours": true
}
},
{
"startDateTime": "2025-03-15T14:00:00-05:00",
"endDateTime": "2025-03-15T18:00:00-05:00",
"premiumEligibility": {
"splitShift": true,
"spreadOfHours": true
}
}
]
}
]
}
]
}In this example, the worker has two shifts (9 AM - 12 PM and 2 PM - 6 PM) with a 2-hour gap. Because both splitShift and spreadOfHours are flagged as true, Salsa will:
- Evaluate split shift: The 2-hour gap exceeds the 1-hour threshold, so the split-shift condition is met.
- Evaluate spread of hours: The total span is 9 hours (9 AM to 6 PM), which does not exceed 10 hours, so spread of hours does not trigger.
- Calculate premium: Only the split-shift premium applies. Salsa compares the worker's actual daily earnings against the minimum floor and pays the difference if needed.
Validation Rules
The API enforces the following rules when premium eligibility flags are provided:
| Rule | Behavior |
|---|---|
| Worker's work location must be in New York | Returns HTTP 400 with a specific error message if the location is not supported. |
| Entry must be shift-based (with start/end timestamps) | Whole-day entries cannot use premium eligibility flags. |
| Pay entries must be rate-based | Fixed-amount and frequency-based pay entries do not support these flags. |
Payroll Run Behavior
When premium calculations result in a premium being owed, Salsa adds a separate earnings line to the worker's earnings record:
- Split-shift premium — the total split-shift premium for the pay period.
- Spread-of-hours premium — the total spread-of-hours premium for the pay period.
These premium earnings lines:
- Do not add hours worked.
- Do not affect overtime calculations.
- Accumulate in year-to-date (YTD) totals under their respective earnings types.
- Are visible to the employer during the payroll run and can be manually edited if needed.
Wage Parity
Wage parity is a premium pay requirement under New York labor regulations that ensures certain home care workers receive a minimum total hourly compensation — base wages plus a supplement — above the standard minimum wage.
Salsa calculates wage parity automatically when shift data is sent through the Paystream API with the appropriate eligibility flag and work location, and applies it according to the worker's configured fulfillment strategy.
Wage parity rates are published by the New York Department of Health and vary by region. Salsa keeps these rates up to date — partners do not need to send rates or manage them.
Supported Regions
Wage parity is currently supported for shifts performed in the following New York regions:
- New York City (the five boroughs)
- Long Island and Westchester (Nassau, Suffolk, and Westchester counties)
Each region has its own wage parity total rate. The applicable rate for a shift is determined by the work location sent with the shift.
How Salsa Calculates Wage Parity
Wage parity is evaluated per shift. For each eligible shift, Salsa compares the worker's actual compensation for the shift against the wage parity total rate (base minimum wage + wage parity supplement) for the shift's region multiplied by the eligible hours worked.
If the worker's actual compensation falls short of that floor, Salsa records the gap and applies it according to the worker's configured fulfillment strategy.
Fulfillment Strategies
Each worker eligible for wage parity must have an active Worker Premium Policy configured in Salsa. The policy specifies how the employer satisfies the wage parity requirement for that worker:
| Strategy | Description |
|---|---|
| Pay | The supplement is paid as cash on top of the worker's base earnings. |
| Benefits | The employer satisfies the requirement by contributing fixed per-hour amounts to one or more named benefits (e.g., transit, benefits card). |
Worker premium policies are managed by the employer in the Salsa employer portal. Policies are effective-dated, so each shift is evaluated using the policy active on the shift's date.
When using the Benefits strategy, Salsa records the configured per-hour contributions for each eligible shift but does not validate that the total benefit allocation is sufficient to cover the wage parity requirement. Ensuring benefit allocations meet wage parity requirements is the employer's responsibility.
Payroll Run Behavior
What appears on the worker's earnings record depends on the worker's active fulfillment strategy:
- Pay strategy: The wage parity supplement is added as a separate earnings line for the pay period. It is included in gross and taxable wages, accumulates in YTD totals, and is paid at straight time. It does not contribute to the overtime regular rate.
- Benefits strategy: The configured per-hour benefit contributions are recorded as non-tax company contributions for the pay period and appear on the worker's earnings record under Company Contributions.
Integrating With Wage Parity
To send wage parity-eligible shifts and manage external work sites through the Paystream API, see the Wage Parity Integration guide.
