---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2OfferCalculate.md
  - https://yandex.com/support/delivery-profile/ru/api/express/openapi/IntegrationV2OfferCalculate.md
  - href: en/api/express/openapi/IntegrationV2OfferCalculate.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/delivery-profile/en/llms.txt

<div class="openapi">

# Get delivery options (for Russia)

<!-- markdownlint-disable-file -->

- Return methods for each delivery option.
- Each option contains the price, the time interval for picking up the parcel at point A, and the time interval for delivery to point B.
- After reviewing the delivery options, you can select the best one and create an order using the selected option.
- Delivery options are available only in Russia.


## Request

<div class="openapi__requests">

<div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-post);margin-bottom: 12px">

<div class="openapi__request">

POST {.openapi__method}
```text translate=no
b2b.taxi.yandex.net/b2b/cargo/integration/v2/offers/calculate
```

</div>

Service URL

</div>

</div>

### Headers

#|
|| **Name** | **Description** ||
||

_Accept-Language_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Preferred response language. Examples: "en" — English

_Example:_{.json-schema-reset .json-schema-example} `en`
{.table-cell}
||
|#{.json-schema-properties}

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "items": [
    {
      "size": {
        "length": 0.1,
        "width": 0.2,
        "height": 0.3
      },
      "weight": 2.105,
      "quantity": 1,
      "pickup_point": 1,
      "dropoff_point": 2
    }
  ],
  "route_points": [
    {
      "id": 1,
      "coordinates": [
        0.1,
        0.1
      ],
      "fullname": "Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A"
    },
    {
      "id": 1,
      "coordinates": [
        0.1,
        0.1
      ],
      "fullname": "Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A"
    }
  ],
  "requirements": {
    "taxi_classes": [
      "cargo"
    ],
    "cargo_type": "lcv_m",
    "cargo_loaders": 1,
    "pro_courier": false,
    "cargo_options": [
      "thermobag"
    ],
    "skip_door_to_door": false,
    "due": "2020-01-01T00:00:00+00:00"
  }
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_route_points_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [RoutePointWithAddress](#entity-RoutePointWithAddress)[]

Route points. Sorted in order of visits A-B1....BN

_Min items:_{.json-schema-reset .json-schema-assertion} `2`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "id": 1,
    "coordinates": [
      0.1,
      0.1
    ],
    "fullname": "Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A"
  },
  {
    "id": 1,
    "coordinates": [
      0.1,
      0.1
    ],
    "fullname": "Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A"
  }
]
```

{% endcut %}
{.table-cell}
||
||

_items_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [Item](#entity-Item)[]

Item parameters

_Min items:_{.json-schema-reset .json-schema-assertion} `1`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "size": {
      "length": 0.1,
      "width": 0.2,
      "height": 0.3
    },
    "weight": 2.105,
    "quantity": 1,
    "pickup_point": 1,
    "dropoff_point": 2
  }
]
```

{% endcut %}
{.table-cell}
||
||

_requirements_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [OfferRequirements](#entity-OfferRequirements)

Delivery requirements

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "taxi_classes": [
    "cargo"
  ],
  "cargo_type": "lcv_m",
  "cargo_loaders": 1,
  "pro_courier": false,
  "cargo_options": [
    "thermobag"
  ],
  "skip_door_to_door": false,
  "due": "2020-01-01T00:00:00+00:00"
}
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### CargoItemSizes {#entity-CargoItemSizes}

Unit dimensions in meters. The actual values should be added to the fields.
If the dimensions aren't added, the order is placed, taking into account the maximum dimensions allowed for the selected rate.
If the actual characteristics of the unit exceed the allowed dimensions, the courier has the right to refuse to fulfill the order on site.
In this case, the minimum fee will be withheld.
Courier: up to 0.80 m × 0.50 m × 0.50 м
Express: up to 1.00 m × 0.60 m × 0.50 m
Cargo:
- Small body: up to 1.70 m × 0.96 m × 0.90 m
- Medium body: up to 2.60 m × 1.30 m × 1.50 m
- Large body: up to 3.80 m × 1.80 m × 1.80 m


#|
|| **Name** | **Description** ||
||

_height_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number

Height in meters
{.table-cell}
||
||

_length_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number

Length in meters
{.table-cell}
||
||

_width_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number

Width in meters
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "length": 0.1,
  "width": 0.2,
  "height": 0.3
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### Item {#entity-Item}

