Get task result

Get status or result of MVRP task.

Request

GET

https://courier.yandex.ru/vrs/api/v1/result/mvrp/{id}

Path parameters

Name

Description

id*

Type: string<byte>

Task ID to query status or result.

Responses

200 OK

Task has been completed.

Body

application/json
{
    "result": {
        "detailed_cost_metrics": [
            {
                "name": "string",
                "raw_metrics": [
                    {
                        "name": "string",
                        "raw_metrics": [
                            {
                                "name": "string",
                                "raw_metrics": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "subcosts": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "value": 0
                            }
                        ],
                        "subcosts": [
                            {
                                "name": "string",
                                "raw_metrics": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "subcosts": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "value": 0
                            }
                        ],
                        "value": 0
                    }
                ],
                "subcosts": [
                    {
                        "name": "string",
                        "raw_metrics": [
                            {
                                "name": "string",
                                "raw_metrics": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "subcosts": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "value": 0
                            }
                        ],
                        "subcosts": [
                            {
                                "name": "string",
                                "raw_metrics": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "subcosts": [
                                    {
                                        "name": "string",
                                        "raw_metrics": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "subcosts": [
                                            {
                                                "name": "string",
                                                "raw_metrics": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "subcosts": [
                                                    {
                                                        "name": "string",
                                                        "raw_metrics": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "subcosts": [
                                                            {
                                                                "name": "string",
                                                                "value": 0
                                                            }
                                                        ],
                                                        "value": 0
                                                    }
                                                ],
                                                "value": 0
                                            }
                                        ],
                                        "value": 0
                                    }
                                ],
                                "value": 0
                            }
                        ],
                        "value": 0
                    }
                ],
                "value": 0
            }
        ],
        "dropped_locations": [
            {
                "address": "string",
                "allow_trailers": false,
                "can_be_merged": true,
                "can_be_split": false,
                "can_have_rest_during_service": true,
                "client_id": 0,
                "client_service_duration_s": {
                    "fixed": 0,
                    "scaled": 0
                },
                "comments": "string",
                "crossdock_mode": "deny",
                "crossdock_service_duration_s": {
                    "fixed": 0,
                    "scaled": 0
                },
                "custom_value": 0,
                "delivery_deadline": "string",
                "delivery_to": 0,
                "delivery_to_any": [
                    0,
                    "string"
                ],
                "depot_duration_s": {
                    "fixed": 0,
                    "scaled": 0
                },
                "depot_expiring_time": "string",
                "depot_id": [
                    0,
                    "string"
                ],
                "depot_ready_time": "string",
                "description": "string",
                "drop_reason": "string",
                "dropped_ratio": 0,
                "garage_loading_mode": "default",
                "hard_time_window": "string",
                "hard_window": false,
                "id": 0,
                "ignore_zones_compatibility": false,
                "in_lifo_order": false,
                "load_types": [
                    "string"
                ],
                "max_split_parts": 10,
                "max_total_vehicles": 0,
                "may_drop_in_crossdock": true,
                "optional_tags": [
                    {
                        "tag": "string",
                        "value": 0
                    }
                ],
                "parking_service_duration_s": 0,
                "phone": "string",
                "pickup_from_any": false,
                "pickup_id": 0,
                "pickup_must_reach_depot": false,
                "point": {
                    "lat": 0,
                    "lon": 0
                },
                "preset_id": "string",
                "quant": 0,
                "ref": "string",
                "required_tags": [
                    "string"
                ],
                "return_to": 0,
                "sequence_order": 0,
                "service_duration_s": {
                    "fixed": 0,
                    "scaled": 0
                },
                "service_durations": {
                    "client": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "crossdock": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "depot": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "location": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "parking": 0,
                    "stop": {
                        "fixed": 0,
                        "scaled": 0
                    }
                },
                "shared_service_duration_s": {
                    "fixed": 0,
                    "scaled": 0
                },
                "shared_with_company_ids": [
                    0
                ],
                "soft_depot_expiring_time": "string",
                "soft_depot_ready_time": "string",
                "split_parts_must_fill_whole_vehicle": false,
                "time_window": "string",
                "time_windows": [
                    {
                        "hard_time_window": "string",
                        "time_window": "string"
                    }
                ],
                "title": "string",
                "type": "depot",
                "use_in_proximity": true,
                "transit_time": {
                    "hard_limit_s": 0,
                    "limit_s": 0
                },
                "throughput": {
                    "kg_per_hour": [
                        {
                            "time_window": "string",
                            "value": 0
                        }
                    ],
                    "units_per_hour": [
                        {
                            "time_window": "string",
                            "value": 0
                        }
                    ],
                    "vehicle_count": [
                        {
                            "time_window": "string",
                            "value": 0
                        }
                    ]
                },
                "split_info": {
                    "order_ratio": 0,
                    "part_id": 0,
                    "parts_count": 0,
                    "units": 0,
                    "volume_cbm": 0,
                    "weight_kg": 0
                },
                "shipment_size": {
                    "units": 0,
                    "volume_cbm": 0,
                    "weight_kg": 0,
                    "volume": {
                        "align": "all_axes",
                        "depth_m": 0,
                        "height_m": 0,
                        "type": "bulk",
                        "width_m": 0
                    },
                    "custom": 0
                },
                "rolling_throughput": {
                    "vehicle_count": [
                        {
                            "time_window": "string",
                            "value": 0
                        }
                    ]
                },
                "penalty": {
                    "drop": {
                        "fixed": 0,
                        "scaled": 1000000
                    },
                    "transit_time": {
                        "fixed": 0,
                        "minute": 0
                    },
                    "time_between_visits": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "throughput": {
                        "fixed": 1000,
                        "kg": 50,
                        "unit": 100,
                        "vehicle": 100000
                    },
                    "rolling_throughput": {
                        "fixed": 1000,
                        "vehicle": 100000
                    },
                    "out_of_time": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "late": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "early": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "depot_ready_time": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "depot_expiring_time": {
                        "fixed": 1000,
                        "minute": 17
                    },
                    "delivery_deadline": {
                        "fixed": 1000,
                        "minute": 17
                    }
                }
            }
        ],
        "metrics": {
            "arrival_after_start_penalty": 0,
            "assigned_locations_count": 0,
            "balanced_group_custom_value_deviation": 0,
            "balanced_group_distance_deviation_m": 0,
            "balanced_group_duration_deviation_s": 0,
            "balanced_group_kg_deviation": 0,
            "balanced_group_penalty": 0,
            "balanced_group_served_order_count_deviation": 0,
            "balanced_group_stop_count_deviation": 0,
            "balanced_group_unit_deviation": 0,
            "close_location_groups_extra_points": 0,
            "close_location_groups_extra_vehicles": 0,
            "close_location_groups_extra_visits": 0,
            "close_location_groups_penalty": 0,
            "depot_throughput_violation_kg": 0,
            "depot_throughput_violation_kg_per_hour": 0,
            "depot_throughput_violation_units": 0,
            "depot_throughput_violation_units_per_hour": 0,
            "depot_throughput_violation_vehicles": 0,
            "drop_penalty_percentage": 0,
            "dropped_locations_count": 0,
            "early_depot_count": 0,
            "early_locations_count": 0,
            "early_shifts_count": 0,
            "empty_runs_penalty": 0,
            "failed_dropped_breaks_count": 0,
            "failed_dropped_breaks_duration_s": 0,
            "failed_dropped_breaks_penalty": 0,
            "failed_max_work_duration_count": 0,
            "failed_min_work_duration_count": 0,
            "failed_time_window_depot_count": 0,
            "failed_time_window_depot_count_penalty": 0,
            "failed_time_window_depot_duration_penalty": 0,
            "failed_time_window_depot_duration_s": 0,
            "failed_time_window_depots_total_penalty": 0,
            "failed_time_window_locations_count": 0,
            "failed_time_window_locations_count_penalty": 0,
            "failed_time_window_locations_duration_penalty": 0,
            "failed_time_window_locations_duration_s": 0,
            "failed_time_window_locations_total_penalty": 0,
            "failed_time_window_shifts_count": 0,
            "failed_time_window_shifts_count_penalty": 0,
            "failed_time_window_shifts_duration_penalty": 0,
            "failed_time_window_shifts_duration_s": 0,
            "failed_time_window_shifts_total_penalty": 0,
            "failed_work_duration_count": 0,
            "failed_work_duration_count_penalty": 0,
            "failed_work_duration_penalty": 0,
            "failed_work_duration_s": 0,
            "failed_work_duration_total_penalty": 0,
            "first_edges_penalty": 0,
            "global_proximity": 0,
            "intermediate_location_distance_threshold_m": 1,
            "intermediate_location_duration_threshold_s": 1,
            "last_edges_penalty": 0,
            "late_depot_count": 0,
            "late_locations_count": 0,
            "late_shifts_count": 0,
            "lateness_risk_locations_count": 0,
            "max_distance_from_depot_m": 0,
            "max_distance_to_attraction_point_m": 0,
            "max_distance_to_garage_m": 0,
            "max_drop_percentage_penalty": 0,
            "max_split_orders_percentage_penalty": 0,
            "max_vehicle_runs": 0,
            "multiorders_extra_points": 0,
            "multiorders_extra_vehicles": 0,
            "multiorders_extra_visits": 0,
            "new_balanced_group_custom_value_deviation": 0,
            "new_balanced_group_distance_deviation_m": 0,
            "new_balanced_group_duration_deviation_s": 0,
            "new_balanced_group_kg_deviation": 0,
            "new_balanced_group_penalty": 0,
            "new_balanced_group_served_order_count_deviation": 0,
            "new_balanced_group_stop_count_deviation": 0,
            "new_balanced_group_unit_deviation": 0,
            "new_global_proximity": 0,
            "new_objective_minimum": 0,
            "new_total_cost_with_penalty": 0,
            "new_total_global_proximity_distance_m": 0,
            "new_total_global_proximity_duration_s": 0,
            "new_total_global_proximity_penalty": 0,
            "new_total_guaranteed_penalty": 0,
            "new_total_penalty": 0,
            "new_total_stop_count_penalty": 0,
            "new_total_stops": 0,
            "number_of_routes": 0,
            "objective_minimum": 0,
            "old_balanced_group_custom_value_deviation": 0,
            "old_balanced_group_distance_deviation_m": 0,
            "old_balanced_group_duration_deviation_s": 0,
            "old_balanced_group_kg_deviation": 0,
            "old_balanced_group_penalty": 0,
            "old_balanced_group_served_order_count_deviation": 0,
            "old_balanced_group_stop_count_deviation": 0,
            "old_balanced_group_unit_deviation": 0,
            "old_global_proximity": 0,
            "old_objective_minimum": 0,
            "old_total_cost_with_penalty": 0,
            "old_total_global_proximity_distance_m": 0,
            "old_total_global_proximity_duration_s": 0,
            "old_total_global_proximity_penalty": 0,
            "old_total_guaranteed_penalty": 0,
            "old_total_penalty": 0,
            "old_total_stop_count_penalty": 0,
            "old_total_stops": 0,
            "operations_per_second": 0,
            "optimization_steps": 0,
            "overtime_duration_penalty": 0,
            "overtime_duration_s": 0,
            "overtime_penalty": 0,
            "overtime_shifts_count": 0,
            "overtime_shifts_count_penalty": 0,
            "proximity": 0,
            "route_custom_cost": 0,
            "route_payout": 0,
            "run_custom_cost": 0,
            "run_payout": 0,
            "shift_custom_cost": 0,
            "shift_payout": 0,
            "shift_total_custom_cost": 0,
            "shift_total_payout": 0,
            "skip_intermediate_location_penalty": 0,
            "split_orders_percentage": 0,
            "total_cost": 0,
            "total_cost_with_penalty": 0,
            "total_custom_cost": 0,
            "total_depot_penalty": 0,
            "total_drop_penalty": 0,
            "total_duration_cost": 0,
            "total_duration_s": 0,
            "total_early_count": 0,
            "total_early_duration_s": 0,
            "total_early_penalty": 0,
            "total_empty_distance_m": 0,
            "total_failed_delivery_deadline_count": 0,
            "total_failed_delivery_deadline_duration_s": 0,
            "total_failed_delivery_deadline_penalty": 0,
            "total_failed_time_between_visits_count": 0,
            "total_failed_time_between_visits_duration_s": 0,
            "total_failed_time_window_count": 0,
            "total_failed_time_window_duration_s": 0,
            "total_failed_time_window_penalty": 0,
            "total_fails_penalty": 0,
            "total_fixed_cost": 0,
            "total_global_proximity_distance_m": 0,
            "total_global_proximity_duration_s": 0,
            "total_global_proximity_penalty": 0,
            "total_guaranteed_penalty": 0,
            "total_late_count": 0,
            "total_late_duration_s": 0,
            "total_late_penalty": 0,
            "total_lateness_risk_probability": 0,
            "total_locations_cost": 0,
            "total_middle_depots": 0,
            "total_mileage_penalty": 0,
            "total_min_stop_weight_penalty": 0,
            "total_multiorders_penalty": 0,
            "total_non_empty_distance_m": 0,
            "total_optional_tags_cost": 0,
            "total_optional_zones_cost": 0,
            "total_payout": 0,
            "total_penalty": 0,
            "total_probable_penalty": 0,
            "total_proximity_distance_m": 0,
            "total_proximity_duration_s": 0,
            "total_proximity_penalty": 0,
            "total_rest_duration_s": 0,
            "total_runs_cost": 0,
            "total_served_orders": 0,
            "total_service_duration_s": 0,
            "total_soft_depot_expiring_time_penalty": 0,
            "total_soft_depot_ready_time_penalty": 0,
            "total_stop_count_penalty": 0,
            "total_stops": 0,
            "total_time_between_visits_penalty": 0,
            "total_trailer_rolling_cost": 0,
            "total_trailer_rolling_count": 0,
            "total_trailer_transit_distance_m": 0,
            "total_trailer_transit_duration_s": 0,
            "total_transit_distance_cost": 0,
            "total_transit_distance_m": 0,
            "total_transit_duration_s": 0,
            "total_transport_work_cost": 0,
            "total_transport_work_tonne_km": 0,
            "total_unfeasibility_count": 0,
            "total_unfeasibility_penalty": 0,
            "total_unique_stops": 0,
            "total_unused_depot_penalty": 0,
            "total_unused_ending_depot_count": 0,
            "total_unused_middle_depot_count": 0,
            "total_unused_starting_depot_count": 0,
            "total_waiting_duration_s": 0,
            "total_walking_distance_m": 0,
            "total_walking_duration_s": 0,
            "total_walking_edge_distance_excess": 0,
            "total_walking_edge_penalty": 0,
            "total_work_breaks": 0,
            "total_working_duration_s": 0,
            "transit_time_penalty": 0,
            "unfeasible_couple_coupled_trailer_penalty": 0,
            "unfeasible_crossdock_missed_delivery_penalty": 0,
            "unfeasible_decouple_decoupled_trailer_penalty": 0,
            "unfeasible_decouple_unused_trailer_penalty": 0,
            "unfeasible_depots_only_at_run_beginning_penalty": 0,
            "unfeasible_empty_first_run_penalty": 0,
            "unfeasible_failed_dependent_group_penalty": 0,
            "unfeasible_failed_expiring_time_penalty": 0,
            "unfeasible_failed_hard_time_window_penalty": 0,
            "unfeasible_failed_lifo_order_penalty": 0,
            "unfeasible_failed_ready_time_penalty": 0,
            "unfeasible_failed_sequence_order_penalty": 0,
            "unfeasible_failed_solid_group_penalty": 0,
            "unfeasible_incompatible_load_types_penalty": 0,
            "unfeasible_incompatible_zones_penalty": 0,
            "unfeasible_invalid_pickup_delivery_order_penalty": 0,
            "unfeasible_max_midde_depots_penalty": 0,
            "unfeasible_missed_coupled_delivery_penalty": 0,
            "unfeasible_missed_coupled_pickup_from_any_penalty": 0,
            "unfeasible_missed_coupled_pickup_penalty": 0,
            "unfeasible_missed_dependent_group_locations_penalty": 0,
            "unfeasible_missed_planned_runs_penalty": 0,
            "unfeasible_not_loaded_order_penalty": 0,
            "unfeasible_not_same_depot_route_ending_penalty": 0,
            "unfeasible_not_same_depot_run_ending_penalty": 0,
            "unfeasible_pickup_missed_depot_penalty": 0,
            "unfeasible_pickup_missed_drop_off_penalty": 0,
            "unfeasible_planned_overload_penalty": 0,
            "unfeasible_rolling_before_decoupling_penalty": 0,
            "unfeasible_rolling_without_trailer_penalty": 0,
            "unfeasible_shift_overtime_penalty": 0,
            "unfeasible_shift_too_many_runs_penalty": 0,
            "unfeasible_shift_working_overtime_penalty": 0,
            "unfeasible_trailer_diff_excess_penalty": 0,
            "unfeasible_transit_time_excess_penalty": 0,
            "unfeasible_use_trailer_prohibited_location_penalty": 0,
            "unfeasible_vehicle_overload_penalty": 0,
            "unfeasible_vehicle_too_many_runs_penalty": 0,
            "unfeasible_walking_after_route_end_penalty": 0,
            "unfeasible_walking_courier_overload_penalty": 0,
            "unfeasible_walking_to_depot_penalty": 0,
            "unfeasible_work_break_drop_penalty": 0,
            "used_vehicles": 0,
            "working_overtime_duration_penalty": 0,
            "working_overtime_duration_s": 0,
            "working_overtime_penalty": 0,
            "working_overtime_shift_count": 0,
            "working_overtime_shift_count_penalty": 0
        },
        "options": {
            "absolute_time": false,
            "avoid_tolls": false,
            "avoid_zones": [
                "string"
            ],
            "balanced_groups": [
                {
                    "id": "string",
                    "penalty": {
                        "custom_value": 0,
                        "hour": 0,
                        "ignore_unused_vehicles": false,
                        "km": 0,
                        "served_order": 0,
                        "stop": 0,
                        "unit": 0,
                        "weight_kg": 0
                    }
                }
            ],
            "close_location_groups_radius_m": 0,
            "close_locations_during_post_optimization_only": false,
            "critical_lateness_risk_probability": 20,
            "date": "string",
            "enable_vehicle_classes": true,
            "enable_vehicle_optimization": true,
            "fix_planned_shifts": false,
            "fixed_drops": false,
            "force_merge_multiorders": false,
            "global_proximity_factor": 0,
            "ignore_min_stops_for_unused": false,
            "ignore_zones": false,
            "immutable": false,
            "incompatible_load_types": [
                [
                    "string"
                ]
            ],
            "incompatible_zones": [
                [
                    "string"
                ]
            ],
            "load_when_ready": false,
            "location_groups": [
                {
                    "dependent": false,
                    "location_ids": [
                        0,
                        "string"
                    ],
                    "solid": false,
                    "title": "string"
                }
            ],
            "matrix_router": "main",
            "max_distance_to_projection_m": 1000000000,
            "max_drop_penalty_percentage": 100,
            "max_split_orders_percentage": 100,
            "merge_multiorders": false,
            "merge_multiorders_of_different_clients": true,
            "minimize_lateness_risk": false,
            "multiorder_radius_m": 1,
            "penalize_late_service": false,
            "points_throughputs": [
                {
                    "throughput": {
                        "kg_per_hour": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ],
                        "units_per_hour": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ],
                        "vehicle_count": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ]
                    },
                    "point": {
                        "lat": 0,
                        "lon": 0
                    },
                    "penalty": {
                        "throughput": {
                            "fixed": 1000,
                            "kg": 50,
                            "unit": 100,
                            "vehicle": 100000
                        }
                    }
                }
            ],
            "post_optimization": false,
            "proximity_factor": 0,
            "quality": "low",
            "restart_on_drop": false,
            "routing_mode": "driving",
            "template_rest_schedules": [
                {
                    "break_type": "from_last",
                    "breaks": [
                        {
                            "can_be_split": false,
                            "can_rest_during_service": true,
                            "check_ending_time": false,
                            "continuous_travel_time_range": "string",
                            "driving_time_range": "string",
                            "exact_time_range": "string",
                            "id": 0,
                            "max_split_parts": 0,
                            "min_first_split_part_duration_s": 0,
                            "min_last_split_part_duration_s": 0,
                            "min_split_part_duration_s": 600,
                            "repeatable": false,
                            "rest_duration_s": 0,
                            "travel_time_range": "string",
                            "type": "string",
                            "work_time_range_from_start": "string",
                            "work_time_range_till_rest": "string",
                            "penalty": {
                                "late": {
                                    "fixed": 1000,
                                    "minute": 17
                                },
                                "early": {
                                    "fixed": 1000,
                                    "minute": 17
                                }
                            }
                        },
                        {
                            "break_type": "from_last",
                            "can_be_split": false,
                            "can_rest_during_service": true,
                            "check_ending_time": false,
                            "desired_work_duration": 0,
                            "hard_time_range": "string",
                            "id": 0,
                            "max_split_parts": 0,
                            "min_first_split_part_duration_s": 0,
                            "min_last_split_part_duration_s": 0,
                            "min_split_part_duration_s": 600,
                            "repeatable": false,
                            "rest_duration_s": 0,
                            "soft_time_range": "string",
                            "type": "string",
                            "penalty": {
                                "late": {
                                    "fixed": 1000,
                                    "minute": 17
                                },
                                "early": {
                                    "fixed": 1000,
                                    "minute": 17
                                }
                            }
                        }
                    ],
                    "id": "string",
                    "penalty": {
                        "late": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "early": {
                            "fixed": 1000,
                            "minute": 17
                        }
                    }
                }
            ],
            "time_zone": 0,
            "wait_in_multiorders": true,
            "weighted_drop_penalty": false,
            "penalty": {
                "unused_depot": {
                    "ending": 0,
                    "middle": 10000,
                    "starting": 0
                },
                "split_orders_percentage": {
                    "fixed": 1000,
                    "per_percent": 50
                },
                "small_order_part_before_big": {
                    "scaled": 0
                },
                "multiorders": {
                    "per_extra_point": 0,
                    "per_extra_vehicle": 0,
                    "per_extra_visit": 0
                },
                "empty_run_before_full": {
                    "scaled": 0
                },
                "drop_penalty_percentage": {
                    "fixed": 1000,
                    "per_percent": 50
                },
                "close_location_groups": {
                    "per_extra_point": 0,
                    "per_extra_vehicle": 0,
                    "per_extra_visit": 0
                }
            }
        },
        "routes": [
            {
                "metrics": {
                    "arrival_after_start_penalty": 0,
                    "depot_throughput_violation_kg": 0,
                    "depot_throughput_violation_kg_per_hour": 0,
                    "depot_throughput_violation_units": 0,
                    "depot_throughput_violation_units_per_hour": 0,
                    "depot_throughput_violation_vehicles": 0,
                    "dropped_orders_units": 0,
                    "dropped_orders_volume_m3": 0,
                    "dropped_orders_weight_kg": 0,
                    "early_depot_count": 0,
                    "early_locations_count": 0,
                    "early_shifts_count": 0,
                    "empty_runs_penalty": 0,
                    "failed_dropped_breaks_count": 0,
                    "failed_dropped_breaks_duration_s": 0,
                    "failed_dropped_breaks_penalty": 0,
                    "failed_max_work_duration_count": 0,
                    "failed_min_work_duration_count": 0,
                    "failed_time_window_depot_count": 0,
                    "failed_time_window_depot_count_penalty": 0,
                    "failed_time_window_depot_duration_penalty": 0,
                    "failed_time_window_depot_duration_s": 0,
                    "failed_time_window_depots_total_penalty": 0,
                    "failed_time_window_locations_count": 0,
                    "failed_time_window_locations_count_penalty": 0,
                    "failed_time_window_locations_duration_penalty": 0,
                    "failed_time_window_locations_duration_s": 0,
                    "failed_time_window_locations_total_penalty": 0,
                    "failed_time_window_shifts_count": 0,
                    "failed_time_window_shifts_count_penalty": 0,
                    "failed_time_window_shifts_duration_penalty": 0,
                    "failed_time_window_shifts_duration_s": 0,
                    "failed_time_window_shifts_total_penalty": 0,
                    "failed_work_duration_count": 0,
                    "failed_work_duration_count_penalty": 0,
                    "failed_work_duration_penalty": 0,
                    "failed_work_duration_s": 0,
                    "failed_work_duration_total_penalty": 0,
                    "first_edges_penalty": 0,
                    "global_proximity": 0,
                    "last_edges_penalty": 0,
                    "late_depot_count": 0,
                    "late_locations_count": 0,
                    "late_shifts_count": 0,
                    "lateness_risk_locations_count": 0,
                    "max_distance_from_depot_m": 0,
                    "max_distance_to_attraction_point_m": 0,
                    "max_distance_to_garage_m": 0,
                    "new_global_proximity": 0,
                    "new_objective_minimum": 0,
                    "new_total_cost_with_penalty": 0,
                    "new_total_global_proximity_distance_m": 0,
                    "new_total_global_proximity_duration_s": 0,
                    "new_total_global_proximity_penalty": 0,
                    "new_total_guaranteed_penalty": 0,
                    "new_total_penalty": 0,
                    "new_total_stop_count_penalty": 0,
                    "new_total_stops": 0,
                    "objective_minimum": 0,
                    "old_global_proximity": 0,
                    "old_objective_minimum": 0,
                    "old_total_cost_with_penalty": 0,
                    "old_total_global_proximity_distance_m": 0,
                    "old_total_global_proximity_duration_s": 0,
                    "old_total_global_proximity_penalty": 0,
                    "old_total_guaranteed_penalty": 0,
                    "old_total_penalty": 0,
                    "old_total_stop_count_penalty": 0,
                    "old_total_stops": 0,
                    "overtime_duration_penalty": 0,
                    "overtime_duration_s": 0,
                    "overtime_penalty": 0,
                    "overtime_shifts_count": 0,
                    "overtime_shifts_count_penalty": 0,
                    "proximity": 0,
                    "route_custom_cost": 0,
                    "route_payout": 0,
                    "run_custom_cost": 0,
                    "run_payout": 0,
                    "shift_custom_cost": 0,
                    "shift_payout": 0,
                    "shift_total_custom_cost": 0,
                    "shift_total_payout": 0,
                    "total_cost": 0,
                    "total_cost_with_penalty": 0,
                    "total_custom_cost": 0,
                    "total_depot_penalty": 0,
                    "total_drop_penalty": 0,
                    "total_duration_cost": 0,
                    "total_duration_s": 0,
                    "total_early_count": 0,
                    "total_early_duration_s": 0,
                    "total_early_penalty": 0,
                    "total_empty_distance_m": 0,
                    "total_failed_delivery_deadline_count": 0,
                    "total_failed_delivery_deadline_duration_s": 0,
                    "total_failed_delivery_deadline_penalty": 0,
                    "total_failed_time_window_count": 0,
                    "total_failed_time_window_duration_s": 0,
                    "total_failed_time_window_penalty": 0,
                    "total_fails_penalty": 0,
                    "total_fixed_cost": 0,
                    "total_global_proximity_distance_m": 0,
                    "total_global_proximity_duration_s": 0,
                    "total_global_proximity_penalty": 0,
                    "total_guaranteed_penalty": 0,
                    "total_late_count": 0,
                    "total_late_duration_s": 0,
                    "total_late_penalty": 0,
                    "total_lateness_risk_probability": 0,
                    "total_locations_cost": 0,
                    "total_middle_depots": 0,
                    "total_mileage_penalty": 0,
                    "total_min_stop_weight_penalty": 0,
                    "total_multiorders_penalty": 0,
                    "total_non_empty_distance_m": 0,
                    "total_optional_tags_cost": 0,
                    "total_optional_zones_cost": 0,
                    "total_payout": 0,
                    "total_penalty": 0,
                    "total_probable_penalty": 0,
                    "total_proximity_distance_m": 0,
                    "total_proximity_duration_s": 0,
                    "total_proximity_penalty": 0,
                    "total_rest_duration_s": 0,
                    "total_runs_cost": 0,
                    "total_served_orders": 0,
                    "total_service_duration_s": 0,
                    "total_soft_depot_expiring_time_penalty": 0,
                    "total_soft_depot_ready_time_penalty": 0,
                    "total_stop_count_penalty": 0,
                    "total_stops": 0,
                    "total_trailer_rolling_cost": 0,
                    "total_trailer_rolling_count": 0,
                    "total_trailer_transit_distance_m": 0,
                    "total_trailer_transit_duration_s": 0,
                    "total_transit_distance_cost": 0,
                    "total_transit_distance_m": 0,
                    "total_transit_duration_s": 0,
                    "total_transport_work_cost": 0,
                    "total_transport_work_tonne_km": 0,
                    "total_unfeasibility_count": 0,
                    "total_unfeasibility_penalty": 0,
                    "total_unique_stops": 0,
                    "total_units": 0,
                    "total_unused_depot_penalty": 0,
                    "total_unused_ending_depot_count": 0,
                    "total_unused_middle_depot_count": 0,
                    "total_unused_starting_depot_count": 0,
                    "total_volume_m3": 0,
                    "total_waiting_duration_s": 0,
                    "total_walking_distance_m": 0,
                    "total_walking_duration_s": 0,
                    "total_walking_edge_distance_excess": 0,
                    "total_walking_edge_penalty": 0,
                    "total_weight_kg": 0,
                    "total_work_breaks": 0,
                    "total_working_duration_s": 0,
                    "transit_time_penalty": 0,
                    "unfeasible_couple_coupled_trailer_penalty": 0,
                    "unfeasible_crossdock_missed_delivery_penalty": 0,
                    "unfeasible_decouple_decoupled_trailer_penalty": 0,
                    "unfeasible_decouple_unused_trailer_penalty": 0,
                    "unfeasible_depots_only_at_run_beginning_penalty": 0,
                    "unfeasible_empty_first_run_penalty": 0,
                    "unfeasible_failed_dependent_group_penalty": 0,
                    "unfeasible_failed_expiring_time_penalty": 0,
                    "unfeasible_failed_hard_time_window_penalty": 0,
                    "unfeasible_failed_lifo_order_penalty": 0,
                    "unfeasible_failed_ready_time_penalty": 0,
                    "unfeasible_failed_sequence_order_penalty": 0,
                    "unfeasible_failed_solid_group_penalty": 0,
                    "unfeasible_incompatible_load_types_penalty": 0,
                    "unfeasible_incompatible_zones_penalty": 0,
                    "unfeasible_invalid_pickup_delivery_order_penalty": 0,
                    "unfeasible_max_midde_depots_penalty": 0,
                    "unfeasible_missed_coupled_delivery_penalty": 0,
                    "unfeasible_missed_coupled_pickup_from_any_penalty": 0,
                    "unfeasible_missed_coupled_pickup_penalty": 0,
                    "unfeasible_missed_dependent_group_locations_penalty": 0,
                    "unfeasible_missed_planned_runs_penalty": 0,
                    "unfeasible_not_loaded_order_penalty": 0,
                    "unfeasible_not_same_depot_route_ending_penalty": 0,
                    "unfeasible_not_same_depot_run_ending_penalty": 0,
                    "unfeasible_pickup_missed_depot_penalty": 0,
                    "unfeasible_pickup_missed_drop_off_penalty": 0,
                    "unfeasible_planned_overload_penalty": 0,
                    "unfeasible_rolling_before_decoupling_penalty": 0,
                    "unfeasible_rolling_without_trailer_penalty": 0,
                    "unfeasible_shift_overtime_penalty": 0,
                    "unfeasible_shift_too_many_runs_penalty": 0,
                    "unfeasible_shift_working_overtime_penalty": 0,
                    "unfeasible_trailer_diff_excess_penalty": 0,
                    "unfeasible_transit_time_excess_penalty": 0,
                    "unfeasible_use_trailer_prohibited_location_penalty": 0,
                    "unfeasible_vehicle_overload_penalty": 0,
                    "unfeasible_vehicle_too_many_runs_penalty": 0,
                    "unfeasible_walking_after_route_end_penalty": 0,
                    "unfeasible_walking_courier_overload_penalty": 0,
                    "unfeasible_walking_to_depot_penalty": 0,
                    "unfeasible_work_break_drop_penalty": 0,
                    "utilization_units": 0,
                    "utilization_units_perc": 0,
                    "utilization_volume_m3": 0,
                    "utilization_volume_perc": 0,
                    "utilization_weight_kg": 0,
                    "utilization_weight_perc": 0,
                    "working_overtime_duration_penalty": 0,
                    "working_overtime_duration_s": 0,
                    "working_overtime_penalty": 0,
                    "working_overtime_shift_count": 0,
                    "working_overtime_shift_count_penalty": 0
                },
                "route": [
                    {
                        "actual_arrival_time_s": 0,
                        "actual_departure_time_s": 0,
                        "actual_service_start_time_s": 0,
                        "arrival_time_s": 0,
                        "departure_time_s": 0,
                        "hidden": false,
                        "is_after_service_work_break": false,
                        "load_to_head": [
                            0,
                            "string"
                        ],
                        "load_to_trailer": [
                            0,
                            "string"
                        ],
                        "multi_order": false,
                        "service_start_time_s": 0,
                        "stop_sequence_number": 0,
                        "transit_distance_m": 0,
                        "transit_duration_s": 0,
                        "violations": [
                            {
                                "duration_s": 0,
                                "pickup_id": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            },
                            {
                                "duration_s": 0,
                                "high_risk": false,
                                "pickup_id": 0,
                                "probability": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            }
                        ],
                        "waiting_duration_s": 0,
                        "probably_failed_time_window": {
                            "duration_s": 0,
                            "high_risk": false,
                            "how": "EARLY",
                            "probability": 0
                        },
                        "overtime": {
                            "duration_s": 0
                        },
                        "node": {
                            "type": "depot",
                            "used_hard_time_window": "string",
                            "used_time_window": "string",
                            "value": {
                                "address": "string",
                                "crossdock_safety_waiting_duration_s": 3600,
                                "delivered_orders": [
                                    0,
                                    "string"
                                ],
                                "description": "string",
                                "finish_service_duration_s": 0,
                                "fixed_position": false,
                                "flexible_start_time": false,
                                "hard_time_window": "string",
                                "hard_window": false,
                                "id": 0,
                                "load_service_duration_s": 0,
                                "loaded_orders": [
                                    0,
                                    "string"
                                ],
                                "picked_orders": [
                                    0,
                                    "string"
                                ],
                                "point": {
                                    "lat": 0,
                                    "lon": 0
                                },
                                "preliminary_service_duration_s": 0,
                                "preset_id": "string",
                                "ref": "string",
                                "routing_mode": "driving",
                                "service_duration_s": {
                                    "fixed": 0,
                                    "scaled": 0
                                },
                                "time_window": "string",
                                "time_windows": [
                                    {
                                        "hard_time_window": "string",
                                        "time_window": "string"
                                    }
                                ],
                                "title": "string",
                                "total_service_duration_s": 0,
                                "trailer_decoupled": false,
                                "trailer_used": false,
                                "type": "depot",
                                "unfeasible_reasons": [
                                    {
                                        "late_duration_s": 0,
                                        "text": "string",
                                        "type": "FAILED_HARD_TIME_WINDOW"
                                    },
                                    {
                                        "overrun_s": 0,
                                        "text": "string",
                                        "type": "TRANSIT_TIME_VIOLATION"
                                    },
                                    {
                                        "text": "string",
                                        "type": "VEHICLE_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "SHIFT_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "OTHER"
                                    }
                                ],
                                "unload_service_duration_s": 0,
                                "use_in_proximity": false,
                                "time_windows_unloading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_refilling": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_loading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "vehicle_count": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                },
                                "penalty": {
                                    "throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100,
                                        "vehicle": 100000
                                    },
                                    "package_throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100
                                    },
                                    "out_of_time": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "late": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "early": {
                                        "fixed": 1000,
                                        "minute": 17
                                    }
                                },
                                "package_throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                }
                            },
                            "used_projection": {
                                "lat": 0,
                                "lon": 0
                            }
                        },
                        "failed_time_window": {
                            "duration_s": 0,
                            "how": "EARLY"
                        }
                    }
                ],
                "run_number": 0,
                "vehicle_id": 0,
                "shift": {
                    "balanced_group_id": "string",
                    "id": "string",
                    "start": {
                        "actual_arrival_time_s": 0,
                        "actual_departure_time_s": 0,
                        "actual_service_start_time_s": 0,
                        "arrival_time_s": 0,
                        "departure_time_s": 0,
                        "hidden": false,
                        "is_after_service_work_break": false,
                        "load_to_head": [
                            0,
                            "string"
                        ],
                        "load_to_trailer": [
                            0,
                            "string"
                        ],
                        "multi_order": false,
                        "service_start_time_s": 0,
                        "stop_sequence_number": 0,
                        "transit_distance_m": 0,
                        "transit_duration_s": 0,
                        "violations": [
                            {
                                "duration_s": 0,
                                "pickup_id": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            },
                            {
                                "duration_s": 0,
                                "high_risk": false,
                                "pickup_id": 0,
                                "probability": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            }
                        ],
                        "waiting_duration_s": 0,
                        "probably_failed_time_window": {
                            "duration_s": 0,
                            "high_risk": false,
                            "how": "EARLY",
                            "probability": 0
                        },
                        "overtime": {
                            "duration_s": 0
                        },
                        "node": {
                            "type": "depot",
                            "used_hard_time_window": "string",
                            "used_time_window": "string",
                            "value": {
                                "address": "string",
                                "crossdock_safety_waiting_duration_s": 3600,
                                "delivered_orders": [
                                    0,
                                    "string"
                                ],
                                "description": "string",
                                "finish_service_duration_s": 0,
                                "fixed_position": false,
                                "flexible_start_time": false,
                                "hard_time_window": "string",
                                "hard_window": false,
                                "id": 0,
                                "load_service_duration_s": 0,
                                "loaded_orders": [
                                    0,
                                    "string"
                                ],
                                "picked_orders": [
                                    0,
                                    "string"
                                ],
                                "point": {
                                    "lat": 0,
                                    "lon": 0
                                },
                                "preliminary_service_duration_s": 0,
                                "preset_id": "string",
                                "ref": "string",
                                "routing_mode": "driving",
                                "service_duration_s": {
                                    "fixed": 0,
                                    "scaled": 0
                                },
                                "time_window": "string",
                                "time_windows": [
                                    {
                                        "hard_time_window": "string",
                                        "time_window": "string"
                                    }
                                ],
                                "title": "string",
                                "total_service_duration_s": 0,
                                "trailer_decoupled": false,
                                "trailer_used": false,
                                "type": "depot",
                                "unfeasible_reasons": [
                                    {
                                        "late_duration_s": 0,
                                        "text": "string",
                                        "type": "FAILED_HARD_TIME_WINDOW"
                                    },
                                    {
                                        "overrun_s": 0,
                                        "text": "string",
                                        "type": "TRANSIT_TIME_VIOLATION"
                                    },
                                    {
                                        "text": "string",
                                        "type": "VEHICLE_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "SHIFT_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "OTHER"
                                    }
                                ],
                                "unload_service_duration_s": 0,
                                "use_in_proximity": false,
                                "time_windows_unloading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_refilling": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_loading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "vehicle_count": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                },
                                "penalty": {
                                    "throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100,
                                        "vehicle": 100000
                                    },
                                    "package_throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100
                                    },
                                    "out_of_time": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "late": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "early": {
                                        "fixed": 1000,
                                        "minute": 17
                                    }
                                },
                                "package_throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                }
                            },
                            "used_projection": {
                                "lat": 0,
                                "lon": 0
                            }
                        },
                        "failed_time_window": {
                            "duration_s": 0,
                            "how": "EARLY"
                        }
                    },
                    "end": {
                        "actual_arrival_time_s": 0,
                        "actual_departure_time_s": 0,
                        "actual_service_start_time_s": 0,
                        "arrival_time_s": 0,
                        "departure_time_s": 0,
                        "hidden": false,
                        "is_after_service_work_break": false,
                        "load_to_head": [
                            0,
                            "string"
                        ],
                        "load_to_trailer": [
                            0,
                            "string"
                        ],
                        "multi_order": false,
                        "service_start_time_s": 0,
                        "stop_sequence_number": 0,
                        "transit_distance_m": 0,
                        "transit_duration_s": 0,
                        "violations": [
                            {
                                "duration_s": 0,
                                "pickup_id": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            },
                            {
                                "duration_s": 0,
                                "high_risk": false,
                                "pickup_id": 0,
                                "probability": 0,
                                "type": "FAILED_DELIVERY_DEADLINE"
                            }
                        ],
                        "waiting_duration_s": 0,
                        "probably_failed_time_window": {
                            "duration_s": 0,
                            "high_risk": false,
                            "how": "EARLY",
                            "probability": 0
                        },
                        "overtime": {
                            "duration_s": 0
                        },
                        "node": {
                            "type": "depot",
                            "used_hard_time_window": "string",
                            "used_time_window": "string",
                            "value": {
                                "address": "string",
                                "crossdock_safety_waiting_duration_s": 3600,
                                "delivered_orders": [
                                    0,
                                    "string"
                                ],
                                "description": "string",
                                "finish_service_duration_s": 0,
                                "fixed_position": false,
                                "flexible_start_time": false,
                                "hard_time_window": "string",
                                "hard_window": false,
                                "id": 0,
                                "load_service_duration_s": 0,
                                "loaded_orders": [
                                    0,
                                    "string"
                                ],
                                "picked_orders": [
                                    0,
                                    "string"
                                ],
                                "point": {
                                    "lat": 0,
                                    "lon": 0
                                },
                                "preliminary_service_duration_s": 0,
                                "preset_id": "string",
                                "ref": "string",
                                "routing_mode": "driving",
                                "service_duration_s": {
                                    "fixed": 0,
                                    "scaled": 0
                                },
                                "time_window": "string",
                                "time_windows": [
                                    {
                                        "hard_time_window": "string",
                                        "time_window": "string"
                                    }
                                ],
                                "title": "string",
                                "total_service_duration_s": 0,
                                "trailer_decoupled": false,
                                "trailer_used": false,
                                "type": "depot",
                                "unfeasible_reasons": [
                                    {
                                        "late_duration_s": 0,
                                        "text": "string",
                                        "type": "FAILED_HARD_TIME_WINDOW"
                                    },
                                    {
                                        "overrun_s": 0,
                                        "text": "string",
                                        "type": "TRANSIT_TIME_VIOLATION"
                                    },
                                    {
                                        "text": "string",
                                        "type": "VEHICLE_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "SHIFT_TOO_MANY_RUNS"
                                    },
                                    {
                                        "text": "string",
                                        "type": "OTHER"
                                    }
                                ],
                                "unload_service_duration_s": 0,
                                "use_in_proximity": false,
                                "time_windows_unloading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_refilling": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "time_windows_loading": {
                                    "hard_time_window": "string",
                                    "hard_window": false,
                                    "time_window": "string",
                                    "time_windows": [
                                        {
                                            "hard_time_window": "string",
                                            "time_window": "string"
                                        }
                                    ],
                                    "penalty": {
                                        "out_of_time": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                "throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "vehicle_count": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                },
                                "penalty": {
                                    "throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100,
                                        "vehicle": 100000
                                    },
                                    "package_throughput": {
                                        "fixed": 1000,
                                        "kg": 50,
                                        "unit": 100
                                    },
                                    "out_of_time": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "late": {
                                        "fixed": 1000,
                                        "minute": 17
                                    },
                                    "early": {
                                        "fixed": 1000,
                                        "minute": 17
                                    }
                                },
                                "package_throughput": {
                                    "kg_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ],
                                    "units_per_hour": [
                                        {
                                            "time_window": "string",
                                            "value": 0
                                        }
                                    ]
                                }
                            },
                            "used_projection": {
                                "lat": 0,
                                "lon": 0
                            }
                        },
                        "failed_time_window": {
                            "duration_s": 0,
                            "how": "EARLY"
                        }
                    }
                },
                "global_proximity_attraction_point": {
                    "address": "string",
                    "allow_trailers": false,
                    "can_be_merged": true,
                    "can_be_split": false,
                    "can_have_rest_during_service": true,
                    "client_id": 0,
                    "client_service_duration_s": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "comments": "string",
                    "crossdock_mode": "deny",
                    "crossdock_service_duration_s": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "custom_value": 0,
                    "delivery_deadline": "string",
                    "delivery_to": 0,
                    "delivery_to_any": [
                        0,
                        "string"
                    ],
                    "depot_duration_s": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "depot_expiring_time": "string",
                    "depot_id": [
                        0,
                        "string"
                    ],
                    "depot_ready_time": "string",
                    "description": "string",
                    "dropped_ratio": 0,
                    "garage_loading_mode": "default",
                    "hard_time_window": "string",
                    "hard_window": false,
                    "id": 0,
                    "ignore_zones_compatibility": false,
                    "in_lifo_order": false,
                    "load_types": [
                        "string"
                    ],
                    "max_split_parts": 10,
                    "max_total_vehicles": 0,
                    "may_drop_in_crossdock": true,
                    "optional_tags": [
                        {
                            "tag": "string",
                            "value": 0
                        }
                    ],
                    "parking_service_duration_s": 0,
                    "phone": "string",
                    "pickup_from_any": false,
                    "pickup_must_reach_depot": false,
                    "point": {
                        "lat": 0,
                        "lon": 0
                    },
                    "preset_id": "string",
                    "quant": 0,
                    "ref": "string",
                    "required_tags": [
                        "string"
                    ],
                    "return_to": 0,
                    "sequence_order": 0,
                    "service_duration_s": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "service_durations": {
                        "client": {
                            "fixed": 0,
                            "scaled": 0
                        },
                        "crossdock": {
                            "fixed": 0,
                            "scaled": 0
                        },
                        "depot": {
                            "fixed": 0,
                            "scaled": 0
                        },
                        "location": {
                            "fixed": 0,
                            "scaled": 0
                        },
                        "parking": 0,
                        "stop": {
                            "fixed": 0,
                            "scaled": 0
                        }
                    },
                    "shared_service_duration_s": {
                        "fixed": 0,
                        "scaled": 0
                    },
                    "shared_with_company_ids": [
                        0
                    ],
                    "soft_depot_expiring_time": "string",
                    "soft_depot_ready_time": "string",
                    "split_parts_must_fill_whole_vehicle": false,
                    "time_window": "string",
                    "time_windows": [
                        {
                            "hard_time_window": "string",
                            "time_window": "string"
                        }
                    ],
                    "title": "string",
                    "type": "depot",
                    "use_in_proximity": true,
                    "transit_time": {
                        "hard_limit_s": 0,
                        "limit_s": 0
                    },
                    "throughput": {
                        "kg_per_hour": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ],
                        "units_per_hour": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ],
                        "vehicle_count": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ]
                    },
                    "shipment_size": {
                        "units": 0,
                        "volume_cbm": 0,
                        "weight_kg": 0,
                        "volume": {
                            "align": "all_axes",
                            "depth_m": 0,
                            "height_m": 0,
                            "type": "bulk",
                            "width_m": 0
                        },
                        "custom": 0
                    },
                    "rolling_throughput": {
                        "vehicle_count": [
                            {
                                "time_window": "string",
                                "value": 0
                            }
                        ]
                    },
                    "penalty": {
                        "drop": {
                            "fixed": 0,
                            "scaled": 1000000
                        },
                        "transit_time": {
                            "fixed": 0,
                            "minute": 0
                        },
                        "time_between_visits": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "throughput": {
                            "fixed": 1000,
                            "kg": 50,
                            "unit": 100,
                            "vehicle": 100000
                        },
                        "rolling_throughput": {
                            "fixed": 1000,
                            "vehicle": 100000
                        },
                        "out_of_time": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "late": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "early": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "depot_ready_time": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "depot_expiring_time": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "delivery_deadline": {
                            "fixed": 1000,
                            "minute": 17
                        }
                    }
                }
            }
        ],
        "solver_status": "SOLVED",
        "vehicles": [
            {
                "allow_different_depots_in_route": false,
                "allowed_zones": [
                    "string"
                ],
                "can_change_depot_between_runs": false,
                "can_rest_between_runs": true,
                "can_split_preset_work_breaks": true,
                "can_visit_depot_at_start": false,
                "close_locations": [
                    {
                        "routing_mode": "driving",
                        "search_radius_m": 0,
                        "soft_search_radius_m": 0,
                        "duration_till_service_s": {
                            "penalty": 0,
                            "value": 1000000000
                        },
                        "distance_till_service_m": {
                            "penalty": 0,
                            "value": 1000000000
                        }
                    }
                ],
                "cost": {
                    "fixed": 3000,
                    "hour": 100,
                    "km": 8,
                    "location": 0,
                    "run": 0,
                    "tonne_km": 0,
                    "waiting_hour": 0
                },
                "crossdock_mode": "deny",
                "depot_extra_service_duration_s": 0,
                "depot_id": [
                    0,
                    "string"
                ],
                "depots_only_at_run_beginning": false,
                "ending_depot_id": [
                    0,
                    "string"
                ],
                "excluded_tags": [
                    "string"
                ],
                "finish_at": 0,
                "finish_route_in_starting_depot": false,
                "finish_run_in_starting_depot": false,
                "first_edges_penalty_factor": 0,
                "fixed_planned_route": false,
                "forbidden_zones": [
                    "string"
                ],
                "global_proximity_attraction_point": 0,
                "id": 0,
                "imei": 0,
                "immutable": false,
                "incompatible_load_types": [
                    [
                        "string"
                    ]
                ],
                "incompatible_zones": [
                    [
                        "string"
                    ]
                ],
                "last_edges_penalty_factor": 0,
                "max_middle_depots": 0,
                "max_runs": 1,
                "middle_depot_id": [
                    0,
                    "string"
                ],
                "min_stop_weight": 0,
                "onboard_incompatible_load_types": false,
                "optional_zones": [
                    {
                        "value": 0,
                        "zone": "string"
                    }
                ],
                "payout": "string",
                "phone": "string",
                "preset_id": "string",
                "ref": "string",
                "rest_schedule_id": "string",
                "rest_schedule_preset": "private_transport",
                "return_to_depot": true,
                "routing_mode": "driving",
                "service_duration_multiplier": 1,
                "shared_service_duration_multiplier": 1,
                "shifts": [
                    {
                        "balanced_group_id": "string",
                        "hard_max_duration_s": 2592000,
                        "hard_max_working_duration_s": 0,
                        "hard_time_window": "string",
                        "hard_window": false,
                        "id": "string",
                        "immutable": false,
                        "max_duration_s": 172800,
                        "max_mileage_km": 0,
                        "max_runs": 1,
                        "max_working_duration_s": 0,
                        "maximal_stops": 0,
                        "minimal_stops": 0,
                        "minimal_unique_stops": 0,
                        "preset_id": "string",
                        "rest_schedule_id": "string",
                        "service_duration_s": 0,
                        "start_shift_from_first_order": false,
                        "time_window": "string",
                        "run_restrictions": {
                            "minimal_stops": {
                                "value": 0,
                                "penalty": {
                                    "fixed": 1000,
                                    "per_stop": 100
                                }
                            },
                            "maximal_stops": {
                                "value": 0,
                                "penalty": {
                                    "fixed": 1000,
                                    "per_stop": 100
                                }
                            },
                            "max_mileage_km": {
                                "value": 0,
                                "penalty": {
                                    "fixed": 1000,
                                    "per_km": 100
                                }
                            }
                        },
                        "rest_schedule": {
                            "break_type": "from_last",
                            "breaks": [
                                {
                                    "can_be_split": false,
                                    "can_rest_during_service": true,
                                    "check_ending_time": false,
                                    "continuous_travel_time_range": "string",
                                    "driving_time_range": "string",
                                    "exact_time_range": "string",
                                    "id": 0,
                                    "max_split_parts": 0,
                                    "min_first_split_part_duration_s": 0,
                                    "min_last_split_part_duration_s": 0,
                                    "min_split_part_duration_s": 600,
                                    "repeatable": false,
                                    "rest_duration_s": 0,
                                    "travel_time_range": "string",
                                    "type": "string",
                                    "work_time_range_from_start": "string",
                                    "work_time_range_till_rest": "string",
                                    "penalty": {
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                },
                                {
                                    "break_type": "from_last",
                                    "can_be_split": false,
                                    "can_rest_during_service": true,
                                    "check_ending_time": false,
                                    "desired_work_duration": 0,
                                    "hard_time_range": "string",
                                    "id": 0,
                                    "max_split_parts": 0,
                                    "min_first_split_part_duration_s": 0,
                                    "min_last_split_part_duration_s": 0,
                                    "min_split_part_duration_s": 600,
                                    "repeatable": false,
                                    "rest_duration_s": 0,
                                    "soft_time_range": "string",
                                    "type": "string",
                                    "penalty": {
                                        "late": {
                                            "fixed": 1000,
                                            "minute": 17
                                        },
                                        "early": {
                                            "fixed": 1000,
                                            "minute": 17
                                        }
                                    }
                                }
                            ],
                            "penalty": {
                                "late": {
                                    "fixed": 1000,
                                    "minute": 17
                                },
                                "early": {
                                    "fixed": 1000,
                                    "minute": 17
                                }
                            }
                        },
                        "penalty": {
                            "working_overtime": {
                                "fixed": 1000,
                                "minute": 17
                            },
                            "unique_stop_lack": {
                                "fixed": 0,
                                "per_stop": 0
                            },
                            "stop_lack": {
                                "fixed": 0,
                                "per_stop": 0
                            },
                            "stop_excess": {
                                "fixed": 0,
                                "per_stop": 0
                            },
                            "out_of_time": {
                                "fixed": 1000,
                                "minute": 17
                            },
                            "max_mileage": {
                                "fixed": 1000,
                                "km": 100
                            },
                            "late": {
                                "fixed": 1000,
                                "minute": 17
                            },
                            "early": {
                                "fixed": 1000,
                                "minute": 17
                            }
                        }
                    }
                ],
                "start_at": 0,
                "starting_depot_id": [
                    0,
                    "string"
                ],
                "tags": [
                    "string"
                ],
                "travel_time_multiplier": 1,
                "visit_depot_at_start": true,
                "visited_locations": [
                    {
                        "delivered_orders": [
                            0,
                            "string"
                        ],
                        "id": 0,
                        "order_ratio": 0,
                        "shift_id": "string",
                        "time": "string",
                        "wait_if_early": true
                    }
                ],
                "walking_courier": {
                    "restrictions": {
                        "max_walking_edge_distance_m": {
                            "penalty": 0,
                            "value": 1000000000
                        },
                        "max_parking_walking_distance_m": {
                            "penalty": 0,
                            "value": 1000000000
                        },
                        "max_parking_duration_s": {
                            "penalty": 0,
                            "value": 1000000000
                        }
                    },
                    "cost": {
                        "hour": 0,
                        "km": 0
                    },
                    "capacity": {
                        "units": 1000000000
                    }
                },
                "trailer": {
                    "coupling_time_s": 0,
                    "decoupling_time_s": 0,
                    "rolling_cost": 0,
                    "rolling_time": {
                        "fixed_time_s": 0,
                        "s_per_kg": 0,
                        "s_per_m3": 0,
                        "s_per_unit": 0
                    },
                    "max_capacity_difference": {
                        "units": 0,
                        "volume_cbm": 0,
                        "weight_kg": 0,
                        "custom": 0
                    },
                    "cost": {
                        "fixed": 3000,
                        "hour": 100,
                        "km": 8,
                        "location": 0,
                        "run": 0,
                        "tonne_km": 0,
                        "waiting_hour": 0
                    },
                    "capacity": {
                        "units": 1000000000,
                        "volume_cbm": 0,
                        "weight_kg": 1000000000,
                        "volume": {
                            "depth_m": 1000,
                            "height_m": 1000,
                            "width_m": 1000
                        },
                        "limits": {
                            "units_perc": 100,
                            "volume_perc": 100,
                            "weight_perc": 100
                        },
                        "custom": 0
                    }
                },
                "specs": {
                    "height": 0,
                    "length": 0,
                    "max_weight": 0,
                    "max_weight_kg": 0,
                    "width": 0
                },
                "rest_schedule": {
                    "break_type": "from_last",
                    "breaks": [
                        {
                            "can_be_split": false,
                            "can_rest_during_service": true,
                            "check_ending_time": false,
                            "continuous_travel_time_range": "string",
                            "driving_time_range": "string",
                            "exact_time_range": "string",
                            "id": 0,
                            "max_split_parts": 0,
                            "min_first_split_part_duration_s": 0,
                            "min_last_split_part_duration_s": 0,
                            "min_split_part_duration_s": 600,
                            "repeatable": false,
                            "rest_duration_s": 0,
                            "travel_time_range": "string",
                            "type": "string",
                            "work_time_range_from_start": "string",
                            "work_time_range_till_rest": "string",
                            "penalty": {
                                "late": {
                                    "fixed": 1000,
                                    "minute": 17
                                },
                                "early": {
                                    "fixed": 1000,
                                    "minute": 17
                                }
                            }
                        },
                        {
                            "break_type": "from_last",
                            "can_be_split": false,
                            "can_rest_during_service": true,
                            "check_ending_time": false,
                            "desired_work_duration": 0,
                            "hard_time_range": "string",
                            "id": 0,
                            "max_split_parts": 0,
                            "min_first_split_part_duration_s": 0,
                            "min_last_split_part_duration_s": 0,
                            "min_split_part_duration_s": 600,
                            "repeatable": false,
                            "rest_duration_s": 0,
                            "soft_time_range": "string",
                            "type": "string",
                            "penalty": {
                                "late": {
                                    "fixed": 1000,
                                    "minute": 17
                                },
                                "early": {
                                    "fixed": 1000,
                                    "minute": 17
                                }
                            }
                        }
                    ],
                    "penalty": {
                        "late": {
                            "fixed": 1000,
                            "minute": 17
                        },
                        "early": {
                            "fixed": 1000,
                            "minute": 17
                        }
                    }
                },
                "proximity_edge_cost": {
                    "hour": 0,
                    "km": 0
                },
                "planned_route": {
                    "locations": [
                        {
                            "anchor_mode": "Decoupling",
                            "delivered_orders": [
                                0,
                                "string"
                            ],
                            "delivery_in_current_run": false,
                            "id": 0,
                            "is_middle_depot": false,
                            "loaded_orders": [
                                0,
                                "string"
                            ],
                            "order_ratio": 0,
                            "parking_mode": "ParkingBegin",
                            "picked_orders": [
                                0,
                                "string"
                            ],
                            "shift_id": "string",
                            "wait_if_early": true
                        }
                    ],
                    "planned_runs_first": false,
                    "start_time": "string"
                },
                "penalty": {
                    "min_stop_weight": {
                        "fixed": 1000,
                        "kg": 50
                    },
                    "empty_runs": {
                        "fixed": 0,
                        "per_run": 0
                    },
                    "arrival_after_start": {
                        "as_soon_as_possible": false,
                        "average_h": 0
                    }
                },
                "capacity": {
                    "units": 1000000000,
                    "volume_cbm": 0,
                    "weight_kg": 1000000000,
                    "volume": {
                        "depth_m": 1000,
                        "height_m": 1000,
                        "width_m": 1000
                    },
                    "limits": {
                        "units_perc": 100,
                        "volume_perc": 100,
                        "weight_perc": 100
                    },
                    "custom": 0
                }
            }
        ],
        "zones": [
            {
                "id": "string",
                "geometry": {
                    "coordinates": [
                        [
                            [
                                0
                            ]
                        ]
                    ],
                    "type": "string"
                }
            }
        ]
    },
    "error": {
        "incident_id": "string",
        "message": "string"
    },
    "id": "string",
    "message": "string",
    "status": {
        "cancelled": 0,
        "completed": 0,
        "estimate": 0,
        "queued": 0,
        "started": 0
    }
}

