Выписка билета (Ticket Issue)#

Оформление билетов для существующего бронирования.

Описание#

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

Выписывает авиабилеты для подтвержденного бронирования. После выписки билетов бронирование переходит в статус “оформлено”, и пассажиры могут использовать билеты для перелета.

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

Используйте этот запрос после создания бронирования для выписки билетов.

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

  1. Создайте бронирование через /api/avia/pnr_create
  2. Проверьте данные бронирования
  3. Опционально: проверьте актуальность цены через /api/avia/pnr_reprice
  4. Отправьте запрос на выписку билетов
  5. Получите номера выписанных билетов

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

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

1{
2  "bookingId": "019a0bea-808d-720c-abc0-2ec88eb8bf11",
3  "payment": {
4    "type": "invoice"
5  }
6}

Ответ содержит номера выписанных билетов:

 1{
 2  "tickets": [
 3    {
 4      "number": "2469982473",
 5      "vendor": "555",
 6      "passenger": {
 7        "id": "PAX_12",
 8        "firstName": "IVAN",
 9        "lastName": "EGOROV",
10        "type": "adt"
11      }
12    }
13  ]
14}

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


Сценарии использования#

Сценарий 1: Выписка после бронирования#

Когда: Бронирование создано, нужно выписать билеты.

Действия:

  1. Создать бронирование через /api/avia/pnr_create
  2. Проверить статус бронирования
  3. Выполнить /api/avia/ticket_issue с bookingId
  4. Получить номера билетов из ответа

Временные рамки: Выписка должна быть выполнена до истечения time limit бронирования.

Результат: Билеты выписаны, пассажиры могут лететь.

sequenceDiagram
    participant Client
    participant API

    Client->>API: POST /api/avia/pnr_create
    API-->>Client: bookingId, timeLimit

    Note over Client,API: Клиент проверяет статус<br/>бронирования

    Client->>API: POST /api/avia/ticket_issue<br/>{bookingId, payment}
    API-->>Client: tickets[]

Важные моменты#

Отмена выписанных билетов#

После успешной выписки билеты можно отменить:

В день выписки (до конца суток по времени GDS):

  • Используйте войдирование через /api/avia/ticket_cancel
  • Отмена без штрафов, если билет не был использован и не изменялся
  • Полный возврат средств
  • Обычно до 23:59 локального времени системы в день выписки

После окончания дня выписки:

  • Используйте возврат через /api/avia/ticket_refund
  • Войдирование недоступно
  • Возврат со штрафами (если билет возвратный)
  • Сумма возврата зависит от правил тарифа

Важно: Войдирование может быть недоступно даже в день выписки, если:

  • До вылета осталось мало времени (некоторые авиакомпании запрещают void за 2-3 часа до вылета)
  • Пассажир уже прошел регистрацию (check-in)
  • В таких случаях используйте возврат через /api/avia/ticket_refund

Проверка перед выпиской#

Обязательно проверьте перед выпиской:

  • Данные пассажиров корректны
  • Документы действительны
  • Срок действия бронирования не истек (time limit)

Состав ответа#

Ответ содержит массив tickets, где для каждого пассажира:

  • Номер билета (number)
  • Префикс BSP/ARC (vendor)
  • Данные пассажира (passenger)

Последствия выписки#

После выписки билетов:

  • Бронирование нельзя отменить через /api/avia/pnr_cancel
  • Отмена билета требует войдирования (см. условия) или возврата (если войдирование недоступно)
  • Изменения требуют обмена билета через /api/avia/ticket_exchange
  • Начинают действовать правила тарифа

Валидация данных#

Перед выпиской проверьте:#

Данные пассажиров:

  • Имена соответствуют документам (латиница)
  • Указаны все обязательные документы
  • Даты рождения корректны
  • Пол указан правильно

Маршрут:

  • Даты вылета в будущем
  • Коды аэропортов корректны
  • Нет конфликтов в расписании

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

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

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

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