Расчет обмена билета#

Предварительный расчет стоимости и вариантов обмена билета на новый маршрут или даты.

Описание#

Эндпоинт: POST /avia/ticket_exchange_calculation

Операция расчета обмена позволяет получить доступные варианты обмена билета с полным расчетом стоимости до выполнения фактического обмена. Это позволяет пользователю увидеть все варианты, доплату и условия до принятия окончательного решения.

Использование#

Используйте этот запрос для получения вариантов обмена билета перед фактическим обменом через /avia/ticket_exchange.

Основной сценарий#

sequenceDiagram
    participant Client
    participant API

    Client->>API: POST /avia/ticket_exchange_calculation<br/>{bookingId, ticketNumber, legs}
    API-->>Client: exchangeId + offers[]<br/>(варианты с расчетом стоимости)

    Note over Client: Выбор варианта<br/>(получение offerItemId)

    Client->>API: POST /avia/ticket_exchange<br/>{exchangeId, offerItemId, ...}
    API-->>Client: tickets[]<br/>(новые билеты)

Базовый пример#

Минимальный запрос для расчета обмена билета:

 1{
 2  "bookingId": "019a0be6-dbe9-7108-bb7b-fbd181c3fbf6",
 3  "ticketNumber": "425-6170037037",
 4  "legs": [
 5    {
 6      "segments": [
 7        {
 8          "flight": {
 9            "carrierCode": "DP",
10            "flightNumber": "6841"
11          },
12          "origin": {
13            "code": "SVO",
14            "codeType": 0,
15            "type": 0
16          },
17          "destination": {
18            "code": "KZN",
19            "codeType": 0,
20            "type": 0
21          },
22          "departureAt": "2025-11-29T07:40:00",
23          "arrivalAt": "2025-11-29T09:20:00",
24          "fareBasis": "P",
25          "originalSegmentKey": "79eeae5c-5ba4-4660-9d80-6ceba1023aa3"
26        }
27      ]
28    }
29  ]
30}

Успешный ответ с вариантами обмена:

 1{
 2  "exchangeId": "019a0ce6-2633-787f-a6bc-5dbddc02cc1f",
 3  "offers": [
 4    {
 5      "legs": [...],
 6      "offerItems": [
 7        {
 8          "offerItemId": "offer-item-1",
 9          "forExchange": {
10            "currencyCode": "RUB",
11            "value": 5000
12          },
13          "fare": {
14            "currencyCode": "RUB",
15            "value": 0
16          },
17          "taxes": {
18            "currencyCode": "RUB",
19            "value": 100
20          },
21          "exchangeDetails": {
22            "adt": {
23              "fare": {
24                "currencyCode": "RUB",
25                "value": 0
26              },
27              "price": {
28                "currencyCode": "RUB",
29                "value": 5100
30              }
31            }
32          }
33        }
34      ]
35    }
36  ],
37  "flights": {...},
38  "fareFamilies": {...},
39  "passenger": "adt"
40}

Детальная документация#


Когда использовать#

Изменение маршрута#

Пассажир хочет лететь в другой город:

 1{
 2  "bookingId": "019a0be6-dbe9-7108-bb7b-fbd181c3fbf6",
 3  "ticketNumber": "425-6170037037",
 4  "legs": [
 5    {
 6      "segments": [
 7        {
 8          "flight": {
 9            "carrierCode": "DP",
10            "flightNumber": "6841"
11          },
12          "origin": {
13            "code": "SVO",
14            "codeType": 0,
15            "type": 0
16          },
17          "destination": {
18            "code": "KZN",
19            "codeType": 0,
20            "type": 0
21          },
22          "departureAt": "2025-11-29T07:40:00",
23          "arrivalAt": "2025-11-29T09:20:00",
24          "fareBasis": "P"
25        }
26      ]
27    }
28  ]
29}

Изменение дат полета#

Пассажир хочет перенести рейс на другую дату.

Смена класса обслуживания#

Пассажир хочет улучшить класс обслуживания (upgrade).


Типичные ошибки#

Код ошибкиПричинаРешение
EXCHANGE_NOT_ALLOWEDОбмен запрещен правилами тарифаПроверьте правила тарифа
TICKET_NOT_FOUNDБилет не найденПроверьте номер билета и bookingId
TICKET_USEDБилет уже использованОбмен невозможен
NO_AVAILABILITYНет мест на новом рейсеВыберите другой рейс или дату
INVALID_SEGMENTНекорректный сегментПроверьте параметры сегмента

Связанные операции#