Name

Description

error*

Type: error_2_error

Error description.

id*

Type: string

Task unique id.

result*

Type: mvrp_response

MVRP solver response.

status*

Type: task_info_1_status

Task statuses object. Keys are task statuses, values are UNIX timestamps for corresponding status.

Possible status transits: queued -> started -> (completed or cancelled)

message

Type: string

Human-readable description of task state.

error_2_error

Error description.

Name

Description

message*

Type: string

Human-readable error description.

incident_id

Type: string

Unique identifier of error incident. In case of API error, this identifier can be provided to support for investigation.

mvrp_response

MVRP solver response.

Name

Description

dropped_locations*

Type: mvrp_response_dropped_locations_item[]

List of locations excluded (dropped) from route due to courier shortage or another constraint violation.
Location of order to deliver from depot.

metrics*

Type: solution_metrics_1

Metrics for a solution.

options*

Type: solver_options_1

Solver options. It is forbidden to specify options that are not present in the list below.

routes*

Type: mvrp_response_routes_item[]

List of routes and individual metrics for each route.

solver_status*

Type: string

Status of routing solver:

  • SOLVED - the VRP is fully solved within defined constraints;
  • PARTIAL_SOLVED - the VRP is solved but some orders are dropped or some time windows are failed;
  • UNFEASIBLE - unable to find solution that satisfies all strict constraints.

Enum: SOLVED, PARTIAL_SOLVED, UNFEASIBLE

vehicles*

Type: vehicle[]

List of couriers, available for route planning.
Vehicle specification.

Min items: 1

detailed_cost_metrics

Type: detailed_cost_1[]

The value of an arbitrary cost.

zones

Type: mvrp_response_zones_item[]

task_info_1_status

Task statuses object. Keys are task statuses, values are UNIX timestamps for corresponding status.

Possible status transits: queued -> started -> (completed or cancelled)

Name

Description

queued*

Type: number

Task has been queued for execution.

cancelled

Type: number

