Optimization Strategies

Update Optimization Strategy

Update an existing optimization strategy. Only provided fields are updated. Supplying optimization_schedules replaces the existing schedules.

patch/v1/optimization-strategies/{id}

Request

  • Base URL
    https://api.sandbox.usenash.com
  • Auth
    none declared

Path parameters

idstring required

Request body

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
labelstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.