Получить результат выполнения задачи
Получить текущий статус или результат выполнения задачи MVRP.
Request
GET
https://courier.yandex.ru/vrs/api/v1/result/mvrp/{id}
Path parameters
Name |
Description |
id* |
Type: string<byte> Идентификатор задачи, используемый для запроса ее состояния или результата. |
Responses
200 OK
Задача выполнена.
Body
{
"result": {
"routes": [
{
"route": [
{
"stop_sequence_number": 0,
"arrival_time_s": 0,
"actual_arrival_time_s": 0,
"departure_time_s": 0,
"actual_departure_time_s": 0,
"actual_service_start_time_s": 0,
"transit_distance_m": 0,
"transit_duration_s": 0,
"waiting_duration_s": 0,
"actual_waiting_duration_s": 0,
"failed_time_window": {
"how": "EARLY",
"duration_s": 0
},
"probably_failed_time_window": {
"how": "EARLY",
"duration_s": 0,
"probability": 0,
"high_risk": false
},
"violations": [
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0
},
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0,
"probability": 0,
"high_risk": false
}
],
"overtime": {
"duration_s": 0
},
"multi_order": false,
"load_to_head": [
0,
"string"
],
"load_to_trailer": [
0,
"string"
],
"node": {
"used_time_window": "string",
"used_hard_time_window": "string",
"used_projection": {
"lat": 0,
"lon": 0
},
"type": "depot",
"value": {
"id": 0,
"ref": "string",
"point": {
"lat": 0,
"lon": 0
},
"service_duration_s": {
"fixed": 0,
"scaled": 0
},
"title": "string",
"description": "string",
"address": "string",
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"package_throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100
}
},
"type": "depot",
"flexible_start_time": false,
"throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
},
"package_throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
]
},
"crossdock_safety_waiting_duration_s": 3600,
"finish_service_duration_s": 0,
"preliminary_service_duration_s": 0,
"load_service_duration_s": 0,
"unload_service_duration_s": 0,
"time_windows_loading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_refilling": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_unloading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"use_in_proximity": false,
"preset_id": "string",
"total_service_duration_s": 0,
"actual_total_service_duration_s": 0,
"unfeasible_reasons": [
{
"type": "FAILED_HARD_TIME_WINDOW",
"text": "string",
"late_duration_s": 0
},
{
"type": "TRANSIT_TIME_VIOLATION",
"text": "string",
"overrun_s": 0
},
{
"type": "OTHER",
"text": "string"
}
],
"trailer_used": false,
"trailer_decoupled": false,
"routing_mode": "driving",
"fixed_position": false,
"loaded_orders": [
0,
"string"
],
"delivered_orders": [
0,
"string"
],
"picked_orders": [
0,
"string"
]
}
}
}
],
"metrics": {
"depot_throughput_violation_kg": 0,
"depot_throughput_violation_units": 0,
"depot_throughput_violation_vehicles": 0,
"depot_throughput_violation_kg_per_hour": 0,
"depot_throughput_violation_units_per_hour": 0,
"early_depot_count": 0,
"early_locations_count": 0,
"early_shifts_count": 0,
"arrival_after_start_penalty": 0,
"empty_runs_penalty": 0,
"late_depot_count": 0,
"late_locations_count": 0,
"late_shifts_count": 0,
"lateness_risk_locations_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_min_work_duration_count": 0,
"failed_max_work_duration_count": 0,
"failed_work_duration_count": 0,
"failed_work_duration_s": 0,
"failed_work_duration_total_penalty": 0,
"failed_work_duration_count_penalty": 0,
"failed_work_duration_penalty": 0,
"objective_minimum": 0,
"new_objective_minimum": 0,
"old_objective_minimum": 0,
"overtime_duration_penalty": 0,
"overtime_duration_s": 0,
"overtime_penalty": 0,
"overtime_shifts_count": 0,
"overtime_shifts_count_penalty": 0,
"proximity": 0,
"global_proximity": 0,
"new_global_proximity": 0,
"old_global_proximity": 0,
"total_cost": 0,
"total_cost_with_penalty": 0,
"total_custom_cost": 0,
"route_custom_cost": 0,
"shift_custom_cost": 0,
"shift_total_custom_cost": 0,
"run_custom_cost": 0,
"total_payout": 0,
"route_payout": 0,
"shift_payout": 0,
"shift_total_payout": 0,
"run_payout": 0,
"new_total_cost_with_penalty": 0,
"old_total_cost_with_penalty": 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_failed_delivery_deadline_count": 0,
"total_failed_delivery_deadline_duration_s": 0,
"total_failed_delivery_deadline_penalty": 0,
"total_fixed_cost": 0,
"total_guaranteed_penalty": 0,
"total_walking_edge_distance_excess": 0,
"total_walking_edge_penalty": 0,
"total_multiorders_penalty": 0,
"new_total_guaranteed_penalty": 0,
"old_total_guaranteed_penalty": 0,
"total_soft_depot_ready_time_penalty": 0,
"total_soft_depot_expiring_time_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_failed_time_window_count": 0,
"total_failed_time_window_duration_s": 0,
"total_failed_time_window_penalty": 0,
"total_fails_penalty": 0,
"total_penalty": 0,
"new_total_penalty": 0,
"old_total_penalty": 0,
"total_probable_penalty": 0,
"total_proximity_distance_m": 0,
"total_proximity_duration_s": 0,
"total_proximity_penalty": 0,
"total_global_proximity_distance_m": 0,
"new_total_global_proximity_distance_m": 0,
"old_total_global_proximity_distance_m": 0,
"total_global_proximity_duration_s": 0,
"new_total_global_proximity_duration_s": 0,
"old_total_global_proximity_duration_s": 0,
"total_global_proximity_penalty": 0,
"new_total_global_proximity_penalty": 0,
"old_total_global_proximity_penalty": 0,
"total_optional_tags_cost": 0,
"total_optional_zones_cost": 0,
"total_runs_cost": 0,
"total_transport_work_tonne_km": 0,
"total_transport_work_cost": 0,
"total_service_duration_s": 0,
"total_rest_duration_s": 0,
"total_stops": 0,
"new_total_stops": 0,
"old_total_stops": 0,
"total_unique_stops": 0,
"total_middle_depots": 0,
"total_min_stop_weight_penalty": 0,
"total_stop_count_penalty": 0,
"new_total_stop_count_penalty": 0,
"old_total_stop_count_penalty": 0,
"total_mileage_penalty": 0,
"total_work_breaks": 0,
"max_distance_from_depot_m": 0,
"max_distance_to_garage_m": 0,
"max_distance_to_attraction_point_m": 0,
"total_empty_distance_m": 0,
"total_non_empty_distance_m": 0,
"total_transit_distance_cost": 0,
"total_transit_distance_m": 0,
"total_walking_distance_m": 0,
"total_transit_duration_s": 0,
"total_trailer_transit_distance_m": 0,
"total_walking_duration_s": 0,
"total_trailer_transit_duration_s": 0,
"total_trailer_rolling_count": 0,
"total_trailer_rolling_cost": 0,
"total_unfeasibility_count": 0,
"total_unfeasibility_penalty": 0,
"total_waiting_duration_s": 0,
"transit_time_penalty": 0,
"total_served_orders": 0,
"unfeasible_transit_time_excess_penalty": 0,
"unfeasible_trailer_diff_excess_penalty": 0,
"unfeasible_incompatible_load_types_penalty": 0,
"unfeasible_incompatible_zones_penalty": 0,
"unfeasible_missed_planned_runs_penalty": 0,
"unfeasible_pickup_missed_drop_off_penalty": 0,
"unfeasible_pickup_missed_depot_penalty": 0,
"unfeasible_walking_to_depot_penalty": 0,
"unfeasible_walking_courier_overload_penalty": 0,
"unfeasible_walking_after_route_end_penalty": 0,
"unfeasible_shift_overtime_penalty": 0,
"unfeasible_unused_middle_depot_penalty": 0,
"unfeasible_invalid_pickup_delivery_order_penalty": 0,
"unfeasible_failed_ready_time_penalty": 0,
"unfeasible_failed_expiring_time_penalty": 0,
"unfeasible_failed_sequence_order_penalty": 0,
"unfeasible_failed_hard_time_window_penalty": 0,
"unfeasible_failed_dependent_group_penalty": 0,
"unfeasible_not_loaded_order_penalty": 0,
"unfeasible_vehicle_overload_penalty": 0,
"unfeasible_planned_overload_penalty": 0,
"unfeasible_work_break_drop_penalty": 0,
"unfeasible_crossdock_missed_delivery_penalty": 0,
"unfeasible_empty_first_run_penalty": 0,
"unfeasible_max_midde_depots_penalty": 0,
"unfeasible_depots_only_at_run_beginning_penalty": 0,
"unfeasible_not_same_depot_run_ending_penalty": 0,
"unfeasible_not_same_depot_route_ending_penalty": 0,
"unfeasible_missed_coupled_delivery_penalty": 0,
"unfeasible_rolling_before_decoupling_penalty": 0,
"unfeasible_rolling_without_trailer_penalty": 0,
"unfeasible_decouple_decoupled_trailer_penalty": 0,
"unfeasible_couple_coupled_trailer_penalty": 0,
"unfeasible_decouple_unused_trailer_penalty": 0,
"unfeasible_use_trailer_prohibited_location_penalty": 0,
"unfeasible_missed_coupled_pickup_from_any_penalty": 0,
"unfeasible_missed_coupled_pickup_penalty": 0,
"unfeasible_failed_lifo_order_penalty": 0,
"unfeasible_failed_solid_group_penalty": 0,
"unfeasible_missed_dependent_group_locations_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,
"dropped_orders_weight_kg": 0,
"dropped_orders_volume_m3": 0,
"dropped_orders_units": 0,
"total_weight_kg": 0,
"total_volume_m3": 0,
"total_units": 0
},
"vehicle_id": 0,
"run_number": 0,
"shift": {
"id": "string",
"balanced_group_id": "string",
"start": {
"stop_sequence_number": 0,
"arrival_time_s": 0,
"actual_arrival_time_s": 0,
"departure_time_s": 0,
"actual_departure_time_s": 0,
"actual_service_start_time_s": 0,
"transit_distance_m": 0,
"transit_duration_s": 0,
"waiting_duration_s": 0,
"actual_waiting_duration_s": 0,
"failed_time_window": {
"how": "EARLY",
"duration_s": 0
},
"probably_failed_time_window": {
"how": "EARLY",
"duration_s": 0,
"probability": 0,
"high_risk": false
},
"violations": [
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0
},
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0,
"probability": 0,
"high_risk": false
}
],
"overtime": {
"duration_s": 0
},
"multi_order": false,
"load_to_head": [
0,
"string"
],
"load_to_trailer": [
0,
"string"
],
"node": {
"used_time_window": "string",
"used_hard_time_window": "string",
"used_projection": {
"lat": 0,
"lon": 0
},
"type": "depot",
"value": {
"id": 0,
"ref": "string",
"point": {
"lat": 0,
"lon": 0
},
"service_duration_s": {
"fixed": 0,
"scaled": 0
},
"title": "string",
"description": "string",
"address": "string",
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"package_throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100
}
},
"type": "depot",
"flexible_start_time": false,
"throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
},
"package_throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
]
},
"crossdock_safety_waiting_duration_s": 3600,
"finish_service_duration_s": 0,
"preliminary_service_duration_s": 0,
"load_service_duration_s": 0,
"unload_service_duration_s": 0,
"time_windows_loading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_refilling": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_unloading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"use_in_proximity": false,
"preset_id": "string",
"total_service_duration_s": 0,
"actual_total_service_duration_s": 0,
"unfeasible_reasons": [
{
"type": "FAILED_HARD_TIME_WINDOW",
"text": "string",
"late_duration_s": 0
},
{
"type": "TRANSIT_TIME_VIOLATION",
"text": "string",
"overrun_s": 0
},
{
"type": "OTHER",
"text": "string"
}
],
"trailer_used": false,
"trailer_decoupled": false,
"routing_mode": "driving",
"fixed_position": false,
"loaded_orders": [
0,
"string"
],
"delivered_orders": [
0,
"string"
],
"picked_orders": [
0,
"string"
]
}
}
},
"end": {
"stop_sequence_number": 0,
"arrival_time_s": 0,
"actual_arrival_time_s": 0,
"departure_time_s": 0,
"actual_departure_time_s": 0,
"actual_service_start_time_s": 0,
"transit_distance_m": 0,
"transit_duration_s": 0,
"waiting_duration_s": 0,
"actual_waiting_duration_s": 0,
"failed_time_window": {
"how": "EARLY",
"duration_s": 0
},
"probably_failed_time_window": {
"how": "EARLY",
"duration_s": 0,
"probability": 0,
"high_risk": false
},
"violations": [
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0
},
{
"type": "FAILED_DELIVERY_DEADLINE",
"pickup_id": 0,
"probability": 0,
"high_risk": false
}
],
"overtime": {
"duration_s": 0
},
"multi_order": false,
"load_to_head": [
0,
"string"
],
"load_to_trailer": [
0,
"string"
],
"node": {
"used_time_window": "string",
"used_hard_time_window": "string",
"used_projection": {
"lat": 0,
"lon": 0
},
"type": "depot",
"value": {
"id": 0,
"ref": "string",
"point": {
"lat": 0,
"lon": 0
},
"service_duration_s": {
"fixed": 0,
"scaled": 0
},
"title": "string",
"description": "string",
"address": "string",
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"package_throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100
}
},
"type": "depot",
"flexible_start_time": false,
"throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
},
"package_throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
]
},
"crossdock_safety_waiting_duration_s": 3600,
"finish_service_duration_s": 0,
"preliminary_service_duration_s": 0,
"load_service_duration_s": 0,
"unload_service_duration_s": 0,
"time_windows_loading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_refilling": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"time_windows_unloading": {
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
}
}
},
"use_in_proximity": false,
"preset_id": "string",
"total_service_duration_s": 0,
"actual_total_service_duration_s": 0,
"unfeasible_reasons": [
{
"type": "FAILED_HARD_TIME_WINDOW",
"text": "string",
"late_duration_s": 0
},
{
"type": "TRANSIT_TIME_VIOLATION",
"text": "string",
"overrun_s": 0
},
{
"type": "OTHER",
"text": "string"
}
],
"trailer_used": false,
"trailer_decoupled": false,
"routing_mode": "driving",
"fixed_position": false,
"loaded_orders": [
0,
"string"
],
"delivered_orders": [
0,
"string"
],
"picked_orders": [
0,
"string"
]
}
}
}
},
"global_proximity_attraction_point": {
"id": 0,
"ref": "string",
"point": {
"lat": 0,
"lon": 0
},
"service_duration_s": {
"fixed": 0,
"scaled": 0
},
"title": "string",
"description": "string",
"address": "string",
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"delivery_deadline": {
"fixed": 1000,
"minute": 17
},
"transit_time": {},
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"rolling_throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"time_between_visits": {
"fixed": 1000,
"minute": 17
},
"depot_expiring_time": {
"fixed": 1000,
"minute": 17
},
"depot_ready_time": {
"fixed": 1000,
"minute": 17
},
"drop": {
"fixed": 0,
"scaled": 1000000
}
},
"shared_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"client_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"parking_service_duration_s": 0,
"depot_duration_s": {
"fixed": 0,
"scaled": 0
},
"service_durations": {
"location": {
"fixed": 0,
"scaled": 0
},
"stop": {
"fixed": 0,
"scaled": 0
},
"client": {
"fixed": 0,
"scaled": 0
},
"depot": {
"fixed": 0,
"scaled": 0
},
"crossdock": {
"fixed": 0,
"scaled": 0
},
"parking": 0
},
"crossdock_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"shipment_size": {
"volume": {
"width_m": 0,
"depth_m": 0,
"height_m": 0,
"type": "bulk",
"align": "all_axes"
},
"weight_kg": 0,
"units": 0,
"custom": 0,
"volume_cbm": 0
},
"can_be_split": false,
"split_parts_must_fill_whole_vehicle": false,
"quant": 0,
"max_split_parts": 10,
"dropped_ratio": 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
}
]
},
"rolling_throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
},
"required_tags": [
"string"
],
"optional_tags": [
{
"tag": "string",
"value": 0
}
],
"load_types": [
"string"
],
"type": "depot",
"crossdock_mode": "deny",
"may_drop_in_crossdock": true,
"client_id": 0,
"delivery_to": 0,
"delivery_to_any": [
0,
"string"
],
"phone": "string",
"shared_with_company_ids": [
0
],
"depot_ready_time": "string",
"soft_depot_ready_time": "string",
"depot_expiring_time": "string",
"soft_depot_expiring_time": "string",
"delivery_deadline": "string",
"comments": "string",
"use_in_proximity": true,
"can_be_merged": true,
"allow_trailers": false,
"max_total_vehicles": 0,
"sequence_order": 0,
"in_lifo_order": false,
"pickup_from_any": false,
"depot_id": [
0,
"string"
],
"transit_time": {
"limit_s": 0,
"hard_limit_s": 0
},
"custom_value": 0,
"pickup_must_reach_depot": false,
"preset_id": "string",
"ignore_zones_compatibility": false
}
}
],
"dropped_locations": [
{
"id": 0,
"ref": "string",
"point": {
"lat": 0,
"lon": 0
},
"service_duration_s": {
"fixed": 0,
"scaled": 0
},
"title": "string",
"description": "string",
"address": "string",
"time_window": "string",
"hard_time_window": "string",
"time_windows": [
{
"time_window": "string",
"hard_time_window": "string"
}
],
"hard_window": false,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"delivery_deadline": {
"fixed": 1000,
"minute": 17
},
"transit_time": {},
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"rolling_throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
},
"time_between_visits": {
"fixed": 1000,
"minute": 17
},
"depot_expiring_time": {
"fixed": 1000,
"minute": 17
},
"depot_ready_time": {
"fixed": 1000,
"minute": 17
},
"drop": {
"fixed": 0,
"scaled": 1000000
}
},
"shared_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"client_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"parking_service_duration_s": 0,
"depot_duration_s": {
"fixed": 0,
"scaled": 0
},
"service_durations": {
"location": {
"fixed": 0,
"scaled": 0
},
"stop": {
"fixed": 0,
"scaled": 0
},
"client": {
"fixed": 0,
"scaled": 0
},
"depot": {
"fixed": 0,
"scaled": 0
},
"crossdock": {
"fixed": 0,
"scaled": 0
},
"parking": 0
},
"crossdock_service_duration_s": {
"fixed": 0,
"scaled": 0
},
"shipment_size": {
"volume": {
"width_m": 0,
"depth_m": 0,
"height_m": 0,
"type": "bulk",
"align": "all_axes"
},
"weight_kg": 0,
"units": 0,
"custom": 0,
"volume_cbm": 0
},
"can_be_split": false,
"split_parts_must_fill_whole_vehicle": false,
"quant": 0,
"max_split_parts": 10,
"dropped_ratio": 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
}
]
},
"rolling_throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
},
"required_tags": [
"string"
],
"optional_tags": [
{
"tag": "string",
"value": 0
}
],
"load_types": [
"string"
],
"type": "depot",
"crossdock_mode": "deny",
"may_drop_in_crossdock": true,
"client_id": 0,
"delivery_to": 0,
"delivery_to_any": [
0,
"string"
],
"phone": "string",
"shared_with_company_ids": [
0
],
"depot_ready_time": "string",
"soft_depot_ready_time": "string",
"depot_expiring_time": "string",
"soft_depot_expiring_time": "string",
"delivery_deadline": "string",
"comments": "string",
"use_in_proximity": true,
"can_be_merged": true,
"allow_trailers": false,
"max_total_vehicles": 0,
"sequence_order": 0,
"in_lifo_order": false,
"pickup_from_any": false,
"depot_id": [
0,
"string"
],
"transit_time": {
"limit_s": 0,
"hard_limit_s": 0
},
"custom_value": 0,
"pickup_must_reach_depot": false,
"preset_id": "string",
"ignore_zones_compatibility": false,
"drop_reason": "string",
"pickup_id": 0,
"split_info": {
"parts_count": 0,
"part_id": 0,
"order_ratio": 0,
"weight_kg": 0,
"units": 0,
"volume_cbm": 0
}
}
],
"solver_status": "SOLVED",
"metrics": {
"depot_throughput_violation_kg": 0,
"depot_throughput_violation_units": 0,
"depot_throughput_violation_vehicles": 0,
"depot_throughput_violation_kg_per_hour": 0,
"depot_throughput_violation_units_per_hour": 0,
"early_depot_count": 0,
"early_locations_count": 0,
"early_shifts_count": 0,
"arrival_after_start_penalty": 0,
"empty_runs_penalty": 0,
"late_depot_count": 0,
"late_locations_count": 0,
"late_shifts_count": 0,
"lateness_risk_locations_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_min_work_duration_count": 0,
"failed_max_work_duration_count": 0,
"failed_work_duration_count": 0,
"failed_work_duration_s": 0,
"failed_work_duration_total_penalty": 0,
"failed_work_duration_count_penalty": 0,
"failed_work_duration_penalty": 0,
"objective_minimum": 0,
"new_objective_minimum": 0,
"old_objective_minimum": 0,
"overtime_duration_penalty": 0,
"overtime_duration_s": 0,
"overtime_penalty": 0,
"overtime_shifts_count": 0,
"overtime_shifts_count_penalty": 0,
"proximity": 0,
"global_proximity": 0,
"new_global_proximity": 0,
"old_global_proximity": 0,
"total_cost": 0,
"total_cost_with_penalty": 0,
"total_custom_cost": 0,
"route_custom_cost": 0,
"shift_custom_cost": 0,
"shift_total_custom_cost": 0,
"run_custom_cost": 0,
"total_payout": 0,
"route_payout": 0,
"shift_payout": 0,
"shift_total_payout": 0,
"run_payout": 0,
"new_total_cost_with_penalty": 0,
"old_total_cost_with_penalty": 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_failed_delivery_deadline_count": 0,
"total_failed_delivery_deadline_duration_s": 0,
"total_failed_delivery_deadline_penalty": 0,
"total_fixed_cost": 0,
"total_guaranteed_penalty": 0,
"total_walking_edge_distance_excess": 0,
"total_walking_edge_penalty": 0,
"total_multiorders_penalty": 0,
"new_total_guaranteed_penalty": 0,
"old_total_guaranteed_penalty": 0,
"total_soft_depot_ready_time_penalty": 0,
"total_soft_depot_expiring_time_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_failed_time_window_count": 0,
"total_failed_time_window_duration_s": 0,
"total_failed_time_window_penalty": 0,
"total_fails_penalty": 0,
"total_penalty": 0,
"new_total_penalty": 0,
"old_total_penalty": 0,
"total_probable_penalty": 0,
"total_proximity_distance_m": 0,
"total_proximity_duration_s": 0,
"total_proximity_penalty": 0,
"total_global_proximity_distance_m": 0,
"new_total_global_proximity_distance_m": 0,
"old_total_global_proximity_distance_m": 0,
"total_global_proximity_duration_s": 0,
"new_total_global_proximity_duration_s": 0,
"old_total_global_proximity_duration_s": 0,
"total_global_proximity_penalty": 0,
"new_total_global_proximity_penalty": 0,
"old_total_global_proximity_penalty": 0,
"total_optional_tags_cost": 0,
"total_optional_zones_cost": 0,
"total_runs_cost": 0,
"total_transport_work_tonne_km": 0,
"total_transport_work_cost": 0,
"total_service_duration_s": 0,
"total_rest_duration_s": 0,
"total_stops": 0,
"new_total_stops": 0,
"old_total_stops": 0,
"total_unique_stops": 0,
"total_middle_depots": 0,
"total_min_stop_weight_penalty": 0,
"total_stop_count_penalty": 0,
"new_total_stop_count_penalty": 0,
"old_total_stop_count_penalty": 0,
"total_mileage_penalty": 0,
"total_work_breaks": 0,
"max_distance_from_depot_m": 0,
"max_distance_to_garage_m": 0,
"max_distance_to_attraction_point_m": 0,
"total_empty_distance_m": 0,
"total_non_empty_distance_m": 0,
"total_transit_distance_cost": 0,
"total_transit_distance_m": 0,
"total_walking_distance_m": 0,
"total_transit_duration_s": 0,
"total_trailer_transit_distance_m": 0,
"total_walking_duration_s": 0,
"total_trailer_transit_duration_s": 0,
"total_trailer_rolling_count": 0,
"total_trailer_rolling_cost": 0,
"total_unfeasibility_count": 0,
"total_unfeasibility_penalty": 0,
"total_waiting_duration_s": 0,
"transit_time_penalty": 0,
"total_served_orders": 0,
"unfeasible_transit_time_excess_penalty": 0,
"unfeasible_trailer_diff_excess_penalty": 0,
"unfeasible_incompatible_load_types_penalty": 0,
"unfeasible_incompatible_zones_penalty": 0,
"unfeasible_missed_planned_runs_penalty": 0,
"unfeasible_pickup_missed_drop_off_penalty": 0,
"unfeasible_pickup_missed_depot_penalty": 0,
"unfeasible_walking_to_depot_penalty": 0,
"unfeasible_walking_courier_overload_penalty": 0,
"unfeasible_walking_after_route_end_penalty": 0,
"unfeasible_shift_overtime_penalty": 0,
"unfeasible_unused_middle_depot_penalty": 0,
"unfeasible_invalid_pickup_delivery_order_penalty": 0,
"unfeasible_failed_ready_time_penalty": 0,
"unfeasible_failed_expiring_time_penalty": 0,
"unfeasible_failed_sequence_order_penalty": 0,
"unfeasible_failed_hard_time_window_penalty": 0,
"unfeasible_failed_dependent_group_penalty": 0,
"unfeasible_not_loaded_order_penalty": 0,
"unfeasible_vehicle_overload_penalty": 0,
"unfeasible_planned_overload_penalty": 0,
"unfeasible_work_break_drop_penalty": 0,
"unfeasible_crossdock_missed_delivery_penalty": 0,
"unfeasible_empty_first_run_penalty": 0,
"unfeasible_max_midde_depots_penalty": 0,
"unfeasible_depots_only_at_run_beginning_penalty": 0,
"unfeasible_not_same_depot_run_ending_penalty": 0,
"unfeasible_not_same_depot_route_ending_penalty": 0,
"unfeasible_missed_coupled_delivery_penalty": 0,
"unfeasible_rolling_before_decoupling_penalty": 0,
"unfeasible_rolling_without_trailer_penalty": 0,
"unfeasible_decouple_decoupled_trailer_penalty": 0,
"unfeasible_couple_coupled_trailer_penalty": 0,
"unfeasible_decouple_unused_trailer_penalty": 0,
"unfeasible_use_trailer_prohibited_location_penalty": 0,
"unfeasible_missed_coupled_pickup_from_any_penalty": 0,
"unfeasible_missed_coupled_pickup_penalty": 0,
"unfeasible_failed_lifo_order_penalty": 0,
"unfeasible_failed_solid_group_penalty": 0,
"unfeasible_missed_dependent_group_locations_penalty": 0,
"assigned_locations_count": 0,
"balanced_group_duration_deviation_s": 0,
"new_balanced_group_duration_deviation_s": 0,
"old_balanced_group_duration_deviation_s": 0,
"balanced_group_distance_deviation_m": 0,
"new_balanced_group_distance_deviation_m": 0,
"old_balanced_group_distance_deviation_m": 0,
"balanced_group_served_order_count_deviation": 0,
"new_balanced_group_served_order_count_deviation": 0,
"old_balanced_group_served_order_count_deviation": 0,
"balanced_group_custom_value_deviation": 0,
"new_balanced_group_custom_value_deviation": 0,
"old_balanced_group_custom_value_deviation": 0,
"balanced_group_kg_deviation": 0,
"new_balanced_group_kg_deviation": 0,
"old_balanced_group_kg_deviation": 0,
"balanced_group_unit_deviation": 0,
"new_balanced_group_unit_deviation": 0,
"old_balanced_group_unit_deviation": 0,
"balanced_group_penalty": 0,
"skip_intermediate_location_penalty": 0,
"intermediate_location_distance_threshold_m": 1,
"intermediate_location_duration_threshold_s": 1,
"new_balanced_group_penalty": 0,
"old_balanced_group_penalty": 0,
"balanced_group_stop_count_deviation": 0,
"new_balanced_group_stop_count_deviation": 0,
"old_balanced_group_stop_count_deviation": 0,
"dropped_locations_count": 0,
"max_vehicle_runs": 0,
"number_of_routes": 0,
"operations_per_second": 0,
"multiorders_extra_points": 0,
"multiorders_extra_vehicles": 0,
"multiorders_extra_visits": 0,
"close_location_groups_penalty": 0,
"close_location_groups_extra_points": 0,
"close_location_groups_extra_vehicles": 0,
"close_location_groups_extra_visits": 0,
"total_failed_time_between_visits_count": 0,
"total_failed_time_between_visits_duration_s": 0,
"total_time_between_visits_penalty": 0,
"optimization_steps": 0,
"used_vehicles": 0,
"drop_penalty_percentage": 0,
"max_drop_percentage_penalty": 0,
"split_orders_percentage": 0,
"max_split_orders_percentage_penalty": 0
},
"detailed_cost_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
],
"raw_metrics": [
{
"name": "string",
"value": 0,
"subcosts": [
{
"name": "string",
"value": 0
}
],
"raw_metrics": [
{
"name": "string",
"value": 0
}
]
}
]
}
]
}
]
}
]
}
]
}
],
"options": {
"quality": "low",
"date": "string",
"time_zone": 0,
"absolute_time": false,
"routing_mode": "driving",
"weighted_drop_penalty": false,
"restart_on_drop": false,
"minimize_lateness_risk": false,
"penalize_late_service": false,
"ignore_min_stops_for_unused": false,
"ignore_zones": false,
"post_optimization": false,
"load_when_ready": false,
"critical_lateness_risk_probability": 20,
"matrix_router": "main",
"incompatible_load_types": [
[
"string"
]
],
"incompatible_zones": [
[
"string"
]
],
"proximity_factor": 0,
"global_proximity_factor": 0,
"max_drop_penalty_percentage": 100,
"max_split_orders_percentage": 100,
"merge_multiorders": false,
"force_merge_multiorders": false,
"merge_multiorders_of_different_clients": true,
"wait_in_multiorders": true,
"balanced_groups": [
{
"id": "string",
"penalty": {
"hour": 0,
"km": 0,
"stop": 0,
"served_order": 0,
"custom_value": 0,
"weight_kg": 0,
"unit": 0,
"ignore_unused_vehicles": false
}
}
],
"points_throughputs": [
{
"point": {
"lat": 0,
"lon": 0
},
"penalty": {
"throughput": {
"fixed": 1000,
"kg": 50,
"unit": 100,
"vehicle": 100000
}
},
"throughput": {
"kg_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"units_per_hour": [
{
"time_window": "string",
"value": 0
}
],
"vehicle_count": [
{
"time_window": "string",
"value": 0
}
]
}
}
],
"location_groups": [
{
"location_ids": [
0,
"string"
],
"title": "string",
"solid": false,
"dependent": false
}
],
"avoid_tolls": false,
"fix_planned_shifts": false,
"immutable": false,
"template_rest_schedules": [
{
"breaks": [
{
"work_time_range_till_rest": "string",
"work_time_range_from_start": "string",
"continuous_travel_time_range": "string",
"travel_time_range": "string",
"driving_time_range": "string",
"exact_time_range": "string",
"rest_duration_s": 0,
"route_duration_s": 0,
"necessary_route_duration_s": 0,
"penalty": {
"late": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
}
},
"at_rest_place": false,
"type": "string",
"before_first_location": false,
"after_last_location": false,
"merge_with_types": [
"string"
],
"repeatable": false
}
],
"id": "string"
}
],
"enable_vehicle_classes": true,
"max_distance_to_projection_m": 1000000000,
"multiorder_radius_m": 1,
"close_location_groups_radius_m": 0,
"penalty": {
"drop_penalty_percentage": {
"fixed": 1000,
"per_percent": 50
},
"split_orders_percentage": {
"fixed": 1000,
"per_percent": 50
},
"multiorders": {
"per_extra_point": 0,
"per_extra_vehicle": 0,
"per_extra_visit": 0
},
"close_location_groups": {
"per_extra_point": 0,
"per_extra_vehicle": 0,
"per_extra_visit": 0
}
},
"close_locations_during_post_optimization_only": false,
"avoid_zones": [
"string"
]
},
"zones": [
{
"id": "string",
"geometry": {
"coordinates": [
[
[
0
]
]
],
"type": "string"
}
}
],
"vehicles": [
{
"id": 0,
"depot_id": [
0,
"string"
],
"starting_depot_id": [
0,
"string"
],
"ending_depot_id": [
0,
"string"
],
"middle_depot_id": [
0,
"string"
],
"depots_only_at_run_beginning": false,
"capacity": {
"limits": {
"volume_perc": 100,
"weight_perc": 100,
"units_perc": 100
},
"volume": {
"width_m": 1000,
"depth_m": 1000,
"height_m": 1000
},
"volume_cbm": 0,
"weight_kg": 1000000000,
"units": 1000000000,
"custom": 0
},
"cost": {
"fixed": 3000,
"run": 0,
"hour": 100,
"waiting_hour": 0,
"km": 8,
"tonne_km": 0,
"location": 0
},
"payout": "string",
"ref": "string",
"visited_locations": [
{
"id": 0,
"shift_id": "string",
"wait_if_early": true,
"delivered_orders": [
0,
"string"
],
"order_ratio": 0,
"time": "string"
}
],
"fixed_work_breaks": [
{
"work_duration_s": 0,
"shift_id": "string"
}
],
"planned_route": {
"start_time": "string",
"locations": [
{
"id": 0,
"shift_id": "string",
"wait_if_early": true,
"loaded_orders": [
0,
"string"
],
"delivered_orders": [
0,
"string"
],
"picked_orders": [
0,
"string"
],
"delivery_in_current_run": false,
"is_middle_depot": false,
"anchor_mode": "Decoupling",
"parking_mode": "ParkingBegin",
"order_ratio": 0
}
],
"work_breaks": [
{
"work_duration_s": 0,
"shift_id": "string"
}
],
"planned_runs_first": false
},
"tags": [
"string"
],
"excluded_tags": [
"string"
],
"allowed_zones": [
"string"
],
"optional_zones": [
{
"zone": "string",
"value": 0
}
],
"forbidden_zones": [
"string"
],
"incompatible_load_types": [
[
"string"
]
],
"onboard_incompatible_load_types": false,
"incompatible_zones": [
[
"string"
]
],
"crossdock_mode": "deny",
"visit_depot_at_start": true,
"allow_different_depots_in_route": false,
"can_change_depot_between_runs": false,
"finish_run_in_starting_depot": false,
"finish_route_in_starting_depot": false,
"return_to_depot": true,
"start_at": 0,
"finish_at": 0,
"global_proximity_attraction_point": 0,
"shifts": [
{
"id": "string",
"balanced_group_id": "string",
"time_window": "string",
"hard_time_window": "string",
"max_duration_s": 172800,
"hard_max_duration_s": 2592000,
"max_mileage_km": 0,
"hard_window": false,
"service_duration_s": 0,
"minimal_stops": 0,
"minimal_unique_stops": 0,
"maximal_stops": 0,
"immutable": false,
"max_runs": 1,
"penalty": {
"out_of_time": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
},
"late": {
"fixed": 1000,
"minute": 17
},
"stop_lack": {
"fixed": 0,
"per_stop": 0
},
"unique_stop_lack": {
"fixed": 0,
"per_stop": 0
},
"stop_excess": {
"fixed": 0,
"per_stop": 0
},
"max_mileage": {
"fixed": 1000,
"km": 100
}
},
"preset_id": "string"
}
],
"travel_time_multiplier": 1,
"service_duration_multiplier": 1,
"shared_service_duration_multiplier": 1,
"depot_extra_service_duration_s": 0,
"max_runs": 1,
"max_middle_depots": 0,
"immutable": false,
"routing_mode": "driving",
"specs": {
"height": 0,
"width": 0,
"length": 0,
"max_weight": 0,
"max_weight_kg": 0
},
"imei": 0,
"phone": "string",
"rest_schedule": {
"breaks": [
{
"work_time_range_till_rest": "string",
"work_time_range_from_start": "string",
"continuous_travel_time_range": "string",
"travel_time_range": "string",
"driving_time_range": "string",
"exact_time_range": "string",
"rest_duration_s": 0,
"route_duration_s": 0,
"necessary_route_duration_s": 0,
"penalty": {
"late": {
"fixed": 1000,
"minute": 17
},
"early": {
"fixed": 1000,
"minute": 17
}
},
"at_rest_place": false,
"type": "string",
"before_first_location": false,
"after_last_location": false,
"merge_with_types": [
"string"
],
"repeatable": false
}
]
},
"rest_schedule_id": "string",
"trailer": {
"capacity": {
"limits": {
"volume_perc": 100,
"weight_perc": 100,
"units_perc": 100
},
"volume": {
"width_m": 1000,
"depth_m": 1000,
"height_m": 1000
},
"volume_cbm": 0,
"weight_kg": 1000000000,
"units": 1000000000,
"custom": 0
},
"max_capacity_difference": {
"volume_cbm": 0,
"weight_kg": 0,
"units": 0,
"custom": 0
},
"cost": {
"fixed": 3000,
"run": 0,
"hour": 100,
"waiting_hour": 0,
"km": 8,
"tonne_km": 0,
"location": 0
},
"decoupling_time_s": 0,
"coupling_time_s": 0,
"rolling_time": {
"fixed_time_s": 0,
"s_per_kg": 0,
"s_per_m3": 0,
"s_per_unit": 0
},
"rolling_cost": 0
},
"fixed_planned_route": false,
"min_stop_weight": 0,
"penalty": {
"min_stop_weight": {
"fixed": 1000,
"kg": 50
},
"arrival_after_start": {
"average_h": 0,
"as_soon_as_possible": false
},
"empty_runs": {
"fixed": 0,
"per_run": 0
}
},
"walking_courier": {
"capacity": {
"units": 1000000000
},
"cost": {
"hour": 0,
"km": 0
},
"restrictions": {
"max_walking_edge_distance_m": {
"value": 1000000000,
"penalty": 0
},
"max_parking_duration_s": {
"value": 1000000000,
"penalty": 0
},
"max_parking_walking_distance_m": {
"value": 1000000000,
"penalty": 0
}
}
},
"close_locations": [
{
"routing_mode": "driving",
"search_radius_m": 0,
"soft_search_radius_m": 0,
"duration_till_service_s": {
"value": 1000000000,
"penalty": 0
},
"distance_till_service_m": {
"value": 1000000000,
"penalty": 0
}
}
],
"first_edges_penalty_factor": 0,
"last_edges_penalty_factor": 0,
"preset_id": "string"
}
]
},
"error": {
"message": "string",
"incident_id": "string"
},
"id": "string",
"status": {
"queued": 0,
"started": 0,
"completed": 0,
"cancelled": 0,
"estimate": 0
},
"message": "string"
}
Name |
Description |
result* |
Type: mvrp_response Решение MVRP задачи. |
error* |
Type: object Описание ошибки. |
id* |
Type: string Уникальный id задачи. |
status* |
Type: object Объект, содержащий изменения статусов задачи. Ключи - статусы, значения - время в формате UNIX timestamp. Возможные изменения статусов:
|
message |
Type: string Описание состояния задачи. |
mvrp_response
Решение MVRP задачи.
Name |
Description |
routes* |
Type: object[] Список маршрутов и индивидуальных метрик для каждого маршрута. |
dropped_locations* |
Type: object[] Список пунктов назначения, исключенных (удаленных) из маршрута из-за нехватки транспортных средств или иного нарушения заданных ограничений. |
solver_status* |
Type: string Статус Сервиса планирования маршрутов::
|
metrics* |
Type: solution_metrics Метрики решения. |
detailed_cost_metrics |
Type: detailed_cost[] Значение произвольной стоимости. |
options* |
Type: solver_options Параметры Сервиса планирования маршрутов. Запрещается указывать параметры, отсутствующие в списке. |
zones |
Type: object[] |
vehicles* |
Type: vehicle[] Список транспортных средств, доступных для планирования маршрута.
|
solution_metrics
Метрики решения.
Name |
Description |
depot_throughput_violation_kg* |
Type: number Суммарное превышение пропускной способности склада, кг. |
depot_throughput_violation_units* |
Type: number Суммарное превышение пропускной способности склада, ед. |
depot_throughput_violation_vehicles* |
Type: number Суммарное превышение пропускной способности склада, а/м. |
depot_throughput_violation_kg_per_hour* |
Type: number Суммарное превышение пропускной способности склада, кг/ч. (скоро будет удалено). |
depot_throughput_violation_units_per_hour* |
Type: number Суммарное превышение пропускной способности склада, ед./ч. (скоро будет удалено). |
early_depot_count* |
Type: integer Число прибытий на склад раньше указанного временного окна. |
early_locations_count* |
Type: integer Число пунктов назначения, прибытие в которые произойдет раньше выбранного временного окна. |
early_shifts_count* |
Type: integer Число смен, в рамках которых прибытие произойдет раньше указанного временного окна. |
arrival_after_start_penalty* |
Type: number Штраф за приезды позже начала окна |
empty_runs_penalty* |
Type: number Штраф за пустые заезды, которые не могут быть пропущены из-за указания реальных времен помещения. |
late_depot_count* |
Type: integer Число прибытий на склад позже указанного временного окна. |
late_locations_count* |
Type: integer Число пунктов назначения, прибытие в которые произойдет позже выбранного временного окна. |
late_shifts_count* |
Type: integer Число смен, в рамках которых прибытие произойдет позже указанного временного окна. |
lateness_risk_locations_count* |
Type: integer Количество мест доставки и дедлайнов, для которых существует риск опоздания. |
failed_time_window_depot_count* |
Type: integer Количество прибытий на склад вне временного окна. |
failed_time_window_depot_count_penalty* |
Type: number Сумма фиксированных штрафов, наложенных за нарушение временного окна склада. |
failed_time_window_depot_duration_penalty* |
Type: number Сумма поминутных штрафов, наложенных за нарушение временного окна склада. |
failed_time_window_depot_duration_s* |
Type: number Общая длительность нарушения временного окна склада, в секундах. |
failed_time_window_depots_total_penalty* |
Type: number Общее значение штрафа за нарушения временных окон складов. |
failed_time_window_locations_count* |
Type: integer Количество пунктов назначения, прибытие в которые произойдет вне указанного временного окна. |
failed_time_window_locations_count_penalty* |
Type: number Сумма фиксированных штрафов, наложенных за прибытие в пункт назначения заказа вне временного окна. |
failed_time_window_locations_duration_penalty* |
Type: number Сумма поминутных штрафов, наложенных за прибытие в пункт назначения вне временного окна. |
failed_time_window_locations_duration_s* |
Type: number Общая длительность нарушений временных окон, в секундах. |
failed_time_window_locations_total_penalty* |
Type: number Общее значение штрафа за нарушения временных окок пунктов прибытия. |
failed_time_window_shifts_count* |
Type: integer Количество смен, которые выходят за указанное временное окно. |
failed_time_window_shifts_count_penalty* |
Type: number Сумма фиксированных штрафов, наложенных за нарушение временного окна смены. |
failed_time_window_shifts_duration_penalty* |
Type: number Сумма поминутных штрафов, наложенных за нарушение временного окна смены. |
failed_time_window_shifts_duration_s* |
Type: number Общая длительность нарушений временного окна смены, в секундах. |
failed_time_window_shifts_total_penalty* |
Type: number Общее значение штрафа за нарушения временных окон смен. |
failed_min_work_duration_count* |
Type: integer Количество непрерывных интервалов работы, в которых нарушается указанная минимальная продолжительность работы. |
failed_max_work_duration_count* |
Type: integer Количество непрерывных интервалов работы, в которых нарушается указанная максимальная продолжительность работы. |
failed_work_duration_count* |
Type: integer Количество непрерывных интервалов работы, при которых нарушается минимальная или максимальная продолжительность работы. |
failed_work_duration_s* |
Type: number Общая длительность нарушений продолжительности непрерывной работы, в секундах. |
failed_work_duration_total_penalty* |
Type: number Общее значение штрафа за нарушения продолжительности непрерывной работы. |
failed_work_duration_count_penalty* |
Type: number Сумма фиксированных штрафов, наложенных за нарушение минимальной или максимальной продолжительности непрерывной работы. |
failed_work_duration_penalty* |
Type: number Сумма поминутных штрафов, наложенных за нарушение длительности непрерывной работы. |
failed_dropped_breaks_count* |
Type: any Количество перерывов, которые не использованы в маршруте, хотя должны. |
failed_dropped_breaks_duration_s* |
Type: any Общая длительность нарушений для перерывов, которые не использованы в маршруте, хотя должны. |
failed_dropped_breaks_penalty* |
Type: any Сумма штрафов для перерывов, которые не использованы в маршруте, хотя должны. |
first_edges_penalty* |
Type: any Общий штраф за начальные ребра заездов |
last_edges_penalty* |
Type: any Общий штраф за конечные ребра заездов |
objective_minimum* |
Type: number Минимум цели оптимизации. |
new_objective_minimum |
Type: number Новое значение метрики objective_minimum после дооптимизации. |
old_objective_minimum |
Type: number Старое значение метрики objective_minimum после дооптимизации. |
overtime_duration_penalty* |
Type: number Сумма поминутных штрафов, наложенных за нарушение максимальной длительности смены. |
overtime_duration_s* |
Type: number Общая продолжительность сверхурочного времени в смене, в секундах. |
overtime_penalty* |
Type: number Сумма штрафов, наложенных за нарушение максимальной длительности смены. |
overtime_shifts_count* |
Type: integer Число смен, длительность которых превышает |
overtime_shifts_count_penalty* |
Type: number Сумма фиксированных штрафов, наложенных за нарушение максимальной длительности смены. |
proximity* |
Type: number Уровень кучности маршрутов: среднее вероятное расстояние между двумя пунктами назначения маршрута при условии, что фактический порядок проезда может отличаться от запланированного, км. |
global_proximity* |
Type: number Уровень глобальной кучности маршрутов: среднее вероятное расстояние от последней локации маршрута до остальных, км. |
new_global_proximity |
Type: number Новое значение метрики global_proximity после дооптимизации. |
old_global_proximity |
Type: number Старое значение метрики global_proximity после дооптимизации. |
total_cost* |
Type: number Общие издержки. |
total_cost_with_penalty* |
Type: number Общий объем ожидаемых издержек, включая гарантированные и вероятные штрафы. |
total_custom_cost |
Type: number Общий объем ожидаемых издержек, определенных пользовательским правилом. Включает в себя издержки за маршрут, смены маршрута и заезды маршрута. Для метрик заездов поле выводится только в первом заезде маршрута. |
route_custom_cost |
Type: number Объем издержек, определенный по пользовательскому правилу для маршрута. Поле выводится в метриках первого заезда маршрута. |
shift_custom_cost |
Type: number Объем издержек, определенный по пользовательскому правилу для смены. Поле выводится в метриках первого заезда смены. |
shift_total_custom_cost |
Type: number Общий объем издержек, рассчитанный по пользовательскому правилу для смены. Включает в себя как стоимость смены, так и стоимости, входящих в смену заездов. Поле выводится в метриках первого заезда смены. |
run_custom_cost |
Type: number Объем издержек, определенный по пользовательскому правилу для заезда. |
total_payout |
Type: number Общий объем выплат курьерам. Для а/м вся выплата за маршрут указывается только в первом заезде. |
route_payout |
Type: number Выплата курьеру, определенная по пользовательскому правилу для маршрута. Поле выводится в метриках первого заезда маршрута. |
shift_payout |
Type: number Выплата курьеру, определенная по пользовательскому правилу для смены. Поле выводится в метриках первого заезда смены. |
shift_total_payout |
Type: number Общая выплата курьеру, рассчитанная по пользовательскому правилу для смены. Включает в себя как выплату за смены, так и выплаты за входящие в смену заезды. Поле выводится в метриках первого заезда смены. |
run_payout |
Type: number Выплата курьеру, определенная по пользовательскому правилу для заезда. |
new_total_cost_with_penalty |
Type: number Новое значение метрики total_cost_with_penalty после дооптимизации. |
old_total_cost_with_penalty |
Type: number Старое значение метрики total_cost_with_penalty после дооптимизации. |
total_depot_penalty |
Type: number Сумма штрафов, относящихся к складу. |
total_drop_penalty* |
Type: number Сумма всех штрафов за удаление пунктов назначения из маршрутов. |
total_duration_cost* |
Type: number Общая сумма затрат на все используемые транспортные средства. |
total_duration_s* |
Type: number Общая длительность, включая поездки, время обслуживания и время ожидания, сек. |
total_early_count* |
Type: integer Общее число прибытий раньше выбранного временного окна. |
total_early_duration_s* |
Type: number Общая длительность ранней доставки, суммарная разность (время начала окна) – (время прибытия), в секундах. |
total_early_penalty* |
Type: number Сумма штрафов, наложенных за прибытие и обслуживания в пункте доставки ранее выбранного временного окна. |
total_failed_delivery_deadline_count* |
Type: number Общее количество нарушенных дедлайнов. |
total_failed_delivery_deadline_duration_s* |
Type: number Общая длительность нарушений дедлайнов, в секундах. |
total_failed_delivery_deadline_penalty* |
Type: number Сумма штрафов, наложенных за прибытие и обслуживание на складе после дедлайна. |
total_fixed_cost* |
Type: number Общая сумма по всем фиксированным затратам для используемых транспортных средств. |
total_guaranteed_penalty* |
Type: number Общая сумма всех гарантированных штрафов. |
total_walking_edge_distance_excess* |
Type: number Общее превышение разрешенной максимальной длины пешеходных ребер. |
total_walking_edge_penalty* |
Type: number Общий штраф за превышение максимальной длины пешеходных ребер. |
total_multiorders_penalty |
Type: number Штраф за лишние посещения точек мультизаказов. |
new_total_guaranteed_penalty |
Type: number Новое значение метрики total_guaranteed_penalty после дооптимизации. |
old_total_guaranteed_penalty |
Type: number Старое значение метрики total_guaranteed_penalty после дооптимизации. |
total_soft_depot_ready_time_penalty* |
Type: number Общий штраф за нарушение soft_depot_ready_time |
total_soft_depot_expiring_time_penalty* |
Type: number Общий штраф за нарушение soft_depot_expiring_time |
total_late_count* |
Type: integer Общее число прибытий позднее выбранного временного окна. |
total_late_duration_s* |
Type: number Общая длительность опозданий, рассчитывается как суммарная разность: (время прибытия) – (время завершения временного окна), в секундах. |
total_late_penalty* |
Type: number Сумма штрафов, наложенных за прибытие и обслуживание в пункте доставки позднее выбранного временного окна. |
total_lateness_risk_probability* |
Type: number Сумма вероятностей опоздания по всем пунктам назначения и дедлайнам. |
total_locations_cost* |
Type: number Общая сумма по всем затратам для используемых транспортных средств в расчете на один пункт назначения. |
total_failed_time_window_count* |
Type: integer Общее количество нарушений временных окон (сумма |
total_failed_time_window_duration_s* |
Type: number Общая длительность нарушений временных окон (сумма |
total_failed_time_window_penalty* |
Type: number Сумма штрафов, наложенных за нахождение вне временного окна на пункте назначения, в смене или на складе. |
total_fails_penalty* |
Type: number Сумма штрафов, относящихся к нарушениям огрничений. |
total_penalty* |
Type: number Сумма гарантированных и вероятных штрафов. |
new_total_penalty |
Type: number Новое значение метрики total_penalty после дооптимизации. |
old_total_penalty |
Type: number Старое значение метрики total_penalty после дооптимизации. |
total_probable_penalty* |
Type: number Ожидаемая сумма всех вероятных штрафов. |
total_proximity_distance_m* |
Type: number Метрика кучности маршрута как вероятная длина маршрута без учета проезда от и до склада, при условии, что фактический порядок проезда по пунктам назначения может отличаться от запланированного, метры. |
total_proximity_duration_s* |
Type: number Метрика кучности маршрута как вероятное время в пути без учета проезда от и до склада, при условии, что фактический порядок проезда по пунктам назначения может отличаться от запланированного, секунды. |
total_proximity_penalty* |
Type: number Сумма штрафов за учет кучности маршрутов. |
total_global_proximity_distance_m* |
Type: number Метрика глобальной кучности маршрута как сумма расстояний от последней локации до всех остальных, не считая склады, метры. |
new_total_global_proximity_distance_m |
Type: number Новое значение метрики total_global_proximity_distance_m после дооптимизации. |
old_total_global_proximity_distance_m |
Type: number Старое значение метрики total_global_proximity_distance_m после дооптимизации. |
total_global_proximity_duration_s* |
Type: number Метрика глобальной кучности маршрута как сумма времён проезда от последней локации до всех остальных, не считая склады, секунды. |
new_total_global_proximity_duration_s |
Type: number Новое значение метрики total_global_proximity_duration_s после дооптимизации. |
old_total_global_proximity_duration_s |
Type: number Старое значение метрики total_global_proximity_duration_s после дооптимизации. |
total_global_proximity_penalty* |
Type: number Сумма штрафов за учет глобальной кучности маршрутов. |
new_total_global_proximity_penalty |
Type: number Новое значение метрики total_global_proximity_penalty после дооптимизации. |
old_total_global_proximity_penalty |
Type: number Старое значение метрики total_global_proximity_penalty после дооптимизации. |
total_optional_tags_cost* |
Type: number Значение, прибавляемое к общей стоимости необязательными тегами. |
total_optional_zones_cost* |
Type: number Значение, прибавляемое к общей стоимости необязательными зонами. |
total_runs_cost* |
Type: number Сумма затрат на используемые транспортные средства в расчете на один рейс. |
total_transport_work_tonne_km* |
Type: number Суммарная транспортная работа (произведение веса перевезенного груза на длину маршрута), в тонно-километрах |
total_transport_work_cost* |
Type: number Сумма затрат на транспортную работу (транспортная работа каждой машины берется с заданным весом). |
total_service_duration_s* |
Type: number Общая длительность обслуживания в пунктах назначения, в секундах. |
total_rest_duration_s* |
Type: number Общая длительность перерывов, в секундах. |
total_stops* |
Type: integer Количество остановок транспортного средства — различных точек назначения в порядке их следования по маршруту, исключая заезды на склад и в гараж. |
new_total_stops |
Type: integer Новое значение метрики total_stops после дооптимизации. |
old_total_stops |
Type: integer Старое значение метрики total_stops после дооптимизации. |
total_unique_stops* |
Type: integer Количество остановок транспортного средства с различными координатами, исключая заезды на склад и в гараж. |
total_middle_depots* |
Type: integer Количество промежуточных складов. |
total_min_stop_weight_penalty* |
Type: number Общая сумма штрафов за нарушение min_stop_weight. |
total_stop_count_penalty* |
Type: number Общая сумма штрафов за превышение числа остановок. |
new_total_stop_count_penalty |
Type: number Новое значение метрики total_stop_count_penalty после дооптимизации. |
old_total_stop_count_penalty |
Type: number Старое значение метрики total_stop_count_penalty после дооптимизации. |
total_mileage_penalty* |
Type: number Общая сумма штрафов за нарушение ограничения по пробегу. |
total_work_breaks* |
Type: integer Общее количество перерывов на отдых. |
max_distance_from_depot_m* |
Type: number Максимальное расстояние между позицией заказа и складом. |
max_distance_to_garage_m* |
Type: number Максимальное расстояние между гаражом и позицией заказа. |
max_distance_to_attraction_point_m* |
Type: number Максимальное расстояние от точек заказа до локации global_proximity_attraction_point. |
total_empty_distance_m* |
Type: number Общее расстояние, которое было пройдено без заказов на борту. |
total_non_empty_distance_m* |
Type: number Общее расстояние, которое было пройдено хотя бы с одним заказом на борту. |
total_transit_distance_cost* |
Type: number Общая сумма затрат на пройденное транспортными средствами расстояние. |
total_transit_distance_m* |
Type: number Общий пробег, в метрах. Если параметр |
total_walking_distance_m* |
Type: number Расстояние в метрах, пройденное пешим курьером, определенным в |
total_transit_duration_s* |
Type: number Общая длительность поездок в маршрутах, в секундах. |
total_trailer_transit_distance_m* |
Type: number Общий пробег в прицепом, в метрах. |
total_walking_duration_s* |
Type: number Общая длительность ходьбы курьера, определенного в |
total_trailer_transit_duration_s* |
Type: number Общая длительность поездок с прицепом в маршрутах, в секундах. |
total_trailer_rolling_count* |
Type: number Общее количество перекаток товаров из прицепа в тягач. |
total_trailer_rolling_cost* |
Type: number Общий штраф за перекатки товаров из прицепа в тягач. |
total_unfeasibility_count* |
Type: number Число пунктов назначения, которые нарушают строгие ограничения, но не могут быть отброшены. |
total_unfeasibility_penalty* |
Type: number Сумма штрафов за удаление тех пунктов назначения, которые нарушают строгие ограничения, но не могут быть отброшены. |
total_waiting_duration_s* |
Type: number Суммарная продолжительность ожиданий перед отправлениями в другие пункты назначения или началами временных окон, в секундах. |
transit_time_penalty* |
Type: number Штраф за превышение времени нахождения на борту. |
total_served_orders* |
Type: number Общее количество обслуженных заказов. |
unfeasible_transit_time_excess_penalty |
Type: number Unfeasible-штраф за превышение времени нахождения на борту. |
unfeasible_trailer_diff_excess_penalty |
Type: number Unfeasible-штраф за разность веса между грузами в кабине и прицепе. |
unfeasible_incompatible_load_types_penalty |
Type: number Unfeasible-штраф за несовместимые типы грузов. |
unfeasible_incompatible_zones_penalty |
Type: number Unfeasible-штраф за несовместимые зоны. |
unfeasible_missed_planned_runs_penalty |
Type: number Unfeasible-штраф за пропущенные запланированные заезды. |
unfeasible_pickup_missed_drop_off_penalty |
Type: number Unfeasible-штраф за обслуживание пикапа без соответствующего drop_off. |
unfeasible_pickup_missed_depot_penalty |
Type: number Unfeasible-штраф за обслуживание пикапа без соответствующего склада. |
unfeasible_walking_to_depot_penalty |
Type: number Unfeasible-штраф за посещение склада без а/м. |
unfeasible_walking_courier_overload_penalty |
Type: number Unfeasible-штраф за перегруз пешего курьера. |
unfeasible_walking_after_route_end_penalty |
Type: number Unfeasible-штраф за завершение маршрута с брошенной на парковке а/м. |
unfeasible_shift_overtime_penalty |
Type: number Unfeasible-штраф за сверхурочную работу с жестким ограничением смены. |
unfeasible_unused_middle_depot_penalty |
Type: number Unfeasible-штраф за неиспользуемый промежуточный склад в маршруте. |
unfeasible_invalid_pickup_delivery_order_penalty |
Type: number Unfeasible-штраф за неверный порядок обслуживания pickup-delivery пары. |
unfeasible_failed_ready_time_penalty |
Type: number Unfeasible-штраф за нарушение ограничения на ready_time. |
unfeasible_failed_expiring_time_penalty |
Type: number Unfeasible-штраф за нарушение ограничения на expiring_time. |
unfeasible_failed_sequence_order_penalty |
Type: number Unfeasible-штраф за нарушение ограничения на sequence_order. |
unfeasible_failed_hard_time_window_penalty |
Type: number Unfeasible-штраф за нарушение ограничения на hard_time_window. |
unfeasible_failed_dependent_group_penalty |
Type: number Unfeasible-штраф за нарушение ограничения на dependent_group. |
unfeasible_not_loaded_order_penalty |
Type: number Unfeasible-штраф за обслуживание заказа, который не был загружен в а/м. |
unfeasible_vehicle_overload_penalty |
Type: number Unfeasible-штраф за перегруз а/м. |
unfeasible_planned_overload_penalty |
Type: number Unfeasible-штраф за запланированный перегруз а/м. |
unfeasible_work_break_drop_penalty |
Type: number Unfeasible-штраф за пропуск перерывов в работе. |
unfeasible_crossdock_missed_delivery_penalty |
Type: number Unfeasible-штраф за доставку заказа без доставки его в кросс-док. |
unfeasible_empty_first_run_penalty |
Type: number Unfeasible-штраф за пустой первый заезд в смене. |
unfeasible_max_midde_depots_penalty |
Type: number Unfeasible-штраф за нарушение ограничения max_middle_depots. |
unfeasible_depots_only_at_run_beginning_penalty |
Type: number Unfeasible-штраф за нарушение ограничения depots_only_at_run_beginning. |
unfeasible_not_same_depot_run_ending_penalty |
Type: number Unfeasible-штраф за нарушение ограничения finish_run_in_starting_depot. |
unfeasible_not_same_depot_route_ending_penalty |
Type: number Unfeasible-штраф за нарушение ограничения finish_route_in_starting_depot. |
unfeasible_missed_coupled_delivery_penalty |
Type: number Unfeasible-штраф за pickup без парного delivery-заказа в маршурте. |
unfeasible_rolling_before_decoupling_penalty |
Type: number Unfeasible-штраф за перекатку с присоединенным прицепом. |
unfeasible_rolling_without_trailer_penalty |
Type: number Unfeasible-штраф за перекатку без использования прицепа. |
unfeasible_decouple_decoupled_trailer_penalty |
Type: number Unfeasible-штраф за повторное отсоединение открепленного прицепа. |
unfeasible_couple_coupled_trailer_penalty |
Type: number Unfeasible-штраф за повторное присоединение прикрепленного прицепа. |
unfeasible_decouple_unused_trailer_penalty |
Type: number Unfeasible-штраф за отсоединение неиспользуемого прицепа. |
unfeasible_use_trailer_prohibited_location_penalty |
Type: number Unfeasible-штраф за использование прицепа в локации, в которой прицеп запрещен. |
unfeasible_missed_coupled_pickup_from_any_penalty |
Type: number Unfeasible-штраф за доставку pickup_from_any заказа без pickup. |
unfeasible_missed_coupled_pickup_penalty |
Type: number Unfeasible-штраф за delivery-заказ без парного pickup в маршруте. |
unfeasible_failed_lifo_order_penalty |
Type: number Unfeasible-штраф за нарушение LIFO. |
unfeasible_failed_solid_group_penalty |
Type: number Unfeasible-штраф за несоблюдение ограничения на solid group. |
unfeasible_missed_dependent_group_locations_penalty |
Type: number Unfeasible-штраф за отсутствие части локаций из dependent group. |
assigned_locations_count |
Type: integer Общее число пунктов назначения, привязанных к транспортным средствам. |
balanced_group_duration_deviation_s |
Type: number Суммарное среднеквадратичное отклонение длительностей для групп балансировки маршрутов от средних значений. |
new_balanced_group_duration_deviation_s |
Type: number Новое значение метрики balanced_group_duration_deviation_s после дооптимизации. |
old_balanced_group_duration_deviation_s |
Type: number Старое значение метрики balanced_group_duration_deviation_s после дооптимизации. |
balanced_group_distance_deviation_m |
Type: number Суммарное среднеквадратичное отклонение расстояний для групп балансировки маршрутов от средних значений. |
new_balanced_group_distance_deviation_m |
Type: number Новое значение метрики balanced_group_distance_deviation_m после дооптимизации. |
old_balanced_group_distance_deviation_m |
Type: number Старое значение метрики balanced_group_distance_deviation_m после дооптимизации. |
balanced_group_served_order_count_deviation |
Type: number Суммарное среднеквадратичное отклонение числа обслуженных заказов для групп балансировки маршрутов от средних значений. |
new_balanced_group_served_order_count_deviation |
Type: number Новое значение метрики balanced_group_served_order_count_deviation после дооптимизации. |
old_balanced_group_served_order_count_deviation |
Type: number Старое значение метрики balanced_group_served_order_count_deviation после дооптимизации. |
balanced_group_custom_value_deviation |
Type: number Суммарное среднеквадратичное отклонение значения |
new_balanced_group_custom_value_deviation |
Type: number Новое значение метрики balanced_group_custom_value_deviation после дооптимизации. |
old_balanced_group_custom_value_deviation |
Type: number Старое значение метрики balanced_group_custom_value_deviation после дооптимизации. |
balanced_group_kg_deviation |
Type: number Суммарное среднеквадратичное отклонение веса заказов маршрута в килограммах для групп балансировки маршрутов от средних значений. |
new_balanced_group_kg_deviation |
Type: number Новое значение метрики balanced_group_kg_deviation после дооптимизации. |
old_balanced_group_kg_deviation |
Type: number Старое значение метрики balanced_group_kg_deviation после дооптимизации. |
balanced_group_unit_deviation |
Type: number Суммарное среднеквадратичное отклонение веса заказов маршрута в единицах груза для групп балансировки маршрутов от средних значений. |
new_balanced_group_unit_deviation |
Type: number Новое значение метрики balanced_group_unit_deviation после дооптимизации. |
old_balanced_group_unit_deviation |
Type: number Старое значение метрики balanced_group_unit_deviation после дооптимизации. |
balanced_group_penalty |
Type: number Общий штраф за несбалансированность маршрутов. |
skip_intermediate_location_penalty |
Type: number Общий штраф за пропуск попутной локации |
intermediate_location_distance_threshold_m |
Type: number Порог расстояния для попутных заказов
|
intermediate_location_duration_threshold_s |
Type: number Порог времени для попутных заказов
|
new_balanced_group_penalty |
Type: number Новое значение метрики balanced_group_penalty после дооптимизации. |
old_balanced_group_penalty |
Type: number Старое значение метрики balanced_group_penalty после дооптимизации. |
balanced_group_stop_count_deviation |
Type: number Суммарное среднеквадратичное отклонение числа остановок для групп балансировки маршрутов от средних значений. |
new_balanced_group_stop_count_deviation |
Type: number Новое значение метрики balanced_group_stop_count_deviation после дооптимизации. |
old_balanced_group_stop_count_deviation |
Type: number Старое значение метрики balanced_group_stop_count_deviation после дооптимизации. |
dropped_locations_count* |
Type: integer |
max_vehicle_runs |
Type: integer Максимальное число рейсов одного транспортного средства. |
number_of_routes* |
Type: integer Общее число маршрутов транспортных средств. |
operations_per_second |
Type: number Скорость работы Сервиса планирования маршрутов, операций в секунду. |
multiorders_extra_points |
Type: integer Количество точек с мультизаказами, в которые машины/курьеры приезжали больше одного раза. |
multiorders_extra_vehicles |
Type: integer Количество ситуаций, когда в точек с мультизаказами приезжает несколько разных машин/курьеров. |
multiorders_extra_visits |
Type: integer Количество повторных посещений точек с мультизаказами. |
close_location_groups_penalty |
Type: integer Суммарный штраф за излишние посещения групп близких локаций |
close_location_groups_extra_points |
Type: integer Количество точек групп близких локаций, в которые машины/курьеры приезжали больше одного раза. |
close_location_groups_extra_vehicles |
Type: integer Количество ситуаций, когда в точки групп близких локаций приезжает несколько разных машин/курьеров. |
close_location_groups_extra_visits |
Type: integer Количество повторных посещений точек групп близких локаций. |
total_failed_time_between_visits_count |
Type: integer Общее количество нарушений ограничения |
total_failed_time_between_visits_duration_s |
Type: number Общая длительность нарушений ограничения |
total_time_between_visits_penalty |
Type: number Общая стоимость нарушений ограничения |
optimization_steps* |
Type: integer Количество шагов оптимизации Сервиса планирования маршрутов. |
used_vehicles* |
Type: integer Число транспортных средств, используемых в решении. |
drop_penalty_percentage* |
Type: number Отношение total_drop_penalty к максимально возможному значению. |
max_drop_percentage_penalty* |
Type: number Штраф за нарушение ограничения на max_drop_penalty_percentage. |
split_orders_percentage |
Type: number Процент заказов, которые были разделены. |
max_split_orders_percentage_penalty |
Type: number Штраф за нарушение ограничения на max_split_orders_percentage. |
detailed_cost
Значение произвольной стоимости.
Name |
Description |
name* |
Type: string |
value* |
Type: number |
subcosts |
Type: object[] Значение произвольной стоимости. |
raw_metrics |
Type: object[] Значение произвольной стоимости. |
solver_options
Параметры Сервиса планирования маршрутов. Запрещается указывать параметры, отсутствующие в списке.
Name |
Description |
quality |
Type: string Качество решения:
|
date |
Type: string Начальная дата для всех маршрутов (в формате |
time_zone* |
Type: number or string |
absolute_time |
Type: boolean Использование формата ISO 8601 (YYYY-MM-DDTHH: MM:SS+HH: MM) для отображения параметра |
routing_mode |
Type: string Способ передвижения. Подробнее
|
weighted_drop_penalty |
Type: boolean Вычисление штрафа за отказ от доставки заказа в зависимости от веса и объема груза. Это бывает полезно для оптимизации при высокой загрузке транспортных средств. Прописанные штрафы за отказ от точек доставки в таком случае игнорируются. Подробнее |
restart_on_drop |
Type: boolean Перезапуск задачи для выполнения оптимизации только среди не отброшенных заказов в случае, если решения без отбрасывания заказов найти не удалось. Данный параметр следует активировать в том случае, если отказ от заказов допустим и приемлем для вашего бизнес-сценария. |
minimize_lateness_risk |
Type: boolean Минимизировать вероятности опозданий, т.е. избегать таких маршрутов, где предполагаемое время прибытия близко к концу временного окна. Подробнее |
penalize_late_service |
Type: boolean Эта опция определяет, нужно ли штрафовать за позднее прибытие на объект или позднее окончание обслуживания.
При значении |
ignore_min_stops_for_unused |
Type: boolean Не учитывать опцию |
ignore_zones |
Type: boolean Не учитывать опции, связанные с зонами, в машинах и заказах. Подробнее |
post_optimization |
Type: boolean Использовать дооптимизацию: перезапустить алгоритм на последних 10% итераций без учета global proximity и балансировок. Подробнее |
load_when_ready |
Type: boolean Начинать погрузку заказов на склад по мере готовности (в порядке |
critical_lateness_risk_probability |
Type: number Если вероятность опоздания в пункт назначения больше или равна указанному значению, то пункт назначения учитывается в параметре |
matrix_router |
Type: string Матричный роутер, использующийся для планирования маршрута
|
incompatible_load_types |
Type: string[][] Каждый элемент в этом массиве определяет список типов грузов, которые не должны попадать в один рейс транспортного средства. Подробнее |
incompatible_zones |
Type: string[][] Каждый элемент в этом массиве определяет список зон, которые не должны посещаться в одном рейсе транспортного средства. Подробнее |
proximity_factor |
Type: number Степень влияния близости пунктов назначения на маршруты транспортных средств. Рекомендуемый диапазон значений: от |
global_proximity_factor |
Type: number Степень влияния близости пунктов назначения на маршруты транспортных средств. Рекомендуемый диапазон значений: от |
max_drop_penalty_percentage |
Type: number Максимальная доля штрафов за недоставку заказов от суммы шрафов по всем заказам. Подробнее
|
max_split_orders_percentage |
Type: number Максимальная доля заказов, которые могут быть разбиты на части
|
merge_multiorders |
Type: boolean По возможности объединять заказы, имеющие одинаковые координаты и обслуживать их одним транспортным средством. Подробнее |
force_merge_multiorders |
Type: boolean Меняет поведение при включенной опции |
merge_multiorders_of_different_clients |
Type: boolean Если эта опция сброшена, то заказы с разным client_id но общей координатой будут образоывать отдельные остановки. Подробнее
|
wait_in_multiorders |
Type: boolean Разрешает ожидание в мультизаказах. Подробнее
|
balanced_groups |
Type: object[] Каждый элемент в этом массиве определяет группу балансировки маршрутов. Каждый маршрут в группе соответствует одной смене транспортного средства. Смены связаны с группами полем |
points_throughputs |
Type: object[] Каждый элемент этого массива определяет пропускную способность точки. |
location_groups |
Type: object[] Каждый элемент этого массива определяет группу точек доставки, которая должна быть назначена в одну смену. Некоторые локации из группы могут быть отброшены. Пункт назначения может входить только в одну группу. Подробнее |
avoid_tolls |
Type: boolean Не использовать платные дороги, если это возможно (только для режимов |
fix_planned_shifts |
Type: boolean Фиксировать смены локаций из запланированных маршрутов. |
immutable |
Type: boolean Все заезды, заданные в initial_routes, используются без изменений, новые машины и заезды не добавляются. |
template_rest_schedules |
Type: object[] Список шаблонов расписания перерывов. Подробнее |
enable_vehicle_classes |
Type: boolean При значении |
max_distance_to_projection_m |
Type: number Ограничение на максимальное расстояние до точки проекции. Будет проигнорировано, если у заказа нет подходящих проекций
|
multiorder_radius_m |
Type: number Расстояние между заказами, при котором они склеиваются в один мультизаказ
|
close_location_groups_radius_m |
Type: number Расстояние между заказами, при котором они объединяются в одну группу близких локаций
|
penalty |
Type: object Штрафы за несоблюдение ограничений на все решение. |
close_locations_during_post_optimization_only |
Type: boolean Применять штрафы, определенные в поле |
avoid_zones |
Type: string[] Список зон, через которые не может проходить маршрут. Данные зоны будут объезжаться, даже если кратчайший путь лежит через них. Суммарное число углов в полигонах зон должно быть не более 300.
|
vehicle
Спецификация транспортного средства.
Name |
Description |
id* |
Type: integer or string Идентификатор транспортного средства. Все идентификаторы транспортных средств в рамках задачи должны быть уникальными и иметь одинаковый тип: целое число или строка. Подробнее |
depot_id |
Type: integer or string or array |
starting_depot_id |
Type: integer or string or array |
ending_depot_id |
Type: integer or string or array |
middle_depot_id |
Type: integer or string or array |
depots_only_at_run_beginning |
Type: boolean Промежуточные склады допустимы только до обслуживания первого заказа. |
capacity |
Type: object Вместимость транспортного средства. Подробнее |
cost |
Type: object or string |
payout |
Type: string or object |
ref |
Type: string Референсный номер автомобиля. |
visited_locations |
Type: object[] Список пунктов назначения, которые должны быть посещены транспортным средством в строго определенном порядке. Это фиксированная часть маршрута без учета оптимизации, при этом дополнительно может указываться время отправления из некоторых пунктов назначения. Если необходимо также указать точное расписание перерывов на отдых во время посещения этих пунктов назначения, используйте параметр транспортного средства |
fixed_work_breaks |
Type: object[] Данный список устанавливает продолжительность работы перед каждым перерывом на отдых для нескольких первых перерывов в каждой смене (или во всём маршруте, если смены отсутствуют). Если для транспортного средства предусмотрен список смен (см. параметр |
planned_route |
Type: object Заранее запланированные пункты назначения для данного транспортного средства. Эти пункты назначения не будут отброшены даже при нарушении строгих ограничений и будут обслужены в любом случае. Указанный в этом параметре порядок пунктов назначения, может быть изменен для оптимизации окончательного маршрута. По умолчанию смены, назначенные запланированным локациям тоже могут измениться. Они могут быть зафиксированны с помощью опции солвера |
tags |
Type: string[] Список тегов транспортного средства, совместимых с тегами пункта назначения (используются регулярные выражения расширенного POSIX стандарта). Подробнее |
excluded_tags |
Type: string[] Список тегов транспортного средства, несовместимых с тегами пункта назначения (используются регулярные выражения расширенного POSIX стандарта). Подробнее |
allowed_zones |
Type: string[] Список зон, которые может посещать траспортное средство. Подробнее |
optional_zones |
Type: object[] Список необязательных зон с бонусом |
forbidden_zones |
Type: string[] Список зон, которые не может посещать траспортное средство. Подробнее |
incompatible_load_types |
Type: string[][] Каждый элемент в этом массиве определяет список типов грузов, которые не должны попадать в один рейс транспортного средства (перезаписывает значение |
onboard_incompatible_load_types |
Type: boolean Рассчитывать несовместимость по типам грузов только относительно находящихся на борту заказов. |
incompatible_zones |
Type: string[][] Каждый элемент в этом массиве определяет список зон, которые не должны посещаться в одном рейсе транспортного средства. (перезаписывает значение |
crossdock_mode |
Type: string Определяет, разрешено ли этой машине доставлять заказы до кросс-док склада. Подробнее
|
visit_depot_at_start |
Type: boolean Если установлено в
|
allow_different_depots_in_route |
Type: boolean Транспортное средство может посещать несколько складов с различными идентификаторами в пределах одного маршрута |
can_change_depot_between_runs |
Type: boolean Транспортное средство может начинать заезд не на том складе, на котором завершился предыдущий заезд |
finish_run_in_starting_depot |
Type: boolean Обязательно завершать заезды на том же складе, на котором его начали. |
finish_route_in_starting_depot |
Type: boolean Обязательно завершать маршрут на том же складе, на котором его начали. |
return_to_depot |
Type: boolean Если установлено в |
start_at |
Type: integer or string Определяет |
finish_at |
Type: integer or string Ссылка на пункт назначения, указанный в параметре |
global_proximity_attraction_point |
Type: integer or string Ссылка на пункт назначения, указанный в параметре |
shifts |
Type: object[] Список транспортных смен. Подробнее |
travel_time_multiplier |
Type: number Коэффициент корректировки времени поездки, используется для быстрых или медленных транспортных средств. Подробнее
|
service_duration_multiplier |
Type: number Коэффициент корректировки времени обслуживания для медленных или быстрых рабочих. Подробнее
|
shared_service_duration_multiplier |
Type: number Коэффициент корректировки общего времени обслуживания для медленных или быстрых рабочих. Подробнее
|
depot_extra_service_duration_s |
Type: number Дополнительное время, необходимое для загрузки данного а/м на складе.
|
max_runs |
Type: integer Максимальное количество рейсов транспортного средства во всех сменах за день. Подробнее
|
max_middle_depots |
Type: integer Максимальное количество промежуточных (не заканчивающих заезд) складов в маршруте |
immutable |
Type: boolean Заезды данной машины, заданные в initial_routes, используются без изменений, новые заезды не добавляются. |
routing_mode |
Type: string Способ передвижения. Если присутствует, переопределяет
|
specs |
Type: object Характеристики транспортного средства. Подробнее |
imei |
Type: integer Номер GPS-трекера. |
phone |
Type: string Номер телефона курьера. |
rest_schedule |
Type: object Расписание перерывов на отдых. Подробнее |
rest_schedule_id |
Type: string Идентификатор шаблона расписания перерывов, использующегося этим автомобилем. |
trailer |
Type: object Спецификация прицепа. Использование прицепа с пешим курьером (walking_courier) невозможно.Подробнее |
fixed_planned_route |
Type: boolean Если установлено в |
min_stop_weight |
Type: number Минимальный суммарный вес всех заказов в одной точке. Подробнее |
penalty |
Type: object Штрафы за несоблюдение ограничений на транспортное средство. |
walking_courier |
Type: object Описание курьера-пешехода. Использование пешего курьера в а/м с прицепом невозможно. |
close_locations |
Type: object[] |
first_edges_penalty_factor |
Type: number Коэффициент, дающий штраф/бонус за первое ребро каждого заезда.При положительных значениях солвер старается начать обслуживание заказов с ближайших к складу, при отрицательных значениях - с наиболее отдалённых от склада |
last_edges_penalty_factor |
Type: number Коэффициент, дающий штраф/бонус за последнее ребро каждого заезда.При положительных значениях солвер старается закончить обслуживание заказов ближе к складу, при отрицательных значениях дальше от склада |
preset_id |
Type: string Номер пресета для свойств транспортного средства. |
201 Created
Задача запущена.
Body
{
"id": "string",
"status": {
"queued": 0,
"started": 0,
"completed": 0,
"cancelled": 0,
"estimate": 0
},
"message": "string"
}
Name |
Description |
id* |
Type: string Уникальный id задачи. |
status* |
Type: object Объект, содержащий изменения статусов задачи. Ключи - статусы, значения - время в формате UNIX timestamp. Возможные изменения статусов:
|
message |
Type: string Описание состояния задачи. |
202 Accepted
Задача поставлена в очередь на выполнение.
Body
{
"id": "string",
"status": {
"queued": 0,
"started": 0,
"completed": 0,
"cancelled": 0,
"estimate": 0
},
"message": "string"
}
Name |
Description |
id* |
Type: string Уникальный id задачи. |
status* |
Type: object Объект, содержащий изменения статусов задачи. Ключи - статусы, значения - время в формате UNIX timestamp. Возможные изменения статусов:
|
message |
Type: string Описание состояния задачи. |
404 Not Found
Запрошенная задача не найдена.
Body
{
"error": {
"message": "string",
"incident_id": "string"
}
}
Name |
Description |
error* |
Type: object Описание ошибки. |
410 Gone
Задача была удалена или заархивирована.
Body
{
"error": {
"message": "string",
"incident_id": "string"
}
}
Name |
Description |
error* |
Type: object Описание ошибки. |
500 Internal Server Error
Ошибка сервера во время выполнения задачи.
Body
{
"error": {
"message": "string",
"incident_id": "string"
}
}
Name |
Description |
error* |
Type: object Описание ошибки. |
Body
{}