Task execution has been cancelled by user or system due to timeout or error.

completed

Type: number

Task execution completed with result or error.

estimate

Type: number

Estimated time when task expected to be completed. The time estimation may change during solving process. The estimate is valid for approximately 75% of tasks (they may be ready 5-15 seconds before "estimate")Some tasks may require more time for calculation, typically this extra time is not more than 1 minute.

started

Type: number

Task execution has been started.

mvrp_response_dropped_locations_item

Location of order to deliver from depot.

Name

Description

drop_reason*

Type: string

Explanation why the location was dropped.

id*

Type: integer or string

Location ID. All locations IDs in task must be unique and have the same type: integer or string. More information

point*

Type: coordinate_2

WGS84 coordinate of a location. More information

address

Type: string

Address of the location.

allow_trailers

Type: boolean

When true, vehicles with trailers can arrive at this location. More informationOtherwise, they will have to leave the trailer at an anchor location beforehand. More information

Default:

can_be_merged

Type: boolean

An order can be a part of multiorder. More information

Default:

can_be_split

Type: boolean

An order can be split into parts between different couriers. More information

Default:

can_have_rest_during_service

Type: boolean

It is allowed to make breaks during order service time.

Default:

client_id

Type: integer or string

Defines id of a client corresponding to the order. More information

client_service_duration_s

Type: client_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders of the same client (same client_id) at exactly the same location. More information

comments

Type: string

Comments.

crossdock_mode

Type: string

Defines whether it is allowed to deliver this order through a cross-dock depot.

  • deny — prohibited, can only be delivered from a regular depot;
  • allow — allowed, can be delivered either directly from a regular depot or through a cross-dock depot;
  • mandatory — required, can only be delivered through a cross-dock depot. More information

Default: allow

Enum: deny, allow, mandatory

crossdock_service_duration_s

Type: crossdock_service_duration_0 or number

Time spent at a cross dock during the unloading of this order. More information

custom_value

Type: number

A custom numeric value, associated with order. E.g. the reward for the courier for delivering the order. May be used as a component in vehicle cost function. More information

delivery_deadline

Type: string

Time by which the pickup order without specified delivery_to field should be delivered to any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

delivery_to

Type: integer or string

Defines id of a location where to deliver the shipment.More information

delivery_to_any

Type: (integer or string)[]

A list of drop_off location ID's, the pickup order must be delivered to any of these locations. More information
Reference to a location specified in locations. More information

depot_duration_s

Type: depot_duration_0 or number

Time spent at a depot during handling of this location (goods loading, document collection, etc.). More information

depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

depot_id

Type: integer or string or array

depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

description

Type: string

Location description.

dropped_ratio

Type: number

Order ratio which have to stay in drop. More information

Min value: 0

Max value: 1

garage_loading_mode

Type: string

Property to control whether a order can be loaded or unloaded in the garage.* default - the order can be loaded/unloaded in the garage if it does not have any of the restrictions depot_id, depot_ready_time, depot_expiring_time for delivery and depot_id, pickup_must_reach_depot, delivery_deadline for pickup specified.* allowed - the order can be loaded/unloaded in the garage. In this case, the depot_ready_time, depot_expiring_time and delivery_deadline for the garage will be evaluated the same as if it were a depot.* forbidden - the order is prohibited from loading/unloading in the garage. More information

Default: default

Enum: default, allowed, forbidden

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Restricts time window violation during route planning. If order cannot be delivered within a specified time window, it will be excluded from the route and added to dropped_orders field in the response. This field is useful to model orders that cannot be completed within the time window, (e.g. due to conflicts with other orders). More information

Default:

ignore_zones_compatibility

Type: boolean

Ignore the effects caused by the incompatible_zones, allowed_zones, forbidden_zones, optional_zones properties for the location.

Default:

in_lifo_order

Type: boolean

Orders with this field set to true are not allowed to move inside the vehicle and should be delivered in the reversed order of their pickups. Locations with this field set to false can appear anywhere in the route. This field only matters if both pickups and deliveries are present in route. More information

Default:

load_types

Type: string[]

Defines order types. Must not be defined for garage location type.
Type of load. More information

max_split_parts

Type: integer

Maximal number of parts in which the order can be split. More information

Default: 10

Min value: 1

max_total_vehicles

Type: integer

Maximal number of vehicles that can be served by an anchor location. Unlimited by default. More information

Min value: 0

may_drop_in_crossdock

Type: boolean

May drop pickup order in crossdock location. More information

Default:

optional_tags

Type: mvrp_response_dropped_locations_optional_tags_item[]

List of tags which are not required for a courier to deliver the order, but they can decrease or increase the route cost if matched. More information
An optional tag with bonus or penalty.

parking_service_duration_s

Type: number

Duration of parking at location. If the order is delivered using routing_mode walking or transit, this time will not be spent. If the location is used as a parking before the walking part, then the time will be spent once.

Default: 0

Min value: 0

Max value: 3153600000

penalty

Type: mvrp_response_dropped_locations_penalty

Penalty components for non-completion and time window violation. More information

phone

Type: string

Phone number of the client.

pickup_from_any

Type: boolean

Delivery-orders that have this field set to true must have multiple pickup orders associated with it. Any one of these pickup orders can be selected for delivery, and the rest will be ignored. The choice among the options is based on optimizing the cost of the route. More information

Default:

pickup_id

Type: integer or string

ID of a pickup corresponding to this delivery.

pickup_must_reach_depot

Type: boolean

The field determines whether the pickup order is considered delivered if it is not delivered to depot. The field can be defined only for pickup orders. The field is mutually exclusive with fields delivery_to and delivery_to_any. If depot_id is defined and not empty then the field is considered as true and the value false in not acceptable. More information

Default:

preset_id

Type: string

Preset number for location properties. More information

quant

Type: number or dropped_locations_quant_0_1

ref

Type: string

Location reference.

required_tags

Type: string[]

List of tags a courier must have to deliver the order. More information
An arbitrary tag. More information

return_to

Type: integer or string

Defines id of a location where to return after delivery.

rolling_throughput

Type: mvrp_response_dropped_locations_rolling_throughput

Rolling throughput limit (supported for anchors).

sequence_order

Type: integer

All locations in vehicle route with specified sequence_order option have to be visited in non-decreasing order of its values. More information

service_duration_s

Type: service_duration_2_0 or number

Duration of service at location. Service duration can include any operations at location, such as loading or unloading items from a vehicle, or any other time associated with a location (apart from waiting, which is time after arrival and before service).More information

service_durations

Type: service_durations

Structure storing location service durations. More information

shared_service_duration_s

Type: shared_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders at exactly the same location. Shared service duration can include such operations as parking of a car, delivering documents, etc. More information

shared_with_company_ids

Type: integer[]

IDs of the companies that can access the order information. More information

Min value: 0

shipment_size

Type: mvrp_response_dropped_locations_shipment_size

Shipment size (dimensions and/or weight). More information

soft_depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

soft_depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

split_info

Type: mvrp_response_dropped_locations_split_info

Information about split part of the order (in case if the order was split).

split_parts_must_fill_whole_vehicle

Type: boolean

Parts, split from a splittable order, should fill the whole vehicle. More information

Default:

throughput

Type: mvrp_response_dropped_locations_throughput

Location throughput limit (supported for the orders which can be split). More information

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: mvrp_response_dropped_locations_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

title

Type: string

Location title.

transit_time

Type: mvrp_response_dropped_locations_transit_time

Restrictions on the time the order spends inside a vehicle. More information

type

Type: string

Defines a type of service at the location:

  • delivery — the load is picked up at the depot or at another location, and delivered to this location;
  • pickup — the load is picked up at this location, and delivered to another location (if delivery_to is specified), or to the depot;
  • drop_off — a pickup location may be delivered to any of related drop_off locations (see delivery_to_any);
  • garage — a location which can be used as the first or the last vehicle location via start_at or finish_at vehicle option;
  • anchor — a location where trailers can be dropped and unloaded;
  • parking — a location where trailers can be dropped to serve a single other location. Trailers can not be unloaded there.
  • rest_place — a designated location where a vehicle can break work in cases when the work_break has the attribute at_rest_place.
  • return - the place to return to after pickup-delivery. More information

Default: delivery

Enum: depot, crossdock, delivery, pickup, return, drop_off, garage, anchor, parking, courier

use_in_proximity

Type: boolean

When false, this location will be ignored in computation of proximity and global_proximity. More information

Default:

solution_metrics_1

Metrics for a solution.

Name

Description

arrival_after_start_penalty*

Type: number

Penalty for arrived after start of time window.

depot_throughput_violation_kg*

Type: number

Total violation of depot throughput, kilograms.

depot_throughput_violation_kg_per_hour*

Type: number

Total violation of depot throughput, kilograms per hour (deprecated).

depot_throughput_violation_units*

Type: number

Total violation of depot throughput, units.

depot_throughput_violation_units_per_hour*

Type: number

Total violation of depot throughput, units per hour (deprecated).

depot_throughput_violation_vehicles*

Type: number

Total violation of depot throughput, vehicles.

drop_penalty_percentage*

Type: number

Relation of total_drop_penalty to the maximal possible drop penalty.

dropped_locations_count*

Type: integer

early_depot_count*

Type: integer

Number of arrivals to a depot earlier than the specified time window.

early_locations_count*

Type: integer

Number of locations where arrival will happen earlier than the picked time window.

early_shifts_count*

Type: integer

Number of shifts where arrival will happen earlier than the specified time window.

failed_dropped_breaks_count*

Type: integer

Number of work breaks that are not used in the route, although they should be.

failed_dropped_breaks_duration_s*

Type: number

Total duration of failures for work breaks that are not used in the route, although they should be, seconds.

failed_dropped_breaks_penalty*

Type: number

Sum of penalties for work breaks that are not used in the route, although they should be.

failed_max_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified maximal work duration.

failed_min_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified minimal work duration.

failed_time_window_depot_count*

Type: integer

Number of arrivals to a depot outside of the time window.

failed_time_window_depot_count_penalty*

Type: number

Sum of fixed penalties applied for violations of depot time windows.

failed_time_window_depot_duration_penalty*

Type: number

Sum of per minute penalties applied for violations of depot time windows.

failed_time_window_depot_duration_s*

Type: number

Total duration of depot time window fails, seconds.

failed_time_window_depots_total_penalty*

Type: number

Total cost for depot time window fails.

failed_time_window_locations_count*

Type: integer

Number of locations where arrival will happen outside of the time window.

failed_time_window_locations_count_penalty*

Type: number

Sum of fixed penalties applied for arriving at order location out of the time window.

failed_time_window_locations_duration_penalty*

Type: number

Sum of per minute penalties applied for arriving at location out of the time window.

failed_time_window_locations_duration_s*

Type: number

Total duration of location time window fails, seconds.

failed_time_window_locations_total_penalty*

Type: number

Total cost for location time window fails.

failed_time_window_shifts_count*

Type: integer

Number of shifts where arrival will happen outside of the time window.

failed_time_window_shifts_count_penalty*

Type: number

Sum of fixed penalties applied for violations of shift time windows.

failed_time_window_shifts_duration_penalty*

Type: number

Sum of per minute penalties applied for violations of shift time windows.

failed_time_window_shifts_duration_s*

Type: number

Total duration of shift time window fails, seconds.

failed_time_window_shifts_total_penalty*

Type: number

Total cost for shift time window fails.

failed_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified minimal or maximal work duration.

failed_work_duration_count_penalty*

Type: number

Sum of fixed penalties applied for failures of continuous work duration minimal or maximal limits.

failed_work_duration_penalty*

Type: number

Sum of per minute penalties applied for failures of continuous work duration.

failed_work_duration_s*

Type: number

Total duration of continuous work time interval failures, seconds.

failed_work_duration_total_penalty*

Type: number

Total cost for continuous work time interval failures.

first_edges_penalty*

Type: number

The total penalty for the first edge of every run.

global_proximity*

Type: number

Global proximity level of route(s): average possible distance from the last location in route, kilometers.

last_edges_penalty*

Type: number

The total penalty for the last edge of every run.

late_depot_count*

Type: integer

Number of arrivals to a depot later than the specified time window.

late_locations_count*

Type: integer

Number of locations where arrival will happen later than the picked time window.

late_shifts_count*

Type: integer

Number of shifts where arrival will happen later than the specified time window.

lateness_risk_locations_count*

Type: integer

Number of locations and deadlines with a risk of late arrival.

max_distance_from_depot_m*

Type: number

Maximal distance from order location to the depot.

max_distance_to_attraction_point_m*

Type: number

Maximal distance from order location to the global_proximity_attraction_point.

max_distance_to_garage_m*

Type: number

Maximal distance from order location to the depot.

max_drop_percentage_penalty*

Type: number

Penalty for max_drop_penalty_percentage violation.

number_of_routes*

Type: integer

Total number of courier routes.

objective_minimum*

Type: number

Minimum of optimization objective.

optimization_steps*

Type: integer

Number of solver optimization steps.

overtime_duration_penalty*

Type: number

Sum of per minute penalties applied for violating of maximal shift duration.

overtime_duration_s*

Type: number

Total shift overtime duration in seconds.

overtime_penalty*

Type: number

Sum of penalties applied for violating of maximal shift duration.

overtime_shifts_count*

Type: integer

Number of shifts where duration is more than max_duration_s.

overtime_shifts_count_penalty*

Type: number

Sum of fixed penalties applied for violating of maximal shift duration.

proximity*

Type: number

Proximity level of route(s): average possible distance between two locations en route, kilometers.

total_cost*

Type: number

Total of all expenses.

total_cost_with_penalty*

Type: number

Total expectation of all expenses including guaranteed and probable penalties.

total_drop_penalty*

Type: number

Sum of dropped locations penalties per drop.

total_duration_cost*

Type: number

Total of all used couriers costs per duration of usage.

total_duration_s*

Type: number

Total duration including transit, service and waiting time, seconds.

total_early_count*

Type: integer

Total number of arrivals earlier than the picked time window.

total_early_duration_s*

Type: number

Total duration of early arrivals, sum of (start of the time window) - (arrival time), seconds.

total_early_penalty*

Type: number

Sum of penalties applied for arriving and serving at location earlier than the picked time window.

total_empty_distance_m*

Type: number

Total distance traveled without any orders in vehicle.

total_failed_delivery_deadline_count*

Type: number

Total number of failed deadlines.

total_failed_delivery_deadline_duration_s*

Type: number

Total duration of deadlines fails, seconds.

total_failed_delivery_deadline_penalty*

Type: number

Sum of penalties applied for arriving and serving at depot after the deadline.

total_failed_time_window_count*

Type: integer

Total number of time window fails (sum of total_early_count and total_late_count).

total_failed_time_window_duration_s*

Type: number

Total duration of time window fails (sum of total_early_duration_s and total_late_duration_s), seconds.

total_failed_time_window_penalty*

Type: number

Sum of penalties applied for being out of the time window at location, shift or depot.

total_fails_penalty*

Type: number

Sum of fails penalties

total_fixed_cost*

Type: number

Total of all used couriers fixed costs.

total_global_proximity_distance_m*

Type: number

Total global proximity distance, meters.

total_global_proximity_duration_s*

Type: number

Total global proximity duration, seconds.

total_global_proximity_penalty*

Type: number

Sum of global proximity penalties.

total_guaranteed_penalty*

Type: number

Total of all guaranteed penalties.

total_late_count*

Type: integer

Total number of arrivals later than the picked time window.

total_late_duration_s*

Type: number

Total duration of late arrivals, sum of (arrival time) - (end of the time window), seconds.

total_late_penalty*

Type: number

Sum of penalties applied for arriving and serving at location later than the picked time window.

total_lateness_risk_probability*

Type: number

Sum of all probabilities of being late on locations and deadlines.

total_locations_cost*

Type: number

Total of all used couriers costs per location.

total_middle_depots*

Type: integer

Number of middle depots.

total_mileage_penalty*

Type: number

Total penalties applied for mileage limit violation.

total_min_stop_weight_penalty*

Type: number

Total penalties applied for min_stop_weight violation.

total_non_empty_distance_m*

Type: number

Total distance traveled with at least one order in vehicle.

total_optional_tags_cost*

Type: number

The value added to the total cost by optional tags.

total_optional_zones_cost*

Type: number

The value added to the total cost by optional zones.

total_penalty*

Type: number

Sum of guaranteed and probable penalties.

total_probable_penalty*

Type: number

Expected total of all probable penalties.

total_proximity_distance_m*

Type: number

Total proximity distance, meters.

total_proximity_duration_s*

Type: number

Total proximity duration, seconds.

total_proximity_penalty*

Type: number

Sum of proximity penalties.

total_rest_duration_s*

Type: number

Total duration of work breaks, seconds

total_runs_cost*

Type: number

Total of all used couriers costs per run.

total_served_orders*

Type: number

The total number of orders served.

Min value: 0

total_service_duration_s*

Type: number

Total duration of service at locations, seconds.

total_soft_depot_expiring_time_penalty*

Type: number

Total penalty for violating the soft_depot_expiring_time.

total_soft_depot_ready_time_penalty*

Type: number

Total penalty for violating the soft_depot_ready_time.

total_stop_count_penalty*

Type: number

Total penalties applied for stop count limit violation.

total_stops*

Type: integer

Number of courier stops - different sequential order locations en route.

total_trailer_rolling_cost*

Type: number

Total penalty for rolling orders from the trailer to the head.

total_trailer_rolling_count*

Type: number

Total number of rollings orders from the trailer to the head.

total_trailer_transit_distance_m*

Type: number

Total transit distance with the coupled trailer, meters.

total_trailer_transit_duration_s*

Type: number

Total transit with the coupled trailer duration (driving duration), seconds.

total_transit_distance_cost*

Type: number

Total of all used couriers costs per transit distance.

total_transit_distance_m*

Type: number

Total transit distance, meters. If routing_mode is set to transit, only pedestrian distance part of routes is considered.

total_transit_duration_s*

Type: number

Total transit duration (driving duration), seconds.

total_transport_work_cost*

Type: number

Total transport work cost (transport cost for each courier is taken with specified weight).

total_transport_work_tonne_km*

Type: number

Total transport work (product of cargo weight and route length), tonne-km.

total_unfeasibility_count*

Type: number

Number of locations which violate strict constraints but cannot be dropped.

total_unfeasibility_penalty*

Type: number

Sum of location drop penalties applied for locations which violate strict constraints but cannot be dropped.

total_unique_stops*

Type: integer

Number of courier stops with unique coordinates excluding depots and garages.

total_unused_depot_penalty*

Type: number

The total penalty for unused depots in routes (nothing is loaded or unloaded).

total_unused_ending_depot_count*

Type: number

The total count of unused ending depots in routes.

total_unused_middle_depot_count*

Type: number

The total count of unused middle depots in routes.

total_unused_starting_depot_count*

Type: number

The total count of unused starting depots in routes.

total_waiting_duration_s*

Type: number

Total duration of waiting at locations before travel to other locations or the start of the time window, seconds.

total_walking_distance_m*

Type: number

Total walking distance of the walking_courier, meters.

total_walking_duration_s*

Type: number

Total walking duration of the walking_courier, seconds.

total_walking_edge_distance_excess*

Type: number

Total excess of the allowed maximum length of walking edges.

total_walking_edge_penalty*

Type: number

Total penalty for exceeding the maximum length of walking edges.

total_work_breaks*

Type: integer

Total number of work breaks.

total_working_duration_s*

Type: number

Total working duration (i.e. total routes duration without work breaks duration), seconds

transit_time_penalty*

Type: number

Penalty for transit time violation.

used_vehicles*

Type: integer

Number of couriers used in solution.

working_overtime_duration_penalty*

Type: number

Sum of per minute penalties applied for violating of maximal work duration in shift.

working_overtime_duration_s*

Type: number

Total shift overtime working duration in seconds.

working_overtime_penalty*

Type: number

Sum of penalties applied for violating of maximal shift working duration.

working_overtime_shift_count*

Type: integer

Number of shifts where working duration is more than max_working_duration_s.

working_overtime_shift_count_penalty*

Type: number

Sum of fixed penalties applied for violating of maximal shift working duration.

assigned_locations_count

Type: integer

Total number of assigned to vehicles locations.

balanced_group_custom_value_deviation

Type: number

Total root-sum-square deviation of balanced group route custom_value of locations from averages.

balanced_group_distance_deviation_m

Type: number

Total root-sum-square deviation of balanced group route distance from averages.

balanced_group_duration_deviation_s

Type: number

Total root-sum-square deviation of balanced group route durations from averages.

balanced_group_kg_deviation

Type: number

Total root-sum-square deviation of balanced group route locations weight in kilograms from averages.

balanced_group_penalty

Type: number

Total penalty for imbalanced routes.

balanced_group_served_order_count_deviation

Type: number

Total root-sum-square deviation of balanced group route served order count from averages.

balanced_group_stop_count_deviation

Type: number

Total root-sum-square deviation of balanced group route stop counts from averages.

balanced_group_unit_deviation

Type: number

Total root-sum-square deviation of balanced group route locations weight in units from averages.

close_location_groups_extra_points

Type: integer

Number of points in close location groups to which couriers arrived more than once.

close_location_groups_extra_vehicles

Type: integer

Number of situations when several different couriers arrive at points in close location groups.

close_location_groups_extra_visits

Type: integer

Number of extra visits to points in close location groups.

close_location_groups_penalty

Type: integer

Total penalty for close location groups.

empty_runs_penalty

Type: number

Penalty for empty runs, which cannot be skipped because of actual visit times.

intermediate_location_distance_threshold_m

Type: number

Distance threshold for intermediate locations.

Default: 1

intermediate_location_duration_threshold_s

Type: number

Duration threshold for intermediate locations.

Default: 1

max_split_orders_percentage_penalty

Type: number

Penalty for max_split_orders_percentage violation.

max_vehicle_runs

Type: integer

Maximal number of a single courier runs.

multiorders_extra_points

Type: integer

Number of points with multi-orders to which couriers arrived more than once.

multiorders_extra_vehicles

Type: integer

Number of situations when several different couriers arrive at points with multi-orders.

multiorders_extra_visits

Type: integer

Number of extra visits to points with multi-orders.

new_balanced_group_custom_value_deviation

Type: number

New value of balanced_group_custom_value_deviation metric after post optimization.

new_balanced_group_distance_deviation_m

Type: number

New value of balanced_group_distance_deviation_m metric after post optimization.

new_balanced_group_duration_deviation_s

Type: number

New value of balanced_group_duration_deviation_s metric after post optimization.

new_balanced_group_kg_deviation

Type: number

New value of balanced_group_kg_deviation metric after post optimization.

new_balanced_group_penalty

Type: number

New value of balanced_group_penalty metric after post optimization.

new_balanced_group_served_order_count_deviation

Type: number

New value of balanced_group_served_order_count_deviation metric after post optimization.

new_balanced_group_stop_count_deviation

Type: number

New value of balanced_group_stop_count_deviation metric after post optimization.

new_balanced_group_unit_deviation

Type: number

New value of balanced_group_unit_deviation metric after post optimization.

new_global_proximity

Type: number

New value of global_proximity metric after post optimization.

new_objective_minimum

Type: number

New value of objective_minimum metric after post optimization.

new_total_cost_with_penalty

Type: number

New value of total_cost_with_penalty metric after post optimization.

new_total_global_proximity_distance_m

Type: number

New value of total_global_proximity_distance_m metric after post optimization.

new_total_global_proximity_duration_s

Type: number

New value of total_global_proximity_duration_s metric after post optimization.

new_total_global_proximity_penalty

Type: number

New value of total_global_proximity_penalty metric after post optimization.

new_total_guaranteed_penalty

Type: number

New value of total_guaranteed_penalty metric after post optimization.

new_total_penalty

Type: number

New value of total_penalty metric after post optimization.

new_total_stop_count_penalty

Type: number

New value of total_stop_count_penalty metric after post optimization.

new_total_stops

Type: integer

New value of total_stops metric after post optimization.

old_balanced_group_custom_value_deviation

Type: number

Old value of balanced_group_custom_value_deviation metric after post optimization.

old_balanced_group_distance_deviation_m

Type: number

Old value of balanced_group_distance_deviation_m metric after post optimization.

old_balanced_group_duration_deviation_s

Type: number

Old value of balanced_group_duration_deviation_s metric after post optimization.

old_balanced_group_kg_deviation

Type: number

Old value of balanced_group_kg_deviation metric after post optimization.

old_balanced_group_penalty

Type: number

Old value of balanced_group_penalty metric after post optimization.

old_balanced_group_served_order_count_deviation

Type: number

Old value of balanced_group_served_order_count_deviation metric after post optimization.

old_balanced_group_stop_count_deviation

Type: number

Old value of balanced_group_stop_count_deviation metric after post optimization.

old_balanced_group_unit_deviation

Type: number

Old value of balanced_group_unit_deviation metric after post optimization.

old_global_proximity

Type: number

Old value of global_proximity metric after post optimization.

old_objective_minimum

Type: number

Old value of objective_minimum metric after post optimization.

old_total_cost_with_penalty

Type: number

Old value of total_cost_with_penalty metric after post optimization.

old_total_global_proximity_distance_m

Type: number

Old value of total_global_proximity_distance_m metric after post optimization.

old_total_global_proximity_duration_s

Type: number

Old value of total_global_proximity_duration_s metric after post optimization.

old_total_global_proximity_penalty

Type: number

Old value of total_global_proximity_penalty metric after post optimization.

old_total_guaranteed_penalty

Type: number

Old value of total_guaranteed_penalty metric after post optimization.

old_total_penalty

Type: number

Old value of total_penalty metric after post optimization.

old_total_stop_count_penalty

Type: number

Old value of total_stop_count_penalty metric after post optimization.

old_total_stops

Type: integer

Old value of total_stops metric after post optimization.

operations_per_second

Type: number

Solver speed, number of operations per second.

route_custom_cost

Type: number

Cost of custom defined expenses for route. For vehicles, the entire cost placed in metrics of route first run.

route_payout

Type: number

Payout to courier of custom defined expenses for route. For vehicles, the entire payout placed in metrics of route first run.

run_custom_cost

Type: number

Cost of custom defined expenses for run.

run_payout

Type: number

Payout to courier of custom defined expenses for run.

shift_custom_cost

Type: number

Cost of custom defined expenses for shift. For vehicles, the entire cost placed in metrics of shift first run.

shift_payout

Type: number

Payout to courier of custom defined expenses for shift. For vehicles, the entire payout placed in metrics of shift first run.

shift_total_custom_cost

Type: number

Total cost of custom defined expenses for shift. Includes cost of the shift and the cost of runs included in the shift. For vehicles, the entire cost placed in metrics of shift first run.

shift_total_payout

Type: number

Total payout to courier of custom defined expenses for shift. Includes payout of the shift and the payout of runs included in the shift. For vehicles, the entire payout placed in metrics of shift first run.

skip_intermediate_location_penalty

Type: number

The total penalty skip intermediate location.

split_orders_percentage

Type: number

Percentage of orders which were split.

total_custom_cost

Type: number

Total cost of all custom defined expenses. Includes expenses for the route, shifts and runs. For vehicles, the entire route cost placed in metrics of first run.

total_depot_penalty

Type: number

Sum of depot penalties.

total_failed_time_between_visits_count

Type: integer

Total number of violations of the max_time_between_visits_s restriction in the solution.

total_failed_time_between_visits_duration_s

Type: number

Total duration of violations of the max_time_between_visits_s restriction in the solution in seconds

total_multiorders_penalty

Type: number

Total penalty for extra visits to multiorder points.

total_payout

Type: number

Total amount of payouts to couriers. For vehicles, the entire payment for the route placed in metrics of first run.

total_time_between_visits_penalty

Type: number

Total cost of violations of the max_time_between_visits_s restriction in the solution.

unfeasible_couple_coupled_trailer_penalty

Type: number

Unfeasible penalty for coupling of coupled trailer.

unfeasible_crossdock_missed_delivery_penalty

Type: number

Unfeasible penalty for missed delivery in crossdock.

unfeasible_decouple_decoupled_trailer_penalty

Type: number

Unfeasible penalty for decoupling of decoupled trailer.

unfeasible_decouple_unused_trailer_penalty

Type: number

Unfeasible penalty for decoupling of unused trailer.

unfeasible_depots_only_at_run_beginning_penalty

Type: number

Unfeasible penalty for failed depots_only_at_run_beginning restriction.

unfeasible_empty_first_run_penalty

Type: number

Unfeasible penalty for empty first shift run.

unfeasible_failed_dependent_group_penalty

Type: number

Unfeasible penalty for failed dependent_group.

unfeasible_failed_expiring_time_penalty

Type: number

Unfeasible penalty for failed expiring_time.

unfeasible_failed_hard_time_window_penalty

Type: number

Unfeasible penalty for failed hard_time_window.

unfeasible_failed_lifo_order_penalty

Type: number

Unfeasible penalty for failed LIFO order.

unfeasible_failed_ready_time_penalty

Type: number

Unfeasible penalty for failed ready_time.

unfeasible_failed_sequence_order_penalty

Type: number

Unfeasible penalty for failed sequence_order.

unfeasible_failed_solid_group_penalty

Type: number

Unfeasible penalty for failed solid group.

unfeasible_incompatible_load_types_penalty

Type: number

Unfeasible penalty for incompatible load types.

unfeasible_incompatible_zones_penalty

Type: number

Unfeasible penalty for incompatible zones.

unfeasible_invalid_pickup_delivery_order_penalty

Type: number

Unfeasible penalty for wrong order of serving pickup-delivery order.

unfeasible_max_midde_depots_penalty

Type: number

Unfeasible penalty for failed max_middle_depots restriction.

unfeasible_missed_coupled_delivery_penalty

Type: number

Unfeasible penalty for serving pickup without coupled delivery in route.

unfeasible_missed_coupled_pickup_from_any_penalty

Type: number

Unfeasible penalty for missed pickup_from_any pickup.

unfeasible_missed_coupled_pickup_penalty

Type: number

Unfeasible penalty for serving delivery without coupled pickup in route.

unfeasible_missed_dependent_group_locations_penalty

Type: number

Unfeasible penalty for missed locations from dependent group.

unfeasible_missed_planned_runs_penalty

Type: number

Unfeasible penalty for missed planned runs.

unfeasible_not_loaded_order_penalty

Type: number

Unfeasible penalty for serving order which was not loaded to the courier.

unfeasible_not_same_depot_route_ending_penalty

Type: number

Unfeasible penalty for failed finish_route_in_starting_depot restriction.

unfeasible_not_same_depot_run_ending_penalty

Type: number

Unfeasible penalty for failed finish_run_in_starting_depot restriction.

unfeasible_pickup_missed_depot_penalty

Type: number

Unfeasible penalty for pickup without relevant depot.

unfeasible_pickup_missed_drop_off_penalty

Type: number

Unfeasible penalty for pickup without relevant drop_off.

unfeasible_planned_overload_penalty

Type: number

