Расчет возврата билета#

Расчёт суммы возврата билета с детализацией штрафов, сборов и возвратных сумм перед оформлением возврата.

Описание#

Эндпоинт: POST /api/avia/ticket_refund_calculation

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

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

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

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

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

1{
2  "bookingId": "019a0b29-8fc8-703a-9845-50c7ce2b1322",
3  "ticketNumber": "555-6170036806"
4}

Ответ с детализацией возврата:

 1{
 2  "forRefund": {
 3    "currencyCode": "RUB",
 4    "value": 5867
 5  },
 6  "refundDetails": {
 7    "fare": {
 8      "currencyCode": "RUB",
 9      "value": 8950
10    },
11    "taxes": {
12      "total": {
13        "currencyCode": "RUB",
14        "value": 417
15      },
16      "breakdown": [
17        {
18          "code": "RI",
19          "amount": {
20            "currencyCode": "RUB",
21            "value": 357
22          }
23        },
24        {
25          "code": "YQ",
26          "amount": {
27            "currencyCode": "RUB",
28            "value": 60
29          }
30        }
31      ]
32    },
33    "penalty": {
34      "currencyCode": "RUB",
35      "value": 3500
36    }
37  }
38}

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


Процесс расчёта возврата#

Полный workflow#

sequenceDiagram
    participant Client
    participant API

    Client->>API: POST /api/avia/ticket_refund_calculation
    API-->>Client: forRefund + refundDetails

    Client->>API: POST /api/avia/ticket_refund<br/>{forRefund}
    API-->>Client: {}

Важные замечания#

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

Значение forRefund из ответа необходимо использовать в запросе /api/avia/ticket_refund:

1{
2  "bookingId": "019a0b29-8fc8-703a-9845-50c7ce2b1322",
3  "ticketNumber": "555-6170036806",
4  "forRefund": {
5    "currencyCode": "RUB",
6    "value": 5867
7  }
8}

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

Код ошибкиПричинаРешение
BOOKING_NOT_FOUNDБронирование не найдено или не принадлежит клиентуПроверьте bookingId
CURRENCY_RATE_NOT_AVAILABLEНет курса для конвертации сумм в валюту отображенияПовторите запрос позже
VALIDATION_ERRORОшибка валидации запроса (HTTP 400)Проверьте обязательные поля и форматы значений
NO_TARGETSПод запрос не нашлось ни одного поставщика: ни один не настроен либо все отсеяны на этапе подготовки запросаПроверьте настройки офисов и пресетов в личном кабинете; при сохранении ошибки обратитесь в поддержку
SUPPLIER_ERRORПоставщик вернул ошибку. Причина — текстом поставщика в поле messageРазберите message; при необходимости повторите запрос позже
SYSTEM_ERRORВнутренняя ошибка Travel APIПовторите запрос позже; при повторении обратитесь в поддержку с errorId

Ошибки, пришедшие от GDS/NDC-поставщика, возвращаются под кодом SUPPLIER_ERROR: отдельного кода на каждую причину отказа Travel API не формирует, причина передаётся текстом поставщика в поле message. Не завязывайте логику на разбор message — его формат зависит от поставщика и не фиксирован.


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