---
metadata:
  - name: generator
    content: Diplodoc Platform v5.19.6
alternate:
  - https://docs.routeq.com/doc/en/vrp/points-throughputs.md
title: RouteQ — properties and options — throughput
---
> **Documentation Index:** Fetch the complete configuration index at https://docs.routeq.com/doc/en/llms.txt


# Throughput

Sometimes, you may need to limit a location's throughput so that multiple vehicles don't arrive at the same time for loading or unloading. For example, if your client has goods delivered from multiple depots and they have to use the [pickup & delivery](https://docs.routeq.com/doc/en/vrp/properties-of-orders.md#pickup-and-delivery) method.

To set the throughput, use the `points_throughputs` option.

For each pickup or delivery location where you need to limit the throughput, specify:

- The location's `point.lat` and `point.lon` coordinates.
    
- The value of one parameter that determines the limit type and size:
    
    - `throughput.kg_per_hour`: Location throughput capacity in kg/hour.
    
    - `throughput.units_per_hour`: Location throughput capacity in cargo units/hour (pallets, boxes, kegs).
    
    - `throughput.vehicle_count`: Location throughput capacity in vehicles/hour.
    
    {% note info %}
    
    You can set only one limit for each location.
    
    {% endnote %}
    
- If the location's throughput capacity is violated, the following data is used to calculate the penalty:
    
    - `penalty.throughput.fixed`: For exceeding the throughput capacity.
    
    - For violating a limit:
    
        - `penalty.throughput.kg`: For each kg over `throughput.kg_per_hour`.
    
        - `penalty.throughput.unit`: For each cargo unit over `throughput.units_per_hour`.
    
        - `penalty.throughput.vehicle`: For violating the number of vehicles during loading or unloading in `throughput.vehicle_count`.
        
    
{% note info %}

You can set the [depot](https://docs.routeq.com/doc/en/vrp/properties-of-depot.md#depot-throughput) throughput capacity using the `depot.throughput` parameter.

{% endnote %}

**Example 1**

Two vehicles deliver several orders from different locations to one client. Both vehicles are scheduled to unload at about the same time.

[API request (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/d8b99180-1e48ad07-f8cecca4-7f306495) ⋅ [API response](https://courier.yandex.ru/vrs/api/v1/result/d8b99180-1e48ad07-f8cecca4-7f306495) ⋅  [View on map](https://yandex.com/courier/mvrp-map#d8b99180-1e48ad07-f8cecca4-7f306495)

**Example 2**

The same as example 1, but with a throughput limit of one vehicle per hour at the client's address. This resulted in the orders being reassigned and led to a slight increase in the total mileage. The unloading time windows don't overlap.

[API request (JSON)](https://courier.yandex.ru/vrs/api/v1/log/request/70f43fd8-324de04a-b4f6fdf3-bcab7f66) ⋅ [API response](https://courier.yandex.ru/vrs/api/v1/result/70f43fd8-324de04a-b4f6fdf3-bcab7f66) ⋅  [View on map](https://yandex.com/courier/mvrp-map#70f43fd8-324de04a-b4f6fdf3-bcab7f66)

{% include [warehouse-feedback](_includes/feedback-81845556eeea.md) %}