Unfeasible penalty for courier or vehicle planned overload.

unfeasible_rolling_before_decoupling_penalty

Type: number

Unfeasible penalty for rolling trailer before decoupling it.

unfeasible_rolling_without_trailer_penalty

Type: number

Unfeasible penalty for rolling without trailer.

unfeasible_shift_overtime_penalty

Type: number

Unfeasible penalty for hard restricted shift overtime.

unfeasible_shift_too_many_runs_penalty

Type: number

Unfeasible penalty for exceeding the limit on number of runs in shift

unfeasible_shift_working_overtime_penalty

Type: number

Unfeasible penalty for hard restricted shift working overtime.

unfeasible_trailer_diff_excess_penalty

Type: number

Unfeasible penalty for load diff between vehicle and trailer.

unfeasible_transit_time_excess_penalty

Type: number

Unfeasible penalty for transit time violation.

unfeasible_use_trailer_prohibited_location_penalty

Type: number

Unfeasible penalty for trailer usage in location which not allow it.

unfeasible_vehicle_overload_penalty

Type: number

Unfeasible penalty for courier or vehicle overload.

unfeasible_vehicle_too_many_runs_penalty

Type: number

Unfeasible penalty for exceeding the limit on number of runs in route

unfeasible_walking_after_route_end_penalty

Type: number

Unfeasible penalty for ending route with vehicle leftout on parking.

unfeasible_walking_courier_overload_penalty

Type: number

Unfeasible penalty for walking courier overload.

unfeasible_walking_to_depot_penalty

Type: number

Unfeasible penalty for visiting depot without vehicle.

unfeasible_work_break_drop_penalty

Type: number

Unfeasible penalty for work break drop.

solver_options_1

Solver options. It is forbidden to specify options that are not present in the list below.

Name

Description

time_zone*

Type: number or string

absolute_time

Type: boolean

Use ISO 8601 format (YYYY-MM-DDTHH:MM:SS+HH:MM) for time_window in the result.

Default:

avoid_tolls

Type: boolean

Do not use toll roads if possible (only for driving and truck routing modes).

Default:

avoid_zones

Type: string[]

List of zones that cannot be entered when performing a route. These zones will be avoided even if the fastest route passes through them. The total number of corners in zone polygons must not exceed 300. More information
Zone number. More information

Min length: 1

Max length: 80

Max items: 100

Min items: 0

balanced_groups

Type: solver_options_1_balanced_groups_item[]

Each item in this array defines a balanced group of routes. Each route in a group corresponds to a single courier shift. Shifts are linked with groups by balanced_group_id field. Routes are balanced by metrics total_duration_s and/or total_stops depending on specified penalties. More information
A group of balanced routes. If the penalty field is not set, the penalty {stop: 100, hour: 200} is used for backward compatibility. More information

close_location_groups_radius_m

Type: number

The distance specifying how close the locations must be to belong to the same close location group. More information

Default: 0

Min value: 0

Max value: 1000000000

close_locations_during_post_optimization_only

Type: boolean

Apply penalties defined in close_locations only during post_optimization stage. If the field is true, post-optimization must be turned on. More information

Default:

critical_lateness_risk_probability

Type: number

If a probability of being late on a location is greater or equal than a specified value, than the location is accounted in lateness_risk_locations_count. The probability is defined in percent.

Default: 20

Min value: 1

Max value: 50

date

Type: string

Starting date for all routes (YYYY-MM-DD format), defaults to current date. More information

Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$

enable_vehicle_classes

Type: boolean

When true, solver will classify vehicles based on given vehicle specs to calculate more accurate distances between locations. Can be set to false to reduce size of the task and avoid "The task is too big" error.More information

Default:

enable_vehicle_optimization

Type: boolean

Allows use more optimization for minimization of courier count.

Default:

fix_planned_shifts

Type: boolean

Fix shifts of locations from planned routes.More information

Default:

fixed_drops

Type: boolean

All locations that are not planned, will remain dropped.

Default:

force_merge_multiorders

Type: boolean

Changes the behavior when the merge_multiorders option is enabled - it can combine orders with the same coordinates, even if as a result no courier will be able to deliver the order due to capacity restrictions, tags or load types. More information

Default:

global_proximity_factor

Type: number

Level of location proximity influence on courier routes. Recommended values are from 0.0 to 1.0. Using this option makes locations closer to the last location in route. Using both proximity_factor and global_proximity_factor makes routes more tolerant to moving locations to the end of route. Note, that using proximity will decrease optimality of computed routes in terms of costs and penalties. More information

Default: 0

Min value: 0

Max value: 10

ignore_min_stops_for_unused

Type: boolean

Ignore minimal_stops option for unused couriers. More information

Default:

ignore_zones

Type: boolean

Ignore all zone-related options in vehicles and locations. More information

Default:

immutable

Type: boolean

All routes, specified in initial_routes, are used without changes, new runs can not be added. More information

Default:

incompatible_load_types

Type: string[][]

Each item in this array defines list of location load types, that should not be handled within the same courier run. More information
List of load types.
Type of load. More information

incompatible_zones

Type: string[][]

Each item in this array defines list of location zones, that should not be visited within the same courier run. More information
List of zones.
Zone number. More information

Min length: 1

Max length: 80

load_when_ready

Type: boolean

Start load orders in depot when they are ready (in order of depot_ready_time). More information

Default:

location_groups

Type: solver_options_1_location_groups_item[]

Each item in this array defines a group of locations which should be assigned to the same vehicle shift. Some locations from the group might get dropped. Each location can be referenced by only one location group. More information
A group of locations which should be assigned to the same vehicle shift. More information

matrix_router

Type: string

Matrix router to be used for route planning

  • main — recommended for Russia, CIS and Turkey.
  • global — for other countries.
  • geodesic — distances are calculated directly without taking into account traffic jams.
  • auto — automatic router choice based on depot location.

Default: main

Enum: main, geodesic, global, auto

max_distance_to_projection_m

Type: number

Restriction for max distance to projcetion point. Will be ignored if order has not any suitable projection.

Default: 1000000000

Min value: 0

Max value: 1000000000

max_drop_penalty_percentage

Type: number

Maximal relation of drop penalty to the sum of drop penalties in all orders. More information

Default: 100

Min value: 0

Max value: 100

max_split_orders_percentage

Type: number

Maximal ratio of orders which can be split into parts. More information

Default: 100

Min value: 0

Max value: 100

merge_multiorders

Type: boolean

If possible merge those orders which have the same coordinates, i.e. serve them by a single vehicle. More information

Default:

merge_multiorders_of_different_clients

Type: boolean

If false, orders with a different client_id but same coordinates will form separate stops. More information

Default:

minimize_lateness_risk

Type: boolean

Compute and minimize the probability of being late to locations. In other words, avoid routes such that the estimated time of arrival is close to the end of a time window. More information

Default:

multiorder_radius_m

Type: number

The distance specifying how close the locations must be to be merged into a multiorder. More information

Default: 1

Min value: 0

Max value: 1000000000

penalize_late_service

Type: boolean

This option determines whether to penalize for late arrivals or late service.

  • When false, late penalty is applied if a vehicle arrived to the location/depot or started serving the depot after the end of the time window. Note that for multi-orders the service start time of the whole multi-order is used for each suborder rather than the suborder's own service start.
  • When true, late penalty is applied if the location, depot or shift service was finished after the end of the time window. In most cases turning this option on is equivalent to decreasing the ends of all the time windows by service_duration_s of the corresponding locations, depots and shifts. However, it provides its own mechanics for the cases when it is not clear how much time will pass since arrival to the location till the end of service, e.g. in the cases of serving multi-orders and unloading pickups at the depot. It is recommended to set this to true if it is important to serve multi-orders in time rather than to arrive at a multi-order location in time. More information

Default:

penalty

Type: solver_options_1_penalty

Penalties for global solution limitations violation.

points_throughputs

Type: solver_options_1_points_throughputs_item[]

Each item in this array defines point throughput. More information
Point's throughput. More information

post_optimization

Type: boolean

Use post optimization: restart algorithm in the last 10% operations with disabled global proximity and balancing. More information

Default:

proximity_factor

Type: number

Level of location proximity influence on courier routes. Recommended values are from 0.0 to 1.0. Using this option makes routes more tolerant to dropping locations. Note, that using proximity will decrease optimality of computed routes in terms of costs and penalties. More information

Default: 0

Min value: 0

Max value: 10

quality

Type: string

Solution quality:

  • low — debug mode for development and validation of constraints, shortest run time;
  • normal — baseline solution quality, average run time;
  • high — highest possible quality, longest run time. Required field. More information

Default: normal

Enum: low, normal, high

restart_on_drop

Type: boolean

Restart to optimize only non-dropped orders, in case we have not found solutions without drops. Enable this option if drops are expected and acceptable for your business scenario. More information

Default:

routing_mode

Type: string

Transportation method. More information

  • driving — default mode, routing with car profile;
  • truck — routing with truck profile;
  • walking — routing with pedestrian profile, only on roads allowed for pedestrian traffic;
  • transit — routing with pedestrian profile combined with public transport;
  • bicycle — routing with bicycle profile.

Default: driving

Enum: driving, truck, walking, transit, bicycle

template_rest_schedules

Type: solver_options_1_template_rest_schedules_item[]

List of rest schedule templates. More information
Template schedule of rest breaks. More information

wait_in_multiorders

Type: boolean

Allows to wait in multiorders. More information

Default:

weighted_drop_penalty

Type: boolean

Compute drop penalty according to shipment weight and volume. It helps optimization when couriers are highly loaded. Specified location drop penalties are ignored in this case. More information

Default:

mvrp_response_routes_item

Name

Description

metrics*

Type: route_metrics_1

Metrics for a single route.

route*

Type: route_element_1[]

Sequence of route nodes, comprising a route.
Route node, contains information about a visited location or a work break, transit information and arrival time.

global_proximity_attraction_point

Type: mvrp_response_routes_global_proximity_attraction_point

Location of order to deliver from depot.

run_number

Type: integer

Sequential number of a courier run.

shift

Type: mvrp_response_routes_shift

vehicle_id

Type: integer or string

Vehicle ID. All vehicle IDs in task must be unique and have the same type: integer or string. More information

vehicle

Vehicle specification.

Name

Description

id*

Type: integer or string

Vehicle ID. All vehicle IDs in task must be unique and have the same type: integer or string. More information

allow_different_depots_in_route

Type: boolean

Courier is allowed to visit depots with different ids in the same route. More information

Default:

allowed_zones

Type: string[]

List of zones, which can be visited by courier. More information
Zone number. More information

Min length: 1

Max length: 80

can_change_depot_between_runs

Type: boolean

Courier is allowed to start the run from different depot than the one where its previous run has ended. More information

Default:

can_rest_between_runs

Type: boolean

Can work breaks be inserted between runs.

Default:

can_split_preset_work_breaks

Type: boolean

Can work breaks defined by the rest_schedule_preset option be split.

Default:

can_visit_depot_at_start

Type: boolean

If this courier has the option visit_depot_at_start = false set, then this option controls whether we must skip the starting depot or whether we can insert it if necessary. If the option is true then we are allowed to insert an starting depot if it is needed to load orders. If the option is false, then there cannot be a starting depot at the beginning of the route. If the option is not specified, then by default we assume that a depot cannot be inserted unless there is a starting depot in the planned_route. More information

capacity

Type: vehicle_capacity

Vehicle capacity. More information

close_locations

Type: vehicle_close_locations_item[]

cost

Type: vehicle_cost_0 or string or vehicle_cost_1

crossdock_mode

Type: string

Defines whether the courier is allowed to deliver orders to the cross-dock depot. More information

  • deny — prohibited, can only deliver to locations;
  • allow — allowed, can deliver both directly to locations and to a cross-dock depot;
  • mandatory — required, can only deliver to a cross-dock depot.

Default: allow

Enum: deny, allow, mandatory

depot_extra_service_duration_s

Type: number

Additional time required to load this courier in the depot.

Default: 0

Min value: 0

Max value: 3153600000

depot_id

Type: integer or string or array

depots_only_at_run_beginning

Type: boolean

Middle depots are allowed only until first order location. More information

Default:

ending_depot_id

Type: integer or string or array

excluded_tags

Type: string[]

List of excluding courier tags, checked for compatibility with location tags (POSIX-extended regular expression are used). More information
An arbitrary tag or POSIX-extended regular expression.

finish_at

Type: integer or string

Defines id of a location with type garage where the courier should finish the route.

finish_route_in_starting_depot

Type: boolean

Finish route in the same depot where it started. More information

Default:

finish_run_in_starting_depot

Type: boolean

Finish runs in the same depot where it started. More information

Default:

first_edges_penalty_factor

Type: number

A factor that determines extra penalty/bonus for the first edge of each run. If positive, solver tries to serve orders starting from the closest to depot. If negative, solver tries to serve orders starting from the most distant from depot. More information

Default: 0

fixed_planned_route

Type: boolean

If true, planned route of the courier will be used without any changes. More information

Default:

forbidden_zones

Type: string[]

List of zones, which can not be visited by courier. More information
Zone number. More information

Min length: 1

Max length: 80

global_proximity_attraction_point

Type: integer or string

Defines id of a location with type garage, the distance to which is calculated for the global_proximity penalty.

imei

Type: integer

The number of the GPS tracker.

immutable

Type: boolean

All routes for this courier, specified in initial_routes, are used without changes, new runs can not be added. More information

Default:

incompatible_load_types

Type: string[][]

Each item in this array defines list of location load types, that should not be handled within the same courier run (overrides incompatible_load_types value specified in options). More information
List of load types.
Type of load. More information

incompatible_zones

Type: string[][]

Each item in this array defines list of location zones, that should not be visited within the same courier run. (overrides incompatible_zones value specified in options). More information
List of zones.
Zone number. More information

Min length: 1

Max length: 80

last_edges_penalty_factor

Type: number

A factor that determines extra penalty/bonus for the last edge of each run. If positive, solver tries to end serving orders closer to depot. If negative, solver tries to end serving orders farther from depot. More information

Default: 0

max_middle_depots

Type: integer

Maximal number of middle depots (i.e. depots which do not break the run) in the route. More information

Default: 0

max_runs

Type: integer

Maximal number of the courier runs from the depot to locations in all shifts. More information

Default: 1

middle_depot_id

Type: integer or string or array

min_stop_weight

Type: number

Minimal total weight of all orders in one point. More information

Default: 0

onboard_incompatible_load_types

Type: boolean

Determine load type incompatibility with respect only to orders on vehicle board.

Default:

optional_zones

Type: vehicle_optional_zones_item[]

List of optional zones with bonus. More information
An optional tag with bonus.

payout

Type: string or vehicle_payout_0

penalty

Type: vehicle_penalty

Penalties for vehicle limitations violation.

phone

Type: string

Phone number of the courier.

planned_route

Type: vehicle_planned_route

A planned courier route, should be used to assign already chosen locations to vehicles. These locations will not be dropped even if some strict constraint(s) is violated and will be served by the courier. The order of locations provided in this option can be changed for optimization of final route. By default shifts assigned to planned locations can be changed as well. They can be fixed with fix_planned_shifts solver option. More information

preset_id

Type: string

Preset number for courier properties. More information

proximity_edge_cost

Type: vehicle_proximity_edge_cost

