contractIdsstring[] nullable
Contracts considered during optimization.
shiftContractIdstring nullable
Contract id of the provider supplying shifts for this strategy.
pickupServiceTimeSecondsinteger nullable
dropoffServiceTimeSecondsinteger nullable
incrementalServiceTimeSecondsinteger nullable
enableAutoDispatchboolean nullable
autodispatchWithinXMinutesOfPickupTimeinteger nullable
Deprecated. Use pickup_time_from_in_minutes / pickup_time_to_in_minutes.
earliestDispatchMinutesBeforePickupinteger nullable
Deprecated. Use pickup_time_from_in_minutes / pickup_time_to_in_minutes.
pickupTimeFromInMinutesinteger nullable
Lower bound (inclusive) of the pickup time window to optimize, in minutes from now.
pickupTimeToInMinutesinteger nullable
Upper bound (exclusive) of the pickup time window to optimize, in minutes from now.
unassignedOrdersOptionsGroupIdstring nullable
defaultTrafficSourcestring nullable
trafficTimeOffsetWeeksinteger nullable
avoidFerriesboolean nullable
Route around water crossings. Ferries are usually unusable by truck fleets, and the solver otherwise prices a sailing as ordinary driving time.
minimizeZoneCrossingsboolean nullable
Prefer fewer crossings of selected zone polygons in LogisticsOS. Null disables the preference.
communityZoneIdsstring[] nullable
Reusable zone references. Omit to preserve the selection; null or an empty list clears it.
zonesstring[] nullable
Zone ids assigned to this strategy.
storeLocationsstring[] nullable
Store location ids assigned to this strategy.
softCapabilitiesstring[] nullable
searchLevelinteger nullable
clusteringLevelinteger nullable
softClusterLabelboolean nullable
balanceRoutes'none' | 'same_vehicle_type' | 'all_vehicle_types'
pickupSequencing'interleave' | 'after_deliveries'
Where a strategy's pickup-only orders go on a route (OPT-805).
interleave (also NULL): the solver places a pickup wherever capacity and windows allow.
after_deliveries: every delivery is visited before any pickup-only stop on the same route.
engineSolver'logistics_os' | 'here' | 'gmpro' | 'ptv'
Which solver engine runs the optimization.
Distinct from Nash's OptimizationProvider (nash_enums): that enum is the
persisted provider on route.optimization_provider and includes non-solver
values (MANUAL, NAIVE) alongside the vendors. OptimizationSolver is the
narrower "which engine" selector for this module.
Adding a solver here needs no schema change — route.optimization_provider is a
plain varchar column — but it does need a new OptimizationProvider member and an
entry in _SOLVER_TO_PROVIDER below. The mapping lives next to the enum precisely
so that can't be missed: the engine originally shipped without it, and every
engine-built route was recorded as LOGISTICS_OS (OPT-531).
saveOptimizedRoutesboolean nullable