Skip to content

contractParamsObject

The contractParams object defines contract properties, typically pre-declared via a define in the domain parameter file.

key string
Unique identifier for contract reference.
clone contractParamsKey
Inherit values from an existing contract.
minRestPeriod timeInterval default 0
Minimum rest before the next shift.
maxShiftPeriod timeInterval
Maximum total shift duration.
break breakObject
The contract's break rules: the standard break, its window in worked time and how the resource takes it. null = breaks are not managed for this contract. Replaces maxWorkPeriod and breakLength, which Spiral 2.5.6 rejects.
timeGranularity timeInterval default 1 min
Minimum timing accuracy (≥ 1 second).
pay payObject
Available pay types for duties.
duty dutyObject
Assignable duties for contract resources.
protectSignoff timeInterval default 0
Window treating signoff-proximal work as voluntary.
calloutDelay timeInterval default 10 min
Estimated delay when activating standby.
calloutCost real default 0.0
Cost for standby activation.
canStandDownAfter timeInterval
Minimum worked time before an early finish (stand-down).
baseTimeIgnoreContingencyMode NONE | LAST | ALL default NONE
Contingency inclusion strategy.
helix helixObject
Helix extension block (ignored by Spiral). Standard property: callout.answer (timeInterval, optional) — the standby callout answer window for this contract's resources. Silence past the window is treated as a refusal (recorded as timeout); absent means Helix runs no timer and the external host owns callout timing. The rest of the callout process is configured on the resource type (resourceParams rosterStop.STBY.helix.callout) — the contract holds only the terms.

A contract’s breaks are described by one break object rather than by maxWorkPeriod and breakLength: the standard break, an optional mini, the window of worked time in which the break must start, and how the resource is taken to it. The host still supplies the break stop; Spiral places it in the window. See breakObject.