Расчет возврата билета#
Расчёт суммы возврата билета с детализацией штрафов, сборов и возвратных сумм перед оформлением возврата.
Описание#
Эндпоинт: 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— его формат зависит от поставщика и не фиксирован.
Связанные операции#
- Возврат билета - фактическое оформление возврата с указанием суммы
- Информация о билете - проверка статуса билета перед возвратом
- Правила тарифа - просмотр условий возврата для тарифа
- Расчёт обмена - альтернатива возврату через обмен