Параметры запроса#

Детальное описание всех параметров для запроса /avia/pnr_create.

Обязательные параметры#

ПараметрТипОписание
searchIdstringИдентификатор из /avia/search
offerItemIdstringИдентификатор выбранного предложения
passengersarrayДанные пассажиров

Структура passengers#

ПолеТипОбязательноОписание
idstringДаИдентификатор пассажира в запросе
lastNamestringДаФамилия латиницей
firstNamestringДаИмя латиницей
middleNamestringНетОтчество
genderstringНетПол (male, female)
typestringНетТип пассажира (adt, chd, inf)
titlestringНетОбращение (MR, MRS, MS)
documentsDocument[]ДаДокументы пассажира
contactsarrayНетКонтакты пассажира
frequentFlyersarrayНетПрограммы лояльности

Структура documents#

ПолеТипОбязательноОписание
typeDocumentTypeДаТип документа (internationalPassport, nationalPassport, birthCertificate, identityCard, notSet)
numberstringДаНомер документа
lastNamestringДаФамилия в документе (латиницей)
firstNamestringДаИмя в документе (латиницей)
middleNamestringНетОтчество в документе
seriesstringНетСерия документа (если применимо)
birthDatedateНетДата рождения (формат: YYYY-MM-DD)
issueDatedateНетДата выдачи (формат: YYYY-MM-DD)
expireDatedateНетСрок действия (формат: YYYY-MM-DD)
countrystringДаСтрана выдачи (ISO 3166-1 alpha-2)

Структура contacts#

ПолеТипОбязательноОписание
typeContactTypeНетТип контакта
valuestringДаЗначение

ContactType — возможные значения:

  • notSet — не указан
  • address — почтовый адрес
  • agencyPhone — телефон агентства
  • email — адрес электронной почты
  • mobilePhone — мобильный телефон
  • homePhone — домашний телефон
  • workPhone — рабочий телефон

Структура frequentFlyers#

ПолеТипОбязательноОписание
programCodestringДаКод авиакомпании или программы лояльности
accountNumberstringДаНомер карты часто летающего пассажира

Опциональные параметры#

ПараметрТипОписание
remarksRemark[]Примечания к бронированию
specialServicesSpecialService[]Специальные услуги (SSR)
otherServicesOtherService[]Прочие сервисы (OSI)

Структура Remark#

ПолеТипОбязательноОписание
paxRefIdstringНетСсылка на пассажира (если ремарка привязана к конкретному пассажиру)
valuestringДаТекст примечания
typeRemarkTypeНетТип примечания

RemarkType — возможные значения:

  • accountInformation — бухгалтерская информация
  • confidential — конфиденциальное примечание
  • general — общее примечание
  • invoice — примечание к счёту
  • online — примечание онлайн-бронирования
  • qualityControl — контроль качества
  • vendor — примечание поставщика

Структура SpecialService#

ПолеТипОбязательноОписание
paxRefIdstringНетСсылка на пассажира
segRefIdstring[]НетСсылки на сегменты
codestringДаКод SSR (например, VGML, WCHR)
typeSpecialServiceTypeНетТип специальной услуги
carrierstringДаКод авиакомпании
valuestringДаТекстовое значение услуги

SpecialServiceType — возможные значения:

  • notSet — не указан
  • additionalService — дополнительная услуга
  • document — документ (SSR DOCS)
  • foid — форма идентификации (FOID)
  • frequentFlyer — программа лояльности
  • meal — питание
  • other — прочее
  • seat — выбор места

Структура OtherService#

ПолеТипОбязательноОписание
paxRefIdstringНетСсылка на пассажира
segRefIdstring[]НетСсылки на сегменты
carrierstringДаКод авиакомпании
valuestringДаТекст OSI-элемента

Как использовать параметры#

Минимальное бронирование#

Для создания бронирования достаточно указать основные данные пассажира:

 1{
 2  "searchId": "550e8400-e29b-41d4-a716-446655440000",
 3  "offerItemId": "item-1",
 4  "passengers": [
 5    {
 6      "id": "PAX1",
 7      "lastName": "IVANOV",
 8      "firstName": "IVAN",
 9      "type": "adt"
10    }
11  ]
12}

Добавление документов#

