In order to use optimization while executing orders use order/optimize:
svc=order/optimize¶ms={"itemId":<long>, "orders":[<uint>,{JSOn},...], "warehouses":[<uint>], "units":[<uint>], "flags":<uint>, "gis":{ "provider":<uint>, "addPoints":<uint>, "speed":<uint>, "mode":<text>, "avoid":<text>, "departure_time":<uint>, "traffic_model":<text>, "transit_mode":<text>, "transit_routing_preference":<text> }, "busyRoutes":{ "<uint>":[ { "tf":<uint>, "tt":<uint>, "pf":{<uint> || {JSON}}, "pt":{<uint> || {JSON} }, ... ] }, "addPoints":<bool>, "priority":{<uint>:{<uint>:<uint>},...}, "criterions":{<text>:<uint>,...}, "preference":{<uint>:<uint>,...} // DEPRECATED }
| Param | Description | 
|---|---|
| itemId | resource id | 
| orders | optimized orders array (orders indexes/orders JSON delimited with comma) | 
| warehouses | warehouses array | 
| flags | optimization flags | 
| gis | gis settings | 
| busyRoutes | busy period, next index | 
| tf | busy period start time | 
| tt | busy period end time | 
| pf | busy period start location: order id or JSON | 
| pt | busy period end location: order id or JSON | 
| provider | maps source: 0 - none, 1 - Gurtam Maps(default), 2 - Google | 
| mode | transport: driving, walking, bicycling or transit (only for google provider) | 
| avoid | restrictions to the route: tolls, highways, ferries and/or indoor (only for google provider) | 
| departure_time | take into account the order interval for the traffic_model option: 0 - no, 1 - yes (only for google provider) | 
| traffic_model | assumptions: best_guess, pessimistic or optimistic (only for google provider) | 
| transit_mode | preferred modes: bus, subway, train, tram and/or rail (only for google provider) | 
| transit_routing_preference | preferences for transit requests (only for google provider) | 
| addPoints | return track in response: 1 - yes, 0 - no | 
| speed | speed for optimization, km/h(60 on default) | 
| units | units array | 
| priority | order of orders: {unit index:{order index:expected index of order in a route}} (index equal to -1 will fix this order as last in a route) | 
| criterions | route completion criterions: max_mileage - maximum mileage, m; max_duration - maximum duration, sec; max_order_count - maximum orders count; max_idling - maximum idle time between orders, sec; split_intervals - if 1, then split based on intervals (if the execution time of the order with unloading and moving, misses the next order time interval) | 
| preference | DEPRECATED: order priority in route | 
 JSON format is the same as in Update order request.
 JSON format is the same as in Update order request.
 More about Google provider settings.
 More about Google provider settings.
| Flag | Description | 
|---|---|
| 0x1 | optimize by order schedule (order tf и tt params are used) | 
| 0x2 | optimize by all orders completion duration | 
| 0x20 | optimization by carrying capacity(weight) | 
| 0x40 | optimization by effective capacity(volume) | 
| 0x80 | optimize only orders with tt > current time; if tf < current time, then tf = current time | 
| If criterions are exceed: | |
| 0x100 | order is terminated | 
| 0x200 | added visit reload warehouse | 
| 0x300 | route split to several | 
| 0x400 | split to independent route | 
| 0x1000 | without optimization | 
| 0x2000 | calculate predict distance | 
{ "1":{ /* 1st units optimization */ "orders":[ { "ml":<uint>, /* mileage */ "tm":<uint>, /* time to visit order area */ "id":<uint> /* order index in array send in request (starts from 0) */ }, { "ml":<uint>, /* mileage */ "tm":<uint>, /* time to visit order area */ "id":<uint> /* order index in array send in request (starts from 0) */ } ] }, "2":{ /* 2nd unit optimization (if stated unit number is greater than one) */ "orders":[ { "ml":<uint>, /* mileage */ "tm":<uint>, /* time to visit order area */ "id":<uint> /* order index in array send in request (starts from 0) */ }, { "ml":<uint>, /* mileage */ "tm":<uint>, /* time to visit order area */ "id":<uint> /* order index in array send in request (starts from 0) */ } ] }, ..., /* other unit number optimization (if more than two units optimization stated) */ "success":<bool> /* optimization status: 1 - success (there is solution to meet all requirements), 0 - failed */ }
 If only warehouse orders were assigned to unit(0x4 flag) -  it will not appear in the response.
 If only warehouse orders were assigned to unit(0x4 flag) -  it will not appear in the response.   
 If route splited to several, it will be routes array in the response.
  If route splited to several, it will be routes array in the response.
 ââpâ:<text> - order route, google polyline encoding format
 ââpâ:<text> - order route, google polyline encoding format