#|
|| **Name** | **Description** ||
||

_quantity_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: integer

Number of items

_Min value:_{.json-schema-reset .json-schema-assertion} `1`
{.table-cell}
||
||

_dropoff_point_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: integer

ID of the point (int64) to deliver the item to.
It can be any number. Must match the route_points[].id value of the destination point.
The parameter is mandatory if there are multiple delivery points in the order.

{.table-cell}
||
||

_pickup_point_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: integer

ID of the point (int64) to pick up the item from.
It can be any number. Must match the route_points[].id value of the dispatch point.
The parameter is mandatory if there are multiple delivery points in the order.

{.table-cell}
||
||

_size_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [CargoItemSizes](#entity-CargoItemSizes)

Unit dimensions in meters. The actual values should be added to the fields.
If the dimensions aren't added, the order is placed, taking into account the maximum dimensions allowed for the selected rate.
If the actual characteristics of the unit exceed the allowed dimensions, the courier has the right to refuse to fulfill the order on site.
In this case, the minimum fee will be withheld.
Courier: up to 0.80 m × 0.50 m × 0.50 м
Express: up to 1.00 m × 0.60 m × 0.50 m
Cargo:
- Small body: up to 1.70 m × 0.96 m × 0.90 m
- Medium body: up to 2.60 m × 1.30 m × 1.50 m
- Large body: up to 3.80 m × 1.80 m × 1.80 m


{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "length": 0.1,
  "width": 0.2,
  "height": 0.3
}
```

{% endcut %}
{.table-cell}
||
||

_weight_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: number

Item weight in kilograms.
Example: 2.105

{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "size": {
    "length": 0.1,
    "width": 0.2,
    "height": 0.3
  },
  "weight": 2.105,
  "quantity": 1,
  "pickup_point": 1,
  "dropoff_point": 2
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### Point {#entity-Point}

Coordinates of points in the form of an array of two real numbers: longitude and latitude — exactly in that order.

**Type**: number[]

_Min items:_{.json-schema-reset .json-schema-assertion} `2`

_Max items:_{.json-schema-reset .json-schema-assertion} `2`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  0.1,
  0.1
]
```

{% endcut %}

</div>

<div class="openapi-entity">

### AddressFullname {#entity-AddressFullname}

Full address with an indication of the city, street, and house number.
You don't need to specify the flat, the entrance number, or the floor. 


**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A`

</div>

<div class="openapi-entity">

### RoutePointWithAddress {#entity-RoutePointWithAddress}

#|
|| **Name** | **Description** ||
||

_coordinates_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [Point](#entity-Point)

Coordinates of points in the form of an array of two real numbers: longitude and latitude — exactly in that order.

_Min items:_{.json-schema-reset .json-schema-assertion} `2`

_Max items:_{.json-schema-reset .json-schema-assertion} `2`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  0.1,
  0.1
]
```

{% endcut %}
{.table-cell}
||
||

_fullname_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [AddressFullname](#entity-AddressFullname)

Full address with an indication of the city, street, and house number.
You don't need to specify the flat, the entrance number, or the floor. 


_Example:_{.json-schema-reset .json-schema-example} `Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A`
{.table-cell}
||
||

_id_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: integer

Numeric point id (int64). The parameter is mandatory if there are multiple delivery points in the order
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "id": 1,
  "coordinates": [
    0.1,
    0.1
  ],
  "fullname": "Saint Petersburg, Bol'shaya Monetnaya Street, 1f1A"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### CargoType {#entity-CargoType}

 Body type (size) for the cargo rate.\nPossible values:
- van (\"Small body\")
- lcv_m (\"Medium body\")
- lcv_l (\"Large body\")
- lcv_xl ("XL body")
For an exact list of possible values for a particular geo point,\nuse the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)


**Type**: string

_Enum:_{.json-schema-reset .json-schema-value} `van`, `lcv_m`, `lcv_l`, `lcv_xl`

</div>

<div class="openapi-entity">

### CargoOptions {#entity-CargoOptions}

List of additional rate options.

Possible separate options:
  - auto_courier (a courier with a vehicle only)
  - thermobag (a courier with a thermobag)
        
Example of a list of options: ["auto_courier"].

For an exact list of possible values for a particular geo point,
use the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)


**Type**: string[]

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  "thermobag"
]
```

{% endcut %}

</div>

<div class="openapi-entity">

### OfferRequirements {#entity-OfferRequirements}

Delivery requirements

#|
|| **Name** | **Description** ||
||

_cargo_loaders_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: integer

Number of loaders for the cargo rate.
Possible values: 0, 1, 2.
For an exact list of possible values for a particular geo point, use the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)

{.table-cell}
||
||

_cargo_options_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [CargoOptions](#entity-CargoOptions)

List of additional rate options.

Possible separate options:
  - auto_courier (a courier with a vehicle only)
  - thermobag (a courier with a thermobag)
        
Example of a list of options: ["auto_courier"].

For an exact list of possible values for a particular geo point,
use the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)


{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  "thermobag"
]
```

{% endcut %}
{.table-cell}
||
||

_cargo_type_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [CargoType](#entity-CargoType)

 Body type (size) for the cargo rate.\nPossible values:
- van (\"Small body\")
- lcv_m (\"Medium body\")
- lcv_l (\"Large body\")
- lcv_xl ("XL body")
For an exact list of possible values for a particular geo point,\nuse the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)


_Enum:_{.json-schema-reset .json-schema-value} `van`, `lcv_m`, `lcv_l`, `lcv_xl`
{.table-cell}
||
||

_due_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Estimated time of arrival of the courier (you can postpone the estimated time of delivery by 30-60 minutes from the current ) — default value.

_Example:_{.json-schema-reset .json-schema-example} `2020-01-01T00:00:00+00:00`
{.table-cell}
||
||

_pro_courier_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: boolean

Enable the "Pro" option for "Express" and "Courier" rates.
In this case, we will look only for experienced couriers.

{.table-cell}
||
||

_skip_door_to_door_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: boolean

Disable door-to-door delivery (disable the "Door-to-door" option).

Possible values:
- true (the courier will deliver the order only at the entrance outside)
- false (the courier will deliver the order at the door) 


_Default:_{.json-schema-reset .json-schema-value} `false`
{.table-cell}
||
||

_taxi_classes_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string[]

Delivery vehicle class.
Possible values: courier, express, cargo.
For an exact list of possible values for a particular geo point, use the method for obtaining rates [tariffs](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2Tariffs.md)


_Min items:_{.json-schema-reset .json-schema-assertion} `1`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  "cargo"
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "taxi_classes": [
    "cargo"
  ],
  "cargo_type": "lcv_m",
  "cargo_loaders": 1,
  "pro_courier": false,
  "cargo_options": [
    "thermobag"
  ],
  "skip_door_to_door": false,
  "due": "2020-01-01T00:00:00+00:00"
}
```

{% endcut %}

</div>

## Responses

<div class="openapi__response__code__200">

## 200 OK

OK

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "offers": [
    {
      "price": {
        "total_price": "673.0",
        "total_price_with_vat": "807.6",
        "base_price": "611.8",
        "surge_ratio": 1.1,
        "currency": "RUB"
      },
      "taxi_class": "express",
      "pickup_interval": {
        "from": "2023-07-17T08:02:26.607358+00:00",
        "to": "2023-07-17T08:42:26.607358+00:00"
      },
      "delivery_interval": {
        "from": "2023-07-17T08:02:26.607358+00:00",
        "to": "2023-07-17T09:15:43.607358+00:00"
      },
      "description": "express_30min_longer",
      "payload": "5e2TPP5f7Yqyv19yRZ+QVas4JK+lhwa17ncxA3VCGI8hvnFS+CIySbmfHQlR6vhC2S4XsW+M7TbEV0EQl1/1Z0PO3QQX8KbGb6rtKay",
      "offer_ttl": "2020-01-02T00:00:00+00:00"
    }
  ]
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_offers_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [CalculatedOffer](#entity-CalculatedOffer)[]

An array of delivery offers

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "price": {
      "total_price": "673.0",
      "total_price_with_vat": "807.6",
      "base_price": "611.8",
      "surge_ratio": 1.1,
      "currency": "RUB"
    },
    "taxi_class": "express",
    "pickup_interval": {
      "from": "2023-07-17T08:02:26.607358+00:00",
      "to": "2023-07-17T08:42:26.607358+00:00"
    },
    "delivery_interval": {
      "from": "2023-07-17T08:02:26.607358+00:00",
      "to": "2023-07-17T09:15:43.607358+00:00"
    },
    "description": "express_30min_longer",
    "payload": "5e2TPP5f7Yqyv19yRZ+QVas4JK+lhwa17ncxA3VCGI8hvnFS+CIySbmfHQlR6vhC2S4XsW+M7TbEV0EQl1/1Z0PO3QQX8KbGb6rtKay",
    "offer_ttl": "2020-01-02T00:00:00+00:00"
  }
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### Currency {#entity-Currency}

Three-digit code of the payment currency

**Type**: string

_Min length:_{.json-schema-reset .json-schema-assertion} `3`

_Max length:_{.json-schema-reset .json-schema-assertion} `3`

_Example:_{.json-schema-reset .json-schema-example} `RUB`

</div>

<div class="openapi-entity">

### CalculatedOfferPrice {#entity-CalculatedOfferPrice}

Delivery cost

#|
|| **Name** | **Description** ||
||

_currency_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [Currency](#entity-Currency)

Three-digit code of the payment currency

_Min length:_{.json-schema-reset .json-schema-assertion} `3`

_Max length:_{.json-schema-reset .json-schema-assertion} `3`

_Example:_{.json-schema-reset .json-schema-example} `RUB`
{.table-cell}
||
||

_surge_ratio_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number

Order cost growth factor (depending on the system load)
{.table-cell}
||
||

_total_price_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Price including order cost growth factor (without VAT)

_Pattern:_{.json-schema-reset .json-schema-assertion} `^-?[0-9]{1,14}(\.[0-9]{0,4})?$`

_Example:_{.json-schema-reset .json-schema-example} `673.0`
{.table-cell}
||
||

_total_price_with_vat_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Price including order cost growth factor (including VAT)

_Pattern:_{.json-schema-reset .json-schema-assertion} `^-?[0-9]{1,14}(\.[0-9]{0,4})?$`

_Example:_{.json-schema-reset .json-schema-example} `807.6`
{.table-cell}
||
||

_base_price_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

Базовая цена доставки

_Pattern:_{.json-schema-reset .json-schema-assertion} `^-?[0-9]{1,14}(\.[0-9]{0,4})?$`

_Example:_{.json-schema-reset .json-schema-example} `611.8`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "total_price": "673.0",
  "total_price_with_vat": "807.6",
  "base_price": "611.8",
  "surge_ratio": 1.1,
  "currency": "RUB"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### PickupTimeInterval {#entity-PickupTimeInterval}

Pick-up time interval (for point A)

#|
|| **Name** | **Description** ||
||

_from_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Interval start (UTC)

_Example:_{.json-schema-reset .json-schema-example} `2023-07-17T08:02:26.607358+00:00`
{.table-cell}
||
||

_to_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Interval end (date and time)

_Example:_{.json-schema-reset .json-schema-example} `2023-07-17T08:42:26.607358+00:00`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "from": "2023-07-17T08:02:26.607358+00:00",
  "to": "2023-07-17T08:42:26.607358+00:00"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### DeliveryTimeInterval {#entity-DeliveryTimeInterval}

Delivery time interval (for point B)

#|
|| **Name** | **Description** ||
||

_from_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Interval start (UTC)

_Example:_{.json-schema-reset .json-schema-example} `2023-07-17T08:02:26.607358+00:00`
{.table-cell}
||
||

_to_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Interval end (date and time)

_Example:_{.json-schema-reset .json-schema-example} `2023-07-17T09:15:43.607358+00:00`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "from": "2023-07-17T08:02:26.607358+00:00",
  "to": "2023-07-17T09:15:43.607358+00:00"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### CalculatedOffer {#entity-CalculatedOffer}

Delivery options

#|
|| **Name** | **Description** ||
||

_delivery_interval_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [DeliveryTimeInterval](#entity-DeliveryTimeInterval)

Delivery time interval (for point B)

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "from": "2023-07-17T08:02:26.607358+00:00",
  "to": "2023-07-17T09:15:43.607358+00:00"
}
```

{% endcut %}
{.table-cell}
||
||

_payload_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

payload of the delivery offer. To order delivery using the selected offer, pass the payload in the method [claims/create](https://yandex.com/support/delivery-profile/en/api/express/openapi/IntegrationV2ClaimsCreate.md).

_Example:_{.json-schema-reset .json-schema-example} `5e2TPP5f7Yqyv19yRZ+QVas4JK+lhwa17ncxA3VCGI8hvnFS+CIySbmfHQlR6vhC2S4XsW+M7TbEV0EQl1/1Z0PO3QQX8KbGb6rtKay`
{.table-cell}
||
||

_pickup_interval_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [PickupTimeInterval](#entity-PickupTimeInterval)

Pick-up time interval (for point A)

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "from": "2023-07-17T08:02:26.607358+00:00",
  "to": "2023-07-17T08:42:26.607358+00:00"
}
```

{% endcut %}
{.table-cell}
||
||

_price_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [CalculatedOfferPrice](#entity-CalculatedOfferPrice)

Delivery cost

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "total_price": "673.0",
  "total_price_with_vat": "807.6",
  "base_price": "611.8",
  "surge_ratio": 1.1,
  "currency": "RUB"
}
```

{% endcut %}
{.table-cell}
||
||

_taxi_class_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Rate

_Example:_{.json-schema-reset .json-schema-example} `express`
{.table-cell}
||
||

_description_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

Delivery option description. Example: express_30min_longer (Express with a 30-minute delay)

_Example:_{.json-schema-reset .json-schema-example} `express_30min_longer`
{.table-cell}
||
||

_offer_ttl_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string&lt;date-time&gt;

Time until which the offer can be used to create a claim. If a claim is created after that moment, its status will change to 'estimating_failed'

_Example:_{.json-schema-reset .json-schema-example} `2020-01-02T00:00:00+00:00`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "price": {
    "total_price": "673.0",
    "total_price_with_vat": "807.6",
    "base_price": "611.8",
    "surge_ratio": 1.1,
    "currency": "RUB"
  },
  "taxi_class": "express",
  "pickup_interval": {
    "from": "2023-07-17T08:02:26.607358+00:00",
    "to": "2023-07-17T08:42:26.607358+00:00"
  },
  "delivery_interval": {
    "from": "2023-07-17T08:02:26.607358+00:00",
    "to": "2023-07-17T09:15:43.607358+00:00"
  },
  "description": "express_30min_longer",
  "payload": "5e2TPP5f7Yqyv19yRZ+QVas4JK+lhwa17ncxA3VCGI8hvnFS+CIySbmfHQlR6vhC2S4XsW+M7TbEV0EQl1/1Z0PO3QQX8KbGb6rtKay",
  "offer_ttl": "2020-01-02T00:00:00+00:00"
}
```

{% endcut %}

</div>

</div>

<div class="openapi__response__code__400">

## 400 Bad Request

Invalid request

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "code": "bad_request",
  "message": "bad request"
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_code_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error code

_Enum:_{.json-schema-reset .json-schema-value} `bad_request`, `address_not_found`, `validation_error`
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error description

_Example:_{.json-schema-reset .json-schema-example} `bad request`
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

<div class="openapi__response__code__409">

## 409 Conflict

Couldn't calculate offers

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "code": "estimating.requirement_unavailable",
  "message": "requirement unavailable"
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_code_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error code

_Enum:_{.json-schema-reset .json-schema-value} `errors.suitable_offer_not_found`, `estimating.cargocorp_payment_failure`, `estimating.limited_by_claims_creation_overflow`, `estimating.no_pickup_point`, `estimating.payment_method_cant_order`, `estimating.permitted_tariffs_not_enough`, `estimating.requirement_unavailable`, `estimating.route_too_long`, `estimating.tariff.no_categories_in_zone`, `estimating.tariff.no_sdd_tariff`, `estimating.too_large_linear_size`, `estimating.too_many_loaders`, `estimating.warning.too_heavy_item`, `estimating.warning.too_large_item`, `estimating.zone_unavailable`, `estimating.payment_method_zone_unavailable`
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error description

_Example:_{.json-schema-reset .json-schema-example} `requirement unavailable`
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

<div class="openapi__response__code__429">

## 429 Too Many Requests

Too many requests

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "code": "too_many_requests",
  "message": "Too many requests"
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_code_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error code

_Const:_{.json-schema-reset .json-schema-value} `too_many_requests`

_Example:_{.json-schema-reset .json-schema-example} `too_many_requests`
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

Error description

_Example:_{.json-schema-reset .json-schema-example} `Too many requests`
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

</div>

[*Deprecated]: No longer supported, please use an alternative and newer version.