Add task

  1. HTTP Request
  2. Query Parameters
  3. Request Body
    1. Representation
    2. Fields
  4. Responses
    1. Code 202
      1. Representation
      2. Fields
    2. Code 400
      1. Representation
      2. Fields
    3. Code 401
      1. Representation
      2. Fields
    4. Code 429
      1. Representation
      2. Fields
    5. Code 500
      1. Representation
      2. Fields
    6. Code 503
      1. Representation
      2. Fields

Enqueue an MVRP task for processing.

HTTP Request

POST https://courier.yandex.ru/vrs/api/v1/add/mvrp\
?apikey={string}\
&parent_task_id={string}

Query Parameters

apikey *

string

API key.

parent_task_id

string

Parent task id.

apikey *

string

API key.

parent_task_id

string

Parent task id.

Request Body

{
  "depot": {
    "address": string,
    "crossdock_safety_waiting_duration_s": number,
    "description": string,
    "finish_service_duration_s": number,
    "flexible_start_time": boolean,
    "hard_time_window": string,
    "hard_window": boolean,
    "load_service_duration_s": number,
    "package_throughput": {},
    "penalty": {
      "early": {
        "fixed": number,
        "minute": number
      },
      "late": {
        "fixed": number,
        "minute": number
      },
      "out_of_time": {
        "fixed": number,
        "minute": number
      },
      "package_throughput": {
        "fixed": number,
        "kg": number,
        "unit": number
      },
      "throughput": {
        "fixed": number,
        "kg": number,
        "unit": number,
        "vehicle": number
      }
    },
    "point": {
      "lat": number,
      "lon": number
    },
    "preliminary_service_duration_s": number,
    "preset_id": string,
    "ref": string,
    "throughput": {},
    "time_window": string,
    "time_windows": [
      {
        "hard_time_window": string,
        "time_window": string
      }
    ],
    "time_windows_loading": {
      "hard_time_window": string,
      "hard_window": boolean,
      "penalty": {
        "early": {
          "fixed": number,
          "minute": number
        },
        "late": {
          "fixed": number,
          "minute": number
        },
        "out_of_time": {
          "fixed": number,
          "minute": number
        }
      },
      "time_window": string,
      "time_windows": [
        {
          "hard_time_window": string,
          "time_window": string
        }
      ]
    },
    "time_windows_refilling": {
      "hard_time_window": string,
      "hard_window": boolean,
      "penalty": {
        "early": {
          "fixed": number,
          "minute": number
        },
        "late": {
          "fixed": number,
          "minute": number
        },
        "out_of_time": {
          "fixed": number,
          "minute": number
        }
      },
      "time_window": string,
      "time_windows": [
        {
          "hard_time_window": string,
          "time_window": string
        }
      ]
    },
    "time_windows_unloading": {
      "hard_time_window": string,
      "hard_window": boolean,
      "penalty": {
        "early": {
          "fixed": number,
          "minute": number
        },
        "late": {
          "fixed": number,
          "minute": number
        },
        "out_of_time": {
          "fixed": number,
          "minute": number
        }
      },
      "time_window": string,
      "time_windows": [
        {
          "hard_time_window": string,
          "time_window": string
        }
      ]
    },
    "title": string,
    "type": string,
    "unload_service_duration_s": number,
    "use_in_proximity": boolean
  },
  "depots": [
    {
      "address": string,
      "crossdock_safety_waiting_duration_s": number,
      "description": string,
      "finish_service_duration_s": number,
      "flexible_start_time": boolean,
      "hard_time_window": string,
      "hard_window": boolean,
      "load_service_duration_s": number,
      "package_throughput": {},
      "penalty": {
        "early": {
          "fixed": number,
          "minute": number
        },
        "late": {
          "fixed": number,
          "minute": number
        },
        "out_of_time": {
          "fixed": number,
          "minute": number
        },
        "package_throughput": {
          "fixed": number,
          "kg": number,
          "unit": number
        },
        "throughput": {
          "fixed": number,
          "kg": number,
          "unit": number,
          "vehicle": number
        }
      },
      "point": {
        "lat": number,
        "lon": number
      },
      "preliminary_service_duration_s": number,
      "preset_id": string,
      "ref": string,
      "throughput": {},
      "time_window": string,
      "time_windows": [
        {
          "hard_time_window": string,
          "time_window": string
        }
      ],
      "time_windows_loading": {
        "hard_time_window": string,
        "hard_window": boolean,
        "penalty": {
          "early": {
            "fixed": number,
            "minute": number
          },
          "late": {
            "fixed": number,
            "minute": number
          },
          "out_of_time": {
            "fixed": number,
            "minute": number
          }
        },
        "time_window": string,
        "time_windows": [
          {
            "hard_time_window": string,
            "time_window": string
          }
        ]
      },
      "time_windows_refilling": {
        "hard_time_window": string,
        "hard_window": boolean,
        "penalty": {
          "early": {
            "fixed": number,
            "minute": number
          },
          "late": {
            "fixed": number,
            "minute": number
          },
          "out_of_time": {
            "fixed": number,
            "minute": number
          }
        },
        "time_window": string,
        "time_windows": [
          {
            "hard_time_window": string,
            "time_window": string
          }
        ]
      },
      "time_windows_unloading": {
        "hard_time_window": string,
        "hard_window": boolean,
        "penalty": {
          "early": {
            "fixed": number,
            "minute": number
          },
          "late": {
            "fixed": number,
            "minute": number
          },
          "out_of_time": {
            "fixed": number,
            "minute": number
          }
        },
        "time_window": string,
        "time_windows": [
          {
            "hard_time_window": string,
            "time_window": string
          }
        ]
      },
      "title": string,
      "type": string,
      "unload_service_duration_s": number,
      "use_in_proximity": boolean
    }
  ],
  "initial_routes": [
    {
      "fixed_order": boolean,
      "immutable": boolean,
      "route": [
        {
          "load_to_head": [
            {}
          ],
          "load_to_trailer": [
            {}
          ],
          "multi_order": boolean,
          "node": {
            "type": string,
            "value": {
              "location_id": string,
              "passed_time_s": number
            }
          },
          "waiting_duration_s": number
        }
      ],
      "shift": {
        "balanced_group_id": string,
        "end": {
          "actual_arrival_time_s": number,
          "actual_departure_time_s": number,
          "actual_service_start_time_s": number,
          "actual_waiting_duration_s": number,
          "arrival_time_s": number,
          "departure_time_s": number,
          "failed_time_window": {
            "duration_s": number,
            "how": string
          },
          "load_to_head": [
            {}
          ],
          "load_to_trailer": [
            {}
          ],
          "multi_order": boolean,
          "node": {
            "type": string,
            "used_hard_time_window": string,
            "used_projection": {
              "lat": number,
              "lon": number
            },
            "used_time_window": string,
            "value": {
              "location_id": string,
              "passed_time_s": number
            }
          },
          "overtime": {
            "duration_s": number
          },
          "probably_failed_time_window": {
            "duration_s": number,
            "high_risk": boolean,
            "how": string,
            "probability": number
          },
          "stop_sequence_number": integer,
          "transit_distance_m": number,
          "transit_duration_s": number,
          "violations": [
            {
              "high_risk": boolean,
              "probability": number,
              "type": string
            }
          ],
          "waiting_duration_s": number
        },
        "id": string,
        "start": {
          "actual_arrival_time_s": number,
          "actual_departure_time_s": number,
          "actual_service_start_time_s": number,
          "actual_waiting_duration_s": number,
          "arrival_time_s": number,
          "departure_time_s": number,
          "failed_time_window": {
            "duration_s": number,
            "how": string
          },
          "load_to_head": [
            {}
          ],
          "load_to_trailer": [
            {}
          ],
          "multi_order": boolean,
          "node": {
            "type": string,
            "used_hard_time_window": string,
            "used_projection": {
              "lat": number,
              "lon": number
            },
            "used_time_window": string,
            "value": {
              "location_id": string,
              "passed_time_s": number
            }
          },
          "overtime": {
            "duration_s": number
          },
          "probably_failed_time_window": {
            "duration_s": number,
            "high_risk": boolean,
            "how": string,
            "probability": number
          },
          "stop_sequence_number": integer,
          "transit_distance_m": number,
          "transit_duration_s": number,
          "violations": [
            {
              "high_risk": boolean,
              "probability": number,
              "type": string
            }
          ],
          "waiting_duration_s": number
        }
      }
    }
  ],
  "locations": [
    {
      "address": string,
      "allow_trailers": boolean,
      "can_be_merged": boolean,
      "can_be_split": boolean,
      "comments": string,
      "crossdock_mode": string,
      "custom_value": number,
      "delivery_deadline": string,
      "delivery_to_any": [
        {}
      ],
      "depot_expiring_time": string,
      "depot_ready_time": string,
      "description": string,
      "dropped_ratio": number,
      "hard_time_window": string,
      "hard_window": boolean,
      "in_lifo_order": boolean,
      "load_types": [
        string
      ],
      "max_split_parts": integer,
      "max_total_vehicles": integer,
      "may_drop_in_crossdock": boolean,
      "optional_tags": [
        {
          "tag": string,
          "value": number
        }
      ],
      "parking_service_duration_s": number,
      "penalty": {
        "delivery_deadline": {
          "fixed": number,
          "minute": number
        },
        "depot_expiring_time": {
          "fixed": number,
          "minute": number
        },
        "depot_ready_time": {
          "fixed": number,
          "minute": number
        },
        "early": {
          "fixed": number,
          "minute": number
        },
        "late": {
          "fixed": number,
          "minute": number
        },
        "out_of_time": {
          "fixed": number,
          "minute": number
        },
        "rolling_throughput": {
          "fixed": number,
          "kg": number,
          "unit": number,
          "vehicle": number
        },
        "throughput": {
          "fixed": number,
          "kg": number,
          "unit": number,
          "vehicle": number
        },
        "time_between_visits": {
          "fixed": number,
          "minute": number
        },
        "transit_time": {}
      },
      "phone": string,
      "pickup_from_any": boolean,
      "pickup_must_reach_depot": boolean,
      "point": {
        "lat": number,
        "lon": number
      },
      "preset_id": string,
      "ref": string,
      "required_tags": [
        string
      ],
      "rolling_throughput": {},
      "sequence_order": integer,
      "service_durations": {
        "parking": number
      },
      "shared_with_company_ids": [
        integer
      ],
      "shipment_size": {
        "custom": {},
        "units": number,
        "volume": {
          "align": string,
          "depth_m": number,
          "height_m": number,
          "type": string,
          "width_m": number
        },
        "volume_cbm": number,
        "weight_kg": number
      },
      "soft_depot_expiring_time": string,
      "soft_depot_ready_time": string,
      "split_parts_must_fill_whole_vehicle": boolean,
      "throughput": {},
      "time_window": string,
      "time_windows": [
        {
          "hard_time_window": string,
          "time_window": string
        }
      ],
      "title": string,
      "transit_time": {
        "hard_limit_s": number,
        "limit_s": number
      },
      "type": string,
      "use_in_proximity": boolean
    }
  ],
  "options": {
    "absolute_time": boolean,
    "avoid_tolls": boolean,
    "balanced_groups": [
      {
        "id": string,
        "penalty": {
          "custom_value": number,
          "hour": number,
          "ignore_unused_vehicles": boolean,
          "km": number,
          "served_order": number,
          "stop": number,
          "unit": number,
          "weight_kg": number
        }
      }
    ],
    "close_location_groups_radius_m": number,
    "close_locations_during_post_optimization_only": boolean,
    "critical_lateness_risk_probability": number,
    "date": string,
    "enable_vehicle_classes": boolean,
    "fix_planned_shifts": boolean,
    "force_merge_multiorders": boolean,
    "global_proximity_factor": number,
    "ignore_min_stops_for_unused": boolean,
    "ignore_zones": boolean,
    "immutable": boolean,
    "incompatible_load_types": [
      "array"
    ],
    "incompatible_zones": [
      "array"
    ],
    "load_when_ready": boolean,
    "location_groups": [
      {
        "dependent": boolean,
        "location_ids": [
          {}
        ],
        "solid": boolean,
        "title": string
      }
    ],
    "matrix_router": string,
    "max_distance_to_projection_m": number,
    "max_drop_penalty_percentage": number,
    "max_split_orders_percentage": number,
    "merge_multiorders": boolean,
    "merge_multiorders_of_different_clients": boolean,
    "minimize_lateness_risk": boolean,
    "multiorder_radius_m": number,
    "penalize_late_service": boolean,
    "penalty": {
      "close_location_groups": {
        "per_extra_point": number,
        "per_extra_vehicle": number,
        "per_extra_visit": number
      },
      "drop_penalty_percentage": {
        "fixed": number,
        "per_percent": number
      },
      "multiorders": {
        "per_extra_point": number,
        "per_extra_vehicle": number,
        "per_extra_visit": number
      },
      "split_orders_percentage": {
        "fixed": number,
        "per_percent": number
      }
    },
    "points_throughputs": [
      {
        "penalty": {
          "throughput": {
            "fixed": number,
            "kg": number,
            "unit": number,
            "vehicle": number
          }
        },
        "point": {
          "lat": number,
          "lon": number
        },
        "throughput": {}
      }
    ],
    "post_optimization": boolean,
    "preset_id": string,
    "proximity_factor": number,
    "quality": string,
    "restart_on_drop": boolean,
    "routing_mode": string,
    "template_rest_schedules": [
      {
        "id": string
      }
    ],
    "wait_in_multiorders": boolean,
    "weighted_drop_penalty": boolean
  },
  "vehicles": [
    {
      "allow_different_depots_in_route": boolean,
      "allowed_zones": [
        string
      ],
      "can_change_depot_between_runs": boolean,
      "capacity": {
        "custom": {},
        "limits": {
          "units_perc": number,
          "volume_perc": number,
          "weight_perc": number
        },
        "units": number,
        "volume": {
          "depth_m": number,
          "height_m": number,
          "width_m": number
        },
        "volume_cbm": number,
        "weight_kg": number
      },
      "close_locations": [
        {
          "distance_till_service_m": {
            "penalty": number,
            "value": number
          },
          "duration_till_service_s": {
            "penalty": number,
            "value": number
          },
          "routing_mode": string,
          "search_radius_m": number,
          "soft_search_radius_m": number
        }
      ],
      "crossdock_mode": string,
      "depot_extra_service_duration_s": number,
      "depots_only_at_run_beginning": boolean,
      "excluded_tags": [
        string
      ],
      "finish_route_in_starting_depot": boolean,
      "finish_run_in_starting_depot": boolean,
      "first_edges_penalty_factor": number,
      "fixed_planned_route": boolean,
      "fixed_work_breaks": [
        {
          "shift_id": string,
          "work_duration_s": number
        }
      ],
      "forbidden_zones": [
        string
      ],
      "imei": integer,
      "immutable": boolean,
      "incompatible_load_types": [
        "array"
      ],
      "incompatible_zones": [
        "array"
      ],
      "last_edges_penalty_factor": number,
      "max_middle_depots": integer,
      "max_runs": integer,
      "min_stop_weight": number,
      "onboard_incompatible_load_types": boolean,
      "optional_zones": [
        {
          "value": number,
          "zone": string
        }
      ],
      "penalty": {
        "arrival_after_start": {
          "as_soon_as_possible": boolean,
          "average_h": number
        },
        "empty_runs": {
          "fixed": number,
          "per_run": number
        },
        "min_stop_weight": {
          "fixed": number,
          "kg": number
        }
      },
      "phone": string,
      "planned_route": {
        "locations": [
          {
            "anchor_mode": string,
            "delivered_orders": [
              {}
            ],
            "delivery_in_current_run": boolean,
            "is_middle_depot": boolean,
            "loaded_orders": [
              {}
            ],
            "order_ratio": number,
            "parking_mode": string,
            "picked_orders": [
              {}
            ],
            "shift_id": string,
            "wait_if_early": boolean
          }
        ],
        "planned_runs_first": boolean,
        "work_breaks": [
          {
            "shift_id": string,
            "work_duration_s": number
          }
        ]
      },
      "preset_id": string,
      "ref": string,
      "rest_schedule": {},
      "rest_schedule_id": string,
      "return_to_depot": boolean,
      "routing_mode": string,
      "service_duration_multiplier": number,
      "shared_service_duration_multiplier": number,
      "shifts": [
        {
          "balanced_group_id": string,
          "hard_max_duration_s": number,
          "hard_time_window": string,
          "hard_window": boolean,
          "id": string,
          "immutable": boolean,
          "max_duration_s": number,
          "max_mileage_km": number,
          "max_runs": integer,
          "maximal_stops": integer,
          "minimal_stops": integer,
          "minimal_unique_stops": integer,
          "penalty": {
            "early": {
              "fixed": number,
              "minute": number
            },
            "late": {
              "fixed": number,
              "minute": number
            },
            "max_mileage": {
              "fixed": number,
              "km": number
            },
            "out_of_time": {
              "fixed": number,
              "minute": number
            },
            "stop_excess": {
              "fixed": number,
              "per_stop": number
            },
            "stop_lack": {
              "fixed": number,
              "per_stop": number
            },
            "unique_stop_lack": {
              "fixed": number,
              "per_stop": number
            }
          },
          "preset_id": string,
          "service_duration_s": number,
          "time_window": string
        }
      ],
      "specs": {
        "height": number,
        "length": number,
        "max_weight": number,
        "max_weight_kg": number,
        "width": number
      },
      "tags": [
        string
      ],
      "trailer": {
        "capacity": {
          "custom": {},
          "limits": {
            "units_perc": number,
            "volume_perc": number,
            "weight_perc": number
          },
          "units": number,
          "volume": {
            "depth_m": number,
            "height_m": number,
            "width_m": number
          },
          "volume_cbm": number,
          "weight_kg": number
        },
        "cost": {
          "fixed": number,
          "hour": number,
          "km": number,
          "location": number,
          "run": number,
          "tonne_km": number,
          "waiting_hour": number
        },
        "coupling_time_s": number,
        "decoupling_time_s": number,
        "max_capacity_difference": {
          "custom": {},
          "units": number,
          "volume_cbm": number,
          "weight_kg": number
        },
        "rolling_cost": number,
        "rolling_time": {
          "fixed_time_s": number,
          "s_per_kg": number,
          "s_per_m3": number,
          "s_per_unit": number
        }
      },
      "travel_time_multiplier": number,
      "visit_depot_at_start": boolean,
      "visited_locations": [
        {
          "delivered_orders": [
            {}
          ],
          "order_ratio": number,
          "shift_id": string,
          "time": string,
          "wait_if_early": boolean
        }
      ],
      "walking_courier": {
        "capacity": {
          "units": number
        },
        "cost": {
          "hour": number,
          "km": number
        },
        "restrictions": {
          "max_parking_duration_s": {
            "penalty": number,
            "value": number
          },
          "max_parking_walking_distance_m": {
            "penalty": number,
            "value": number
          },
          "max_walking_edge_distance_m": {
            "penalty": number,
            "value": number
          }
        }
      }
    }
  ],
  "zones": [
    {
      "geometry": {
        "coordinates": [
          "array"
        ],
        "type": string
      },
      "id": string
    }
  ]
}
Copied to clipboard

Representation