---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.kz/routing/doc/en/vrp/faq.md
  - https://yandex.kz/routing/doc/kk/vrp/faq.md
  - https://yandex.kz/routing/doc/ru/vrp/faq.md
  - href: en/vrp/faq.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
title: RouteQ — frequently asked questions
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/en/llms.txt


# Frequently asked questions

## Planning task {#planning-task}

{% cut "How can I get the source task data?" %}

To view the source task data, use a link in the following format: `https://courier.yandex.ru/api/integration/v1/solver-task/<task_type>/fetch-request/<task_id>`, where:

* `<task_type>` is the task type: `mvrp` or `svrp`.

* `<task_id>` is the ID of the solved task.

{% endcut %}

{% cut "How do I geocode addresses for the planning task?" %}

That depends on how you run the planning task. If you run the planning task:

- Via the API — Process the addresses in [Geocoder](https://yandex.com/dev/maps/geocoder/) first.

- In the interface — The built-in geocoder automatically processes the addresses (to learn more, see the [Map](https://yandex.kz/routing/doc/en/vrp/interface-import.md#map) subsection in **Import window**).

{% endcut %}

{% cut "Is there a limit on the number of tasks that can be simultaneously launched in Planning?" %}

Yes, there is. By default, you can ran no more than 10 parallel planning tasks with a single [access key](https://yandex.kz/routing/doc/en/vrp/authorization.md#api-key).

{% endcut %}


{% cut "Can I set the planning time manually?" %}

You can view the standard planning time for the `Optimal` setting in [Request processing time](https://yandex.kz/routing/doc/en/vrp/request-processing-time.md). If you need to set further limits, [contact support](https://yandex.kz/routing/doc/en/vrp/feedback.md).

{% endcut %}


{% cut "I started the planning task. One minute later, I lost my internet connection, and there was a "failed to fetch" error. Do I have to start the planning task again?" %}

No, you don't. Your task is saved under a unique number that you can find in the browser address bar: `https://yandex.ru/courier/companies/<company_id>/depots/all/mvrp/<task_id>`, where 
`task_id` is the ID of the solved task, and `company_id` is the ID of the company.

To receive the solution, refresh the page where you started the task.

{% endcut %}

{% cut "Why do I get "limit exceeded" errors when running planning tasks?" %}

There are two types of limits in the Planning service:

- By the number of requests per day. If this limit is exceeded, you'll get a "Counter tasks_total_solved limit exceeded" error. 

- By the number of simultaneously processed requests (for example, planning for different cities or depots). If this limit is exceeded, you'll get a "Quota limit exceeded" error. 

To increase these quotas, contact your manager or [support](https://yandex.kz/routing/doc/en/vrp/feedback.md).

If your business requires running a large number of tasks simultaneously, organize your queue to send a new planning request only after receiving a response to the previous one. See [Obtaining results](https://yandex.kz/routing/doc/en/vrp/get-result.md). Estimate the [time to process the request](https://yandex.kz/routing/doc/en/vrp/request-processing-time.md).

{% endcut %}

## Planning file {#planning-file}

{% cut "Why doesn't the system accept the parameters from the documentation when loading via Excel?" %}

The Excel file doesn't support some of the parameters yet.

To learn more, follow the links:

- [Parameters available via Excel](https://yandex.kz/routing/doc/en/vrp/excel-fill-guide.md)

- [Parameters available via the API](https://yandex.ru/routing/doc/en/vrp/redoc/index.html#operation/addMVRPTask)

{% endcut %}

{% cut "Why are the names of planning parameters specified with a dot in the documentation (for example, `locations.id`)?" %}

<!-- source: en/vrp/_includes/parameters.md -->
You can specify the planning parameters:

- In an [Excel file](https://yandex.kz/routing/doc/en/vrp/excel-fill-guide.md) and via the [API](https://yandex.ru/routing/doc/en/vrp/redoc/index.html#operation/addsATask).
- Via the API only.

If you're using an Excel file, you can specify the parameter name in two ways in the documentation:

- In text form — for example, `On the Orders sheet in the id field ...`;
- `Excel_sheet_name.parameter_name` — `orders.id`.

If you're using the API, the parameter's name includes the name of the JSON block (object or array) and the name of the parameter itself. For example, `locations.id`.

The names of sheets in Excel and the corresponding blocks in JSON may not match. For example, if order data is specified on the **Orders** sheet in Excel, and in JSON this data is passed in the `locations` block.
<!-- endsource: en/vrp/_includes/parameters.md -->

{% endcut %}

## Routes {#routes}

{% cut "How can I make the routes more dense?" %}

Use the [Dense routes](https://yandex.kz/routing/doc/en/vrp/grouping-routes.md) option.

{% endcut %}

{% cut "How can I minimize the total mileage of all vehicles?" %}

Increase the `cost.km` cost (see [Vehicle or courier cost](https://yandex.kz/routing/doc/en/vrp/properties-of-vehicles-cost.md#cost)). If you use hard order or shift time windows, try making them soft.

{% endcut %}

{% cut "Error enabling road display mode for a route" %}

If you see the error "You don't have the rights to view results", follow [these instructions](https://yandex.kz/routing/doc/en/vrp/interface-result.md#view-street-routes).

{% endcut %}


## Orders {#orders}

{% cut "Why are some orders unassigned?" %}

There are several reasons for that. Most often, it's because of the hard restrictions that the algorithm can't violate.

- A shift, depot, or order [hard time window](https://yandex.kz/routing/doc/en/vrp/properties-of-time-window.md#hard-and-soft-windows).

- [Order and vehicle compatibility](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#order-vehicle-compatibility).

In some scenarios, this is expected. See [Planning orders that can be rescheduled / Planning part of the orders](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#part-of-orders).

To find out the reasons, check out the conditions of the task:

1. Check the order's `penalty.drop` value: it shouldn't be too small or set to 0.

2. Make all order time windows [soft](https://yandex.kz/routing/doc/en/vrp/properties-of-time-window.md#hard-and-soft-windows).

3. Remove [order tags](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#order-vehicle-compatibility).

4. Remove the order [load_types](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#order-incompatibility).


{% endcut %}

{% cut "How can I account for multiple order windows when planning?" %}

See [Multiple time windows in the order](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#order-multiple-time-windows).

{% endcut %}

{% cut "Why is there a long waiting time between orders?" %}

To learn about reasons for long waiting times and how to minimize them, see [Minimizing waiting time for couriers](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#minimizing-waiting-time-for-couriers).

{% endcut %}

{% cut "Why do I have to specify the parking and handover times separately?" %}

This way, when orders are combined into [multi-orders](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#multi-orders), the parking time is counted only once, and the handover time is counted based on the number of orders.

{% endcut %}

{% cut "If some couriers can't deliver the order, how can I set the restrictions?" %}

Use the [Vehicle tags](https://yandex.kz/routing/doc/en/vrp/properties-of-vehicles.md#tags) function.

{% endcut %}

{% cut "If some orders can't be delivered in the same vehicle, how can I take that into account while planning?" %}

Use the [Order incompatibility](https://yandex.kz/routing/doc/en/vrp/properties-of-orders.md#order-incompatibility) function.

{% endcut %}

## Couriers {#couriers}

{% cut "How can I use all the specified couriers and distribute work among them evenly?" %}

The courier workload settings are described in the [Planning the loading of your own couriers](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#own-couriers) case.

{% endcut %}

{% cut "How do I minimize the number of couriers?" %}

The courier workload settings are described in the [Minimizing the number of couriers](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#minimizing-the-number-of-couriers) case.

{% endcut %}

{% cut "Can the courier travel part of the way by car and then switch to public transport? Or can they park the car and walk to the delivery points on foot?" %}

No. Within one planning task, you can select only one transportation method for a courier.

A special case is planning tasks in [transit](https://yandex.kz/routing/doc/en/vrp/routing-mode.md) mode. Here, the courier uses public transport, gets off, and walks to the delivery point.

{% endcut %}

{% cut "How can I take courier working hours into account while planning?" %}

In each planning task, specify the couriers' working hours on a specific day. If the schedules are different on different days, indicate that when creating the API request or preparing the data in Excel.

If you know the orders and courier working hours for the next days, use the [Planning orders for multiple days](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#planning-several-days) case.

{% endcut %}

{% cut "How do I make the couriers start at different times?" %}

Enable [flexible start time](https://yandex.kz/routing/doc/en/vrp/properties-of-depot.md#depot-flexible-start-time).

{% endcut %}

{% cut "How do I make the route end closer to the courier's home address or parking spot?" %}

Add a `garage` point and specify its ID in the `vehicle.finish_at` field. The route will end at the specified location.

If you enable returning to the depot at the end of the shift (`vehicle.return_to_depot = TRUE`), the courier first returns to the depot and then goes to the `finish_at` point.

To learn more, see [Returning to a depot at the end of the working day](https://yandex.kz/routing/doc/en/vrp/properties-of-vehicles-depot.md#return-to-depot) and [Start or end of the route at an arbitrary point](https://yandex.kz/routing/doc/en/vrp/supported-use-cases.md#route-start-or-end-at-arbitrary-point).

{% endcut %}

{% cut "How can I fit more orders into a shift?" %}

Increase the handling time. It may be too "optimistic". You can also use the [Limit the number of stops per shift](https://yandex.kz/routing/doc/en/vrp/properties-of-vehicles-routes.md#shift-stops) option.

{% endcut %}

{% cut "How do I prioritize my own couriers over the hired ones?" %}

Reduce the cost of using your own vehicles. To learn more, see the [Using your own and hired transport at the same time](https://yandex.kz/routing/doc/en/vrp/examples-of-settings.md#own-and-hired-transport) scenario.

{% endcut %}

## Penalties {#penalties}

{% cut "How do penalties work? I specify the penalties that we use to evaluate the courier or vehicle performance, but this gives poor planning results." %}

Penalties are used to configure the algorithm. They aren't related to the way you evaluate the cost of logistics. 

For recommendations on using penalties, see the [logistics scenarios](https://yandex.kz/routing/doc/en/vrp/use-cases_index-page.md).

{% endcut %}

{% cut "Why doesn't the route cost in the column **Cost with penalties (units)** match the total cost of the solution including penalties?"%}

The total solution cost is calculated by summing the individual route costs with penalties and adding any penalties for violating routing options. For more information, see [Cost with penalties](https://yandex.kz/routing/doc/en/vrp/interface-result.md#cost-with-penalty).

{% endcut %}

## API integration {#api-integration}

{% cut "I've set up API integration, but I want to edit routes in the Planning interface. How can I get the routes in my system after editing?" %}

To learn more, see [Running the API and editing the solution in the interface](https://yandex.kz/routing/doc/en/vrp/interaction-with-api.md).

{% endcut %}

{% cut "How can I view the resulting solution if the task was sent via the API?" %}

There are two options:

- In the [Routing Workspace](https://yandex.com/courier/companies) interface. This option supports editing routes and saving the results. To learn more, see [Editing a solution](https://yandex.kz/routing/doc/en/vrp/interface-result.md#editing-a-solution).

- At `https://courier.yandex.ru/mvrp-map#<task_id>`, where `task_id` is the ID of the resulting solution. You can only view the solution with this option, but you can't edit it.

{% endcut %}

<!-- source: en/vrp/_includes/feedback.md -->
<a href="feedback">
  <span class="button">Contact support</span>
</a>


<!-- endsource: en/vrp/_includes/feedback.md -->
