# | Question | Answer | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | How to access the product environment? | ![]() | |||||||||
2 | What types of passengers are used in the API? | 3 types of passengers are used:
| |||||||||
3 | What types of payment can be used? | Only one payment method is used - invoice
where: MS — payment type code (invoice) IN*A*AGENT_NAME — agent details
| |||||||||
4 | How can I get information about flights commissions and manage agency fees? | You need to contact the sales department. | |||||||||
5 | Which endpoints should be used? |
| |||||||||
6 | Is the Multi-City method implemented in API? | Yes.
| |||||||||
7 | How does the standard ticketing scenatio looks? | searchFlight (AirShoppingRQ) → book (OrderCreateRQ) → reprice (ItinReshopRQ) → demandTicket (AirDocIssueRQ)
| |||||||||
8 | Is it possible to use social categories of passengers - pensioners, youth, sailors, students, etc.? | No. Only 3 types of passengers are used: ADT, CHD, INF. | |||||||||
9 | Can I get a terminal text vuew of the current PNR data? Or just build a template from an XML response? | No, currently only XML display is available. | |||||||||
10 | Can I add DOCO DOCA information? | No, currently only DOCS, FOID and FQTV SSRs are available. | |||||||||
11 | How to access the test environment? | ![]() | |||||||||
12 | Can I get an S7 route map? | There is no such request in API. | |||||||||
13 | Are all S7 fares branded? | Yes. | |||||||||
14 | Is the refund method implemented in API? | No, currently the refands are not implemented. | |||||||||
15 | Does the service support queues? | In the API all requests are synchronous, queues are not used. | |||||||||
16 | При попытке послать запрос на API, через SOAPUI, получаем в ответ 'Unknown operation. | Подозреваю, что не прописана версия в http header. Указывали версию? Первичная настройка инструмента SoapUI16 | |||||||||
17 | Нужен доступ к WSDL-схеме сервиса. В документе приведена ссылка https://qa-gaia.s7.ru/agent-api/wsdl/0.21?wsdl Но по ней получаем ошибку HTTP 400 No required SSL certificate was sent. Скорее всего это означает, что доступ закрыт. | Доступ предоставляется агентам владеющим: basic-auth, сертификатом. Не имея таковых – агенты получают ошибку доступа. Прошу попросить представителей Порт билета оформить в jira задачи на выдачу сертификата, basic-auth. |
# | Question | Answer | ||
---|---|---|---|---|
1 | What does the PenaltyList block mean (AirShoppingRS)? | Fare penalties informarion block.
NO-SHOW (NS) — a situation, when the passenger fails to show for the flight before the check-in closing and notify the carrier of cancelling the carriage. AFTER DEPARTURE (ADE), PRIOR DEPARTURE (PDE) - это штрафы, если человек обратится после вылета или до, NS (noshow) - неявка на рейс.
| ||
2 | What is the difference between LowFare and BrandedFares search methods? |
| ||
3 | How to manage parameters in the Travelers block in AirShoppingRQ? |
| ||
4 | Is it possible to search flights with the option +- 1 day? | No. | ||
5 | Is it possible to search for a complex route, or OW/RT only? | Yes.
| ||
6 | Is it possible to search for a partner flights (COdeShare/SPA)? | Yes.
| ||
7 | Can I request only direct flights? | Yes. It's necessary to specify the following search parameter: Envelope /Body /AirShoppingRQ /Preferences /Preference /FlightPreferences /Characteristic /DirectPreferences="Preferred"
| ||
8 | Why in the AirShoppingRS we don't receive the Ticket Designator for CHD and INF PTC (CH25, IN00) | You can see this parameter in the ItinReshopRS.
| ||
9 | Do S7 have transit flights (for example technical stops without flight number changing)? | Yes, but you can see information about trasits only in AirShoppingRS. In other RQ/RS trasits information isn't displayed.
| ||
10 | Is it possible to receive a ticketing time limit in AirShoppingRS? | No. You can receive it only in OrderViewRS (RS to booking request). | ||
11 | Will we get in response flights that end later than the date specified in the search? | Yes. | ||
12 | Пытаюсь выполнить запрос на любой метод и получаю в ответ ошибку: <ns3:Error Type="101" ShortText="032 - SI" Code="101"/> Что не так? | Проверьте верность реквизитов доступа к сервису NDC API в блоке Party к выбранной площадке (QA, Prod).4 | ||
13 | Тип самолета (тег Equipment). В ответе есть поле AircraftCode со значением ref, причем это значение совпадает для разных типов самолетов. Это издержки тестовой среды? В боевой будет передаваться код? Можно ли получить справочник по всем типам самолетов, чтобы мы проверили, что коды совпадают с теми, что мы используем и при необходимости добавили новые? |
# | Question | Answer | |||
---|---|---|---|---|---|
1 | What types of documents are used? | PP tyep only, but in the ID field you can enter information about any document:
| |||
2 | Can I specify multiple phone numbers and emails? | Yes, but you need to consider the following logic:
| |||
3 | How to specify TTL? | The TTL is calculated automatically. It's possible to enter it manually, but we recommend not using this functionality, as it will be closed soon. | |||
4 | What characters are forbidden for input? | You can't use the following characters: ; : * ' " ^ { } [ ] < > & # ! ` = % | |||
5 | What passenger data are required? | Required passenger data:
| |||
6 | Is it possible to change the automatic TTL? | There is no such possibility, the TTL is calculated according to the airline requirements. | |||
7 | Is the automatic time limit matches for the airline fare rules? | Yes. TTL is calculated according to the airline requirements, considering the partner airlines. | |||
8 | In what format are passport data entered (DOCS/FOID)? | In OrderCreateRQ you need to fill the PassengerDocument block. In GDS both SSRs are created. | |||
9 | Why is it necessary to enter the date of passport issuance? | The next filling of the PassengerDocument block is required: ADT, CHD, INF
CHD, INF
| |||
10 | Why there is no link between an infant and an adult? | The link exists, but is used only at the stage of issuing the ticket for infant. | |||
11 | What do the elements BirthCountry/CountryOfResidence describe? | BirthCountry — сountry of issue CountryOfResidence — citizenship | |||
12 | Will EMD information be displayed in PNR if EMD is issued? | Yes, it will be displayed like ticket information | |||
13 | What SSR codes are implemented? | DOCS FOID CHLD INFT FQTV TKNE XBAG EXST | |||
14 | Why there is no possibility to enter DOCA and DOCO SSRs? | At the stages of booking and ticketing, we don't require visa data. Visa is required on check-in. | |||
15 | Does theTTL guarantee automatic cancellation of the reservation? | Yes. Booked seats will be free. |
# | Question | Answer |
---|---|---|
1 | When the document changes, will the information change in both SSRs (DOCS/FOID)? | Yes. |
2 | How to buy seats for an existing booking? | Yes.
|
3 | Is it possible to book additional services if tickets have already been issued? | Yes.
|
4 | Is it possible to change the passport data in the existing booking? | Yes.
|
5 | When the OrderChangeRQ is executed, we get an error: <ns3:Error Type="LOC" Tag="Property change_book_request can not be empty" RecordID="CHNG_BOOK_RQ_IS_EMPTY"/>. | It's forbidden to use the following symbols: ; : * ' " ^ { } [ ] < > & # ! ` = % |
# | Question | Answer | |
---|---|---|---|
1 | What is the difference between a ETK and a EMD? | ETK - Electronic Ticket. Document confirming the payment of the itinerary. EMD - Electronic Miscellaneous Document. Document confirming the payment of services
| |
2 | Is the ticket issued for each segment of the flight? | No, the ticket is issued for the whole itinerary, but for each passenger in the booking. | |
3 | Is it possible to rуfund ETK/EMD? | No, at the moment, only void operation is implemented for ETK/EMD. | |
4 | If there are booked extra services in the booking, is the ticket issued at the same time as the EMD or is it not important? | EMDs are issued only after the ticket is issued. | |
5 | How can we get a terminal view of ETK/EMD? | Issue of terminal type of ETK/EMD is not implemented. You can read the issued ETK/EMD using the operation AirDocDisplayRQ.
| |
6 | Is the Remarc parameter mandatory in the Payment block and, if so, what is its format? | Yes, this is a mandatory parameter. Corresponds to RMK type in Gabriel - text field.
|
# | Question | Answer |
---|---|---|
1 | I can't void a ticket.What could be the reason? | Voided the ticket can only use the same validator, under which the ticket was issued. Make sure you use the same validator. |
2 | Are there any features of void operation? |
ETK Type code - 702 EMD Type code - Y |
3 | When can I void a ticket? | You can void the ticket until 23:59 of the current day (day of ticket issue).
|
4 | If the ticket is issued on the day of departure, can I void it after departure or only until? If we can't void the ticket after departure, then for what time before we need to void it? | The main thing isn't to allow a NO-SHOW (NS) — a situation, when the passenger fails to show for the flight before the check-in closing and notify the carrier of cancelling the carriage. You can void the ticket after departure until 23:59 of the current day (If the ticket is not used), but it is better to void the ticket before departure. |
Table of contents:
Прекрасно, выполнить следующие шаги Prod NDC API
Мы используем три типа пассажиров: ADT - старше 12-ти лет, CHD - младше 12-ти лет, но старше 2-х лет, INF - до 2-х лет.
Все оплаты происходят только через Invoice. Отметим, что обработка платежей происходит не на нашей стороне. Invoice <ns3:Type> где MS — константа, IN*A*AGENT_NAME — реквизиты агента
По данной информации стоит обратиться в Департамент продаж (ДП)
QA — https://qa-gaia.s7.ru/agent-api/gaia PROD — https://api.s7.ru/agent-api/gaia
Нет
Да, такую ситуацию мы учитываем.
Создаём бронирование (OrderCreateRQ) > Уточняем цену (ItinReshopRQ) > Выписываем билет (AirDocIssueRQ)
Социальных категорий нет. Используем три типа пассажиров:
Терминальный текст не реализован.
Данный функционал не реализован
Доступ предоставляется агентам владеющим: basic-auth, сертификатом. Не имея таковых – агенты получают ошибку доступа. Прошу попросить представителей Портбилета оформить в jira задачи на выдачу сертификата, basic-auth.
Подробности по созданию можно найти здесь: создание запроса на сертификат
Запроса на предоставление маршутной сети S7 – нет.
Тарифы брендированные.
На текущий момент возвраты, очереди не реализованы в API.
Подозреваю, что не прописана версия в http header. Указывали версию? Первичная настройка инструмента SoapUI |
Данный блок описывает штрафы соответствующие определённому FareGroup. Штрафы имеют несколько типов: ADE (After departure), PDE (Prior to departure) - это штрафы, если человек обратится после вылета или до, NS (noshow) - неявка на рейс.
AirShopping выполняет поиск предложений с минимальной стоимостью (Y - эконом, C - бизнес). BFAirShoppingRQ это уже поиск предложений для тарифной сетки: basicEconomy, flexEconomy, basicBusiness, flexBusiness. Slice0 показывает варианты для полёта туда, а Slice1 - обратно.
Проверьте верность реквизитов доступа к сервису NDC API в блоке Party к выбранной площадке (QA, Prod).
Поддерживаем два решения. Можно не указывать вообще или поставить 0.
Поиск с опцией на диапазон дат не реализован, но планируется (подробности будут после разработки). Но если зададим поиск,
Есть
Рейсы S7, GH и codeshare. Появление интерлайнов планируем выкатить в prod/qa в скором времени, проинформируем дополнительно об этом.
В circuityLimit нельзя установить значение равное 0, стоит просто его убрать, если не желаете применять. На своей стороне мы определили оптимальные значения circuityLimit и durationLimit, которые соответствует выдаче, как на сайте s7.ru.\ Да, мы можем регулировать выдачу прямые рейсы или нет — отвечает значение DirectPreferences: Exclude - прямые + трансферы, Preferred - только прямые.
Упоминаемые Вами суффиксы пассажиров разных типов мы не указываем на ответе AirShoppingRS. Эти данные можно найти в ответе запроса ItinReshopRQ.
Указывайте всегда на QA/ PROD <ns3:AircraftCode>ref</ns3:AircraftCode>. ref — заглушка.
Штрафы имеют несколько типов: ADE (After departure), PDE (Prior to departure) - это штрафы, если пассажир обратится после вылета или до, NS (no-show) - неявка на рейс. Возвраты в API ещё не реализованы, а правила можно посмотреть в ответе запроса FareRulesRQ.
На сколько помню, то у нас сейчас таких рейсов на текущий момент нет. Но этот момент мы должен быть учтён в рамках flightinfo.
Информация о типе питания есть в ответе запроса flightinfo.
Тайм-лимит для выписки мы не предоставляем на этапе шоппинга, только после создания брони.
Да, такую ситуацию мы учитываем. |
Номер документа в бронировании указывать можно какой угодно. Но тип документа – всегда PP. Например для младенца будет PP VIIMU123456 – свидетельство о рождении.
EmailContact - методом book допускается указание одного адреса. В дальнейшем есть возможность редактировать контакты существующего бронирования используя метод changeBook. Например добавить произвольное кол-во email контактов.
Можно установить вручную или автоматически.
Вводите символы, которые не поддерживаются, например: ; : * ' " ^ { } [ ] < > & # ! ` = %
На этапах создания брони (OrderCreateRQ), репрайса (ItinReshopRQ) полётные сегменты стоит распределить по блокам OriginDestination по соответствующим направлениям, т.е. рейсы туда вставляем в один OrginDestination, а рейсы обратно в другой блок OriginDestination. Например, RT DME-SIP:
Отчество необязательно. Необходимы: фамилия и имя, контакты пассажира, полётный сегмент.
Автоматический тайм-лимит присутствует.
Более ручной тайм-лимит можно не использовать. Автоматический полностью соответствует актуальным правилам тайм-лимита и исключает ситуацию из вашего 6 вопроса.
Установки автоматического тайм-лимита происходит согласно правилам, которые используется при покупке на сайте.
Такой метод не предусмотрен.
Присутствуют SSR DOCS, FOID. Ниже пример из терминала при открытии, созданной брони через API.
Это поле можно не указывать. Бронь сформируется без него.
У младенца нет паспорта, однако есть свидетельство о рождении. Данные свидетельства так же вносятся в запросе OrderCreate в блоке <ns3:PassengerDocument>
<ns3:BirthCountry> </ns3:BirthCountry> — код страны выдачи документа; <ns3:CountryOfResidence> </ns3:CountryOfResidence> — гражданство.
Ассоциация младенца со взрослым происходит. Привожу текст из документации:
Да, информация о EMD будет указана аналогично EMD.
Всё верно. В инициирующем запросе на формирование брони (OrderCreateRQ) агент указывает только паспортные данные. SSRCode="DOCS" и SSRCode="FOID" самостоятельно агент не указывает – это наша забота.
SSR DOCS, FOID, CHLD (ребёнок от 2 до 12 лет), INFT (ребёнок до 2 лет), FQTV (информация по мильной программе постоянного пассажира), TKNE (номер ETK), XBAG (сверхнормативный багаж), EXST (доп.место)
Опишу подробнее, в созданном PNR можем корректировать SSR, а именно: контакты (телефон, емайл), паспортные данные (DOCS) и FOID, FQTV.
Да, гарантирует и заморозки не будет.
Тайм-зона — GMT +0
BaggageCharges — предоставляет дополнительный багаж по определенному перелету. Да, он платный и ввод свободного текста не нужен. |
Для внесения доп.услуг в существующий PNR - используем запрос OrderChange. На текущий момент запрос позволяет добавить места, ремарки в бронь, а со временем реализуем такую же возможность и для багажа.
Да, возможно. Добавление мест, багажа.
Поддерживается изменение паспортных данных и FOID |
ETK - электронный билет. EMD (Electronic Miscellaneous Document) - квитанция разных сборов (выбор места, до.багаж). Стоит отметить, что запросах на зачитку/войдирование Type"Code" для ETK - 702, а для EMD - Y.
Нет. ETK (электронный билет) оформляется на все сегменты маршрута. Но выписывается ETK на каждого пассажира, указанного в брони.
На текущий момент — нет.
После выписки ETK.
Выдача терминальнго вида квитанции EMD не реализована в API. Данные о выписанном бланке EMD можно посмотреть с помощью метода AirDocDisplayRQ.
Да, необходимо указывать. |
Проверьте, что валидаторы одинаковые.
<ns3:Type> <ns3:Type>
Более ограничений нет, кроме обычного — войдирование производится до 23-59 (GMT +0) текущих суток выписки.
Главное не допустить NO SHOW – ситуация, когда пассажир не явился на рейс, не поставив в известность а/к. Если предупредили, места сняли — войдировать легально после вылета до 23:59, но желательно лучше выполнить до вылета. |