Cost of proximity-edges for the constraints specified by the fields proximity_factorandglobal_proximity_factor. If not specified, then the edge cost values ​​specified in the cost` field of the vehicle are used.

ref

Type: string

Courier reference number. More information

rest_schedule

Type: vehicle_rest_schedule

Schedule of rest breaks. More information

rest_schedule_id

Type: string

ID of a rest schedule template used in this courier.

rest_schedule_preset

Type: string

Rest schedule preset from the regulations used in this courier.

Enum: private_transport, public_transport, multiday_private_transport

return_to_depot

Type: boolean

If true, the vehicle returns to its depot after the last order. When set to false and finish_at parameter is not specified, then the last route and shift will be finished at the last order location. When set to true and finish_at parameter is specified, the last vehicle route will go through the depot in the end and then will be finished together with the shift at the garage location. More information

Default:

routing_mode

Type: string

Transportation method. If present, overrides routing_mode specified in solver options. More information

  • driving — default mode, routing with car profile;
  • truck — routing with truck profile;
  • walking — routing with pedestrian profile, only on roads allowed for pedestrian traffic;
  • transit — routing with pedestrian profile combined with public transport;
  • bicycle — routing wtih bicycle profile.

Enum: driving, truck, walking, transit, bicycle

service_duration_multiplier

Type: number

Service duration adjustment coefficient for slow or fast couriers. More information

Default: 1

Min value: 0.001

shared_service_duration_multiplier

Type: number

Shared service duration adjustment coefficient for slow or fast couriers. More information

Default: 1

Min value: 0.001

shifts

Type: vehicle_shifts_item[]

List of courier shifts. More information
Courier shift. More information

specs

Type: vehicle_specs

Vehicle specification. More information

start_at

Type: integer or string

Defines id of a location with type garage where the courier should start the route. More information

starting_depot_id

Type: integer or string or array

tags

Type: string[]

List of courier tags, checked for compatibility with location tags (POSIX-extended regular expression are used). More information
An arbitrary tag or POSIX-extended regular expression.

trailer

Type: vehicle_trailer

Trailer specification. Usage of trailer with walking_courier is forbidden.More information

travel_time_multiplier

Type: number

Travel duration adjustment coefficient for slow or fast vehicles. More information

Default: 1

Min value: 0.001

visit_depot_at_start

Type: boolean

If true, the first route of the courier will go through the depot in the beginning.More information There are four different scenarios to define the first courier's route beginning using options start_at and visit_depot_at_start:

  • start_at defined, visit_depot_at_start=true: garage -> depot -> location;
  • start_at defined, visit_depot_at_start=false: garage -> locations;
  • start_at undefined, visit_depot_at_start=true: depot -> locations;
  • start_at undefined, visit_depot_at_start=false: locations.

Default:

visited_locations

Type: vehicle_visited_locations_item[]

List of locations to be visited by a vehicle in exact order as fixed part of the route without optimizations, with optional times of departure from some locations. More information

walking_courier

Type: vehicle_walking_courier

Description of a pedestrian courier. Usage of walking_courier in vehicle with trailer is forbidden.

detailed_cost_1

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: detailed_cost_1_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: detailed_cost_1_subcosts_item[]

The value of an arbitrary cost.

mvrp_response_zones_item

Name

Description

geometry*

Type: mvrp_response_zones_geometry

id*

Type: string

Zone number.

coordinate_2

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

client_service_duration_0

Name

Description

fixed

Type: number

Fixed service duration for any part of the order.

Default: 0

Min value: 0

Max value: 3153600000

scaled

Type: number

Service time for a part of an order, which is multiplied by order ratio.

Default: 0

Min value: 0

Max value: 3153600000

crossdock_service_duration_0

Name

Description

fixed

Type: number

Fixed service duration for any part of the order.

Default: 0

Min value: 0

Max value: 3153600000

scaled

Type: number

Service time for a part of an order, which is multiplied by order ratio.

Default: 0

Min value: 0

Max value: 3153600000

depot_duration_0

Name

Description

fixed

Type: number

Fixed service duration for any part of the order.

Default: 0

Min value: 0

Max value: 3153600000

scaled

Type: number

Service time for a part of an order, which is multiplied by order ratio.

Default: 0

Min value: 0

Max value: 3153600000

mvrp_response_dropped_locations_optional_tags_item

An optional tag with bonus or penalty.

Name

Description

tag*

Type: string

An arbitrary tag. More information

value*

Type: number

Value of the tag. When location is served by a vehicle with a matching tag in tags field, this value is subtracted from the route cost. When the matching tag is in excluded_tags field, this value is added to the route cost. More information

mvrp_response_dropped_locations_penalty

Penalty components for non-completion and time window violation. More information

Name

Description

delivery_deadline

Type: dropped_locations_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

depot_expiring_time

Type: dropped_locations_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

depot_ready_time

Type: dropped_locations_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

drop

Type: penalty_drop_0_3 or number

Penalty for not delivering an order. More information

early

Type: dropped_locations_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: dropped_locations_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: dropped_locations_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

rolling_throughput

Type: dropped_locations_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

throughput

Type: dropped_locations_penalty_throughput

Penalty components for throughput exceeding. More information

time_between_visits

Type: dropped_locations_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

transit_time

Type: dropped_locations_penalty_transit_time

Penalty components for exceeding transit time. More information

dropped_locations_quant_0_1

Minimal part which can be split from the order measured in one of the units. More information

Name

Description

units

Type: number

Size of shipment in custom units.

Min value: 0

volume_cbm

Type: number

Volume of minimal part, cubic meters.

Min value: 0

weight_kg

Type: number

Weight of minimal part, kilograms.

Min value: 0

mvrp_response_dropped_locations_rolling_throughput

Rolling throughput limit (supported for anchors).

Name

Description

vehicle_count

Type: array or number

service_duration_2_0

Name

Description

fixed

Type: number

Fixed service duration for any part of the order.

Default: 0

Min value: 0

Max value: 3153600000

scaled

Type: number

Service time for a part of an order, which is multiplied by order ratio.

Default: 0

Min value: 0

Max value: 3153600000

service_durations

Structure storing location service durations. More information

Name

Description

client

Type: client_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders of the same client (same client_id) at exactly the same location. More information

crossdock

Type: crossdock_service_duration_0 or number

Time spent at a cross dock during the unloading of this order. More information

depot

Type: depot_duration_0 or number

Time spent at a depot during handling of this location (goods loading, document collection, etc.). More information

location

Type: service_duration_2_0 or number

Duration of service at location. Service duration can include any operations at location, such as loading or unloading items from a vehicle, or any other time associated with a location (apart from waiting, which is time after arrival and before service).More information

parking

Type: number

Duration of parking at location. If the order is delivered using routing_mode walking or transit, this time will not be spent. If the location is used as a parking before the walking part, then the time will be spent once.

Default: 0

Min value: 0

Max value: 3153600000

stop

Type: shared_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders at exactly the same location. Shared service duration can include such operations as parking of a car, delivering documents, etc. More information

shared_service_duration_0

Name

Description

fixed

Type: number

Fixed service duration for any part of the order.

Default: 0

Min value: 0

Max value: 3153600000

scaled

Type: number

Service time for a part of an order, which is multiplied by order ratio.

Default: 0

Min value: 0

Max value: 3153600000

mvrp_response_dropped_locations_shipment_size

Shipment size (dimensions and/or weight). More information

Name

Description

custom

Type: number

Size of shipment in custom units. Sizes in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a non-negative floating-point number denoting the quantity of the corresponding unit in the shipment. If the name of a unit is present in other objects (locations/vehicles/trailers), but not this, it is assumed that the quantity of this unit in the shipment is zero. More information

Default: 0

Min value: 0

units

Type: number

Size of shipment in custom units. More information

Default: 0

Min value: 0

Max value: 1000000000

volume

Type: dropped_locations_shipment_size_volume

Shipment dimensions and type.

volume_cbm

Type: number

Explicit volume, cubic meters. By default, the value is taken from volume, if nothing is specified here. More information

Min value: 0

weight_kg

Type: number

Weight of shipment, kilograms.

Default: 0

Min value: 0

Max value: 1000000000

mvrp_response_dropped_locations_split_info

Information about split part of the order (in case if the order was split).

Name

Description

order_ratio

Type: number

Split ratio of an order or a work break, included in this part.

part_id

Type: integer

Number of this part of the order.

parts_count

Type: integer

Number of parts, in which the order was split.

units

Type: number

Size of this part in custom units (in case there was corresponding quant specified for this order).

volume_cbm

Type: number

Volume of this part, cubic meters (in case there was corresponding quant specified for this order).

weight_kg

Type: number

Weight of this part, kilograms (in case there was corresponding quant specified for this order).

mvrp_response_dropped_locations_throughput

Location throughput limit (supported for the orders which can be split). More information

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

vehicle_count

Type: array or number

mvrp_response_dropped_locations_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

mvrp_response_dropped_locations_transit_time

Restrictions on the time the order spends inside a vehicle. More information

Name

Description

hard_limit_s

Type: number

Hard time limit, values above it are unacceptable.

Min value: 0

Max value: 1000000000

limit_s

Type: number

Soft time limit, values above it are acceptable but they will be penalized.

Min value: 0

Max value: 1000000000

solver_options_1_balanced_groups_item

A group of balanced routes. If the penalty field is not set, the penalty {stop: 100, hour: 200} is used for backward compatibility. More information

Name

Description

id*

Type: string

A unique ID of a balanced group of routes.

penalty

Type: solver_options_1_balanced_groups_penalty

Penalties for imbalanced routes. More information

solver_options_1_location_groups_item

A group of locations which should be assigned to the same vehicle shift. More information

Name

Description

location_ids*

Type: (integer or string)[]

Reference to a location specified in locations. More information

dependent

Type: boolean

When true, either all or none of the locations in group will be served.

Default:

solid

Type: boolean

When true, all assigned locations in group will be served consecutively, but their order is not fixed.

Default:

title

Type: string

solver_options_1_penalty

Penalties for global solution limitations violation.

Name

Description

close_location_groups

Type: solver_options_1_penalty_close_location_groups

Penalty components for extra visits to close location group poins. More information

drop_penalty_percentage

Type: solver_options_1_penalty_drop_penalty_percentage

Penalty components for max_drop_penalty_percentage violation. More information

empty_run_before_full

Type: solver_options_1_penalty_empty_run_before_full

Penalty components for underfilled runs before more filled ones.

multiorders

Type: solver_options_1_penalty_multiorders

Penalty components for extra visits to multiorder poins. More information

small_order_part_before_big

Type: solver_options_1_penalty_small_order_part_before_big

Penalty components for smaller parts of split orders delivered before larger parts.

split_orders_percentage

Type: solver_options_1_penalty_split_orders_percentage

Penalty components for max_split_orders_percentage violation. More information

unused_depot

Type: solver_options_1_penalty_unused_depot

Penalty for a depot that has no loaded/unloaded orders. More information

solver_options_1_points_throughputs_item

Point's throughput. More information

Name

Description

penalty

Type: solver_options_1_points_throughputs_penalty

point

Type: solver_options_1_points_throughputs_point

WGS84 coordinate of a location. More information

throughput

Type: solver_options_1_points_throughputs_throughput

Point throughput limit.

solver_options_1_template_rest_schedules_item

Template schedule of rest breaks. More information

Name

Description

breaks*

Type: (template_rest_schedules_breaks_0 or template_rest_schedules_breaks_1)[]

List of consequent rest breaks. More information

id*

Type: string

A unique ID of a template.

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

penalty

Type: solver_options_1_template_rest_schedules_penalty

Penalties applied for violations of work break conditions. More information

route_metrics_1

Metrics for a single route.

Name

Description

arrival_after_start_penalty*

Type: number

Penalty for arrived after start of time window.

depot_throughput_violation_kg*

Type: number

Total violation of depot throughput, kilograms.

depot_throughput_violation_kg_per_hour*

Type: number

Total violation of depot throughput, kilograms per hour (deprecated).

depot_throughput_violation_units*

Type: number

Total violation of depot throughput, units.

depot_throughput_violation_units_per_hour*

Type: number

Total violation of depot throughput, units per hour (deprecated).

depot_throughput_violation_vehicles*

Type: number

Total violation of depot throughput, vehicles.

early_depot_count*

Type: integer

Number of arrivals to a depot earlier than the specified time window.

early_locations_count*

Type: integer

Number of locations where arrival will happen earlier than the picked time window.

early_shifts_count*

Type: integer

Number of shifts where arrival will happen earlier than the specified time window.

failed_dropped_breaks_count*

Type: integer

Number of work breaks that are not used in the route, although they should be.

failed_dropped_breaks_duration_s*

Type: number

Total duration of failures for work breaks that are not used in the route, although they should be, seconds.

failed_dropped_breaks_penalty*

Type: number

Sum of penalties for work breaks that are not used in the route, although they should be.

failed_max_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified maximal work duration.

failed_min_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified minimal work duration.

failed_time_window_depot_count*

Type: integer

Number of arrivals to a depot outside of the time window.

failed_time_window_depot_count_penalty*

Type: number

Sum of fixed penalties applied for violations of depot time windows.

failed_time_window_depot_duration_penalty*

Type: number

Sum of per minute penalties applied for violations of depot time windows.

failed_time_window_depot_duration_s*

Type: number

Total duration of depot time window fails, seconds.

failed_time_window_depots_total_penalty*

Type: number

Total cost for depot time window fails.

failed_time_window_locations_count*

Type: integer

Number of locations where arrival will happen outside of the time window.

failed_time_window_locations_count_penalty*

Type: number

Sum of fixed penalties applied for arriving at order location out of the time window.

failed_time_window_locations_duration_penalty*

Type: number

Sum of per minute penalties applied for arriving at location out of the time window.

failed_time_window_locations_duration_s*

Type: number

Total duration of location time window fails, seconds.

failed_time_window_locations_total_penalty*

Type: number

Total cost for location time window fails.

failed_time_window_shifts_count*

Type: integer

Number of shifts where arrival will happen outside of the time window.

failed_time_window_shifts_count_penalty*

Type: number

Sum of fixed penalties applied for violations of shift time windows.

failed_time_window_shifts_duration_penalty*

Type: number

Sum of per minute penalties applied for violations of shift time windows.

failed_time_window_shifts_duration_s*

Type: number

Total duration of shift time window fails, seconds.

failed_time_window_shifts_total_penalty*

Type: number

Total cost for shift time window fails.

failed_work_duration_count*

Type: integer

Number of continuous work time intervals which violate specified minimal or maximal work duration.

failed_work_duration_count_penalty*

Type: number

Sum of fixed penalties applied for failures of continuous work duration minimal or maximal limits.

failed_work_duration_penalty*

Type: number

Sum of per minute penalties applied for failures of continuous work duration.

failed_work_duration_s*

Type: number

Total duration of continuous work time interval failures, seconds.

failed_work_duration_total_penalty*

Type: number

Total cost for continuous work time interval failures.

first_edges_penalty*

Type: number

The total penalty for the first edge of every run.

global_proximity*

Type: number

Global proximity level of route(s): average possible distance from the last location in route, kilometers.

last_edges_penalty*

Type: number

The total penalty for the last edge of every run.

late_depot_count*

Type: integer

Number of arrivals to a depot later than the specified time window.

late_locations_count*

Type: integer

Number of locations where arrival will happen later than the picked time window.

late_shifts_count*

Type: integer

Number of shifts where arrival will happen later than the specified time window.

lateness_risk_locations_count*

Type: integer

Number of locations and deadlines with a risk of late arrival.

max_distance_from_depot_m*

Type: number

Maximal distance from order location to the depot.

max_distance_to_attraction_point_m*

Type: number

Maximal distance from order location to the global_proximity_attraction_point.

max_distance_to_garage_m*

Type: number

Maximal distance from order location to the depot.

objective_minimum*

Type: number

Minimum of optimization objective.

overtime_duration_penalty*

Type: number

Sum of per minute penalties applied for violating of maximal shift duration.

overtime_duration_s*

Type: number

Total shift overtime duration in seconds.

overtime_penalty*

Type: number

Sum of penalties applied for violating of maximal shift duration.

overtime_shifts_count*

Type: integer

Number of shifts where duration is more than max_duration_s.

overtime_shifts_count_penalty*

Type: number

Sum of fixed penalties applied for violating of maximal shift duration.

proximity*

Type: number

Proximity level of route(s): average possible distance between two locations en route, kilometers.

total_cost*

Type: number

Total of all expenses.

total_cost_with_penalty*

Type: number

Total expectation of all expenses including guaranteed and probable penalties.

total_drop_penalty*

Type: number

Sum of dropped locations penalties per drop.

total_duration_cost*

Type: number

Total of all used couriers costs per duration of usage.

total_duration_s*

Type: number

Total duration including transit, service and waiting time, seconds.

total_early_count*

Type: integer

Total number of arrivals earlier than the picked time window.

total_early_duration_s*

Type: number

Total duration of early arrivals, sum of (start of the time window) - (arrival time), seconds.

total_early_penalty*

Type: number

Sum of penalties applied for arriving and serving at location earlier than the picked time window.

total_empty_distance_m*

Type: number

Total distance traveled without any orders in vehicle.

total_failed_delivery_deadline_count*

Type: number

Total number of failed deadlines.

total_failed_delivery_deadline_duration_s*

Type: number

Total duration of deadlines fails, seconds.

total_failed_delivery_deadline_penalty*

Type: number

Sum of penalties applied for arriving and serving at depot after the deadline.

total_failed_time_window_count*

Type: integer

Total number of time window fails (sum of total_early_count and total_late_count).

total_failed_time_window_duration_s*

Type: number

Total duration of time window fails (sum of total_early_duration_s and total_late_duration_s), seconds.

total_failed_time_window_penalty*

Type: number

Sum of penalties applied for being out of the time window at location, shift or depot.

total_fails_penalty*

Type: number

Sum of fails penalties

total_fixed_cost*

Type: number

Total of all used couriers fixed costs.

total_global_proximity_distance_m*

Type: number

Total global proximity distance, meters.

total_global_proximity_duration_s*

Type: number

Total global proximity duration, seconds.

total_global_proximity_penalty*

Type: number

Sum of global proximity penalties.

total_guaranteed_penalty*

Type: number

Total of all guaranteed penalties.

total_late_count*

Type: integer

Total number of arrivals later than the picked time window.

total_late_duration_s*

Type: number

Total duration of late arrivals, sum of (arrival time) - (end of the time window), seconds.

total_late_penalty*

Type: number

Sum of penalties applied for arriving and serving at location later than the picked time window.

total_lateness_risk_probability*

Type: number

Sum of all probabilities of being late on locations and deadlines.

total_locations_cost*

Type: number

Total of all used couriers costs per location.

total_middle_depots*

Type: integer

Number of middle depots.

total_mileage_penalty*

Type: number

Total penalties applied for mileage limit violation.

total_min_stop_weight_penalty*

Type: number

Total penalties applied for min_stop_weight violation.

total_non_empty_distance_m*

Type: number

Total distance traveled with at least one order in vehicle.

total_optional_tags_cost*

Type: number

The value added to the total cost by optional tags.

total_optional_zones_cost*

Type: number

The value added to the total cost by optional zones.

total_penalty*

Type: number

Sum of guaranteed and probable penalties.

total_probable_penalty*

Type: number

Expected total of all probable penalties.

total_proximity_distance_m*

Type: number

Total proximity distance, meters.

total_proximity_duration_s*

Type: number

Total proximity duration, seconds.

total_proximity_penalty*

Type: number

Sum of proximity penalties.

total_rest_duration_s*

Type: number

Total duration of work breaks, seconds

total_runs_cost*

Type: number

Total of all used couriers costs per run.

total_served_orders*

Type: number

The total number of orders served.

Min value: 0

total_service_duration_s*

Type: number

Total duration of service at locations, seconds.

total_soft_depot_expiring_time_penalty*

Type: number

Total penalty for violating the soft_depot_expiring_time.

total_soft_depot_ready_time_penalty*

Type: number

Total penalty for violating the soft_depot_ready_time.

total_stop_count_penalty*

Type: number

Total penalties applied for stop count limit violation.

total_stops*

Type: integer

Number of courier stops - different sequential order locations en route.

total_trailer_rolling_cost*

Type: number

Total penalty for rolling orders from the trailer to the head.

total_trailer_rolling_count*

Type: number

Total number of rollings orders from the trailer to the head.

total_trailer_transit_distance_m*

Type: number

Total transit distance with the coupled trailer, meters.

total_trailer_transit_duration_s*

Type: number

Total transit with the coupled trailer duration (driving duration), seconds.

total_transit_distance_cost*

Type: number

Total of all used couriers costs per transit distance.

total_transit_distance_m*

Type: number

Total transit distance, meters. If routing_mode is set to transit, only pedestrian distance part of routes is considered.

total_transit_duration_s*

Type: number

Total transit duration (driving duration), seconds.

total_transport_work_cost*

Type: number

Total transport work cost (transport cost for each courier is taken with specified weight).

total_transport_work_tonne_km*

Type: number

Total transport work (product of cargo weight and route length), tonne-km.

total_unfeasibility_count*

Type: number

Number of locations which violate strict constraints but cannot be dropped.

total_unfeasibility_penalty*

Type: number

Sum of location drop penalties applied for locations which violate strict constraints but cannot be dropped.

total_unique_stops*

Type: integer

Number of courier stops with unique coordinates excluding depots and garages.

total_units*

Type: number

Total weight of orders in the route in units.

total_unused_depot_penalty*

Type: number

The total penalty for unused depots in routes (nothing is loaded or unloaded).

total_unused_ending_depot_count*

Type: number

The total count of unused ending depots in routes.

total_unused_middle_depot_count*

Type: number

The total count of unused middle depots in routes.

total_unused_starting_depot_count*

Type: number

The total count of unused starting depots in routes.

total_volume_m3*

Type: number

Total volume of orders in the route, cubic meters.

total_waiting_duration_s*

Type: number

Total duration of waiting at locations before travel to other locations or the start of the time window, seconds.

total_walking_distance_m*

Type: number

Total walking distance of the walking_courier, meters.

total_walking_duration_s*

Type: number

Total walking duration of the walking_courier, seconds.

total_walking_edge_distance_excess*

Type: number

Total excess of the allowed maximum length of walking edges.

total_walking_edge_penalty*

Type: number

Total penalty for exceeding the maximum length of walking edges.

total_weight_kg*

Type: number

Total weight of orders in the route, kilograms.

total_work_breaks*

Type: integer

Total number of work breaks.

total_working_duration_s*

Type: number

Total working duration (i.e. total routes duration without work breaks duration), seconds

transit_time_penalty*

Type: number

Penalty for transit time violation.

utilization_units*

Type: number

Vehicle utilization, units.

utilization_units_perc*

Type: number

Vehicle units utilization, percent.

utilization_volume_m3*

Type: number

Vehicle volume utilization, cubic meters.

utilization_volume_perc*

Type: number

Vehicle volume utilization, percent.

utilization_weight_kg*

Type: number

Vehicle weight utilization, kilograms.

utilization_weight_perc*

Type: number

Vehicle weight utilization, percent.

working_overtime_duration_penalty*

Type: number

Sum of per minute penalties applied for violating of maximal work duration in shift.

working_overtime_duration_s*

Type: number

Total shift overtime working duration in seconds.

working_overtime_penalty*

Type: number

Sum of penalties applied for violating of maximal shift working duration.

working_overtime_shift_count*

Type: integer

Number of shifts where working duration is more than max_working_duration_s.

working_overtime_shift_count_penalty*

Type: number

Sum of fixed penalties applied for violating of maximal shift working duration.

dropped_orders_units

Type: number

Total weight of orders in the route in units.

dropped_orders_volume_m3

Type: number

Total volume of orders in the route, cubic meters.

dropped_orders_weight_kg

Type: number

Total weight of orders in the route, kilograms.

empty_runs_penalty

Type: number

Penalty for empty runs, which cannot be skipped because of actual visit times.

new_global_proximity

Type: number

New value of global_proximity metric after post optimization.

new_objective_minimum

Type: number

New value of objective_minimum metric after post optimization.

new_total_cost_with_penalty

Type: number

New value of total_cost_with_penalty metric after post optimization.

new_total_global_proximity_distance_m

Type: number

New value of total_global_proximity_distance_m metric after post optimization.

new_total_global_proximity_duration_s

Type: number

New value of total_global_proximity_duration_s metric after post optimization.

new_total_global_proximity_penalty

Type: number

New value of total_global_proximity_penalty metric after post optimization.

new_total_guaranteed_penalty

Type: number

New value of total_guaranteed_penalty metric after post optimization.

new_total_penalty

Type: number

New value of total_penalty metric after post optimization.

new_total_stop_count_penalty

Type: number

New value of total_stop_count_penalty metric after post optimization.

new_total_stops

Type: integer

New value of total_stops metric after post optimization.

old_global_proximity

Type: number

Old value of global_proximity metric after post optimization.

old_objective_minimum

Type: number

Old value of objective_minimum metric after post optimization.

old_total_cost_with_penalty

Type: number

Old value of total_cost_with_penalty metric after post optimization.

old_total_global_proximity_distance_m

Type: number

Old value of total_global_proximity_distance_m metric after post optimization.

old_total_global_proximity_duration_s

Type: number

Old value of total_global_proximity_duration_s metric after post optimization.

old_total_global_proximity_penalty

Type: number

Old value of total_global_proximity_penalty metric after post optimization.

old_total_guaranteed_penalty

Type: number

Old value of total_guaranteed_penalty metric after post optimization.

old_total_penalty

Type: number

Old value of total_penalty metric after post optimization.

old_total_stop_count_penalty

Type: number

Old value of total_stop_count_penalty metric after post optimization.

old_total_stops

Type: integer

Old value of total_stops metric after post optimization.

route_custom_cost

Type: number

Cost of custom defined expenses for route. For vehicles, the entire cost placed in metrics of route first run.

route_payout

Type: number

Payout to courier of custom defined expenses for route. For vehicles, the entire payout placed in metrics of route first run.

run_custom_cost

Type: number

Cost of custom defined expenses for run.

run_payout

Type: number

Payout to courier of custom defined expenses for run.

shift_custom_cost

Type: number

Cost of custom defined expenses for shift. For vehicles, the entire cost placed in metrics of shift first run.

shift_payout

Type: number

Payout to courier of custom defined expenses for shift. For vehicles, the entire payout placed in metrics of shift first run.

shift_total_custom_cost

Type: number

Total cost of custom defined expenses for shift. Includes cost of the shift and the cost of runs included in the shift. For vehicles, the entire cost placed in metrics of shift first run.

shift_total_payout

Type: number

Total payout to courier of custom defined expenses for shift. Includes payout of the shift and the payout of runs included in the shift. For vehicles, the entire payout placed in metrics of shift first run.

total_custom_cost

Type: number

Total cost of all custom defined expenses. Includes expenses for the route, shifts and runs. For vehicles, the entire route cost placed in metrics of first run.

total_depot_penalty

Type: number

Sum of depot penalties.

total_multiorders_penalty

Type: number

Total penalty for extra visits to multiorder points.

total_payout

Type: number

Total amount of payouts to couriers. For vehicles, the entire payment for the route placed in metrics of first run.

unfeasible_couple_coupled_trailer_penalty

Type: number

Unfeasible penalty for coupling of coupled trailer.

unfeasible_crossdock_missed_delivery_penalty

Type: number

Unfeasible penalty for missed delivery in crossdock.

unfeasible_decouple_decoupled_trailer_penalty

Type: number

Unfeasible penalty for decoupling of decoupled trailer.

unfeasible_decouple_unused_trailer_penalty

Type: number

Unfeasible penalty for decoupling of unused trailer.

unfeasible_depots_only_at_run_beginning_penalty

Type: number

Unfeasible penalty for failed depots_only_at_run_beginning restriction.

unfeasible_empty_first_run_penalty

Type: number

Unfeasible penalty for empty first shift run.

unfeasible_failed_dependent_group_penalty

Type: number

Unfeasible penalty for failed dependent_group.

unfeasible_failed_expiring_time_penalty

Type: number

Unfeasible penalty for failed expiring_time.

unfeasible_failed_hard_time_window_penalty

Type: number

Unfeasible penalty for failed hard_time_window.

unfeasible_failed_lifo_order_penalty

Type: number

Unfeasible penalty for failed LIFO order.

unfeasible_failed_ready_time_penalty

Type: number

Unfeasible penalty for failed ready_time.

unfeasible_failed_sequence_order_penalty

Type: number

Unfeasible penalty for failed sequence_order.

unfeasible_failed_solid_group_penalty

Type: number

Unfeasible penalty for failed solid group.

unfeasible_incompatible_load_types_penalty

Type: number

Unfeasible penalty for incompatible load types.

unfeasible_incompatible_zones_penalty

Type: number

Unfeasible penalty for incompatible zones.

unfeasible_invalid_pickup_delivery_order_penalty

Type: number

Unfeasible penalty for wrong order of serving pickup-delivery order.

unfeasible_max_midde_depots_penalty

Type: number

Unfeasible penalty for failed max_middle_depots restriction.

unfeasible_missed_coupled_delivery_penalty

Type: number

Unfeasible penalty for serving pickup without coupled delivery in route.

unfeasible_missed_coupled_pickup_from_any_penalty

Type: number

Unfeasible penalty for missed pickup_from_any pickup.

unfeasible_missed_coupled_pickup_penalty

Type: number

Unfeasible penalty for serving delivery without coupled pickup in route.

unfeasible_missed_dependent_group_locations_penalty

Type: number

Unfeasible penalty for missed locations from dependent group.

unfeasible_missed_planned_runs_penalty

Type: number

Unfeasible penalty for missed planned runs.

unfeasible_not_loaded_order_penalty

Type: number

Unfeasible penalty for serving order which was not loaded to the courier.

unfeasible_not_same_depot_route_ending_penalty

Type: number

Unfeasible penalty for failed finish_route_in_starting_depot restriction.

unfeasible_not_same_depot_run_ending_penalty

Type: number

Unfeasible penalty for failed finish_run_in_starting_depot restriction.

unfeasible_pickup_missed_depot_penalty

Type: number

Unfeasible penalty for pickup without relevant depot.

unfeasible_pickup_missed_drop_off_penalty

Type: number

Unfeasible penalty for pickup without relevant drop_off.

unfeasible_planned_overload_penalty

Type: number

Unfeasible penalty for courier or vehicle planned overload.

unfeasible_rolling_before_decoupling_penalty

Type: number

Unfeasible penalty for rolling trailer before decoupling it.

unfeasible_rolling_without_trailer_penalty

Type: number

Unfeasible penalty for rolling without trailer.

unfeasible_shift_overtime_penalty

Type: number

Unfeasible penalty for hard restricted shift overtime.

unfeasible_shift_too_many_runs_penalty

Type: number

Unfeasible penalty for exceeding the limit on number of runs in shift

unfeasible_shift_working_overtime_penalty

Type: number

Unfeasible penalty for hard restricted shift working overtime.

unfeasible_trailer_diff_excess_penalty

Type: number

Unfeasible penalty for load diff between vehicle and trailer.

unfeasible_transit_time_excess_penalty

Type: number

Unfeasible penalty for transit time violation.

unfeasible_use_trailer_prohibited_location_penalty

Type: number

Unfeasible penalty for trailer usage in location which not allow it.

unfeasible_vehicle_overload_penalty

Type: number

Unfeasible penalty for courier or vehicle overload.

unfeasible_vehicle_too_many_runs_penalty

Type: number

Unfeasible penalty for exceeding the limit on number of runs in route

unfeasible_walking_after_route_end_penalty

Type: number

Unfeasible penalty for ending route with vehicle leftout on parking.

unfeasible_walking_courier_overload_penalty

Type: number

Unfeasible penalty for walking courier overload.

unfeasible_walking_to_depot_penalty

Type: number

Unfeasible penalty for visiting depot without vehicle.

unfeasible_work_break_drop_penalty

Type: number

Unfeasible penalty for work break drop.

route_element_1

Route node, contains information about a visited location or a work break, transit information and arrival time.

Name

Description

arrival_time_s*

Type: number

Arrival time at the location. Arrival happened before the start of the time window, will incur waiting time.

departure_time_s*

Type: number

Time of departure from the location.

node*

Type: route_node_depot or route_node_location_1 or route_node_work_break or route_node_courier_position

Route component.

transit_distance_m*

Type: number

Transit distance to a location, meters. If routing_mode is set to transit, only pedestrian distance part of the route is considered.

transit_duration_s*

Type: number

Transit time to a location, seconds.

actual_arrival_time_s

Type: number

Actual arrival time at the location.

actual_departure_time_s

Type: number

Actual time of departure from the location.

actual_service_start_time_s

Type: number

Actual time of service start in the location.

failed_time_window

Type: route_element_1_failed_time_window

hidden

Type: boolean

The location is a depot or a garage, added automatically at the beginning of the visited part with specified time.

Default:

is_after_service_work_break

Type: boolean

Node follows a break, being made during location service time.

Default:

load_to_head

Type: (integer or string)[]

List of orders that should be loaded to the head of the vehicle at depot or anchor location, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

load_to_trailer

Type: (integer or string)[]

List of orders that should be loaded to the trailer of the vehicle at depot, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

multi_order

Type: boolean

An order is one of several orders at exactly the same location which are served together. Arrival time is the same for all orders in the group, also the orders share shared_service_duration_s. Total service duration of all orders in multi-order group is computed as: max(shared_service_duration_s) + sum(service_duration_s).

Default:

overtime

Type: route_element_1_overtime

probably_failed_time_window

Type: route_element_1_probably_failed_time_window

service_start_time_s

Type: number

Time of service start in the location.

stop_sequence_number

Type: integer

Sequence number of a stop (among delivery, pickup and drop_off locations).

violations

Type: (route_element_1_violations_0 or route_element_1_violations_1)[]

List of violations.

waiting_duration_s

Type: number

Waiting duration, time spent at location after arrival and before the start of the time window, seconds.

mvrp_response_routes_global_proximity_attraction_point

Location of order to deliver from depot.

Name

Description

id*

Type: integer or string

Location ID. All locations IDs in task must be unique and have the same type: integer or string. More information

point*

Type: coordinate_2

WGS84 coordinate of a location. More information

address

Type: string

Address of the location.

allow_trailers

Type: boolean

When true, vehicles with trailers can arrive at this location. More informationOtherwise, they will have to leave the trailer at an anchor location beforehand. More information

Default:

can_be_merged

Type: boolean

An order can be a part of multiorder. More information

Default:

can_be_split

Type: boolean

An order can be split into parts between different couriers. More information

Default:

can_have_rest_during_service

Type: boolean

It is allowed to make breaks during order service time.

Default:

client_id

Type: integer or string

Defines id of a client corresponding to the order. More information

client_service_duration_s

Type: client_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders of the same client (same client_id) at exactly the same location. More information

comments

Type: string

Comments.

crossdock_mode

Type: string

Defines whether it is allowed to deliver this order through a cross-dock depot.

  • deny — prohibited, can only be delivered from a regular depot;
  • allow — allowed, can be delivered either directly from a regular depot or through a cross-dock depot;
  • mandatory — required, can only be delivered through a cross-dock depot. More information

Default: allow

Enum: deny, allow, mandatory

crossdock_service_duration_s

Type: crossdock_service_duration_0 or number

Time spent at a cross dock during the unloading of this order. More information

custom_value

Type: number

A custom numeric value, associated with order. E.g. the reward for the courier for delivering the order. May be used as a component in vehicle cost function. More information

delivery_deadline

Type: string

Time by which the pickup order without specified delivery_to field should be delivered to any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

delivery_to

Type: integer or string

Defines id of a location where to deliver the shipment.More information

delivery_to_any

Type: (integer or string)[]

A list of drop_off location ID's, the pickup order must be delivered to any of these locations. More information
Reference to a location specified in locations. More information

depot_duration_s

Type: depot_duration_0 or number

Time spent at a depot during handling of this location (goods loading, document collection, etc.). More information

depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

depot_id

Type: integer or string or array

depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

description

Type: string

Location description.

dropped_ratio

Type: number

Order ratio which have to stay in drop. More information

Min value: 0

Max value: 1

garage_loading_mode

Type: string

Property to control whether a order can be loaded or unloaded in the garage.* default - the order can be loaded/unloaded in the garage if it does not have any of the restrictions depot_id, depot_ready_time, depot_expiring_time for delivery and depot_id, pickup_must_reach_depot, delivery_deadline for pickup specified.* allowed - the order can be loaded/unloaded in the garage. In this case, the depot_ready_time, depot_expiring_time and delivery_deadline for the garage will be evaluated the same as if it were a depot.* forbidden - the order is prohibited from loading/unloading in the garage. More information

Default: default

Enum: default, allowed, forbidden

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Restricts time window violation during route planning. If order cannot be delivered within a specified time window, it will be excluded from the route and added to dropped_orders field in the response. This field is useful to model orders that cannot be completed within the time window, (e.g. due to conflicts with other orders). More information

Default:

ignore_zones_compatibility

Type: boolean

Ignore the effects caused by the incompatible_zones, allowed_zones, forbidden_zones, optional_zones properties for the location.

Default:

in_lifo_order

Type: boolean

Orders with this field set to true are not allowed to move inside the vehicle and should be delivered in the reversed order of their pickups. Locations with this field set to false can appear anywhere in the route. This field only matters if both pickups and deliveries are present in route. More information

Default:

load_types

Type: string[]

Defines order types. Must not be defined for garage location type.
Type of load. More information

max_split_parts

Type: integer

Maximal number of parts in which the order can be split. More information

Default: 10

Min value: 1

max_total_vehicles

Type: integer

Maximal number of vehicles that can be served by an anchor location. Unlimited by default. More information

Min value: 0

may_drop_in_crossdock

Type: boolean

May drop pickup order in crossdock location. More information

Default:

optional_tags

Type: routes_global_proximity_attraction_point_optional_tags_item[]

List of tags which are not required for a courier to deliver the order, but they can decrease or increase the route cost if matched. More information
An optional tag with bonus or penalty.

parking_service_duration_s

Type: number

Duration of parking at location. If the order is delivered using routing_mode walking or transit, this time will not be spent. If the location is used as a parking before the walking part, then the time will be spent once.

Default: 0

Min value: 0

Max value: 3153600000

penalty

Type: routes_global_proximity_attraction_point_penalty_1

Penalty components for non-completion and time window violation. More information

phone

Type: string

Phone number of the client.

pickup_from_any

Type: boolean

Delivery-orders that have this field set to true must have multiple pickup orders associated with it. Any one of these pickup orders can be selected for delivery, and the rest will be ignored. The choice among the options is based on optimizing the cost of the route. More information

Default:

pickup_must_reach_depot

Type: boolean

The field determines whether the pickup order is considered delivered if it is not delivered to depot. The field can be defined only for pickup orders. The field is mutually exclusive with fields delivery_to and delivery_to_any. If depot_id is defined and not empty then the field is considered as true and the value false in not acceptable. More information

Default:

preset_id

Type: string

Preset number for location properties. More information

quant

Type: number or global_proximity_attraction_point_quant_0_1

ref

Type: string

Location reference.

required_tags

Type: string[]

List of tags a courier must have to deliver the order. More information
An arbitrary tag. More information

return_to

Type: integer or string

Defines id of a location where to return after delivery.

rolling_throughput

Type: routes_global_proximity_attraction_point_rolling_throughput

Rolling throughput limit (supported for anchors).

sequence_order

Type: integer

All locations in vehicle route with specified sequence_order option have to be visited in non-decreasing order of its values. More information

service_duration_s

Type: service_duration_2_0 or number

Duration of service at location. Service duration can include any operations at location, such as loading or unloading items from a vehicle, or any other time associated with a location (apart from waiting, which is time after arrival and before service).More information

service_durations

Type: service_durations

Structure storing location service durations. More information

shared_service_duration_s

Type: shared_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders at exactly the same location. Shared service duration can include such operations as parking of a car, delivering documents, etc. More information

shared_with_company_ids

Type: integer[]

IDs of the companies that can access the order information. More information

Min value: 0

shipment_size

Type: routes_global_proximity_attraction_point_shipment_size

Shipment size (dimensions and/or weight). More information

soft_depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

soft_depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

split_parts_must_fill_whole_vehicle

Type: boolean

Parts, split from a splittable order, should fill the whole vehicle. More information

Default:

throughput

Type: routes_global_proximity_attraction_point_throughput

Location throughput limit (supported for the orders which can be split). More information

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: routes_global_proximity_attraction_point_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

title

Type: string

Location title.

transit_time

Type: routes_global_proximity_attraction_point_transit_time

Restrictions on the time the order spends inside a vehicle. More information

type

Type: string

Defines a type of service at the location:

  • delivery — the load is picked up at the depot or at another location, and delivered to this location;
  • pickup — the load is picked up at this location, and delivered to another location (if delivery_to is specified), or to the depot;
  • drop_off — a pickup location may be delivered to any of related drop_off locations (see delivery_to_any);
  • garage — a location which can be used as the first or the last vehicle location via start_at or finish_at vehicle option;
  • anchor — a location where trailers can be dropped and unloaded;
  • parking — a location where trailers can be dropped to serve a single other location. Trailers can not be unloaded there.
  • rest_place — a designated location where a vehicle can break work in cases when the work_break has the attribute at_rest_place.
  • return - the place to return to after pickup-delivery. More information

Default: delivery

Enum: depot, crossdock, delivery, pickup, return, drop_off, garage, anchor, parking, courier

use_in_proximity

Type: boolean

When false, this location will be ignored in computation of proximity and global_proximity. More information

Default:

mvrp_response_routes_shift

Name

Description

id*

Type: string

Unique identifier of a shift.

balanced_group_id

Type: string

ID of a corresponding balanced group of routes (see the option balanced_groups). More information

end

Type: routes_shift_end_1

Route node, contains information about a visited location or a work break, transit information and arrival time.

start

Type: routes_shift_start_1

Route node, contains information about a visited location or a work break, transit information and arrival time.

vehicle_capacity

Vehicle capacity. More information

Name

Description

custom

Type: number

Amount of custom units a vehicle is able to carry. Capacities in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a non-negative floating-point number denoting the vehicle capacity with respect to this unit. If the name of a unit is present in objects (locations/vehicles/trailers), but not this, it is assumed that the capacity is unlimited.

Min value: 0

limits

Type: vehicle_capacity_limits

Vehicle load limits.

units

Type: number

Amount of custom units a vehicle is able to carry.

Default: 1000000000

Min value: 0

volume

Type: vehicle_capacity_volume

Vehicle dimensions.

volume_cbm

Type: number

Volume a vehicle is able to fit, cubic meters.

Min value: 0

weight_kg

Type: number

Weight a vehicle is able to carry, kilograms.

Default: 1000000000

Min value: 0

vehicle_close_locations_item

Name

Description

distance_till_service_m

Type: vehicle_close_locations_distance_till_service_m

duration_till_service_s

Type: vehicle_close_locations_duration_till_service_s

routing_mode

Type: string

Transportation method is used to determine close locations. This parameter can be used only if the walking_courier field is defined for the courier. In this case, the values walking and the value of the main transportation method of the courier are acceptable. More information

Enum: driving, truck, walking, transit, bicycle

search_radius_m

Type: number

Maximum distance between two locations in meters at which locations on which the restriction is applied. More information

Default: 0

Min value: 0

Max value: 1000000000

soft_search_radius_m

Type: number

If value is greater than the value of the search_radius_m for locations at distances from search_radius_m to soft_search_radius_m, the penalty is linear reduced down to 0. More information

Default: 0

Min value: 0

Max value: 1000000000

vehicle_cost_0

Courier cost. More information

Name

Description

fixed

Type: number

Cost per fact of courier use (cost occurred if courier is included in route).

Default: 3000

Min value: 0

hour

Type: number

Cost of using courier per hour. It should not be zero or very small, otherwise you may get routes which are not optimal in terms of time.

Default: 100

Min value: 0

km

Type: number

Cost of using courier per kilometer. It should not be zero or very small, otherwise you may get routes which are not optimal in terms of distance.

Default: 8

Min value: 0

location

Type: number

Cost of using courier per location (default 0).

Default: 0

Min value: 0

run

Type: number

Cost per single courier run from depot to locations.

Default: 0

Min value: 0

tonne_km

Type: number

Cost of carrying one tonne for one kilometer (default 0).

Default: 0

Min value: 0

waiting_hour

Type: number

Cost of waiting per hour. If not defined, the value specified in the hour field is used.

Min value: 0

vehicle_cost_1

Description of the cost of using the courier with the possibility of specifying arithmetic expressions for individual parts of the route. The total cost will be obtained as the sum of all the specified expressions for all parts included in the route. More information

Name

Description

route

Type: string

Arithmetic expression representing route cost

run

Type: string

Arithmetic expression representing run cost

shift

Type: string

Arithmetic expression representing shift cost

vehicle_optional_zones_item

An optional tag with bonus.

Name

Description

value*

Type: number

Value of the zone. This value is subtracted from the route cost for any served location with a matching zone.For location with multiple matching zones will be chosen the maximum bonus. More information

zone*

Type: string

Zone number. More information

Min length: 1

Max length: 80

vehicle_payout_0

Description of the payout to the courier for completing the route with the possibility of specifying arithmetic expressions for individual parts of the route. The total payout will be obtained as the sum of all the specified expressions for all parts included in the route. More information

Name

Description

route

Type: string

Arithmetic expression representing route cost

run

Type: string

Arithmetic expression representing run cost

shift

Type: string

Arithmetic expression representing shift cost

vehicle_penalty

Penalties for vehicle limitations violation.

Name

Description

arrival_after_start

Type: vehicle_penalty_arrival_after_start

Penalty components for arrived after beginning of time window. More information

empty_runs

Type: vehicle_penalty_empty_runs

Penalty components for empty runs, which cannot be skipped because of actual visit times.

min_stop_weight

Type: vehicle_penalty_min_stop_weight

Penalty components for insufficient total orders weight in point. More information

vehicle_planned_route

A planned courier route, should be used to assign already chosen locations to vehicles. These locations will not be dropped even if some strict constraint(s) is violated and will be served by the courier. The order of locations provided in this option can be changed for optimization of final route. By default shifts assigned to planned locations can be changed as well. They can be fixed with fix_planned_shifts solver option. More information

Name

Description

locations*

Type: vehicle_planned_route_locations_item[]

A planned order of locations in a courier route including all shifts and multiple runs. If the list of shifts (see shifts) is provided for the courier, you have to specify a valid shift_id for every location in the route.

planned_runs_first

Type: boolean

It is necessary to visit all depots, listed in planned_route, before making non-planned runs.

Default:

start_time

Type: string or array

vehicle_proximity_edge_cost

Cost of proximity-edges for the constraints specified by the fields proximity_factorandglobal_proximity_factor. If not specified, then the edge cost values ​​specified in the cost` field of the vehicle are used.

