Структура ответа#

Детальное описание структуры ответа от /api/avia/ticket_info.

Основная структура#

Ответ содержит полный документ билета.

ПолеТипОписание
errorErrorИнформация об ошибке (при наличии)
ticketDocumentobjectПолная информация о билете
ticketingFeeTicketingFeeСбор за оформление билета, загруженный из бронирования (см. TicketingFee)
contractFeeContractFeeСервисный сбор и субагентское вознаграждение по контрактному пресету, загруженные из бронирования

Структура TicketDocument#

ПолеТипОписание
ticketobjectИнформация о билете
passengerobjectДанные пассажира
couponsarrayКупоны (сегменты) билета
priceobjectЦеновая информация
issueDataobjectДанные о выписке
paymentobjectИнформация об оплате
fareCalculationstringСтрока расчета тарифа
endorsementsstringОграничения и условия
agencyobjectИнформация об агентстве

Структура Ticket#

ПолеТипОписание
numberstringНомер билета
vendorstringКод BSP/ARC
exchangestringНомер обмененного билета (если применимо)
lastNumberstringПоследний номер билета в conjunction
originalstringОригинальный номер билета

Структура Passenger#

ПолеТипОписание
idstringИдентификатор пассажира
firstNamestringИмя
lastNamestringФамилия
typestringТип пассажира (adt, chd, inf)
titlestringОбращение (MR, MRS, MS и т.д.)
documentobjectДокумент пассажира
bonusCardobjectКарта программы лояльности

Структура Document#

ПолеТипОписание
numberstringНомер документа

Структура BonusCard#

ПолеТипОписание
numberstringНомер бонусной карты
vendorstringКод авиакомпании

Структура Coupon#

ПолеТипОписание
flightobjectИнформация о рейсе
operatedByobjectОперирующий перевозчик
departureobjectПункт отправления
arrivalobjectПункт прибытия
durationstringДлительность сегмента (формат .NET TimeSpan hh:mm:ss, например 01:40:00)
fareBasisstringКод базового тарифа
classstringКод бронирования (RBD)
cabinClassstringКласс салона
baggagestringНорма багажа
mealstringПитание на борту
seatstringНомер места
segmentStatusstringСтатус сегмента
ticketDesignatorstringДескриптор билета
notValidBeforestringНе действителен до (ISO 8601)
notValidAfterstringНе действителен после (ISO 8601)
technicalStopsnumberКоличество технических остановок
technicalStopsDetailsarrayДетали технических остановок

Структура Flight / OperatedBy#

ПолеТипОписание
carrierCodestringКод перевозчика
flightNumberstringНомер рейса

Структура Departure / Arrival#

ПолеТипОписание
airportstringКод аэропорта (IATA)
datestringДата и время (ISO 8601)
terminalstringТерминал

Структура Price#

ПолеТипОписание
baseFareobjectБазовый тариф
baseFareIndicatorstringИндикатор базового тарифа
equivFareobjectЭквивалент тарифа в другой валюте
penaltyobjectСумма штрафа
taxesarrayТаксы и сборы
totalobjectОбщая сумма такс
totalIndicatorstringИндикатор итоговой суммы
vatobjectНДС

Структура Amount#

ПолеТипОписание
currencyCodestringКод валюты (ISO 4217)
valuenumberСумма

Структура Tax#

ПолеТипОписание
codestringКод таксы/сбора
amountobjectСумма

Структура IssueData#

ПолеТипОписание
officestringКод офиса продаж
issueDatestringДата выписки (ISO 8601)
owningCRSstringКод системы бронирования
recordLocatorstringЛокатор бронирования
recordKeystringКлюч PNR (используется в Сирене)
vendorLocatorsarrayЛокаторы у перевозчиков

Структура VendorLocator#

ПолеТипОписание
recordLocatorstringЛокатор у перевозчика
vendorstringКод перевозчика

Структура Payment#

ПолеТипОписание
typestringТип оплаты; единственное значение — invoice
bankCardBankCardДанные банковской карты (зарезервировано, оплата картой в API отключена)
tourCodestringТуркод

Структура BankCard#

ПолеТипОписание
numberstringНомер карты
vendorstringТип карты (VI, MC, AX и т.д.)
expireDatestringСрок действия карты (формат MMYY)

Структура Agency#

ПолеТипОписание
iataNumberstringНомер агентства IATA

Примеры ответов#

Успешный ответ#

Развернуть полный пример
 1{
 2  "ticketDocument": {
 3    "agency": {
 4      "iataNumber": "12345678"
 5    },
 6    "coupons": [
 7      {
 8        "arrival": {
 9          "airport": "KZN",
10          "date": "2025-11-22T09:20:00",
11          "terminal": "1"
12        },
13        "baggage": "1PC",
14        "cabinClass": "Y",
15        "class": "P",
16        "departure": {
17          "airport": "SVO",
18          "date": "2025-11-22T07:40:00",
19          "terminal": "D"
20        },
21        "duration": "01:40:00",
22        "fareBasis": "PAD",
23        "flight": {
24          "carrierCode": "DP",
25          "flightNumber": "6841"
26        },
27        "operatedBy": {
28          "carrierCode": "DP",
29          "flightNumber": "6841"
30        },
31        "technicalStops": 0
32      }
33    ],
34    "endorsements": "НДСА/К275.67/БАГАЖ 1М ДО 10КГ 203СМ,ВЕЩИ В САЛОН (СУММАРНО) ГАБАРИТЫ НЕ ДОЛЖНЫ ПРЕВЫШАТЬ 36X30X27СМ ",
35    "fareCalculation": "MOW DP KZN2849RUB2849END",
36    "issueData": {
37      "office": "TCH",
38      "issueDate": "2025-10-22T19:22:00",
39      "owningCRS": "1H",
40      "recordLocator": "28C2D3",
41      "vendorLocators": [
42        {
43          "recordLocator": "28C2D3",
44          "vendor": "15"
45        },
46        {
47          "recordLocator": "0D1MD9",
48          "vendor": "DP"
49        }
50      ]
51    },
52    "passenger": {
53      "id": "Pax-1",
54      "document": {
55        "number": "411649833"
56      },
57      "firstName": "SVETLANA",
58      "lastName": "IVANOV",
59      "type": "adt"
60    },
61    "payment": {
62      "type": "invoice"
63    },
64    "price": {
65      "baseFare": {
66        "currencyCode": "RUB",
67        "value": 2849
68      },
69      "taxes": [
70        {
71          "code": "YR",
72          "amount": {
73            "currencyCode": "RUB",
74            "value": 100
75          }
76        }
77      ],
78      "total": {
79        "currencyCode": "RUB",
80        "value": 100
81      },
82      "vat": {
83        "currencyCode": "RUB",
84        "value": 275.67
85      }
86    },
87    "ticket": {
88      "exchange": "6170037265",
89      "number": "6170037281",
90      "vendor": "425"
91    }
92  }
93}

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

Код ошибкиПричинаРешение
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 — его формат зависит от поставщика и не фиксирован.


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