Для международных рейсов обычно требуются документы:

 1{
 2  "passengers": [
 3    {
 4      "id": "PAX1",
 5      "lastName": "IVANOV",
 6      "firstName": "IVAN",
 7      "type": "adt",
 8      "documents": [
 9        {
10          "type": "internationalPassport",
11          "number": "1234567890",
12          "lastName": "IVANOV",
13          "firstName": "IVAN",
14          "birthDate": "1980-05-15",
15          "issueDate": "2015-06-20",
16          "expireDate": "2030-12-31",
17          "country": "RU"
18        }
19      ]
20    }
21  ]
22}

Добавление контактов#

Укажите email и телефон для получения уведомлений:

 1{
 2  "passengers": [
 3    {
 4      "id": "PAX1",
 5      "lastName": "IVANOV",
 6      "firstName": "IVAN",
 7      "contacts": [
 8        {
 9          "type": "email",
10          "value": "ivan@example.com"
11        },
12        {
13          "type": "mobilePhone",
14          "value": "+79991234567"
15        }
16      ]
17    }
18  ]
19}

Добавление примечаний#

Используйте remarks для передачи информации в бронирование:

1{
2  "remarks": [
3    {
4      "type": "general",
5      "value": "Просьба предоставить место у окна"
6    }
7  ]
8}

Запрос специальных услуг (SSR)#

Используйте specialServices для питания, багажа и других услуг:

 1{
 2  "specialServices": [
 3    {
 4      "code": "VGML",
 5      "type": "meal",
 6      "carrier": "SU",
 7      "value": "VGML",
 8      "paxRefId": "PAX1",
 9      "segRefId": ["SEG1"]
10    }
11  ]
12}

Бронирование для нескольких пассажиров#

 1{
 2  "passengers": [
 3    {
 4      "id": "PAX1",
 5      "lastName": "IVANOV",
 6      "firstName": "IVAN",
 7      "type": "adt"
 8    },
 9    {
10      "id": "PAX2",
11      "lastName": "IVANOVA",
12      "firstName": "MARIA",
13      "type": "adt"
14    },
15    {
16      "id": "PAX3",
17      "lastName": "IVANOV",
18      "firstName": "PETR",
19      "type": "chd"
20    }
21  ]
22}

Примеры запросов#

Минимальный запрос#

 1curl -X POST https://test.travel-api.ru/avia/pnr_create \
 2  -H "Authorization: Bearer YOUR_TOKEN" \
 3  -H "Content-Type: application/json" \
 4  -d '{
 5    "searchId": "550e8400-e29b-41d4-a716-446655440000",
 6    "offerItemId": "item-1",
 7    "passengers": [
 8      {
 9        "id": "PAX1",
10        "lastName": "IVANOV",
11        "firstName": "IVAN",
12        "type": "adt"
13      }
14    ]
15  }'
 1var request = new PnrCreateRequest
 2{
 3    SearchId = "550e8400-e29b-41d4-a716-446655440000",
 4    OfferItemId = "item-1",
 5    Passengers = new[]
 6    {
 7        new Passenger
 8        {
 9            Id = "PAX1",
10            LastName = "IVANOV",
11            FirstName = "IVAN",
12            Type = PassengerType.ADT
13        }
14    }
15};
16
17var response = await httpClient.PostAsJsonAsync(
18    "https://test.travel-api.ru/avia/pnr_create",
19    request
20);
21
22var result = await response.Content.ReadFromJsonAsync<PnrCreateResponse>();

Запрос с полными данными#

Развернуть пример
 1{
 2  "searchId": "AAF6301E87DD7C73E7A8A636FDC77ED5",
 3  "offerItemId": "DAB32144B940FCC65CC85E9BCE682346",
 4  "passengers": [
 5    {
 6      "id": "P1",
 7      "gender": "female",
 8      "lastName": "IVANOV",
 9      "firstName": "SVETLANA",
10      "type": "adt",
11      "title": "MS",
12      "documents": [
13        {
14          "type": "internationalPassport",
15          "number": "411649833",
16          "lastName": "IVANOV",
17          "firstName": "SVETLANA",
18          "birthDate": "1981-07-12",
19          "issueDate": "2008-08-16",
20          "expireDate": "2026-10-22",
21          "country": "RU"
22        }
23      ],
24      "contacts": [
25        {
26          "type": "email",
27          "value": "svetlana@example.com"
28        },
29        {
30          "type": "mobilePhone",
31          "value": "+79623387344"
32        }
33      ]
34    }
35  ]
36}