Name

Description

hour*

Type: number

The cost of one hour of proximity-edge.

Min value: 0

km*

Type: number

The cost of one kilometer of proximity-edge

Min value: 0

vehicle_rest_schedule

Schedule of rest breaks. More information

Name

Description

breaks*

Type: (rest_schedule_breaks_0_1 or rest_schedule_breaks_1_1)[]

List of consequent rest breaks. More information

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

penalty

Type: vehicle_rest_schedule_penalty

Penalties applied for violations of work break conditions. More information

vehicle_shifts_item

Courier shift. More information

Name

Description

id*

Type: string

Unique identifier of a shift.

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

balanced_group_id

Type: string

ID of a corresponding balanced group of routes (see the option balanced_groups). More information

hard_max_duration_s

Type: number

Hard limit on the maximum shift duration in seconds. If both max_duration_s and hard_max_duration_s are present, the value of hard_max_duration_s should be greater or equal to the value of max_duration_s.More information

Default: 2592000

Min value: 0

Max value: 3153600000

hard_max_working_duration_s

Type: number

Hard limit on the maximum shift working duration (i.e. duration excluding work breaks) in seconds. If both max_working_duration_s and hard_max_working_duration_s are present, the value of hard_max_working_duration_s should be greater or equal to the value of max_working_duration_s.

Min value: 0

Max value: 3153600000

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Restricts time window relaxation during route planning. When true, vehicles are allowed to finish a shift only within the specified time window. More information

Default:

immutable

Type: boolean

All routes for this shift, specified in initial_routes, are used without changes, new runs can not be added. More information

Default:

max_duration_s

Type: number

Maximal duration of a shift in seconds. If a planned shift duration is greater than specified, the shift out of time penalties are applied. More information

Default: 172800

Min value: 0

Max value: 3153600000

max_mileage_km

Type: number

Maximal mileage of the vehicle during the shift in kilometers. If a planned mileage is greater than this value, the penalties from a shift parameter penalty.max_mileage are applied. More information

Min value: 0

max_runs

Type: integer

Maximal number of the courier runs from the depot to locations in shift. More information

Default: 1

max_working_duration_s

Type: number

Maximal working duration of a shift (i.e. duration excluding work breaks) in seconds.

Min value: 0

Max value: 3153600000

maximal_stops

Type: integer

Maximal number of shift stops, if the final stop count is greater than this value, stop_excess penalties are applied. More information

Default: 0

Min value: 0

minimal_stops

Type: integer

Minimal number of shift stops, if the final stop count is less than this value, stop_lack penalties are applied. More information

Default: 0

Min value: 0

minimal_unique_stops

Type: integer

Minimal number of shift stops with unique coordinates, if the final stop count is less than this value, unique_stop_lack penalties are applied. More information

Default: 0

Min value: 0

penalty

Type: vehicle_shifts_penalty

Penalties for shift constraints violation. More information

preset_id

Type: string

Preset number for vehicle shift. More information

rest_schedule

Type: vehicle_shifts_rest_schedule

Schedule of rest breaks. More information

rest_schedule_id

Type: string

ID of a rest schedule template used in this courier.

run_restrictions

Type: vehicle_shifts_run_restrictions

Restrictions for on each run in shift.

service_duration_s

Type: number

Duration of service in between shifts (in seconds). It can include any operations needed to finish the shift, such as time to change a driver, exchange papers etc. (default: 0). More information

Default: 0

Min value: 0

Max value: 3153600000

start_shift_from_first_order

Type: boolean or string

vehicle_specs

Vehicle specification. More information

Name

Description

height

Type: number

Height of the vehicle, meters.

Min value: 0

length

Type: number

Length of the vehicle, meters.

Min value: 0

max_weight

Type: number

Maximum weight of the vehicle, tons.

Min value: 0

max_weight_kg

Type: number

