Авиаконнектор - это API-сервис для поиска, бронирования и выписки авиабилетов, с которым взаимодействуют остальные сервисы посредством HTTP-запросов. Сервис Авиаконнектор, в свою очередь, отправляет запросы далее на GDS авиабилетов согласно конфигурации, используя соответствующие протоколы и технологии в зависимости от типа конфигурации.
• Единый входной формат запроса: Входной формат запроса должен быть в формате JSON с типом содержимого application/json.
• Единый выходной формат ответа: Выходной формат ответа должен быть в формате JSON с типом содержимого application/json.
• Язык реализации: Сервис должен быть реализован на языке программирования Go (GoLang).
• Маппинг ответов: Сервис должен приводить ответы от GDS авиабилетов на структуру сервиса, приведенную в этой документации.
- Реализация Поиска рекомендаций Search
- Реализация BrandFares
- Запрос на получение условий тарифа FareRules
- Реализация Prebook
- Реализация Book
- Реализация CancelBook
- Реализация CheckPrice
- Реализация Pay
- Реализация Ticket
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"search_params": {
"flight_type": "OW",
"routes": [
{
"index": 0,
"from": "DYU",
"to": "MOW",
"date": "22.07.2024"
}
],
"passengers": {
"adt": "1",
"chd": "0",
"inf": "0",
"ins": "0"
},
"language": "ru",
"cabin": "economy"
},
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
},
}
Элемент | Формат | Обяз. | Пример | Описание |
---|---|---|---|---|
flight_type | С | Да | OW | Тип перелета, возможные значения: OW - one way/перелет в одну сторону, RT - round trip/ перелет туда и обратно, CF - complicated flight/сложный перелет |
passengers[adt] | N | Да | 1 | количество взрослых |
passengers[chd] | N | Да | 0 | количество детей с местом от 2 до 12 лет. Для поиска перелетов только на ребенка, вы можете отправить в запросе необходимое количество CHD, при этом ADT=0 |
passengers[inf] | N | Да | 0 | количество младенцев без места от 0 до 2 лет |
passengers[ins] | N | Да | 0 | количество младенцев с местом от 0 до 2 лет |
cabin | C | Да | economy | класс обслуживания (economy – эконом класс, business – бизнес класс, first – первый класс) |
routes[*]from | C | Да | DYU | сегменты путешествия: пункт отправления |
routes[*]to | C | Да | IST | сегменты путешествия: пункт прибытия |
routes[*]date | D | Да | 22.07.2024 | сегменты путешествия: дата отправления |
language | C | Нет | ru | язык интерфейса, по дефолту равен ru |
filter_airlines[*] | A | Нет | S7 | авиа компании для фильтрации. Каждая АК должна передаваться отдельным элементом filter_airlines[*] массива. Фильтрация происходит по валидирующему перевозчику. В ответе будут рекомендации с а/к указанными в фильтре |
is_direct_only | N | Нет | 1 | показывать только прямые рейсы |
gds_white_list[*] | A | Нет | ["TUA", "HTC"] | Список GDS для фильтрации. Каждый GDS должен передаваться отдельным элементом gds_white_list[*] массива |
gds_black_list[*] | A | Нет | ["HTC"] | Список GDS для исключения из выдачи. Каждый GDS должен передаваться отдельным элементом gds_black_list[*] массива |
airline_list[*] | A | Нет | ["АВ", "TK", "U6"] | Список авиакомпаний для фильтрации. Каждая авиакомпания должна передаваться отдельным элементом airline_list[*] массива |
airline_black_list[*] | A | Нет | ["LH",] | Список авиакомпаний для исключения из выдачи. Каждая авиакомпания должна передаваться отдельным элементом airline_black_list[*] массива |
count | N | Нет | 20 | лимит рекомендаций |
Рекомендуется использовать одновременно только один из параметров gds_white_list или gds_black_list. При одновременном использовании обоих по приоритету должен быть использван gds_white_list, а gds_black_list - проигнорирован. Рекомендуется использовать одновременно только один из параметров airline_list или airline_black_list. При одновременном использовании обоих по приоритету должен быть использван airline_list, а airline_black_list - проигнорирован.
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"search_params": {
"flight_type": "OW",
"routes": [
{
"index": 0,
"from": "DYU",
"to": "MOW",
"date": "22.07.2024"
}
],
"passengers": {
"adt": "1",
"chd": "0",
"inf": "0",
"ins": "0"
},
"language": "ru",
"cabin": "economy"
},
"flights": [
{
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"total_price": 11029, // стоимость билета, включает в себя fare + taxes + fee
"fare": 10520, // тариф
"tax": 507, // сумма такс
"fee": 2, // сбор
"taxes": [ // список такс по видам
{
"code": "RI", // вид таксы
"amount": 307 //сумма таксы
},
{
"code": "YR", // вид таксы
"amount": 200 //сумма таксы
}
],
"currency": "RUB", // валюта
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"ticketing_time_limit": 1707549258, // доступное время на бронирование в unix-формате
"has_branded_tariffs": true, // флаг доступности семейства тарифов.
"duration": 320, // общая продолжительность перелета всех роутов в минутах
"routes_count": 1, // число роутов в перелете
"routes": [
{
"index": 0, // направление, тк рейс с 1 маршрутом - то направление тут всегда будет 0. если рейс туда и обратно то будут сегменты со значением 0 туда и 1 обратно и более
"duration": 320, // продолжительность перелета сегментов в минутах
"segments": [
{
"index": 0, // порядковый индекс сегмента
"arrival": {
"date": "22.07.2024", // дата прилета
"time": "06:30", // время прилета
"datetime": "22.07.2024 06:30:00",
"ts": 1721619000,
// дата и вермя прилета в unix-формате
"terminal": "A", // терминал прилета
"airport": { // данные об аэропорте прилета
"title": "Аэропорт Стамбула", // название аэропорта
"code": "IST" // IATA код аэропорта
},
"city": { // данные о городе прилета
"code": "IST", // IATA код города
"title": "Стамбул" // название города
},
"country": { // данные о стране прилета
"code": "TR", // IATA код страны
"title": "Турция" //название страны
}
},
"departure": { // данные о вылете (значения полей аналогичны данным о прилете)
"date": "22.07.2024",
"time": "03:10",
"datetime": "22.07.2024 03:10:00",
"ts": 1721607000,
"terminal": "",
"airport": {
"title": "Душанбе",
"code": "DYU"
},
"city": {
"code": "DYU",
"title": "Душанбе"
},
"country": {
"code": "TJ",
"title": "Таджикистан"
}
},
"is_baggage": true, // признак наличия багажа
"baggage": { // данные о багаже
"piece": 2, // количество мест
"weight": 30 // вес
},
"comment": "", // комментарий если есть, уточняющий в текстовой форме особенности провоза багажа.
"cbaggage": { // данные о ручной клади
"piece": 1, // количество мест
"weight": 7, // вес
"dimensions": { // допустимые размеры
"width": 40,
"length": 55,
"height": 23
},
"weight_unit": "KG" // единица измерения
},
"free_seats": 9, // количество доступных мест
"flight_number": "255", // номер рейса (carrier_number)
"fare_code": "QY2PXOW", // название тарифа
"duration": 320, // продолжительность перелета
"carrier": { // данные об оперирующем перевозчике (operation_supplier)
"code": "TK",
"title": "Turkish Airlines"
},
"aircraft": { // данные о самолете
"code": "333",
"title": "Airbus A330-300"
},
"service_class": { // данные о классе
"name": "economy", // класс обслуживания(first business economy)
"code": "M" // сервис (первая буква тарифа)
},
"tech_stops": [ // данные о технических остановках
{
"duration": 360 // продолжительность технической остановки в минутах,
"arrival": "22.01.2022 13:10:00", // дата и время прилета
"departure": "22.01.2022 15:40:00", // дата и время вылета
"airport": {
"code": "MXP",
"title": "Малпенза"
},
"city": {
"code": "MIL",
"title": "Милан"
},
"country": {
"code": "IT",
"title": "Италия"
}
}
],
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"type": "regular", // тип перелета. Могут быть регулярные рейсы "regular", чартерные "charter" и рейсы лоукост-перевозчиков "lowcost".
"is_charter": false, // чартерный ли это рейс
"is_refund": true, // возможен ли возврат
"is_change": true, // возможен ли обмен
"extra_baggage": [] // данные о дополнительном багаже, доступен у лоукостов
}
]
}
]
}
]
}
"extra_baggage":{
"list":[
{
"count":1, //количество мест багажа
"price":{ //стоимость указанного количества мест
"RUB":{
"amount":3639
}
}
}
],
"limit":{ //габариты одного места багажа
"hand_width":40,
"hand_length":55,
"hold_weight":20,
"hand_height":20,
"hand_weight":8
}
}
Получение семейства тарифов для определенной рекомендации.
POST /fares
{
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"language": "ru",
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
- rec_id - идентификатор рекомендации(полученный при поиске)
- session_id - идентификатор сессии которую надо вернуть обратно в теле ответа
- config настройки подключения к GDS
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"flights": [
{
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"total_price": 11029, // стоимость билета, включает в себя fare + taxes + fee
"fare": 10520, // тариф
"taxes": 507, // сумма такс
"fee": 2, // сбор
"currency": "RUB", // валюта
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"ticketing_time_limit": 1707549258, // отведенное время для выписки билета, дата и вермя в unix-формате
"has_branded_tariffs": true, // флаг доступности семейства тарифов.
"duration": 320, // общая продолжительность перелета всех роутов в минутах
"routes_count": 1, // число роутов в перелете
"routes": [
{
"index": 0, // направление, тк рейс с 1 маршрутом - то направление тут всегда будет 0. если рейс туда и обратно то будут сегменты со значением 0 туда и 1 обратно и более
"duration": 320, // продолжительность перелета сегментов в минутах
"segments": [
{
"index": 0, // порядковый индекс сегмента
"arrival": {
"date": "22.07.2024", // дата прилета
"time": "06:30", // время прилета
"datetime": "22.07.2024 06:30:00",
"ts": 1721619000,
// дата и вермя прилета в unix-формате
"terminal": "A", // терминал прилета
"airport": { // данные об аэропорте прилета
"title": "Аэропорт Стамбула", // название аэропорта
"code": "IST" // IATA код аэропорта
},
"city": { // данные о городе прилета
"code": "IST", // IATA код города
"title": "Стамбул" // название города
},
"country": { // данные о стране прилета
"code": "TR", // IATA код страны
"title": "Турция" //название страны
}
},
"departure": { // данные о вылете (значения полей аналогичны данным о прилете)
"date": "22.07.2024",
"time": "03:10",
"datetime": "22.07.2024 03:10:00",
"ts": 1721607000,
"terminal": "",
"airport": {
"title": "Душанбе",
"code": "DYU"
},
"city": {
"code": "DYU",
"title": "Душанбе"
},
"country": {
"code": "TJ",
"title": "Таджикистан"
}
},
"is_baggage": true, // признак наличия багажа
"baggage": { // данные о багаже
"piece": 2, // количество мест
"weight": 30 // вес
},
"comment": "", // комментарий если есть, уточняющий в текстовой форме особенности провоза багажа.
"cbaggage": { // данные о ручной клади
"piece": 1, // количество мест
"weight": 7, // вес
"dimensions": { // допустимые размеры
"width": 40,
"length": 55,
"height": 23
},
"weight_unit": "KG" // единица измерения
},
"free_seats": 9, // количество доступных мест
"flight_number": "255", // номер рейса (carrier_number)
"fare_code": "QY2PXOW", // название тарифа
"duration": 320, // продолжительность перелета
"carrier": { // данные об оперирующем перевозчике (operation_supplier)
"code": "TK",
"title": "Turkish Airlines"
},
"aircraft": { // данные о самолете
"code": "333",
"title": "Airbus A330-300"
},
"service_class": { // данные о классе
"name": "economy", // класс обслуживания(first business economy)
"code": "M" // сервис (первая буква тарифа)
},
"tech_stops": [ // данные о технических остановках
{
"duration": 360 // продолжительность технической остановки в минутах,
"arrival": "22.01.2022 13:10:00", // дата и время прилета
"departure": "22.01.2022 15:40:00", // дата и время вылета
"airport": {
"code": "MXP",
"title": "Малпенза"
},
"city": {
"code": "MIL",
"title": "Милан"
},
"country": {
"code": "IT",
"title": "Италия"
}
}
],
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"type": "regular", // тип перелета. Могут быть регулярные рейсы "regular", чартерные "charter" и рейсы лоукост-перевозчиков "lowcost".
"is_charter": false, // чартерный ли это рейс
"is_refund": true, // возможен ли возврат
"is_change": true // возможен ли обмен
}
]
}
]
}
]
}
POST /rules
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"language": "ru",
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"rules": {
"API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0": [
{
"departure": {
"name": "Dushanbe",
"iata": "DYU",
"country": {
"name": "Таджикистан",
"iata": "TJ"
}
},
"arrival": {
"name": "Истанбул",
"iata": "IST",
"country": {
"name": "Турция",
"iata": "TR"
}
},
"fare_code": "QY2PXOW",
"text": "Норма бесплатного провоза багажа: не предоставляется\nСкидки для детей до 2-х лет без предоставления отдельного места: 90%, при внутренних перевозках по РФ – бесплатно\nСкидки для детей до 2-х лет и детей от 2 до 12 лет с предоставлением отдельного места: без сопровождения взрослым скидка не предоставляется, с сопровождением взрослым в том же классе обслуживания – 25%\nВозврат провозной платы при уведомлении об отказе от перевозки до окончания установленного времени регистрации пассажиров на указанный в билете рейс: не разрешено\nБонусные мили – 75%\nИзменения не позднее 30 минут после времени отправки рейса, указанного в оформленном билете (при условии наличия мест по оплаченному тарифу): разрешено с доплатой\nБолее подробные правила на сайте перевозчика: https://www.aeroflot.ru//ru-ru/information/purchase/rate/fare_rules"
}
]
}
}
Запрос для проверки наличия мест, а также цены на выбранную рекомендацию. Вызов запроса инициируется при выборе клиентом одной рекомендации, из предложенного множества рекомендаций поискового ответ
POST /prebook
{
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"language": "ru",
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
- rec_id - идентификатор рекомендации(полученный при поиске)
- session_id - идентификатор сессии которую надо вернуть обратно в теле ответа
- config настройки подключения к GDS
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"flights": [
{
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"total_price": 11029, // стоимость билета, включает в себя fare + taxes + fee
"fare": 10520, // тариф
"taxes": 507, // сумма такс
"fee": 2, // сбор
"currency": "RUB", // валюта
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"ticketing_time_limit": 1707549258, // отведенное время для выписки билета, дата и вермя в unix-формате
"has_branded_tariffs": true, // флаг доступности семейства тарифов.
"duration": 320, // общая продолжительность перелета всех роутов в минутах
"routes_count": 1, // число роутов в перелете
"routes": [
{
"index": 0, // направление, тк рейс с 1 маршрутом - то направление тут всегда будет 0. если рейс туда и обратно то будут сегменты со значением 0 туда и 1 обратно и более
"duration": 320, // продолжительность перелета сегментов в минутах
"segments": [
{
"index": 0, // порядковый индекс сегмента
"arrival": {
"date": "22.07.2024", // дата прилета
"time": "06:30", // время прилета
"datetime": "22.07.2024 06:30:00",
"ts": 1721619000,
// дата и вермя прилета в unix-формате
"terminal": "A", // терминал прилета
"airport": { // данные об аэропорте прилета
"title": "Аэропорт Стамбула", // название аэропорта
"code": "IST" // IATA код аэропорта
},
"city": { // данные о городе прилета
"code": "IST", // IATA код города
"title": "Стамбул" // название города
},
"country": { // данные о стране прилета
"code": "TR", // IATA код страны
"title": "Турция" //название страны
}
},
"departure": { // данные о вылете (значения полей аналогичны данным о прилете)
"date": "22.07.2024",
"time": "03:10",
"datetime": "22.07.2024 03:10:00",
"ts": 1721607000,
"terminal": "",
"airport": {
"title": "Душанбе",
"code": "DYU"
},
"city": {
"code": "DYU",
"title": "Душанбе"
},
"country": {
"code": "TJ",
"title": "Таджикистан"
}
},
"is_baggage": true, // признак наличия багажа
"baggage": { // данные о багаже
"piece": 2, // количество мест
"weight": 30 // вес
},
"comment": "", // комментарий если есть, уточняющий в текстовой форме особенности провоза багажа.
"cbaggage": { // данные о ручной клади
"piece": 1, // количество мест
"weight": 7, // вес
"dimensions": { // допустимые размеры
"width": 40,
"length": 55,
"height": 23
},
"weight_unit": "KG" // единица измерения
},
"free_seats": 9, // количество доступных мест
"flight_number": "255", // номер рейса (carrier_number)
"fare_code": "QY2PXOW", // название тарифа
"duration": 320, // продолжительность перелета
"carrier": { // данные об оперирующем перевозчике (operation_supplier)
"code": "TK",
"title": "Turkish Airlines"
},
"aircraft": { // данные о самолете
"code": "333",
"title": "Airbus A330-300"
},
"service_class": { // данные о классе
"name": "economy", // класс обслуживания(first business economy)
"code": "M" // сервис (первая буква тарифа)
},
"tech_stops": [ // данные о технических остановках
{
"duration": 360 // продолжительность технической остановки в минутах,
"arrival": "22.01.2022 13:10:00", // дата и время прилета
"departure": "22.01.2022 15:40:00", // дата и время вылета
"airport": {
"code": "MXP",
"title": "Малпенза"
},
"city": {
"code": "MIL",
"title": "Милан"
},
"country": {
"code": "IT",
"title": "Италия"
}
}
],
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"type": "regular", // тип перелета. Могут быть регулярные рейсы "regular", чартерные "charter" и рейсы лоукост-перевозчиков "lowcost".
"is_charter": false, // чартерный ли это рейс
"is_refund": true, // возможен ли возврат
"is_change": true // возможен ли обмен
}
]
}
]
}
]
}
Запрос на создание брони.
POST /booking
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"rec_id": "MY01EASYOWA1000010090MOWLED20231106-TUA.SU.0.95.F322717S374200.OENCTkRDX1NV..-31.SU.6.SVO.202311060655.LED.202311060830.32A.RNOR.95.0.TUA.0.0PC",
"language": "ru",
"currency": "RUB",
"passengers": [
{
"index": 0,
"name": "DALER",
"surname": "PULATOV",
"middle_name": ""
"citizenship": "TJ",
"gender": "M",
"type": "adt",
"email": "[email protected]",
"phone": "+992917039843",
"date_of_birth": "22-02-1994",
"document": {
"type": "NP",
"number": "2014454343",
"expire": "2044-05-28"
}
}
],
"payer": {
"name": "zohir",
"email": "[email protected]",
"phone": "+9999844444366"
},
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "1253665116", // номер заказа
"order_id": "5e380c87676c62dbc55f90a0836dbb8786a7d55b", // идентификатор заказа на стороне GDS если присутсвует
"booking_number": "CBKZVT", //локатор GDS
"airline_booking_number": ["FDFFRZ"], //локатор авиакомпании, используется для регистрации на рейс
"timelimit": "24.07.2024 15:58:00", // время автоануляции. Данные указаны в тайм-зоне UTC 0
"expire": 1522, // секунд до автоануляции
"created": "24.07.2024 15:32:34", // дата создания заказа. Данные указаны в тайм-зоне UTC 0
"status": { // статус заказа
"sign": "Booked", // если не удалось забронировать Cancelled (Отменен)
"title": "Забронировано"
},
"flights": {
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"total_price": 11029, // стоимость билета, включает в себя fare + taxes + fee
"fare": 10520, // тариф
"taxes": 507, // сумма такс
"fee": 2, // сбор
"currency": "RUB", // валюта
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"ticketing_time_limit": 1707549258, // отведенное время для выписки билета, дата и вермя в unix-формате
"has_branded_tariffs": true, // флаг доступности семейства тарифов.
"duration": 320, // общая продолжительность перелета всех роутов в минутах
"routes_count": 1, // число роутов в перелете
"routes": [
{
"index": 0, // направление, тк рейс с 1 маршрутом - то направление тут всегда будет 0. если рейс туда и обратно то будут сегменты со значением 0 туда и 1 обратно и более
"duration": 320, // продолжительность перелета сегментов в минутах
"segments": [
{
"index": 0, // порядковый индекс сегмента
"arrival": {
"date": "22.07.2024", // дата прилета
"time": "06:30", // время прилета
"datetime": "22.07.2024 06:30:00",
"ts": 1721619000,
// дата и вермя прилета в unix-формате
"terminal": "A", // терминал прилета
"airport": { // данные об аэропорте прилета
"title": "Аэропорт Стамбула", // название аэропорта
"code": "IST" // IATA код аэропорта
},
"city": { // данные о городе прилета
"code": "IST", // IATA код города
"title": "Стамбул" // название города
},
"country": { // данные о стране прилета
"code": "TR", // IATA код страны
"title": "Турция" //название страны
}
},
"departure": { // данные о вылете (значения полей аналогичны данным о прилете)
"date": "22.07.2024",
"time": "03:10",
"datetime": "22.07.2024 03:10:00",
"ts": 1721607000,
"terminal": "",
"airport": {
"title": "Душанбе",
"code": "DYU"
},
"city": {
"code": "DYU",
"title": "Душанбе"
},
"country": {
"code": "TJ",
"title": "Таджикистан"
}
},
"is_baggage": true, // признак наличия багажа
"baggage": { // данные о багаже
"piece": 2, // количество мест
"weight": 30 // вес
},
"comment": "", // комментарий если есть, уточняющий в текстовой форме особенности провоза багажа.
"cbaggage": { // данные о ручной клади
"piece": 1, // количество мест
"weight": 7, // вес
"dimensions": { // допустимые размеры
"width": 40,
"length": 55,
"height": 23
},
"weight_unit": "KG" // единица измерения
},
"free_seats": 9, // количество доступных мест
"flight_number": "255", // номер рейса (carrier_number)
"fare_code": "QY2PXOW", // название тарифа
"duration": 320, // продолжительность перелета
"carrier": { // данные об оперирующем перевозчике (operation_supplier)
"code": "TK",
"title": "Turkish Airlines"
},
"aircraft": { // данные о самолете
"code": "333",
"title": "Airbus A330-300"
},
"service_class": { // данные о классе
"name": "economy", // класс обслуживания(first business economy)
"code": "M" // сервис (первая буква тарифа)
},
"tech_stops": [ // данные о технических остановках
{
"duration": 360 // продолжительность технической остановки в минутах,
"arrival": "22.01.2022 13:10:00", // дата и время прилета
"departure": "22.01.2022 15:40:00", // дата и время вылета
"airport": {
"code": "MXP",
"title": "Малпенза"
},
"city": {
"code": "MIL",
"title": "Милан"
},
"country": {
"code": "IT",
"title": "Италия"
}
}
],
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"type": "regular", // тип перелета. Могут быть регулярные рейсы "regular", чартерные "charter" и рейсы лоукост-перевозчиков "lowcost".
"is_charter": false, // чартерный ли это рейс
"is_refund": true, // возможен ли возврат
"is_change": true // возможен ли обмен
}
]
}
]
},
"passengers": [
{
"index": 0,
"name": "DALER",
"surname": "PULATOV",
"middle_name": "",
"citizenship": "TJ",
"gender": "M",
"type": "adt",
"email": "[email protected]",
"phone": "+992917039843",
"date_of_birth": "22-02-1994",
"document": {
"type": "NP",
"number": "2014454343",
"expire": "2044-05-28"
},
"amounts": {
"total_price": 11226,
"fare": 1587.3,
"taxes": 0,
"fees": 0,
"currency": "RUB"
}
}
],
"fare_rules": [
{
"fare_code": "QY2PXOW",
"penalties": "RU.RULE APPLICATION\nKC BASIC FARE BRAND\n APPLICATION\n CLASS OF SERVICE\n THE"
}
]
}
Запрос инициирующий отмену бронирования Отменять можно только заказы в статусе Забронирован.
GET /booking-cancel
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"booking_number": "125354686465",
"language": "ru",
"config": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "125354686465",
"booking_status": "Cancelled"
}
Если есть ошибка при обработке поле code должно содержать код ошибки и message текст ошибки и booking_status должен быть равен CancelError
POST /pay
Оплата бронирования
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"total_price" : 11226,
"currency": "RUB",
"configs": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "125354686465",
"booking_status": "Paid" // статус заказа после успешной оплаты может принимает значение Paid или PayFail если оплата не пуспешна
}
POST /ticket
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "125354686465",
"language": "ru",
"configs": {
"connector": "batik",
"config": {
"connection_value": {
"url": "https:batik.cc.xly.com",
"login": "test",
"password": "password"
},
"configuration_value": {}
}
}
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"order_id": "5e380c87676c62dbc55f90a0836dbb8786a7d55b", // Номер заказа GDS если присутсвует
"billing_number": 125354686465,
"created": "28.05.2024 17:02:06",
"status": {
"sign": "Ticketed",
"title": "Закрыт"
},
"total_price": 11029, // стоимость билета, включает в себя fare + tax + fee
"fare": 10520, // тариф
"fee": 2, // сбор
"tax": 507, // сумма такс
"taxes": [
{
"code": "RI", // вид таксы
"amount": 507 //сумма таксы
}
],
"currency": "RUB",
"tickets": [
{
"booking_number": "CBKZVT", //локатор GDS
"airline_booking_number": [
"FDFFRZ"
], //локатор авиакомпании, используется для регистрации на рейс
"currency": "RUB", // код валюты заказа по классификации ISO 4217 https://www.iso.org/ru/iso-4217-currency-codes.html
"receipt_text": "", //настраиваемый в личном кабинете текст в Маршрутной квитанции
"booking_provider": "TUA", // название провайдера
"carrier": {
"code": "TK", //IATA код оперирующего перевозчика
"title": "Turkish Arilines" //название оперирующего перевозчика
},
"duration": 300, // продолжительность полета в минутах,
"passengers": [
{
"name": "DALER",
"surname": "PULATOV",
"middle_name": "",
"citizenship": "TJ",
"gender": "M",
"type": "adt",
"email": "[email protected]",
"phone": "+992917039843",
"date_of_birth": "22-02-1994",
"document": {
"type": "NP",
"number": "2014454343",
"expire": "2044-05-28"
},
"amounts": {
"total_price": 11029, // стоимость билета, включает в себя fare + tax + fee
"fare": 10520, // тариф
"fee": 2, // сбор
"tax": 507, // сумма такс
"taxes": [
{
"code": "RI", // вид таксы
"amount": 507 //сумма таксы
}
],
"currency": "RUB"
},
"ticketData": {
"number": "5552327744382", // номер билета
"refunded": false
},
"accompanying_adults": []
}
]
}
],
"flight": {
"rec_id": "API2EASYOWE2110000090DYUIST20240722_RU-TUA.TK.0.320.F10872500S10752411.OENCUDM0MTI0MzM=..-17.TK.255.DYU.202407220310.IST.202407220630.333.QY2PXOW.320.0.TUA.0.1P30K.1P8K..1.1..0",
"total_price": 11029, // стоимость билета, включает в себя fare + taxes + fee
"fare": 10520, // тариф
"tax": 507, // общая сумма такс
"fee": 2, // сбор
"taxes": [ // список такс по видам
{
"code": "RI", // вид таксы
"amount": 507 //сумма таксы
}
],
"currency": "RUB", // валюта
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"ticketing_time_limit": 0,
"has_branded_tariffs": true, // флаг доступности семейства тарифов.
"duration": 320, // общая продолжительность перелета всех роутов в минутах
"routes_count": 1, // число роутов в перелете
"routes": [
{
"index": 0, // направление, тк рейс с 1 маршрутом - то направление тут всегда будет 0. если рейс туда и обратно то будут сегменты со значением 0 туда и 1 обратно и более
"duration": 320, // продолжительность перелета сегментов в минутах
"segments": [
{
"index": 0, // порядковый индекс сегмента
"arrival": {
"date": "22.07.2024", // дата прилета
"time": "06:30", // время прилета
"datetime": "22.07.2024 06:30:00",
"ts": 1721619000,
// дата и вермя прилета в unix-формате
"terminal": "A", // терминал прилета
"airport": { // данные об аэропорте прилета
"title": "Аэропорт Стамбула", // название аэропорта
"code": "IST" // IATA код аэропорта
},
"city": { // данные о городе прилета
"code": "IST", // IATA код города
"title": "Стамбул" // название города
},
"country": { // данные о стране прилета
"code": "TR", // IATA код страны
"title": "Турция" //название страны
}
},
"departure": { // данные о вылете (значения полей аналогичны данным о прилете)
"date": "22.07.2024",
"time": "03:10",
"datetime": "22.07.2024 03:10:00",
"ts": 1721607000,
"terminal": "",
"airport": {
"title": "Душанбе",
"code": "DYU"
},
"city": {
"code": "DYU",
"title": "Душанбе"
},
"country": {
"code": "TJ",
"title": "Таджикистан"
}
},
"is_baggage": true, // признак наличия багажа
"baggage": { // данные о багаже
"piece": 2, // количество мест
"weight": 30 // вес
},
"comment": "", // комментарий если есть, уточняющий в текстовой форме особенности провоза багажа.
"cbaggage": { // данные о ручной клади
"piece": 1, // количество мест
"weight": 7, // вес
"dimensions": { // допустимые размеры
"width": 40,
"length": 55,
"height": 23
},
"weight_unit": "KG" // единица измерения
},
"free_seats": 9, // количество доступных мест
"flight_number": "255", // номер рейса (carrier_number)
"fare_code": "QY2PXOW", // название тарифа
"duration": 320, // продолжительность перелета
"carrier": { // данные об оперирующем перевозчике (operation_supplier)
"code": "TK",
"title": "Turkish Airlines"
},
"aircraft": { // данные о самолете
"code": "333",
"title": "Airbus A330-300"
},
"service_class": { // данные о классе
"name": "economy", // класс обслуживания(first business economy)
"code": "M" // сервис (первая буква тарифа)
},
"tech_stops": [ // данные о технических остановках
{
"duration": 360 // продолжительность технической остановки в минутах,
"arrival": "22.01.2022 13:10:00", // дата и время прилета
"departure": "22.01.2022 15:40:00", // дата и время вылета
"airport": {
"code": "MXP",
"title": "Малпенза"
},
"city": {
"code": "MIL",
"title": "Милан"
},
"country": {
"code": "IT",
"title": "Италия"
}
}
],
"provider": "TUA", // наименование поставщика услуги
"supplier": { // валидирующий перевозчик
"code": "TK",
"title": "Turkish Airlines"
},
"type": "regular", // тип перелета. Могут быть регулярные рейсы "regular", чартерные "charter" и рейсы лоукост-перевозчиков "lowcost".
"is_charter": false, // чартерный ли это рейс
"is_refund": true, // возможен ли возврат
"is_change": true // возможен ли обмен
}
]
}
]
}
}
POST /check-price
{
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "125355187996",
"total_price" : 11226,
"currency": "RUB"
}
{
"success": true,
"code": 0,
"message": "",
"session_id": "628d7ca583af2935e00096d881d4f70d",
"billing_number": "125355187996",
"new_price": 11000,
"is_price_changed": true
}