resourceParamsObject
The resourceParams object describes properties for resource types, typically pre-declared via a
define in the domain parameter file. Attribute names and types are links; the sub-object fields and
the Helix extension block are documented below.
{
"key": <string>,
"livery": <string>,
"speedFactor": <real>,
"costKm": <real>,
"costHour": <real>,
"overheads": <real>,
"productiveTravelFactor": <real>,
"cityBias": <real>,
"idleDiscount": <real>,
"reliableDiscount": <real>,
"calloutMargin": <real>,
"stopOnCaution": <real>,
"voluntaryCaution": <real>,
"deassignCost": <real>,
"voluntaryDeassignCost": <real>,
"minimumIncome": <real>,
"stbyUsageFactor": <real>,
"stbyUsagePreWorkFactor": <real>,
"stopOnMode": IDLE | RELIABLE | ARVD | ONE | MAX,
"leadFactor": [dow: real] | null,
"coreSkills": [skill: null | real],
"exclusiveSkills": [skill: null | real],
"planEarlyBase": <bool>,
"alpha": <real> | null,
"beta": <real> | null,
}
-
keystring - Unique identifier for the resource type.
-
cloneresourceParamsKey - Inherit values from another resource type.
-
liverystring - Resource livery (visual identification / branding).
-
speedFactorrealdefault1.0 - Relative speed within the topography.
-
costKmrealdefault0.0 - Cost per kilometre travelled.
-
costHourrealdefault0.0 - Hourly operational cost.
-
overheadsrealdefault0.0 - Additional hourly cost while signed on.
-
productiveTravelFactorrealdefault0.0 - Value attributed to travel that is considered productive.
-
cityBiasrealdefault0.0 - Area-preference bias toward or away from urban areas.
-
softWorkingLimitdistance - Maximum distance from base (soft constraint).
-
hardWorkingLimitdistance - Maximum distance from base (hard constraint).
-
atSensitivitydistance - Resolution applied to the resource’s location (positional sensitivity).
-
idleDiscountrealdefault0 - Discount for immediate deployment after sign-on.
-
reliableDiscountrealdefault0 - Discount when placed after reliable stops.
-
calloutMarginrealdefault0 - Penalty for the standby → call transition.
-
stopOnCautionreal - Cost penalty for mandatory extended (stop-on) time.
-
voluntaryCautionreal - Cost penalty for voluntary extended time.
-
deassignCostreal - Cost penalty for deassigning a stop from this resource.
-
voluntaryDeassignCostreal - Cost penalty for deassigning a voluntary stop.
-
deassignEarlyArrivaltimeInterval - Early-arrival allowance considered when deassigning.
-
minimumIncomereal - Minimum income per hour the resource expects; weighs voluntary / standby work decisions.
-
stbyUsageFactorreal - Weight affecting standby callout likelihood / cost during work hours.
-
stbyUsagePreWorkFactorreal - Weight affecting standby callout likelihood / cost before work starts.
-
hostClockResolutiontimeIntervaldefault1 min - Resolution of roster-related stop times.
-
hostClockSpreadtimeIntervaldefault10 s - Spread applied to roster events.
-
stopOnModeIDLE | RELIABLE | ARVD | ONE | MAX - Mode for determining stop-on (extended-time) behaviour.
-
typicalStopstopParamsKey - Most common stop type attended (planning estimate).
-
typicalToStopstopParamsKey - Most common destination (to) stop type.
-
typicalLeadTimetimeInterval - Typical idle time before the next work is available.
-
typicalTravelTimetimeInterval - Typical travel time between stops.
-
typicalUsableTimetimeInterval - Typical usable time at a stop.
-
leadFactor[dow: real] - Per-day-of-week multiplier on the typical lead time.
-
coreSkills[skill: null | real] - Core skills and proficiencies the resource provides.
-
exclusiveSkills[skill: null | real] - Skills exclusive to this resource (capacity / competition constraints).
-
secondaryActivitysecondaryActivityObject - A secondary capability the resource can perform.
-
baseDeploybaseDeployObject - Controls base-deployment timing at the end of a shift.
-
surchargesurchargeObject - Additional costs for loaded vs unloaded travel.
-
planEarlyBasebooldefaulttrue - Plan sign-off as early as possible.
-
alpharealdefault0.0 - Reserved / advanced — currently unused.
-
betarealdefault0.0 - Reserved / advanced — currently unused.
-
helixhelixObject - Helix-specific presentation configuration (see below).
Helix extensions
Section titled “Helix extensions”The helix block is a Helix addition to the Spiral resourceParams (ignored by Spiral itself). It
controls how the resource type is presented in the Helix client, plus server-side lifecycle hooks.
onCreate / onDelete are "fnName()" specs resolved against the client crud module — see
Backend hooks.
{
"icon": <string>,
"label": spec | null,
"nextEvent": spec | null,
"nextIncrements": spec | null,
"rosterStop": { [NOW | REST | STBY]: helixObject } | null,
"onCreate": spec | null,
"onDelete": spec | null,
}
-
iconstring - Name of the map-marker icon rendered for this resource type (resolves to a canvas-rendered icon in the client).
-
labelspec - Expression producing the resource’s display label (default resourceLabel()), with `this` = the resource.
-
nextEventspec - Expression producing the resource’s next roster event summary shown in the resource editor (default helixNextEvent()).
-
nextIncrementsspec - Expression producing the time-increment choices offered when adjusting the next roster event (default helixNextIncrements()).
-
rosterStop{ [NOW | REST | STBY]: helixObject } - Per-roster-state overrides of the presentation (helix block) applied to this resource type’s roster stops — deep-merged over the core roster-stop defaults.
-
onCreatespec - Function called when a resource of this type is created live (after scheduling has started), with `this` = the resource.
-
onDeletespec - Function called when a resource of this type is deleted, with `this` = the resource being removed.