Maximum weight of the vehicle, kilograms. When solving the problem, the characteristic will be rounded up to tons.If both characteristics are set max_weight and max_weight_kg, `max_weight will be used.

Min value: 0

width

Type: number

Width of the vehicle, meters.

Min value: 0

vehicle_trailer

Trailer specification. Usage of trailer with walking_courier is forbidden.More information

Name

Description

capacity

Type: vehicle_trailer_capacity

Trailer capacity.

cost

Type: vehicle_trailer_cost

Trailer cost.

coupling_time_s

Type: number

Extra time to couple the trailer, seconds.

Default: 0

Min value: 0

Max value: 3153600000

decoupling_time_s

Type: number

Extra time to decouple the trailer, seconds.

Default: 0

Min value: 0

Max value: 3153600000

max_capacity_difference

Type: vehicle_trailer_max_capacity_difference

The maximum difference between the loading of the trailer and the head. More information

rolling_cost

Type: number

Penalty for each rolling of goods from the trailer to the head.

Default: 0

Min value: 0

rolling_time

Type: vehicle_trailer_rolling_time

Time for loading shipments from trailer to head. In case multiple types of time are specified, the one that takes the most time is chosen. In case none of them is specified, only fixed loading time is used.

vehicle_visited_locations_item

Name

Description

id*

Type: integer or string

Reference to a location specified in locations. More information

delivered_orders

Type: (integer or string)[]

List of IDs of orders delivered to the drop_off, depot or cross dock for delivery to the destination. More information
Reference to a location specified in locations. More information

order_ratio

Type: number

Split ratio of an order or a work break, included in this part.

shift_id

Type: string

Unique identifier of a shift.

time

Type: string

Time of departure from a location, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z.

wait_if_early

Type: boolean

This option determines what happens if a courier arrives to the planned location early. When true, the courier will wait until the start of a location's time window before serving. When false, it will serve the location immediately. Should be true in the case of hard time window(s). More information

Default:

vehicle_walking_courier

Description of a pedestrian courier. Usage of walking_courier in vehicle with trailer is forbidden.

Name

Description

capacity

Type: vehicle_walking_courier_capacity

Capacity of a courier

cost

Type: vehicle_walking_courier_cost

Courier work cost.

restrictions

Type: vehicle_walking_courier_restrictions

detailed_cost_1_raw_metrics_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: detailed_cost_1_raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: detailed_cost_1_raw_metrics_subcosts_item[]

The value of an arbitrary cost.

detailed_cost_1_subcosts_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: detailed_cost_1_subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: detailed_cost_1_subcosts_subcosts_item[]

The value of an arbitrary cost.

mvrp_response_zones_geometry

Name

Description

coordinates

Type: number[][][]

Always consists of two elements: longitude and lattitude.

type

Type: string

Always equals Polygon.

dropped_locations_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the depot is visited after the deadline.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the depot is visited after the deadline.

Default: 17

dropped_locations_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

dropped_locations_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

penalty_drop_0_3

Name

Description

fixed

Type: number

Fixed penalty for not delivering any part of the order. More information

Default: 0

scaled

Type: number

Penalty for not delivering order ratio. More information

Default: 1000000

dropped_locations_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

dropped_locations_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

dropped_locations_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

dropped_locations_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

dropped_locations_penalty_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

dropped_locations_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

Name

Description

fixed

Type: number

Penalty for each case of violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

dropped_locations_penalty_transit_time

Penalty components for exceeding transit time. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the order was delivered with a violation of the soft transit time limit.

minute

Type: number

Penalty for each minute transit time violation.

rolling_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

dropped_locations_shipment_size_volume

Shipment dimensions and type.

Name

Description

depth_m*

Type: number

Depth, meters.

Default: 0

Min value: 0

Max value: 1000000

height_m*

Type: number

Height, meters.

Default: 0

Min value: 0

Max value: 1000000

width_m*

Type: number

Width, meters.

Default: 0

Min value: 0

Max value: 1000000

align

Type: string

Defines allowed container alignment for rigid and fixed_bottom types (ignored for bulk containers):

  • all_axes — default, all axes of the box must be parallel to vehicle's axes;
  • height — the bottom of the box lies on a horizontal surface, but any rotation around the vertical axis (height) is allowed (note that any side can become a bottom for rigid containers). More information

Default: all_axes

Enum: all_axes, height

type

Type: string

Container type:

  • bulk — default type, shape can be changed arbitrary to fit the vehicle;
  • rigid — container is a box that must fit vehicle dimensions under some orientation;
  • fixed_bottom — the bottom of the box must stay the same, but the box can be rotated horizontally (height must fit vehicle's height). More information

Default: bulk

Enum: bulk, rigid, fixed_bottom

throughput_kg_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, kilograms per hour. More information

Min value: 0

throughput_units_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, custom units per hour. More information

Min value: 0

throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

solver_options_1_balanced_groups_penalty

Penalties for imbalanced routes. More information

Name

Description

custom_value

Type: number

Penalty per each custom_value unit of orders of root-sum-square deviation of a route custom_value unit of orders from an average number of custom_value unit of orders in a balanced group of routes.

Min value: 0

hour

Type: number

Penalty per hour of root-sum-square deviation of a route duration from an average duration of a balanced group of routes.

Min value: 0

ignore_unused_vehicles

Type: boolean

Ignore unused vehicles for the penalty calculation. More information

Default:

km

Type: number

Penalty per km of root-sum-square deviation of a route distance from an average distance of a balanced group of routes.

Min value: 0

served_order

Type: number

Penalty per each missing or extra served order of root-sum-square deviation of a route served order count from an average number of served order in a balanced group of routes.

Min value: 0

stop

Type: number

Penalty per each missing or extra stop of root-sum-square deviation of a route stop count from an average number of stops in a balanced group of routes.

Min value: 0

unit

Type: number

Penalty per each unit of orders weight of root-sum-square deviation of a route unit of orders weight from an average number of unit of orders weight in a balanced group of routes.

Min value: 0

weight_kg

Type: number

Penalty per each kg of orders weight of root-sum-square deviation of a route kg of orders weight from an average number of kg of orders weight in a balanced group of routes.

Min value: 0

solver_options_1_penalty_close_location_groups

Penalty components for extra visits to close location group poins. More information

Name

Description

per_extra_point

Type: number

Penalty for every point where vehicles/couriers arrive more than once.

Default: 0

Min value: 0

per_extra_vehicle

Type: number

Penalty for every extra vehicle/courier that arrives at close location group points.

Default: 0

Min value: 0

per_extra_visit

Type: number

Penalty for each extra visit to close location group points.

Default: 0

Min value: 0

solver_options_1_penalty_drop_penalty_percentage

Penalty components for max_drop_penalty_percentage violation. More information

Name

Description

fixed

Type: number

Fixed penalty applied if drop penalty ratio is too high.

Default: 1000

per_percent

Type: number

Penalty for each exceeding percent of drop penalty percentage.

Default: 50

solver_options_1_penalty_empty_run_before_full

Penalty components for underfilled runs before more filled ones.

Name

Description

scaled

Type: number

Penalty for each run after which there is a run with greater utilization. Multiplied by the difference between the utilization of a more filled entry and a less filled one.

Default: 0

Min value: 0

solver_options_1_penalty_multiorders

Penalty components for extra visits to multiorder poins. More information

Name

Description

per_extra_point

Type: number

Penalty for every point where couriers arrive more than once.

Default: 0

Min value: 0

per_extra_vehicle

Type: number

Penalty for every extra vehicle/courier that arrives at multi-order points.

Default: 0

Min value: 0

per_extra_visit

Type: number

Penalty for each extra visit to multi-order points.

Default: 0

Min value: 0

solver_options_1_penalty_small_order_part_before_big

Penalty components for smaller parts of split orders delivered before larger parts.

Name

Description

scaled

Type: number

Penalty for each pair of parts of the same order where the smaller part is delivered before the larger one. Multiplied by the difference between the share of the larger part of the entire order and the share of the smaller part.

Default: 0

Min value: 0

solver_options_1_penalty_split_orders_percentage

Penalty components for max_split_orders_percentage violation. More information

Name

Description

fixed

Type: number

Fixed penalty applied if split orders ratio is too high.

Default: 1000

per_percent

Type: number

Penalty for each exceeding percent of split orders percentage.

Default: 50

solver_options_1_penalty_unused_depot

Penalty for a depot that has no loaded/unloaded orders. More information

Name

Description

ending

Type: number

Component for each unused ending depot

Default: 0

middle

Type: number

Component for each unused middle depot.

Default: 10000

starting

Type: number

Component for each unused starting depot.

Default: 0

solver_options_1_points_throughputs_penalty

Name

Description

throughput

Type: points_throughputs_penalty_throughput

Penalty components for throughput exceeding. More information

solver_options_1_points_throughputs_point

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

solver_options_1_points_throughputs_throughput

Point throughput limit.

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

vehicle_count

Type: array or number

template_rest_schedules_breaks_0

Work break (old format). More information

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

continuous_travel_time_range

Type: string

Minimal and maximal duration of continuous travel time before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

driving_time_range

Type: string

Minimal and maximal duration of driving before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

exact_time_range

Type: string

The exact time range when the rest should start, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

travel_time_range

Type: string

Minimal and maximal duration of driving and waiting before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

type

Type: string

Type of work break.

work_time_range_from_start

Type: string

Minimal and maximal duration of time from start of route until rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

work_time_range_till_rest

Type: string

Minimal and maximal duration of work before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

template_rest_schedules_breaks_1

Work break (new format).

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

desired_work_duration

Type: number or string

Desired duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Solver would try to start a break according to this parameter, unless it leads to the cost increase. Format: number of seconds from the start of the work or [D.]HH[:MM[:SS]] ("05:30").

hard_time_range

Type: string

Hard limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

soft_time_range

Type: string

Soft limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

type

Type: string

Type of work break.

solver_options_1_template_rest_schedules_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: template_rest_schedules_penalty_early

Penalty components for early work break.

late

Type: template_rest_schedules_penalty_late

Penalty components for late work break.

route_node_depot

Route component.

Name

Description

type*

Type: string

Type of a route component.

Enum: depot

value*

Type: route_depot_location

Description of a location.

used_hard_time_window

Type: string

Hard time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

used_projection

Type: route_node_depot_used_projection

WGS84 coordinate of a location. More information

used_time_window

Type: string

Time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z.

route_node_location_1

Route component.

Name

Description

type*

Type: string

Type of a route component.

Enum: location

value*

Type: route_location_1

Description of a location.

used_hard_time_window

Type: string

Hard time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

used_projection

Type: route_node_location_1_used_projection

WGS84 coordinate of a location. More information

used_time_window

Type: string

Time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z.

route_node_work_break

Route component.

Name

Description

type*

Type: string

Type of a route component.

Enum: break

value*

Type: route_work_break_old_format or route_work_break_new_format

used_hard_time_window

Type: string

Hard time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

used_projection

Type: route_node_work_break_used_projection

WGS84 coordinate of a location. More information

used_time_window

Type: string

Time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z.

route_node_courier_position

Route component.

Name

Description

type*

Type: string

Type of a route component.

Enum: courier

value*

Type: route_courier_position

used_hard_time_window

Type: string

Hard time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

used_projection

Type: route_node_courier_position_used_projection

WGS84 coordinate of a location. More information

used_time_window

Type: string

Time window used to visit location or depot, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z.

route_element_1_failed_time_window

Name

Description

duration_s*

Type: number

When a location is visited outside of the time window, indicates the duration (in seconds) between the reference time and the closest endpoint of the failed time window. The reference time is the start or the end of service depending on penalize_late_service.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

route_element_1_overtime

Name

Description

duration_s*

Type: number

Courier shift overtime in seconds.

route_element_1_probably_failed_time_window

Name

Description

duration_s*

Type: number

Expected difference between arrival time and failing time window, seconds.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

probability*

Type: number

Probability of being outside of the time window, percent.

high_risk

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

route_element_1_violations_0

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

type*

Type: string

Possible reasons:

  • FAILED_DELIVERY_DEADLINE - depot is visited after deadline of some pickup.

Enum: FAILED_DELIVERY_DEADLINE

route_element_1_violations_1

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

high_risk*

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

probability*

Type: number

Probability of being late, percent.

type*

Type: string

Possible reasons:

  • PROBABLY_FAILED_DELIVERY_DEADLINE - depot may be visited after deadline of some pickup with nonzero probability.

Enum: FAILED_DELIVERY_DEADLINE, PROBABLY_FAILED_DELIVERY_DEADLINE

routes_global_proximity_attraction_point_optional_tags_item

An optional tag with bonus or penalty.

Name

Description

tag*

Type: string

An arbitrary tag. More information

value*

Type: number

Value of the tag. When location is served by a vehicle with a matching tag in tags field, this value is subtracted from the route cost. When the matching tag is in excluded_tags field, this value is added to the route cost. More information

routes_global_proximity_attraction_point_penalty_1

Penalty components for non-completion and time window violation. More information

Name

Description

delivery_deadline

Type: global_proximity_attraction_point_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

depot_expiring_time

Type: global_proximity_attraction_point_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

depot_ready_time

Type: global_proximity_attraction_point_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

drop

Type: global_proximity_attraction_point_penalty_drop_0_1 or number

Penalty for not delivering an order. More information

early

Type: global_proximity_attraction_point_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: global_proximity_attraction_point_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: global_proximity_attraction_point_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

rolling_throughput

Type: global_proximity_attraction_point_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

throughput

Type: global_proximity_attraction_point_penalty_throughput

Penalty components for throughput exceeding. More information

time_between_visits

Type: global_proximity_attraction_point_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

transit_time

Type: global_proximity_attraction_point_penalty_transit_time

Penalty components for exceeding transit time. More information

global_proximity_attraction_point_quant_0_1

Minimal part which can be split from the order measured in one of the units. More information

Name

Description

units

Type: number

Size of shipment in custom units.

Min value: 0

volume_cbm

Type: number

Volume of minimal part, cubic meters.

Min value: 0

weight_kg

Type: number

Weight of minimal part, kilograms.

Min value: 0

routes_global_proximity_attraction_point_rolling_throughput

Rolling throughput limit (supported for anchors).

Name

Description

vehicle_count

Type: array or number

routes_global_proximity_attraction_point_shipment_size

Shipment size (dimensions and/or weight). More information

Name

Description

custom

Type: number

Size of shipment in custom units. Sizes in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a non-negative floating-point number denoting the quantity of the corresponding unit in the shipment. If the name of a unit is present in other objects (locations/vehicles/trailers), but not this, it is assumed that the quantity of this unit in the shipment is zero. More information

Default: 0

Min value: 0

units

Type: number

Size of shipment in custom units. More information

Default: 0

Min value: 0

Max value: 1000000000

volume

Type: global_proximity_attraction_point_shipment_size_volume

Shipment dimensions and type.

volume_cbm

Type: number

Explicit volume, cubic meters. By default, the value is taken from volume, if nothing is specified here. More information

Min value: 0

weight_kg

Type: number

Weight of shipment, kilograms.

Default: 0

Min value: 0

Max value: 1000000000

routes_global_proximity_attraction_point_throughput

Location throughput limit (supported for the orders which can be split). More information

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

vehicle_count

Type: array or number

routes_global_proximity_attraction_point_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

routes_global_proximity_attraction_point_transit_time

Restrictions on the time the order spends inside a vehicle. More information

Name

Description

hard_limit_s

Type: number

Hard time limit, values above it are unacceptable.

Min value: 0

Max value: 1000000000

limit_s

Type: number

Soft time limit, values above it are acceptable but they will be penalized.

Min value: 0

Max value: 1000000000

routes_shift_end_1

Route node, contains information about a visited location or a work break, transit information and arrival time.

Name

Description

arrival_time_s*

Type: number

Arrival time at the location. Arrival happened before the start of the time window, will incur waiting time.

departure_time_s*

Type: number

Time of departure from the location.

node*

Type: route_node_depot or route_node_location_1 or route_node_work_break or route_node_courier_position

Route component.

transit_distance_m*

Type: number

Transit distance to a location, meters. If routing_mode is set to transit, only pedestrian distance part of the route is considered.

transit_duration_s*

Type: number

Transit time to a location, seconds.

actual_arrival_time_s

Type: number

Actual arrival time at the location.

actual_departure_time_s

Type: number

Actual time of departure from the location.

actual_service_start_time_s

Type: number

Actual time of service start in the location.

failed_time_window

Type: shift_end_failed_time_window

hidden

Type: boolean

The location is a depot or a garage, added automatically at the beginning of the visited part with specified time.

Default:

is_after_service_work_break

Type: boolean

Node follows a break, being made during location service time.

Default:

load_to_head

Type: (integer or string)[]

List of orders that should be loaded to the head of the vehicle at depot or anchor location, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

load_to_trailer

Type: (integer or string)[]

List of orders that should be loaded to the trailer of the vehicle at depot, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

multi_order

Type: boolean

An order is one of several orders at exactly the same location which are served together. Arrival time is the same for all orders in the group, also the orders share shared_service_duration_s. Total service duration of all orders in multi-order group is computed as: max(shared_service_duration_s) + sum(service_duration_s).

Default:

overtime

Type: shift_end_overtime

probably_failed_time_window

Type: shift_end_probably_failed_time_window

service_start_time_s

Type: number

Time of service start in the location.

stop_sequence_number

Type: integer

Sequence number of a stop (among delivery, pickup and drop_off locations).

violations

Type: (end_violations_0_1 or end_violations_1_1)[]

List of violations.

waiting_duration_s

Type: number

Waiting duration, time spent at location after arrival and before the start of the time window, seconds.

routes_shift_start_1

Route node, contains information about a visited location or a work break, transit information and arrival time.

Name

Description

arrival_time_s*

Type: number

Arrival time at the location. Arrival happened before the start of the time window, will incur waiting time.

departure_time_s*

Type: number

Time of departure from the location.

node*

Type: route_node_depot or route_node_location_1 or route_node_work_break or route_node_courier_position

Route component.

transit_distance_m*

Type: number

Transit distance to a location, meters. If routing_mode is set to transit, only pedestrian distance part of the route is considered.

transit_duration_s*

Type: number

Transit time to a location, seconds.

actual_arrival_time_s

Type: number

Actual arrival time at the location.

actual_departure_time_s

Type: number

Actual time of departure from the location.

actual_service_start_time_s

Type: number

Actual time of service start in the location.

failed_time_window

Type: shift_start_failed_time_window

hidden

Type: boolean

The location is a depot or a garage, added automatically at the beginning of the visited part with specified time.

Default:

is_after_service_work_break

Type: boolean

Node follows a break, being made during location service time.

Default:

load_to_head

Type: (integer or string)[]

List of orders that should be loaded to the head of the vehicle at depot or anchor location, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

load_to_trailer

Type: (integer or string)[]

List of orders that should be loaded to the trailer of the vehicle at depot, in case trailers are used. Orders are listed in the order of serving.
Reference to a location specified in locations. More information

multi_order

Type: boolean

An order is one of several orders at exactly the same location which are served together. Arrival time is the same for all orders in the group, also the orders share shared_service_duration_s. Total service duration of all orders in multi-order group is computed as: max(shared_service_duration_s) + sum(service_duration_s).

Default:

overtime

Type: shift_start_overtime

probably_failed_time_window

Type: shift_start_probably_failed_time_window

service_start_time_s

Type: number

Time of service start in the location.

stop_sequence_number

Type: integer

Sequence number of a stop (among delivery, pickup and drop_off locations).

violations

Type: (start_violations_0_1 or start_violations_1_1)[]

List of violations.

waiting_duration_s

Type: number

Waiting duration, time spent at location after arrival and before the start of the time window, seconds.

vehicle_capacity_limits

Vehicle load limits.

Name

Description

units_perc

Type: number

Upper limit of total shipments size in custom units as a percentage of a vehicle capacity.

Default: 100

Min value: 0

volume_perc

Type: number

Upper limit of total shipments volume as a percentage of vehicle load bay volume. For container fitting purposes it is assumed that each dimension is multiplied by the cubic root of (0.01 * volume_perc).

Default: 100

Min value: 0

weight_perc

Type: number

Upper limit of total shipments weight as a percentage of total weight the vehicle is allowed to carry.

Default: 100

Min value: 0

vehicle_capacity_volume

Vehicle dimensions.

Name

Description

depth_m*

Type: number

Depth, meters.

Default: 1000

Min value: 0

Max value: 1000000

height_m*

Type: number

Height, meters.

Default: 1000

Min value: 0

Max value: 1000000

width_m*

Type: number

Width, meters.

Default: 1000

Min value: 0

Max value: 1000000

vehicle_close_locations_distance_till_service_m

Name

Description

penalty

Type: number

Penalty per km exceeding the maximum distance between servicing close locations. More information

Default: 0

Min value: 0

Max value: 1000000000

value

Type: number

The maximum distance traveled between servicing two close locations. More information

Default: 1000000000

Min value: 0

Max value: 1000000000

vehicle_close_locations_duration_till_service_s

Name

Description

penalty

Type: number

Penalty per second exceeding the maximum time between servicing close locations. More information

Default: 0

Min value: 0

Max value: 1000000000

value

Type: number

The maximum time between servicing two close locations. More information

Default: 1000000000

Min value: 0

Max value: 1000000000

vehicle_penalty_arrival_after_start

Penalty components for arrived after beginning of time window. More information

Name

Description

as_soon_as_possible

Type: boolean

Option for arrive as soon as possible even it includes added wait in route. When using the parameter, it is also recommended to specify a non-zero value of the average_h parameter.

Default:

average_h

Type: number

Penalty for average arrived after beginning of time window.

Default: 0

vehicle_penalty_empty_runs

Penalty components for empty runs, which cannot be skipped because of actual visit times.

Name

Description

fixed

Type: number

Fixed penalty applied if there are empty runs left in the route.

Default: 0

per_run

Type: number

Penalty for every empty run in the route.

Default: 0

vehicle_penalty_min_stop_weight

Penalty components for insufficient total orders weight in point. More information

Name

Description

fixed

Type: number

Fixed penalty applied if total orders weight is too low.

Default: 1000

kg

Type: number

Penalty for each lacking kg of total orders weight.

Default: 50

vehicle_planned_route_locations_item

Name

Description

id*

Type: integer or string

Reference to a location specified in locations. More information

anchor_mode

Type: string

Default: Undefined

Enum: Decoupling, Rolling, Coupling, Undefined

delivered_orders

Type: (integer or string)[]

List of IDs of orders delivered to the drop_off, depot or cross dock for delivery to the destination. More information
Reference to a location specified in locations. More information

delivery_in_current_run

Type: boolean

All orders, loaded in this location, have to be delivered in current run. More information

Default:

is_middle_depot

Type: boolean

Location is a middle depot. More information

Default:

loaded_orders

Type: (integer or string)[]

Ids of delivery orders, loaded into the vehicle in garage or depot. More information

order_ratio

Type: number

Split ratio of an order or a work break, included in this part.

parking_mode

Type: string

Default: Undefined

Enum: ParkingBegin, ParkingRefill, ParkingEnd, Undefined

picked_orders

Type: (integer or string)[]

A list of IDs of orders picked up in the cross dock or depot. More information
Reference to a location specified in locations. More information

shift_id

Type: string

Unique identifier of a shift.

wait_if_early

Type: boolean

This option determines what happens if a courier arrives to the planned location early. When true, the courier will wait until the start of a location's time window before serving. When false, it will serve the location immediately. Should be true in the case of hard time window(s). More information

Default:

vehicle_planned_route_start_time_0_item

Name

Description

shift_id*

Type: string

Unique identifier of a shift.

start_time*

Type: string

Shift start time, in[D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z.

rest_schedule_breaks_0_1

Work break (old format). More information

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

continuous_travel_time_range

Type: string

Minimal and maximal duration of continuous travel time before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

driving_time_range

Type: string

Minimal and maximal duration of driving before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

exact_time_range

Type: string

The exact time range when the rest should start, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

travel_time_range

Type: string

Minimal and maximal duration of driving and waiting before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

type

Type: string

Type of work break.

work_time_range_from_start

Type: string

Minimal and maximal duration of time from start of route until rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

work_time_range_till_rest

Type: string

Minimal and maximal duration of work before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

rest_schedule_breaks_1_1

Work break (new format).

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

desired_work_duration

Type: number or string

Desired duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Solver would try to start a break according to this parameter, unless it leads to the cost increase. Format: number of seconds from the start of the work or [D.]HH[:MM[:SS]] ("05:30").

hard_time_range

Type: string

Hard limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

soft_time_range

Type: string

Soft limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

type

Type: string

Type of work break.

vehicle_rest_schedule_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: rest_schedule_penalty_early

Penalty components for early work break.

late

Type: rest_schedule_penalty_late

Penalty components for late work break.

vehicle_shifts_penalty

Penalties for shift constraints violation. More information

Name

Description

early

Type: shifts_penalty_early

Penalty components for shifts started too early (used instead of out_of_time penalty). If the shift was also finished too early, it is applied to the shift finish too. More information

late

Type: shifts_penalty_late

Penalty components for shifts finished too late (used instead of out_of_time penalty). This penalty is applied for being late to the end of the shift's time window or violating the max_duration_s bound. If both are violated simultaneously, the penalty is applied twice and summed. If the shift was started after the end of the time window, this penalty for the start time point is also added separately. More information

max_mileage

Type: shifts_penalty_max_mileage

Penalties applied for violating shift's max_mileage_km limit. More information

out_of_time

Type: shifts_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

stop_excess

Type: shifts_penalty_stop_excess

Penalties applied for violating shift's maximal_stops limit. More information

stop_lack

Type: shifts_penalty_stop_lack

Penalties applied for violating shift's minimal_stops limit. More information

unique_stop_lack

Type: shifts_penalty_unique_stop_lack

Penalties applied for violating shift's minimal_stops limit. More information

working_overtime

Type: shifts_penalty_working_overtime

Penalty components for violating of maximal working duration in shift. More information

vehicle_shifts_rest_schedule

Schedule of rest breaks. More information

Name

Description

breaks*

Type: (rest_schedule_breaks_0 or rest_schedule_breaks_1)[]

List of consequent rest breaks. More information

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

penalty

Type: shifts_rest_schedule_penalty

Penalties applied for violations of work break conditions. More information

vehicle_shifts_run_restrictions

Restrictions for on each run in shift.

Name

Description

max_mileage_km

Type: shifts_run_restrictions_max_mileage_km

maximal_stops

Type: shifts_run_restrictions_maximal_stops

minimal_stops

Type: shifts_run_restrictions_minimal_stops

vehicle_trailer_capacity

Trailer capacity.

Name

Description

custom

Type: number

Amount of custom units a trailer is able to carry. Capacities in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a non-negative floating-point number denoting the vehicle capacity with respect to this unit. If the name of a unit is present in objects (locations/couriers/vehicles/trailers), but not this, it is assumed that the capacity is unlimited.

Min value: 0

limits

Type: trailer_capacity_limits

Trailer load limits.

units

Type: number

Amount of custom units a trailer is able to carry.

Default: 1000000000

Min value: 0

volume

Type: trailer_capacity_volume

Trailer dimensions.

volume_cbm

Type: number

Volume a trailer is able to fit, cubic meters.

Min value: 0

weight_kg

Type: number

Weight a trailer is able to carry, kilograms.

Default: 1000000000

Min value: 0

vehicle_trailer_cost

Trailer cost.

Name

Description

fixed

Type: number

Cost per fact of trailer use (cost occurred if trailer is used in route).

Default: 3000

Min value: 0

hour

Type: number

Cost of using trailer per hour.

Default: 100

Min value: 0

km

Type: number

Cost of using trailer per kilometer.

Default: 8

Min value: 0

location

Type: number

Cost of using trailer per location (default 0).

Default: 0

Min value: 0

run

Type: number

Cost per single courier run from depot to locations.

Default: 0

Min value: 0

tonne_km

Type: number

Cost of carrying one tonne for one kilometer (default 0).

Default: 0

Min value: 0

waiting_hour

Type: number

Cost of waiting per hour. If not defined, the value specified in the hour field is used.

Min value: 0

vehicle_trailer_max_capacity_difference

The maximum difference between the loading of the trailer and the head. More information

Name

Description

custom

Type: number

A maximum allowable difference in the loaded amount of custom units between the trailer and the head. The difference in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a floating-point number denoting the allowable difference with respect to this unit. If the name of a unit is present in objects (locations/couriers/vehicles/trailers), but not this, it is assumed that there is no restriction.

units

Type: number

The maximum allowable difference in the loaded amount of custom units between the trailer and the head.

volume_cbm

Type: number

The maximum allowable difference in the loaded volume between the trailer and the head, cubic meters.

weight_kg

Type: number

The maximum allowable difference in the loaded weight between the trailer and the head, kilograms.

vehicle_trailer_rolling_time

Time for loading shipments from trailer to head. In case multiple types of time are specified, the one that takes the most time is chosen. In case none of them is specified, only fixed loading time is used.

Name

Description

fixed_time_s

Type: number

Fixed time spent each time a trailer is loaded or unloaded, seconds.

Default: 0

Min value: 0

Max value: 3153600000

s_per_kg

Type: number

Loading time per kg, seconds.

Default: 0

Min value: 0

Max value: 3153600000

s_per_m3

Type: number

Loading time per cubic meter, seconds.

Default: 0

Min value: 0

Max value: 3153600000

s_per_unit

Type: number

Loading time per unit, seconds.

Default: 0

Min value: 0

Max value: 3153600000

vehicle_walking_courier_capacity

Capacity of a courier

Name

Description

units

Type: number

Amount of custom units a courier is able to carry.

Default: 1000000000

Min value: 0

vehicle_walking_courier_cost

Courier work cost.

Name

Description

hour

Type: number

Cost per hour of courier walking routes.

Default: 0

Min value: 0

km

Type: number

Cost per kilometer walked by courier.

Default: 0

Min value: 0

vehicle_walking_courier_restrictions

Name

Description

max_parking_duration_s

Type: walking_courier_restrictions_max_parking_duration_s

max_parking_walking_distance_m

Type: walking_courier_restrictions_max_parking_walking_distance_m

max_walking_edge_distance_m

Type: walking_courier_restrictions_max_walking_edge_distance_m

detailed_cost_1_raw_metrics_raw_metrics_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_14[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_12[]

The value of an arbitrary cost.

detailed_cost_1_raw_metrics_subcosts_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_11[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_10[]

The value of an arbitrary cost.

detailed_cost_1_subcosts_raw_metrics_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_7[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_5[]

The value of an arbitrary cost.

detailed_cost_1_subcosts_subcosts_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_4[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_3[]

The value of an arbitrary cost.

points_throughputs_penalty_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

breaks_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: penalty_early

Penalty components for early work break.

late

Type: penalty_late

Penalty components for late work break.

template_rest_schedules_penalty_early

Penalty components for early work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of an early start of work break if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 17

template_rest_schedules_penalty_late

Penalty components for late work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of a late start of work break if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 17

route_depot_location

Description of a location.

Name

Description

id*

Type: integer or string

Location ID. All locations IDs in task must be unique and have the same type: integer or string. More information

address

Type: string

Address of the location.

crossdock_safety_waiting_duration_s

Type: number

The duration of the minimum time interval between the moment the order arrives at the cross-dock depot and the moment when it can be picked up from there by a vehicle for delivery. This interval is needed so that there is a reserve of time in case the vehicle that brings the orders is late. More information

Default: 3600

Min value: 0

Max value: 3153600000

delivered_orders

Type: (integer or string)[]

List of IDs of orders delivered to the drop_off, depot or cross dock for delivery to the destination. More information
Reference to a location specified in locations. More information

description

Type: string

Location description.

finish_service_duration_s

Type: number

Duration of service at a depot in the end of a route. Finish service duration can include any operations at depot, e.g. unloading items, documents collection etc. More information

Default: 0

Min value: 0

Max value: 3153600000

fixed_position

Type: boolean

It is not allowed to move location or insert other locations before it. More information

Default:

flexible_start_time

Type: boolean

By default courier start time is equal to either depot, or garage, or shift start time. When this option is set to true, courier can start earlier or later than the default start time. In this case the optimal start time will be computed according to cost minimization. More information. Also when flexible_start_time option is used, the solver can generate routes where arrival time is very close to end of the time window. It is often undesired route plans, because there is a risk of being late on such locations. An option minimize_lateness_risk and/or penalize_late_service is recommended to be used together with flexible_start_time to avoid such routes.

Default:

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Restricts time window relaxation during route planning. When true, vehicles are allowed to return to depot only within the specified time window. More information

Default:

load_service_duration_s

Type: number

Additional duration for loading delivery orders into a vehicle, added only if there is at least one delivery order,loaded in this depot. More information

Default: 0

Min value: 0

loaded_orders

Type: (integer or string)[]

Ids of delivery orders, loaded into the vehicle in garage or depot. More information

package_throughput

Type: route_depot_location_package_throughput

Restriction on packaging speed in depot. More information

penalty

Type: route_depot_location_penalty

Penalties for depot time window or throughput violation. More information

picked_orders

Type: (integer or string)[]

A list of IDs of orders picked up in the cross dock or depot. More information
Reference to a location specified in locations. More information

point

Type: coordinate_2

WGS84 coordinate of a location. More information

preliminary_service_duration_s

Type: number

Duration of preliminary service at depot. This duration can include any operations that can be done before loading the vehicle. These operations will be done before depot_ready_time of deliveries that are loaded at this vehicle. More information

Default: 0

Min value: 0

Max value: 3153600000

preset_id

Type: string

Preset number for depot properties. More information

ref

Type: string

Location reference.

routing_mode

Type: string

The transportation method used to reach this location.

Enum: driving, truck, walking, transit, bicycle

service_duration_s

Type: service_duration_2_0 or number

Duration of service at location. Service duration can include any operations at location, such as loading or unloading items from a vehicle, or any other time associated with a location (apart from waiting, which is time after arrival and before service).More information

throughput

Type: route_depot_location_throughput

Depot throughput limit. More information

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: route_depot_location_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

time_windows_loading

Type: route_depot_location_time_windows_loading

Time windows when the courier is allowed to leave the depot on the first run. More information

time_windows_refilling

Type: route_depot_location_time_windows_refilling

Time windows when the courier is allowed to visit a depot (or middle depot) for additional loading. More information

time_windows_unloading

Type: route_depot_location_time_windows_unloading

Time windows when the courier is allowed to return to the depot on the last run. More information

title

Type: string

Location title.

total_service_duration_s

Type: number

Total duration of service at a depot (equals to service_duration_s).

Default: 0

Min value: 0

Max value: 3153600000

trailer_decoupled

Type: boolean

Default:

trailer_used

Type: boolean

Default:

type

Type: string

Defines a type of depot: depot or crossdock.

  • depot — the main depot where orders are stored.
  • crossdock — the additional depot where there are no orders initially. To deliver orders from this depot, another courier must first deliver them here from the main depot where they are stored. More information

Default: depot

Enum: depot, crossdock

unfeasible_reasons

Type: (route_depot_location_unfeasible_reasons_0 or route_depot_location_unfeasible_reasons_1 or route_depot_location_unfeasible_reasons_2 or route_depot_location_unfeasible_reasons_3 or route_depot_location_unfeasible_reasons_4)[]

List of unfeasible reasons.
The reason why the location is not feasible.

unload_service_duration_s

Type: number

Additional duration for unloading pickup orders from a vehicle, added only if there is at least one pickup order,delivered in this depot. More information

Default: 0

Min value: 0

use_in_proximity

Type: boolean

When false, this depot will be ignored in computation of proximity and global proximity. When true, this depot will be used in computation of proximity and global proximity.If parameter is not defined, this depot will be used in computation of proximity in compatible mode. More information

route_node_depot_used_projection

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

route_location_1

Description of a location.

Name

Description

id*

Type: integer or string

Location ID. All locations IDs in task must be unique and have the same type: integer or string. More information

added_shared_service_duration_s

Type: number

Added duration of shared service. For the first order in multi-order equals to shared_service_duration_s. For the other orders in multi-order maybe non-zero, if shared_service_duration_s of current order is more than shared_service_duration_s of previous orders.

Default: 0

Min value: 0

Max value: 3153600000

address

Type: string

Address of the location.

allow_trailers

Type: boolean

When true, vehicles with trailers can arrive at this location. More informationOtherwise, they will have to leave the trailer at an anchor location beforehand. More information

Default:

anchor_mode

Type: string

Default: Undefined

Enum: Decoupling, Rolling, Coupling, Undefined

can_be_merged

Type: boolean

An order can be a part of multiorder. More information

Default:

can_be_split

Type: boolean

An order can be split into parts between different couriers. More information

Default:

can_have_rest_during_service

Type: boolean

It is allowed to make breaks during order service time.

Default:

client_id

Type: integer or string

Defines id of a client corresponding to the order. More information

client_service_duration_s

Type: client_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders of the same client (same client_id) at exactly the same location. More information

comments

Type: string

Comments.

crossdock_mode

Type: string

Defines whether it is allowed to deliver this order through a cross-dock depot.

  • deny — prohibited, can only be delivered from a regular depot;
  • allow — allowed, can be delivered either directly from a regular depot or through a cross-dock depot;
  • mandatory — required, can only be delivered through a cross-dock depot. More information

Default: allow

Enum: deny, allow, mandatory

crossdock_service_duration_s

Type: crossdock_service_duration_0 or number

Time spent at a cross dock during the unloading of this order. More information

custom_value

Type: number

A custom numeric value, associated with order. E.g. the reward for the courier for delivering the order. May be used as a component in vehicle cost function. More information

delivered_orders

Type: (integer or string)[]

List of IDs of orders delivered to the drop_off, depot or cross dock for delivery to the destination. More information
Reference to a location specified in locations. More information

delivery_deadline

Type: string

Time by which the pickup order without specified delivery_to field should be delivered to any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

delivery_id

Type: integer or string

ID of a delivery corresponding to this return.

delivery_to

Type: integer or string

Defines id of a location where to deliver the shipment.More information

delivery_to_any

Type: (integer or string)[]

A list of drop_off location ID's, the pickup order must be delivered to any of these locations. More information
Reference to a location specified in locations. More information

depot_duration_s

Type: depot_duration_0 or number

Time spent at a depot during handling of this location (goods loading, document collection, etc.). More information

depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

depot_id

Type: integer or string or array

depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

description

Type: string

Location description.

drop_reason

Type: string

Explanation why the location was dropped.

dropped_ratio

Type: number

Order ratio which have to stay in drop. More information

Min value: 0

Max value: 1

fixed_position

Type: boolean

It is not allowed to move location or insert other locations before it. More information

Default:

fixed_run

Type: boolean

Order can only be added in the run in which it was planned.

Default:

fixed_shift

Type: boolean

Order can only be added in the shift in which it was planned.

Default:

fixed_vehicle

Type: boolean

Order can only be taken by the vehicle in which it was planned.

Default:

garage_loading_mode

Type: string

Property to control whether a order can be loaded or unloaded in the garage.* default - the order can be loaded/unloaded in the garage if it does not have any of the restrictions depot_id, depot_ready_time, depot_expiring_time for delivery and depot_id, pickup_must_reach_depot, delivery_deadline for pickup specified.* allowed - the order can be loaded/unloaded in the garage. In this case, the depot_ready_time, depot_expiring_time and delivery_deadline for the garage will be evaluated the same as if it were a depot.* forbidden - the order is prohibited from loading/unloading in the garage. More information

Default: default

Enum: default, allowed, forbidden

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Restricts time window violation during route planning. If order cannot be delivered within a specified time window, it will be excluded from the route and added to dropped_orders field in the response. This field is useful to model orders that cannot be completed within the time window, (e.g. due to conflicts with other orders). More information

Default:

ignore_zones_compatibility

Type: boolean

Ignore the effects caused by the incompatible_zones, allowed_zones, forbidden_zones, optional_zones properties for the location.

Default:

in_lifo_order

Type: boolean

Orders with this field set to true are not allowed to move inside the vehicle and should be delivered in the reversed order of their pickups. Locations with this field set to false can appear anywhere in the route. This field only matters if both pickups and deliveries are present in route. More information

Default:

keep_in_vehicle

Type: boolean

When order is dropped it still takes space in the vehicle. More information

Default:

load_types

Type: string[]

Defines order types. Must not be defined for garage location type.
Type of load. More information

loaded_orders

Type: (integer or string)[]

Ids of delivery orders, loaded into the vehicle in garage or depot. More information

max_split_parts

Type: integer

Maximal number of parts in which the order can be split. More information

Default: 10

Min value: 1

max_total_vehicles

Type: integer

Maximal number of vehicles that can be served by an anchor location. Unlimited by default. More information

Min value: 0

may_drop_in_crossdock

Type: boolean

May drop pickup order in crossdock location. More information

Default:

optional_tags

Type: route_location_1_optional_tags_item[]

List of tags which are not required for a courier to deliver the order, but they can decrease or increase the route cost if matched. More information
An optional tag with bonus or penalty.

parking_mode

Type: string

Type of the parking node.

Enum: ParkingBegin, ParkingRefill, ParkingEnd

parking_service_duration_s

Type: number

Duration of parking at location. If the order is delivered using routing_mode walking or transit, this time will not be spent. If the location is used as a parking before the walking part, then the time will be spent once.

Default: 0

Min value: 0

Max value: 3153600000

parking_type

Type: string

Enum: trailer, vehicle

passed_time

Type: number

Time passed after courier leave current location. Consider that courier has not yet arrived to the next location.

penalty

Type: route_location_1_penalty

Penalty components for non-completion and time window violation. More information

phone

Type: string

Phone number of the client.

picked_orders

Type: (integer or string)[]

A list of IDs of orders picked up in the cross dock or depot. More information
Reference to a location specified in locations. More information

pickup_from_any

Type: boolean

Delivery-orders that have this field set to true must have multiple pickup orders associated with it. Any one of these pickup orders can be selected for delivery, and the rest will be ignored. The choice among the options is based on optimizing the cost of the route. More information

Default:

pickup_id

Type: integer or string

ID of a pickup corresponding to this delivery.

pickup_ids

Type: (integer or string)[]

List of IDs of pickup-s corresponding to this delivery.
ID of a pickup corresponding to this delivery.

pickup_must_reach_depot

Type: boolean

The field determines whether the pickup order is considered delivered if it is not delivered to depot. The field can be defined only for pickup orders. The field is mutually exclusive with fields delivery_to and delivery_to_any. If depot_id is defined and not empty then the field is considered as true and the value false in not acceptable. More information

Default:

point

Type: coordinate_2

WGS84 coordinate of a location. More information

preset_id

Type: string

Preset number for location properties. More information

quant

Type: number or route_location_1_quant_0

ref

Type: string

Location reference.

required_tags

Type: string[]

List of tags a courier must have to deliver the order. More information
An arbitrary tag. More information

return_to

Type: integer or string

ID of a return corresponding to this delivery.

rolling_throughput

Type: route_location_1_rolling_throughput

Rolling throughput limit (supported for anchors).

routing_mode

Type: string

The transportation method used to reach this location.

Enum: driving, truck, walking, transit, bicycle

sequence_order

Type: integer

All locations in vehicle route with specified sequence_order option have to be visited in non-decreasing order of its values. More information

service_duration_s

Type: service_duration_2_0 or number

Duration of service at location. Service duration can include any operations at location, such as loading or unloading items from a vehicle, or any other time associated with a location (apart from waiting, which is time after arrival and before service).More information

service_durations

Type: service_durations

Structure storing location service durations. More information

service_waiting_duration_s

Type: number

Duration of waiting for service at a location. It can be non-zero when an order is a part of a multi-order. In this case waiting duration includes duration of service of the other orders from the multi-order. More information

Default: 0

Min value: 0

Max value: 3153600000

shared_service_duration_s

Type: shared_service_duration_0 or number

Duration of service at a location, which can be shared among the other orders at exactly the same location. Shared service duration can include such operations as parking of a car, delivering documents, etc. More information

shared_with_company_ids

Type: integer[]

IDs of the companies that can access the order information. More information

Min value: 0

shipment_size

Type: route_location_1_shipment_size

Shipment size (dimensions and/or weight). More information

soft_depot_expiring_time

Type: string

Time by which the order must be taken from the depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z

soft_depot_ready_time

Type: string

Time when the order is ready to be taken from any depot, in [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00, 2018-09-06T10:15:00Z. More information

split_info

Type: route_location_1_split_info

Information about split part of the order (in case if the order was split).

split_parts_must_fill_whole_vehicle

Type: boolean

Parts, split from a splittable order, should fill the whole vehicle. More information

Default:

throughput

Type: route_location_1_throughput

Location throughput limit (supported for the orders which can be split). More information

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: route_location_1_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

title

Type: string

Location title.

total_service_duration_s

Type: number

Planned total duration of service at a location, it includes service_duration_s, added_shared_service_duration_s parking_service_duration_s and service_waiting_duration_s.

Default: 0

Min value: 0

Max value: 3153600000

trailer_decoupled

Type: boolean

Default:

trailer_used

Type: boolean

Default:

transit_time

Type: route_location_1_transit_time

Restrictions on the time the order spends inside a vehicle. More information

type

Type: string

Defines a type of service at the location:

  • delivery — the load is picked up at the depot or at another location, and delivered to this location;
  • pickup — the load is picked up at this location, and delivered to another location (if delivery_to is specified), or to the depot;
  • drop_off — a pickup location may be delivered to any of related drop_off locations (see delivery_to_any);
  • garage — a location which can be used as the first or the last vehicle location via start_at or finish_at vehicle option;
  • anchor — a location where trailers can be dropped and unloaded;
  • parking — a location where trailers can be dropped to serve a single other location. Trailers can not be unloaded there.
  • rest_place — a designated location where a vehicle can break work in cases when the work_break has the attribute at_rest_place.
  • return - the place to return to after pickup-delivery. More information

Default: delivery

Enum: depot, crossdock, delivery, pickup, return, drop_off, garage, anchor, parking, courier

undroppable

Type: boolean

Location cannot be dropped.

Default:

unfeasible_reasons

Type: (route_location_1_unfeasible_reasons_0 or route_location_1_unfeasible_reasons_1 or route_location_1_unfeasible_reasons_2 or route_location_1_unfeasible_reasons_3 or route_location_1_unfeasible_reasons_4 or route_location_1_unfeasible_reasons_5 or route_location_1_unfeasible_reasons_6 or route_location_1_unfeasible_reasons_7 or route_location_1_unfeasible_reasons_8 or route_location_1_unfeasible_reasons_9 or route_location_1_unfeasible_reasons_10 or route_location_1_unfeasible_reasons_11 or route_location_1_unfeasible_reasons_12 or route_location_1_unfeasible_reasons_13)[]

List of unfeasible reasons.
The reason why the location is not feasible.

use_in_proximity

Type: boolean

When false, this location will be ignored in computation of proximity and global_proximity. More information

Default:

route_node_location_1_used_projection

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

route_work_break_old_format

Description of a work break (old format).

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

chain_number

Type: integer

Sequential number of a work break chain to which the break belongs.

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

continuous_travel_time_range

Type: string

Minimal and maximal duration of continuous travel time before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

driving_time_range

Type: string

Minimal and maximal duration of driving before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

exact_time_range

Type: string

The exact time range when the rest should start, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

fixed_position

Type: boolean

It is not allowed to move location or insert other locations before it. More information

Default:

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

is_during_service

Type: boolean

Work break is made during the next location service time.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: route_work_break_old_format_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

repetition_number

Type: integer

Repetition number for a repeatable work break (starting from 1).

split_info

Type: route_work_break_old_format_split_info

Information about split part of the work break (in case if the work break was split).

travel_time_range

Type: string

Minimal and maximal duration of driving and waiting before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

type

Type: string

Type of work break.

work_duration_s

Type: number

Duration of continuous work before the break, seconds.

Min value: 0

Max value: 3153600000

work_time_range_from_start

Type: string

Minimal and maximal duration of time from start of route until rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

work_time_range_till_rest

Type: string

Minimal and maximal duration of work before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

route_work_break_new_format

Description of a work break (new format).

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

chain_number

Type: integer

Sequential number of a work break chain to which the break belongs.

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

desired_work_duration

Type: number or string

Desired duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Solver would try to start a break according to this parameter, unless it leads to the cost increase. Format: number of seconds from the start of the work or [D.]HH[:MM[:SS]] ("05:30").

fixed_position

Type: boolean

It is not allowed to move location or insert other locations before it. More information

Default:

hard_time_range

Type: string

Hard limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

is_during_service

Type: boolean

Work break is made during the next location service time.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: route_work_break_new_format_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

repetition_number

Type: integer

Repetition number for a repeatable work break (starting from 1).

soft_time_range

Type: string

Soft limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

split_info

Type: route_work_break_new_format_split_info

Information about split part of the work break (in case if the work break was split).

type

Type: string

Type of work break.

work_duration_s

Type: number

Duration of continuous work before the break, seconds.

Min value: 0

Max value: 3153600000

route_node_work_break_used_projection

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

route_courier_position

Name

Description

location_id*

Type: string

Id of current location.

passed_time_s

Type: number

Time passed after courier leave current location. Consider that courier has not yet arrived to the next location.

route_node_courier_position_used_projection

WGS84 coordinate of a location. More information

Name

Description

lat*

Type: number

Min value: -90

Max value: 90

lon*

Type: number

Min value: -180

Max value: 180

global_proximity_attraction_point_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the depot is visited after the deadline.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the depot is visited after the deadline.

Default: 17

global_proximity_attraction_point_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

global_proximity_attraction_point_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

global_proximity_attraction_point_penalty_drop_0_1

Name

Description

fixed

Type: number

Fixed penalty for not delivering any part of the order. More information

Default: 0

scaled

Type: number

Penalty for not delivering order ratio. More information

Default: 1000000

global_proximity_attraction_point_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

global_proximity_attraction_point_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

global_proximity_attraction_point_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

global_proximity_attraction_point_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

global_proximity_attraction_point_penalty_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

global_proximity_attraction_point_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

Name

Description

fixed

Type: number

Penalty for each case of violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

global_proximity_attraction_point_penalty_transit_time

Penalty components for exceeding transit time. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the order was delivered with a violation of the soft transit time limit.

minute

Type: number

Penalty for each minute transit time violation.

global_proximity_attraction_point_rolling_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

global_proximity_attraction_point_shipment_size_volume

Shipment dimensions and type.

Name

Description

depth_m*

Type: number

Depth, meters.

Default: 0

Min value: 0

Max value: 1000000

height_m*

Type: number

Height, meters.

Default: 0

Min value: 0

Max value: 1000000

width_m*

Type: number

Width, meters.

Default: 0

Min value: 0

Max value: 1000000

align

Type: string

Defines allowed container alignment for rigid and fixed_bottom types (ignored for bulk containers):

  • all_axes — default, all axes of the box must be parallel to vehicle's axes;
  • height — the bottom of the box lies on a horizontal surface, but any rotation around the vertical axis (height) is allowed (note that any side can become a bottom for rigid containers). More information

Default: all_axes

Enum: all_axes, height

type

Type: string

Container type:

  • bulk — default type, shape can be changed arbitrary to fit the vehicle;
  • rigid — container is a box that must fit vehicle dimensions under some orientation;
  • fixed_bottom — the bottom of the box must stay the same, but the box can be rotated horizontally (height must fit vehicle's height). More information

Default: bulk

Enum: bulk, rigid, fixed_bottom

global_proximity_attraction_point_throughput_kg_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, kilograms per hour. More information

Min value: 0

global_proximity_attraction_point_throughput_units_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, custom units per hour. More information

Min value: 0

global_proximity_attraction_point_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

shift_end_failed_time_window

Name

Description

duration_s*

Type: number

When a location is visited outside of the time window, indicates the duration (in seconds) between the reference time and the closest endpoint of the failed time window. The reference time is the start or the end of service depending on penalize_late_service.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

shift_end_overtime

Name

Description

duration_s*

Type: number

Courier shift overtime in seconds.

shift_end_probably_failed_time_window

Name

Description

duration_s*

Type: number

Expected difference between arrival time and failing time window, seconds.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

probability*

Type: number

Probability of being outside of the time window, percent.

high_risk

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

end_violations_0_1

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

type*

Type: string

Possible reasons:

  • FAILED_DELIVERY_DEADLINE - depot is visited after deadline of some pickup.

Enum: FAILED_DELIVERY_DEADLINE

end_violations_1_1

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

high_risk*

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

probability*

Type: number

Probability of being late, percent.

type*

Type: string

Possible reasons:

  • PROBABLY_FAILED_DELIVERY_DEADLINE - depot may be visited after deadline of some pickup with nonzero probability.

Enum: FAILED_DELIVERY_DEADLINE, PROBABLY_FAILED_DELIVERY_DEADLINE

shift_start_failed_time_window

Name

Description

duration_s*

Type: number

When a location is visited outside of the time window, indicates the duration (in seconds) between the reference time and the closest endpoint of the failed time window. The reference time is the start or the end of service depending on penalize_late_service.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

shift_start_overtime

Name

Description

duration_s*

Type: number

Courier shift overtime in seconds.

shift_start_probably_failed_time_window

Name

Description

duration_s*

Type: number

Expected difference between arrival time and failing time window, seconds.

how*

Type: string

When a location is visited outside of the time window, indicates the time direction between the arrival time and the failed time window:

  • EARLY - arrival and service start are before the start of the time window;
  • LATE - arrival or service finish (depending on penalize_late_service) is after the end of the time window.

Enum: EARLY, LATE

probability*

Type: number

Probability of being outside of the time window, percent.

high_risk

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

start_violations_0_1

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

type*

Type: string

Possible reasons:

  • FAILED_DELIVERY_DEADLINE - depot is visited after deadline of some pickup.

Enum: FAILED_DELIVERY_DEADLINE

start_violations_1_1

Name

Description

duration_s*

Type: number

Expected difference between arrival time and the deadline, seconds.

high_risk*

Type: boolean

When true, it means that probability of being late on location is greater or equal to critical_lateness_risk_probability.

pickup_id*

Type: integer or string

Defines id of a pickup order corresponding to this deadline.

probability*

Type: number

Probability of being late, percent.

type*

Type: string

Possible reasons:

  • PROBABLY_FAILED_DELIVERY_DEADLINE - depot may be visited after deadline of some pickup with nonzero probability.

Enum: FAILED_DELIVERY_DEADLINE, PROBABLY_FAILED_DELIVERY_DEADLINE

rest_schedule_penalty_early

Penalty components for early work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of an early start of work break if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 17

rest_schedule_penalty_late

Penalty components for late work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of a late start of work break if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 17

shifts_penalty_early

Penalty components for shifts started too early (used instead of out_of_time penalty). If the shift was also finished too early, it is applied to the shift finish too. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the vehicle starts or finishes the shift before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of earliness if the vehicle starts or finishes the shift before the start of the time window.

Default: 17

shifts_penalty_late

Penalty components for shifts finished too late (used instead of out_of_time penalty). This penalty is applied for being late to the end of the shift's time window or violating the max_duration_s bound. If both are violated simultaneously, the penalty is applied twice and summed. If the shift was started after the end of the time window, this penalty for the start time point is also added separately. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the vehicle starts or finishes the shift after the end of the time window or shift duration exceeds the max_duration_s bound.

Default: 1000

minute

Type: number

Penalty for each minute of lateness if the vehicle starts or finishes the shift after the end of the time window or if the vehicle spends more than max_duration_s seconds at the shift.

Default: 17

shifts_penalty_max_mileage

Penalties applied for violating shift's max_mileage_km limit. More information

Name

Description

fixed

Type: number

Fixed penalty applied if a vehicle shift has mileage greater than max_mileage_km.

Default: 1000

Min value: 0

km

Type: number

Penalty applied per each extra kilometer when shift mileage is greater than max_mileage_km shift parameter.

Default: 100

Min value: 0

shifts_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the vehicle starts or finishes the shift outside of the time window. See the specifications of early and late options. More information

Default: 1000

minute

Type: number

Penalty for each minute of being outside of the time window of the shift. See the specifications of early and late options. More information

Default: 17

shifts_penalty_stop_excess

Penalties applied for violating shift's maximal_stops limit. More information

Name

Description

fixed

Type: number

Fixed penalty applied if a vehicle shift has greater than maximal_stops stops.

Default: 0

Min value: 0

per_stop

Type: number

Penalty applied per each extra stop when shift stop count is greater than maximal_stops parameter.

Default: 0

Min value: 0

shifts_penalty_stop_lack

Penalties applied for violating shift's minimal_stops limit. More information

Name

Description

fixed

Type: number

Fixed penalty applied if a vehicle shift has less than minimal_stops stops.

Default: 0

Min value: 0

per_stop

Type: number

Penalty applied per each missing stop when shift stop count is less than minimal_stops parameter.

Default: 0

Min value: 0

shifts_penalty_unique_stop_lack

Penalties applied for violating shift's minimal_stops limit. More information

Name

Description

fixed

Type: number

Fixed penalty applied if a vehicle shift has less than minimal_stops stops.

Default: 0

Min value: 0

per_stop

Type: number

Penalty applied per each missing stop when shift stop count is less than minimal_stops parameter.

Default: 0

Min value: 0

shifts_penalty_working_overtime

Penalty components for violating of maximal working duration in shift. More information

Name

Description

fixed

Type: number

Fixed penalty applied for violating of maximal working duration in shift.

Default: 1000

minute

Type: number

Penalty for each minute of maximal working duration violation in shift.

Default: 17

rest_schedule_breaks_0

Work break (old format). More information

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

continuous_travel_time_range

Type: string

Minimal and maximal duration of continuous travel time before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

driving_time_range

Type: string

Minimal and maximal duration of driving before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

exact_time_range

Type: string

The exact time range when the rest should start, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

travel_time_range

Type: string

Minimal and maximal duration of driving and waiting before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

type

Type: string

Type of work break.

work_time_range_from_start

Type: string

Minimal and maximal duration of time from start of route until rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

work_time_range_till_rest

Type: string

Minimal and maximal duration of work before rest, format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30").. More information

rest_schedule_breaks_1

Work break (new format).

Name

Description

rest_duration_s*

Type: number

Duration of rest, seconds. More information

Min value: 1

Max value: 3153600000

break_type

Type: string

Type of the work break, specifying how the duration before work break start is computed, when soft_time_range, hard_time_range and desired_work_duration are applied. Can have one of the following values:

  • from_last — duration of work before rest is considered (analogue to work_time_range_till_rest);
  • from_start — duration of time from start of route until rest is considered (analogue to work_time_range_from_start);
  • continuous — duration of continuous travel time before rest is considered (analogue to continuous_travel_time_range);
  • travel — duration of driving and waiting before rest is considered (analogue to travel_time_range);
  • driving — duration of driving before rest is considered (analogue to driving_time_range);
  • exact — The exact time range when the rest should start is specified (analogue to exact_time_range);
  • before_first — work break is made before the first location (upon arrival there)
  • after_last — work break is made after the last location (before departure from there) Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

Enum: from_last, from_start, continuous, travel, driving, exact, before_first, after_last

can_be_split

Type: boolean

Work break can be split into parts (within the same shift and without work break order vilation). More information

Default:

can_rest_during_service

Type: boolean

It is allowed to this break during locations service duration. More information

Default:

check_ending_time

Type: boolean

For this work break fields, used to specify its starting time (time_range, desired_work_duration), specify its ending time instead.

Default:

desired_work_duration

Type: number or string

Desired duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Solver would try to start a break according to this parameter, unless it leads to the cost increase. Format: number of seconds from the start of the work or [D.]HH[:MM[:SS]] ("05:30").

hard_time_range

Type: string

Hard limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

id

Type: integer or string

Work break ID. All work breaks IDs in vehicle rest_schedule must be unique and have the same type: integer or string.

max_split_parts

Type: integer

Maximal number of parts in which the work break can be split. More information

Min value: 1

min_first_split_part_duration_s

Type: number

Minimal duration of the first part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_last_split_part_duration_s

Type: number

Minimal duration of the last part of a split order. Default value equals one third of rest_duration_s value.More information

Min value: 1

min_split_part_duration_s

Type: number

Minimal duration of one part of a split order. More information

Default: 600

Min value: 1

penalty

Type: breaks_penalty

Penalties applied for violations of work break conditions. More information

repeatable

Type: boolean

When true, this work break will be repeated until the end of route. Can only be true for the last break in the chain. More information

Default:

soft_time_range

Type: string

Soft limitation on minimal and maximal duration before work break start. Type of the break, stated in break_type field, specifies, how this duration is computed when applying this parameter. Format: [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] ("04:00 - 05:30"). Incompatible with the old work break format (fields work_time_range_till_rest, work_time_range_from_start etc.).

type

Type: string

Type of work break.

shifts_rest_schedule_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: rest_schedule_penalty_early

Penalty components for early work break.

late

Type: rest_schedule_penalty_late

Penalty components for late work break.

shifts_run_restrictions_max_mileage_km

Name

Description

value*

Type: number

Restriction on the mileage of the run.

Min value: 0

penalty

Type: run_restrictions_max_mileage_km_penalty

shifts_run_restrictions_maximal_stops

Name

Description

value*

Type: integer

Restriction on the maximal number of stops in a run.

Min value: 0

penalty

Type: run_restrictions_maximal_stops_penalty

shifts_run_restrictions_minimal_stops

Name

Description

value*

Type: integer

Restriction on the minimum number of stops in a run.

Min value: 0

penalty

Type: run_restrictions_minimal_stops_penalty

trailer_capacity_limits

Trailer load limits.

Name

Description

units_perc

Type: number

Upper limit of total shipments size in custom units as a percentage of a trailer capacity

Default: 100

Min value: 0

volume_perc

Type: number

Upper limit of total shipments volume as a percentage of trailer volume. For container fitting purposes it is assumed that each dimension is multiplied by the cubic root of (0.01 * volume_perc).

Default: 100

Min value: 0

weight_perc

Type: number

Upper limit of total shipments weight as a percentage of total weight the trailer is allowed to carry.

Default: 100

Min value: 0

trailer_capacity_volume

Trailer dimensions.

Name

Description

depth_m*

Type: number

Depth, meters.

Default: 1000

Min value: 0

Max value: 1000000

height_m*

Type: number

Height, meters.

Default: 1000

Min value: 0

Max value: 1000000

width_m*

Type: number

Width, meters.

Default: 1000

Min value: 0

Max value: 1000000

walking_courier_restrictions_max_parking_duration_s

Name

Description

penalty

Type: number

Penalty per second exceeding the maximum parking time.

Default: 0

Min value: 0

Max value: 1000000000

value

Type: number

The maximum duration of the walking part allowed within one parking, seconds.

Default: 1000000000

Min value: 0

Max value: 1000000000

walking_courier_restrictions_max_parking_walking_distance_m

Name

Description

penalty

Type: number

Penalty per m exceeding the maximum distance traveled within one parking.

Default: 0

Min value: 0

Max value: 1000000000

value

Type: number

The maximum walking distance allowed within one parking.

Default: 1000000000

Min value: 0

Max value: 1000000000

walking_courier_restrictions_max_walking_edge_distance_m

Name

Description

penalty

Type: number

Penalty for exceeding the walking edge limit per meter.

Default: 0

Min value: 0

Max value: 1000000000

value

Type: number

Max walking distance between two locations in route, meters.

Default: 1000000000

Min value: 0

Max value: 1000000000

raw_metrics_raw_metrics_item_14

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_13[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_13[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_12

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_13[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_13[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_11

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_10[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_9[]

The value of an arbitrary cost.

subcosts_subcosts_item_10

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_9[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_9[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_7

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_6[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_6[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_5

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_6[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_6[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_4

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_3[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_2[]

The value of an arbitrary cost.

subcosts_subcosts_item_3

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_2[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_2[]

The value of an arbitrary cost.

penalty_early

Penalty components for early work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of an early start of work break if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 17

penalty_late

Penalty components for late work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of a late start of work break if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 17

route_depot_location_package_throughput

Restriction on packaging speed in depot. More information

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

route_depot_location_penalty

Penalties for depot time window or throughput violation. More information

Name

Description

early

Type: route_depot_location_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: route_depot_location_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: route_depot_location_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

package_throughput

Type: route_depot_location_penalty_package_throughput

Penalty components for package throughput exceeding. More information

throughput

Type: route_depot_location_penalty_throughput

Penalty components for throughput exceeding. More information

route_depot_location_throughput

Depot throughput limit. More information

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

vehicle_count

Type: array or number

route_depot_location_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

route_depot_location_time_windows_loading

Time windows when the courier is allowed to leave the depot on the first run. More information

Name

Description

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Time window, specified in the time_window field, should be hard. Incompatible with the hard_time_window field. More information

Default:

penalty

Type: route_depot_location_time_windows_loading_penalty

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: route_depot_location_time_windows_loading_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

route_depot_location_time_windows_refilling

Time windows when the courier is allowed to visit a depot (or middle depot) for additional loading. More information

Name

Description

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Time window, specified in the time_window field, should be hard. Incompatible with the hard_time_window field. More information

Default:

penalty

Type: route_depot_location_time_windows_refilling_penalty

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: route_depot_location_time_windows_refilling_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

route_depot_location_time_windows_unloading

Time windows when the courier is allowed to return to the depot on the last run. More information

Name

Description

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

hard_window

Type: boolean

Time window, specified in the time_window field, should be hard. Incompatible with the hard_time_window field. More information

Default:

penalty

Type: route_depot_location_time_windows_unloading_penalty

time_window

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

time_windows

Type: route_depot_location_time_windows_unloading_time_windows_item[]

List of allowed time windows. Time windows can not overlap. Fields time_window and time_windows are mutually exclusive. Either none or all of time_window must have corresponding hard_time_window. More information

route_depot_location_unfeasible_reasons_0

The reason why the location is not feasible.

Name

Description

late_duration_s*

Type: number

The duration of late arrival, (arrival time) - (end of time window), seconds.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • FAILED_HARD_TIME_WINDOW - the vehicle could not reach the location within a specified hard time window,

Enum: FAILED_HARD_TIME_WINDOW

route_depot_location_unfeasible_reasons_1

The reason why the location is not feasible.

Name

Description

overrun_s*

Type: number

The amount of time by which the hard transit time restriction was exceeded, in seconds.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • TRANSIT_TIME_VIOLATION - cannot satisfy hard transit time requirement while fulfilling the order.

Enum: TRANSIT_TIME_VIOLATION

route_depot_location_unfeasible_reasons_2

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • VEHICLE_TOO_MANY_RUNS - courier has more runs than allowed by max_runs property.

Enum: VEHICLE_TOO_MANY_RUNS

route_depot_location_unfeasible_reasons_3

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • SHIFT_TOO_MANY_RUNS - courier shift has more runs than allowed by max_runs property.

Enum: SHIFT_TOO_MANY_RUNS

route_depot_location_unfeasible_reasons_4

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • OTHER - the location is not feasible for a different reason.

Enum: OTHER

route_location_1_optional_tags_item

An optional tag with bonus or penalty.

Name

Description

tag*

Type: string

An arbitrary tag. More information

value*

Type: number

Value of the tag. When location is served by a vehicle with a matching tag in tags field, this value is subtracted from the route cost. When the matching tag is in excluded_tags field, this value is added to the route cost. More information

route_location_1_penalty

Penalty components for non-completion and time window violation. More information

Name

Description

delivery_deadline

Type: route_location_1_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

depot_expiring_time

Type: route_location_1_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

depot_ready_time

Type: route_location_1_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

drop

Type: route_location_1_penalty_drop_0 or number

Penalty for not delivering an order. More information

early

Type: route_location_1_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: route_location_1_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: route_location_1_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

rolling_throughput

Type: route_location_1_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

throughput

Type: route_location_1_penalty_throughput

Penalty components for throughput exceeding. More information

time_between_visits

Type: route_location_1_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

transit_time

Type: route_location_1_penalty_transit_time

Penalty components for exceeding transit time. More information

route_location_1_quant_0

Minimal part which can be split from the order measured in one of the units. More information

Name

Description

units

Type: number

Size of shipment in custom units.

Min value: 0

volume_cbm

Type: number

Volume of minimal part, cubic meters.

Min value: 0

weight_kg

Type: number

Weight of minimal part, kilograms.

Min value: 0

route_location_1_rolling_throughput

Rolling throughput limit (supported for anchors).

Name

Description

vehicle_count

Type: array or number

route_location_1_shipment_size

Shipment size (dimensions and/or weight). More information

Name

Description

custom

Type: number

Size of shipment in custom units. Sizes in custom units are defined in format "name": size, where name is a string denoting the name of a unit, and size is a non-negative floating-point number denoting the quantity of the corresponding unit in the shipment. If the name of a unit is present in other objects (locations/vehicles/trailers), but not this, it is assumed that the quantity of this unit in the shipment is zero. More information

Default: 0

Min value: 0

units

Type: number

Size of shipment in custom units. More information

Default: 0

Min value: 0

Max value: 1000000000

volume

Type: route_location_1_shipment_size_volume

Shipment dimensions and type.

volume_cbm

Type: number

Explicit volume, cubic meters. By default, the value is taken from volume, if nothing is specified here. More information

Min value: 0

weight_kg

Type: number

Weight of shipment, kilograms.

Default: 0

Min value: 0

Max value: 1000000000

route_location_1_split_info

Information about split part of the order (in case if the order was split).

Name

Description

order_ratio

Type: number

Split ratio of an order or a work break, included in this part.

part_id

Type: integer

Number of this part of the order.

parts_count

Type: integer

Number of parts, in which the order was split.

units

Type: number

Size of this part in custom units (in case there was corresponding quant specified for this order).

volume_cbm

Type: number

Volume of this part, cubic meters (in case there was corresponding quant specified for this order).

weight_kg

Type: number

Weight of this part, kilograms (in case there was corresponding quant specified for this order).

route_location_1_throughput

Location throughput limit (supported for the orders which can be split). More information

Name

Description

kg_per_hour

Type: array or number

units_per_hour

Type: array or number

vehicle_count

Type: array or number

route_location_1_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

route_location_1_transit_time

Restrictions on the time the order spends inside a vehicle. More information

Name

Description

hard_limit_s

Type: number

Hard time limit, values above it are unacceptable.

Min value: 0

Max value: 1000000000

limit_s

Type: number

Soft time limit, values above it are acceptable but they will be penalized.

Min value: 0

Max value: 1000000000

route_location_1_unfeasible_reasons_0

The reason why the location is not feasible.

Name

Description

overload*

Type: number

The overload value. The unit used depends on the overload type:

  • OVERLOAD_WEIGHT - overload in kg;
  • OVERLOAD_SIZE - extra size in custom units (units field);
  • OVERLOAD_VOLUME - excess volume in m^3;
  • OVERLOAD_CUSTOM - extra size in custom units (custom field).

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • OVERLOAD_WEIGHT - vehicle was carrying over maximum defined weight,
  • OVERLOAD_SIZE - the cargo did not fit into the vehicle based on its size in custom units (units field),
  • OVERLOAD_VOLUME - the cargo volume exceeds vehicle storage space,
  • OVERLOAD_CUSTOM - the cargo did not fit into the vehicle based on its size in custom units (custom field),

Enum: OVERLOAD_WEIGHT, OVERLOAD_SIZE, OVERLOAD_VOLUME, OVERLOAD_CUSTOM

custom_type

Type: string

Type of custom units that caused overload in case of OVERLOAD_CUSTOM.

route_location_1_unfeasible_reasons_1

The reason why the location is not feasible.

Name

Description

late_duration_s*

Type: number

The duration of late arrival, (arrival time) - (end of time window), seconds.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • FAILED_HARD_TIME_WINDOW - the vehicle could not reach the location within a specified hard time window,

Enum: FAILED_HARD_TIME_WINDOW

route_location_1_unfeasible_reasons_2

The reason why the location is not feasible.

Name

Description

tags*

Type: string[]

List of missing required tags.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • REQUIRED_TAGS_VIOLATION - the courier doesn't have required tags.

Enum: REQUIRED_TAGS_VIOLATION

route_location_1_unfeasible_reasons_3

The reason why the location is not feasible.

Name

Description

tags*

Type: string[]

List of present excluded tags.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • EXCLUDED_TAGS_VIOLATION - the order has the courier's excluded tags.

Enum: EXCLUDED_TAGS_VIOLATION

route_location_1_unfeasible_reasons_4

The reason why the location is not feasible.

Name

Description

overrun_s*

Type: number

The amount of time by which the hard transit time restriction was exceeded, in seconds.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • TRANSIT_TIME_VIOLATION - cannot satisfy hard transit time requirement while fulfilling the order.

Enum: TRANSIT_TIME_VIOLATION

route_location_1_unfeasible_reasons_5

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • INCOMPATIBLE_VEHICLE_VIOLATION - location is not compatible with assigned vehicle.

Enum: INCOMPATIBLE_VEHICLE_VIOLATION

route_location_1_unfeasible_reasons_6

The reason why the location is not feasible.

Name

Description

incompatibilities*

Type: unfeasible_reasons_incompatibilities_item_2[]

List of all incompatibile load type pairs.
A list of all pairs of load types that are not compatible with an order.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • INCOMPATIBLE_LOAD_TYPES_VIOLATION - the order is incompatible with other order in run by load types.

Enum: INCOMPATIBLE_LOAD_TYPES_VIOLATION

route_location_1_unfeasible_reasons_7

The reason why the location is not feasible.

Name

Description

incompatibilities*

Type: unfeasible_reasons_incompatibilities_item[]

List of all incompatibile zone pairs.
A list of all pairs of zones that are not compatible with an order.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • INCOMPATIBLE_ZONES_VIOLATION - the order is incompatible with other order in run by zones.

Enum: INCOMPATIBLE_ZONES_VIOLATION

route_location_1_unfeasible_reasons_8

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • VEHICLE_TOO_MANY_RUNS - courier has more runs than allowed by max_runs property.

Enum: VEHICLE_TOO_MANY_RUNS

route_location_1_unfeasible_reasons_9

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • SHIFT_TOO_MANY_RUNS - courier shift has more runs than allowed by max_runs property.

Enum: SHIFT_TOO_MANY_RUNS

route_location_1_unfeasible_reasons_10

The reason why the location is not feasible.

Name

Description

tags*

Type: string[]

List of vehicle's allowed zones.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • ALLOWED_ZONES_VIOLATION - location doesn't belong to any of courier's allowed zones.

Enum: ALLOWED_ZONES_VIOLATION

route_location_1_unfeasible_reasons_11

The reason why the location is not feasible.

Name

Description

tags*

Type: string[]

List of present forbidden zones.

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • FORBIDDEN_ZONES_VIOLATION - location belongs to some of the courier's forbidden zones.

Enum: FORBIDDEN_ZONES_VIOLATION

route_location_1_unfeasible_reasons_12

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • INCOMPATIBLE_CONTAINER_DIMENSIONS_VIOLATION - location doesn't fit into vehicle by dimensions

Enum: INCOMPATIBLE_CONTAINER_DIMENSIONS_VIOLATION

route_location_1_unfeasible_reasons_13

The reason why the location is not feasible.

Name

Description

text*

Type: string

Explanation for the reason the location was not feasible.

type*

Type: string

Possible reasons:

  • OTHER - the location is not feasible for a different reason.

Enum: OTHER

route_work_break_old_format_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: route_work_break_old_format_penalty_early

Penalty components for early work break.

late

Type: route_work_break_old_format_penalty_late

Penalty components for late work break.

route_work_break_old_format_split_info

Information about split part of the work break (in case if the work break was split).

Name

Description

part_id

Type: integer

Number of this part of the work break.

parts_count

Type: integer

Number of parts, in which the work break was split.

route_work_break_new_format_penalty

Penalties applied for violations of work break conditions. More information

Name

Description

early

Type: route_work_break_new_format_penalty_early

Penalty components for early work break.

late

Type: route_work_break_new_format_penalty_late

Penalty components for late work break.

route_work_break_new_format_split_info

Information about split part of the work break (in case if the work break was split).

Name

Description

part_id

Type: integer

Number of this part of the work break.

parts_count

Type: integer

Number of parts, in which the work break was split.

run_restrictions_max_mileage_km_penalty

Name

Description

fixed

Type: number

Fixed penalty for violation of the restriction.

Default: 1000

per_km

Type: number

A penalty for each kilometer of violation of the restriction.

Default: 100

run_restrictions_maximal_stops_penalty

Name

Description

fixed

Type: number

Fixed penalty for violation of the restriction.

Default: 1000

per_stop

Type: number

A penalty for each stop exceeding the restriction.

Default: 100

run_restrictions_minimal_stops_penalty

Name

Description

fixed

Type: number

Fixed penalty for violation of the restriction.

Default: 1000

per_stop

Type: number

A penalty for each lacking stop.

Default: 100

raw_metrics_raw_metrics_item_13

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_12[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_14[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_13

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_14[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_14[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_13

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_11[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_11[]

The value of an arbitrary cost.

subcosts_subcosts_item_13

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_12[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_12[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_10

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_9[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_10[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_9

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_10[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_11[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_9

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_8[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_8[]

The value of an arbitrary cost.

subcosts_subcosts_item_9

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_8[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_8[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_6

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_5[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_7[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_6

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_7[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_7[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_6

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_4[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_4[]

The value of an arbitrary cost.

subcosts_subcosts_item_6

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_5[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_5[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_3

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_2[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_3[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_2

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_3[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_4[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_2

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item_1[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item_1[]

The value of an arbitrary cost.

subcosts_subcosts_item_2

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item_1[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item_1[]

The value of an arbitrary cost.

route_depot_location_package_throughput_kg_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Depot package throughput, kilograms per hour. More information

Min value: 0

route_depot_location_package_throughput_units_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Depot package throughput, units per hour. More information

Min value: 0

route_depot_location_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts beeing served at the depot before the beginning of the time window. The penalty is applied for any early service, including opening the depot, unloading or uploading the courier at the depot or closing the depot. It is applied once for each visit of a depot during which the courier was served early. More information

Default: 1000

minute

Type: number

Penalty for each minute of early service of the depot. Applied in the same cases as the fixed penalty. More information

Default: 17

route_depot_location_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied for each visit of the depot after the end of the time window. Starting from a depot is counted for a visit. More information

Default: 1000

minute

Type: number

Penalty for each minute of lateness for every visit of the depot after the end of the time window. More information

Default: 17

route_depot_location_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the depot is visited outside of the time window. See the specifications of early and late options. More information

Default: 1000

minute

Type: number

Penalty for each minute of being outside of the time window of the depot. See the specifications of early and late options. More information

Default: 17

route_depot_location_penalty_package_throughput

Penalty components for package throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

route_depot_location_penalty_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

route_depot_location_throughput_kg_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, kilograms per hour. More information

Min value: 0

route_depot_location_throughput_units_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, custom units per hour. More information

Min value: 0

route_depot_location_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

route_depot_location_time_windows_loading_penalty

Name

Description

early

Type: time_windows_loading_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: time_windows_loading_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: time_windows_loading_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

route_depot_location_time_windows_loading_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

route_depot_location_time_windows_refilling_penalty

Name

Description

early

Type: time_windows_refilling_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: time_windows_refilling_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: time_windows_refilling_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

route_depot_location_time_windows_refilling_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

route_depot_location_time_windows_unloading_penalty

Name

Description

early

Type: time_windows_unloading_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

late

Type: time_windows_unloading_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

out_of_time

Type: time_windows_unloading_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

route_depot_location_time_windows_unloading_time_windows_item

Name

Description

time_window*

Type: string

Allowed time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. More information

hard_time_window

Type: string

Allowed hard time window to visit location, in [D.]HH[:MM[:SS]] - [D.]HH[:MM[:SS]] format or ISO 8601 2018-09-06T10:15:00+03:00/2018-09-06T12:45:00+03:00, 2018-09-06T10:15:00Z/2018-09-06T12:45:00Z. Hard time window must include time range defined in corresponding time_window field. Fields hard_time_window and hard_window are mutually exclusive. More information

route_location_1_penalty_delivery_deadline

Penalty components for late deliveries from pickup locations to depots. Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the depot is visited after the deadline.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the depot is visited after the deadline.

Default: 17

route_location_1_penalty_depot_expiring_time

Penalty components for violation soft_depot_expiring_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

route_location_1_penalty_depot_ready_time

Penalty components for violation soft_depot_ready_time restriction. More information

Name

Description

fixed

Type: number

Penalty for violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

route_location_1_penalty_drop_0

Name

Description

fixed

Type: number

Fixed penalty for not delivering any part of the order. More information

Default: 0

scaled

Type: number

Penalty for not delivering order ratio. More information

Default: 1000000

route_location_1_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

route_location_1_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

route_location_1_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

route_location_1_penalty_rolling_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

route_location_1_penalty_throughput

Penalty components for throughput exceeding. More information

Name

Description

fixed

Type: number

Fixed penalty applied if throughput is exceeded.

Default: 1000

kg

Type: number

Penalty for each extra kg of throughput exceeding.

Default: 50

unit

Type: number

Penalty for each extra custom unit of throughput exceeding (units field).

Default: 100

vehicle

Type: number

Penalty for each extra vehicle per hour of throughput exceeding.

Default: 100000

route_location_1_penalty_time_between_visits

Penalty components for exceeding max_time_between_visits_s restriction. More information

Name

Description

fixed

Type: number

Penalty for each case of violation, regardless of the size of the violation.

Default: 1000

Min value: 0

minute

Type: number

Penalty for every minute of violation.

Default: 17

Min value: 0

route_location_1_penalty_transit_time

Penalty components for exceeding transit time. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the order was delivered with a violation of the soft transit time limit.

minute

Type: number

Penalty for each minute transit time violation.

route_location_1_rolling_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

route_location_1_shipment_size_volume

Shipment dimensions and type.

Name

Description

depth_m*

Type: number

Depth, meters.

Default: 0

Min value: 0

Max value: 1000000

height_m*

Type: number

Height, meters.

Default: 0

Min value: 0

Max value: 1000000

width_m*

Type: number

Width, meters.

Default: 0

Min value: 0

Max value: 1000000

align

Type: string

Defines allowed container alignment for rigid and fixed_bottom types (ignored for bulk containers):

  • all_axes — default, all axes of the box must be parallel to vehicle's axes;
  • height — the bottom of the box lies on a horizontal surface, but any rotation around the vertical axis (height) is allowed (note that any side can become a bottom for rigid containers). More information

Default: all_axes

Enum: all_axes, height

type

Type: string

Container type:

  • bulk — default type, shape can be changed arbitrary to fit the vehicle;
  • rigid — container is a box that must fit vehicle dimensions under some orientation;
  • fixed_bottom — the bottom of the box must stay the same, but the box can be rotated horizontally (height must fit vehicle's height). More information

Default: bulk

Enum: bulk, rigid, fixed_bottom

route_location_1_throughput_kg_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, kilograms per hour. More information

Min value: 0

route_location_1_throughput_units_per_hour_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, custom units per hour. More information

Min value: 0

route_location_1_throughput_vehicle_count_0_item

Name

Description

time_window

Type: string

The time window during which the specified restriction applies. The windows must not intersect with each other, and their union must contain the defined working hours of the corresponding depot. If the restriction is not defined on any time interval outside depot working hours, then it is considered equal to zero. More information

value

Type: number

Throughput, simultaneously vehicles. More information

Min value: 0

Max value: 1000000000

unfeasible_reasons_incompatibilities_item_2

A list of all pairs of load types that are not compatible with an order.

Name

Description

incompatible_order_id*

Type: integer or string

Reference to a location specified in locations. More information

types*

Type: incompatibilities_types_item[]

unfeasible_reasons_incompatibilities_item

A list of all pairs of zones that are not compatible with an order.

Name

Description

incompatible_order_id*

Type: integer or string

Reference to a location specified in locations. More information

zones*

Type: incompatibilities_zones_item[]

route_work_break_old_format_penalty_early

Penalty components for early work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of an early start of work break if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 17

route_work_break_old_format_penalty_late

Penalty components for late work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of a late start of work break if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 17

route_work_break_new_format_penalty_early

Penalty components for early work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of an early start of work break if a courier starts a work break while they worked for a less than the specified minimal work duration since the start of work or the previous work break ending.More information

Default: 17

route_work_break_new_format_penalty_late

Penalty components for late work break.

Name

Description

fixed

Type: number

Fixed penalty applied if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 1000

minute

Type: number

Penalty for each minute of a late start of work break if a worker starts a work break while they worked for a more than the specified maximal work duration since the start of work or the previous work break ending.More information

Default: 17

raw_metrics_raw_metrics_item_12

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_14

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_14

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_14

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_11

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_11

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_12

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_12

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_9

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_10

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_10

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_11

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_8

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_8

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_8

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_8

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_5

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_7

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_7

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_7

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_4

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_4

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_5

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_5

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_2

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_3

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_3

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_4

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_raw_metrics_item_1

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

raw_metrics_subcosts_item_1

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

subcosts_raw_metrics_item_1

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: raw_metrics_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: raw_metrics_subcosts_item[]

The value of an arbitrary cost.

subcosts_subcosts_item_1

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics

Type: subcosts_raw_metrics_item[]

The value of an arbitrary cost.

subcosts

Type: subcosts_subcosts_item[]

The value of an arbitrary cost.

time_windows_loading_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

time_windows_loading_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

time_windows_loading_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

time_windows_refilling_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

time_windows_refilling_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

time_windows_refilling_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

time_windows_unloading_penalty_early

Penalty components for early service (used instead of out_of_time penalty). More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location starts being served before the start of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of early arrival when the location starts being served before the start of the time window.

Default: 17

time_windows_unloading_penalty_late

Penalty components for late visits (used instead of out_of_time penalty). Whether the start or the end of service during the visit is used to penalize for lateness is determined by the penalize_late_service option. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited after the end of the time window.

Default: 1000

minute

Type: number

Penalty for each minute of lateness, when the location is visited after the end of the time window.

Default: 17

time_windows_unloading_penalty_out_of_time

Penalty components for time window failure. Can be used to set the values of early and late options simultaneously, and each value is overridden if the respective option is also defined. More information

Name

Description

fixed

Type: number

Fixed penalty applied if the location is visited outside of the time window. See the specifications of early and late options.

Default: 1000

minute

Type: number

Penalty for each minute of lateness or early arrival when the location is visited outside of the time window. See the specifications of early and late options.

Default: 17

incompatibilities_types_item

Name

Description

other_type*

Type: string

Load type of the incompatible order.

self_type*

Type: string

Load type of the current order.

incompatibilities_zones_item

Name

Description

other_zone*

Type: string

Load type of the incompatible order.

self_zone*

Type: string

Load type of the current order.

raw_metrics_raw_metrics_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

raw_metrics_subcosts_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

subcosts_raw_metrics_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

subcosts_subcosts_item

The value of an arbitrary cost.

Name

Description

name*

Type: string

value*

Type: number

201 Created

Task has started.

Body

application/json
{
    "id": "string",
    "message": "string",
    "status": {
        "cancelled": 0,
        "completed": 0,
        "estimate": 0,
        "queued": 0,
        "started": 0
    }
}

Name

Description

id*

Type: string

Task unique id.

status*

Type: task_info_1_status

Task statuses object. Keys are task statuses, values are UNIX timestamps for corresponding status.

Possible status transits: queued -> started -> (completed or cancelled)

message

Type: string

Human-readable description of task state.

202 Accepted

Task has been queued for execution.

Body

application/json
{
    "id": "string",
    "message": "string",
    "status": {
        "cancelled": 0,
        "completed": 0,
        "estimate": 0,
        "queued": 0,
        "started": 0
    }
}

Name

Description

id*

Type: string

Task unique id.

status*

Type: task_info_1_status

Task statuses object. Keys are task statuses, values are UNIX timestamps for corresponding status.

Possible status transits: queued -> started -> (completed or cancelled)

message

Type: string

Human-readable description of task state.

404 Not Found

Requested task is not found.

Body

application/json
{
    "error": {
        "incident_id": "string",
        "message": "string"
    }
}

Name

Description

error*

Type: error_2_error

Error description.

410 Gone

Task was deleted or archived.

Body

application/json
{
    "error": {
        "incident_id": "string",
        "message": "string"
    }
}

Name

Description

error*

Type: error_2_error

Error description.

500 Internal Server Error

Server error during operation.

Body

application/json
{
    "error": {
        "incident_id": "string",
        "message": "string"
    }
}

Name

Description

error*

Type: error_2_error

Error description.

Previous