Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Children Display
alltrue
styleh2
excerptTyperich content

Table of contents:

Table of Contents

Common questions

#QuesrionAnswer1

How to access the product environment?

(lightbulb)You can read about it here2

What types of passengers are used in the API?

3 types of passengers are used:

      • adult (ADT) —  passengers from 12 years and older
      • child (CHD) — passengers from 2 to 12 years
      • infant (INF) —  passengers under 2 years
Note
iconfalse

(lightbulb) If the passenger is 2 years old, he is a CHD

(lightbulb) If the passenger is 12 years old, he is an ADT

3

What types of payment can be used?

Only one payment method is used - invoice

Code Block
languagexml
themeConfluence
titlePayment type view in ticketing RQ
collapsetrue
<Type>
   <Code>MS</Code>
</Type>
<Other>
   <Remarks>
      <Remark>IN*A*AGENT_NAME</Remark>
   </Remarks>
</Other>

where:

MS — payment type code (invoice)

IN*A*AGENT_NAME — agent details

Note
iconfalse

(lightbulb) Processing of payments isn't on our side.

4

How can I get information about flights commissions and manage agency fees?

You need to contact the sales department.

5

Enviroment

6

Is the Multi-City method implemented in API?

Yes.

(lightbulb)You can read about it here

7

How does the standard ticketing scenatio looks?

searchFlight (AirShoppingRQ) → book (OrderCreateRQ) → reprice (ItinReshopRQ) → demandTicket (AirDocIssueRQ)

(lightbulb)You can read about it here Scenarios

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

Нужен доступ к 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.12

How to access the test environment?

(lightbulb)You can read about it here13Can I get an S7 route map?There is no such request in API.14

Are all S7 fares branded?

Yes.15

Is the refund method implemented in API?

No, currently the refands are not implemented.16

При попытке послать запрос на API, через SOAPUI, получаем в ответ 'Unknown operation.'

Подозреваю, что не прописана версия в http header. Указывали версию? Первичная настройка инструмента SoapUI17Так же нет ничего про очереди???WTF

Search operation questions

#QuesrionAnswer1

What does the PenaltyList block mean (AirShoppingRS)?

Fare penalties informarion block.

(lightbulb)Penalties types:

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) - неявка на рейс. 

(lightbulb)You can see the full fare rules application by FareRulesRQ

2What is the difference between LowFare and BrandedFares search methods?
  1. Low Fare search — search for offers with a minimal price. Solutions include information for a whole requested journey (no matter OW or RT).
  2. Branded fares search — solutions include information only for requested slice of journey (only inbound or outbound itinerary). Pricing also divided by fare family and mostly includes 4 or 2 sub solutions (Basic Economy, Flex Economy, Basic Business, Flex Business) for each itinerary solution.
3

Пытаюсь выполнить запрос на любой метод и получаю в ответ ошибку: <ns3:Error Type="101" ShortText="032 - SI" Code="101"/>  Что не так?

Проверьте верность реквизитов доступа к сервису NDC API в блоке Party к выбранной площадке (QA, Prod).4How to manage parameters in the Travelers block in AirShoppingRQ?

You can add all types of passengers and specify there quantity (from 0 to 9)

Code Block
languagexml
themeConfluence
titleManage by quantity
collapsetrue
 <ns3:Travelers>
   <ns3:Traveler>
      <ns3:AnonymousTraveler>
         <ns3:PTC Quantity="1">ADT</ns3:PTC>
      </ns3:AnonymousTraveler>
   </ns3:Traveler>
      <ns3:Traveler>
      <ns3:AnonymousTraveler>
         <ns3:PTC Quantity="0">CHD</ns3:PTC>
      </ns3:AnonymousTraveler>
   </ns3:Traveler>
      <ns3:Traveler>
      <ns3:AnonymousTraveler>
         <ns3:PTC Quantity="0">INF</ns3:PTC>
      </ns3:AnonymousTraveler>
   </ns3:Traveler>
 </ns3:Travelers>

You can specify only the required types

Code Block
languagexml
themeConfluence
titleManage by PTC
collapsetrue
 <ns3:Travelers>
   <ns3:Traveler>
      <ns3:AnonymousTraveler>
         <ns3:PTC Quantity="1">ADT</ns3:PTC>
      </ns3:AnonymousTraveler>
   </ns3:Traveler>
 </ns3:Travelers>
5Is it possible to search flights with the option +- 1 day?No.6Is it possible to search for a complex route, or OW/RT only?

Yes.

(lightbulb)You can read about it here

7Is it possible to search for a partner flights (COdeShare/SPA)?

Yes.

(lightbulb)You can read about it here Scenarios

8Can I request only direct flights?

Yes. It's necessary to specify the following search parameter:

Envelope /Body /AirShoppingRQ /Preferences /Preference /FlightPreferences /Characteristic /DirectPreferences="Preferred"

Code Block
languagexml
themeConfluence
titleDirect flight parameter
collapsetrue
Preferences>
   <Preference>
      <FlightPreferences>
         <Characteristic>       
		    <DirectPreferences>Preferred</DirectPreferences>
         </Characteristic>
      </FlightPreferences>
   </Preference>
</Preferences>
9Why 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.

(lightbulb)You can see an example here OW + 2xADT 2xCHD 2xINF + Transfer + SPA | v0.35 | reprice operation

10

Тип самолета (тег Equipment). В ответе есть поле AircraftCode со значением ref, причем это значение совпадает для разных типов самолетов. Это издержки тестовой среды? В боевой будет передаваться код? Можно ли получить справочник по всем типам самолетов, чтобы мы проверили, что коды совпадают с теми, что мы используем и при необходимости добавили новые?

11Do 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.

(lightbulb)You can see an example here OW + 1xADT + Transit + S7 | v0.35 | searchFlight operation

12Is it possible to receive a ticketing time limit in AirShoppingRS?No. You can receive it only in OrderViewRS (RS to booking request).13Will we get in response flights that end later than the date specified in the search?Yes.

Book operation questions

#QuesrionAnswer1

What types of documents are used?

PP tyep only, but in the ID field you can enter information about any document:

Code Block
languagexml
themeConfluence
titlePassport
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>131231231222</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>
Code Block
languagexml
titlebirth certificate
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>rbrtrtvgb123456</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>
2Can I specify multiple phone numbers and emails?

Yes, but you need to consider the following logic:

e-mails — for each e-mail created a separate Contact element

Code Block
languagexml
themeConfluence
titlee-mails
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.conelly@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.ercrvev@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
</ns3:Contacts>

phoneContact — you can specify several phone numbers in one PhoneContact block

Code Block
languagexml
themeConfluence
titlephoneContact
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:PhoneContact>
            <ns3:Number CountryCode="+375" AreaCode="29">3277438</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">44444444</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">66666666</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">77777777</ns3:Number>
        </ns3:PhoneContact>
    </ns3:Contact>
</ns3:Contacts>

both types

Code Block
languagexml
themeConfluence
titleboth types
collapsetrue
<ns3:Contacts>
    <ns3:Contact>
        <ns3:PhoneContact>
            <ns3:Number CountryCode="+375" AreaCode="29">3277438</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">44444444</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">66666666</ns3:Number>
            <ns3:Number CountryCode="+375" AreaCode="29">77777777</ns3:Number>
        </ns3:PhoneContact>
        <ns3:EmailContact>
            <ns3:Address>l.conelly@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
    <ns3:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.ercrvev@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
</ns3:Contacts>
3How 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.4What characters are forbidden for input?

You can't use the following characters:

; : * ' " ^ { } [ ] < > & # ! ` = %

5What passenger data are required?

Required passenger data:

  • Surname
  • Given
  • Age
  • Contacts
  • PassengerDocument
6Is it possible to change the automatic TTL?There is no such possibility, the TTL is calculated according to the airline requirements.7In what format are passport data entered (DOCS/FOID)?

In OrderCreateRQ you need to fill the PassengerDocument block.

In GDS both SSRs are created.

8Why is it necessary to enter the date of passport issuance?

The next filling of the PassengerDocument block is required:

ADT, CHD, INF

Code Block
languagexml
themeConfluence
titlePassport
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>131231231222</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>

CHD, INF

Code Block
languagexml
titlebirth certificate
collapsetrue
<ns3:PassengerDocument>
    <ns3:Type>PP</ns3:Type>
    <ns3:ID>rbrtrtvgb123456</ns3:ID>
    <ns3:BirthCountry>RU</ns3:BirthCountry>
    <ns3:DateOfIssue>2008-06-06</ns3:DateOfIssue>
    <ns3:DateOfExpiration>2028-06-06</ns3:DateOfExpiration>
    <ns3:CountryOfResidence>RU</ns3:CountryOfResidence>
</ns3:PassengerDocument>
9Why 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.10What do the elements BirthCountry/CountryOfResidence describe?

BirthCountry — сountry of issue

CountryOfResidence — citizenship

11Will EMD information be displayed in PNR if EMD is issued?Yes, it will be displayed like ticket information12When the document changes, will the information change in both SSRs (DOCS/FOID)?Yes.13What SSR codes are implemented?

DOCS

FOID

CHLD

INFT

FQTV

TKNE

XBAG

EXST

14At the stages of booking and ticketing, we don't require visa data.

Table of contents:

Table of Contents

Expand
titleОбщие вопросы
    • Нас всё устраивает и мы хотим выходить в prod, что нужно сделать?

Прекрасно, выполнить следующие шаги Prod NDC API

    • Какие типы пассажиров используются? 

Мы используем три типа пассажиров: ADT - старше 12-ти лет, CHD - младше 12-ти лет, но старше 2-х лет, INF - до 2-х лет.

    • Какой тип оплаты используется?

Все оплаты происходят только через Invoice. Отметим, что обработка платежей происходит не на нашей стороне.

   Invoice

<ns3:Type>
<ns3:Code>MS</ns3:Code>
</ns3:Type>
<ns3:Other>
<ns3:Remarks>
<ns3:Remark>IN*A*AGENT_NAME</ns3:Remark>
</ns3:Remarks>
</ns3:Other>

где MS — константа, IN*A*AGENT_NAME — реквизиты агента

    • Каким образом можно получить информацию о комиссиях на направлениях, как управлять агентскими сборами?

По данной информации стоит обратиться в Департамент продаж (ДП)

    • Напомните точки доступа приложения.

QA —  https://qa-gaia.s7.ru/agent-api/gaia

PROD — https://api.s7.ru/agent-api/gaia

    • Реализован ли в сервисе метод Multi-City?

Нет

    • Очень интересует. Делаем поиск рейсов, например, на 1 июня. Попадут ли в выдачу рейсы, которые прибывают в аэропорт назначения уже на следующий день, т.е. 2 июня?

Да, такую ситуацию мы учитываем.

    • Как выглядит алгоритм выписки билета, какого сценария придерживаться?

Создаём бронирование (OrderCreateRQ) > Уточняем цену (ItinReshopRQ) > Выписываем билет (AirDocIssueRQ)

    • Есть ли возможность поиска социальных категорий пассажиров – пенсионеры, молодежь, моряки, студенты и т.д.?

Социальных категорий нет. Используем три типа пассажиров:

    1. ADT (взрослый) старше 12 лет;
    2. CHD (ребёнок) от 2-х лет, но не старше 12;
    3. INF (младенец) до 2-х лет.
    • Можно ли получить отображение терминального текста актуальных данных PNR? Или только строить шаблон из ответа XML?

Терминальный текст не реализован.

    • Есть ли возможность  добавить информацию о визе и месте пребывания? (DOCO DOCA)

Данный функционал не реализован

    • Нужен доступ к 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.

    • Нужен доступ к тестовому сервису: адрес, логин, пароль и/или прочие параметры.

Подробности по созданию можно найти здесь: создание запроса на сертификат

    • В документации не описана возможность получения маршрутной сетки.

Запроса на предоставление маршутной сети S7 – нет.

    • Все ли тарифы S7 брендированные? Если нет, то может возникнуть проблема с получением всех тарифов для небрендированных тарифов, в документации это не описано.

Тарифы брендированные.

    • В документе описано войдирование, но ничего нет про возвраты. Так же нет ничего про очереди.

На текущий момент возвраты, очереди не реализованы в API.

    • При попытке послать запрос на API, через SOAPUI, получаем в ответ 'Unknown operation.'

Подозреваю, что не прописана версия в http header. Указывали версию? Первичная настройка инструмента SoapUI

Expand
titleПоиск предложений авиакомпании
    • Что означает блок Penalties в AirShoppingRQ? Какие типы бывают?

Данный блок описывает штрафы соответствующие определённому FareGroup. Штрафы имеют несколько типов: ADE (After departure), PDE (Prior to departure) - это штрафы, если человек обратится после вылета или до, NS (noshow) - неявка на рейс. 

    • В чём отличие BFAirShoppingRQSlice0 от BFAirShoppingRQSlice1 и AirShopping?

AirShopping выполняет поиск предложений с минимальной стоимостью (Y - эконом, C - бизнес). BFAirShoppingRQ это уже поиск предложений для тарифной сетки: basicEconomy, flexEconomy, basicBusiness, flexBusiness. Slice0 показывает варианты для полёта туда, а Slice1 - обратно.

    • Пытаюсь выполнить запрос на любой метод и получаю в ответ ошибку: <ns3:Error Type="101" ShortText="032 - SI" Code="101"/>  Что не так?

Проверьте верность реквизитов доступа к сервису NDC API в блоке Party к выбранной площадке (QA, Prod).

    • В запросе AirShopping, когда указываю пассажиров в разделе Travalers, если нет пассажиров определённой категории (например, INF или CHD) — то полностью блок не указываем, или допустимо же указать там Quantity = 0?

Поддерживаем два решения. Можно не указывать вообще или поставить 0.

    • Есть ли возможность поиска с опцией +- 1 день?

Поиск с опцией на диапазон дат не реализован, но планируется (подробности будут после разработки). Но если зададим поиск,
например, на 25/03 по маршруту DME-OVB, то в поисковой выдаче будут присутствовать рейсы, которые уже закончатся 26/03  – это мы учитываем.

    • Есть ли возможность поиска сложного маршрута, или только OW и RT ?

Есть

    • В вашем API поиск и продажа возможна только на чистые рейсы S7 ? Или возможно на кодшеринговые рейсы S7 тоже?

Рейсы S7, GH и codeshare. Появление интерлайнов планируем выкатить в prod/qa в скором времени, проинформируем дополнительно об этом.

    • Можно ли указать в запросе необходимость поиска только прямых перелетов? Я попробовал указать circuityLimit = 0.0, но получил ошибку, что значение должно быть больше 0.

В circuityLimit нельзя установить значение равное 0, стоит просто его убрать, если не желаете применять. На своей стороне мы определили оптимальные значения circuityLimit и durationLimit, которые соответствует выдаче, как на сайте s7.ru.\

Да, мы можем регулировать выдачу прямые рейсы или нет — отвечает значение DirectPreferences: Exclude - прямые + трансферы, Preferred - только прямые.

    • При запросе разных типов пассажира, коды тарифов (fare basis) в ответе указаны для взрослого. У других типов пассажиров обычно есть суффиксы (/CH25, /IN00, ...) и мы их отображаем. Можно ли их как-то получить?

Упоминаемые Вами суффиксы пассажиров разных типов мы не указываем на ответе AirShoppingRS. Эти данные можно найти в ответе запроса ItinReshopRQ.
Например, выдержка для CHD: <ns3:TicketDesig Application="CH">25</ns3:TicketDesig>

    • Тип самолета (тег Equipment). В ответе есть поле AircraftCode со значением ref, причем это значение совпадает для разных типов самолетов. Это издержки тестовой среды? В боевой будет передаваться код? Можно ли получить справочник по всем типам самолетов, чтобы мы проверили, что коды совпадают с теми, что мы используем и при необходимости добавили новые?

Указывайте всегда на QA/ PROD <ns3:AircraftCode>ref</ns3:AircraftCode>. ref — заглушка.

    • Штрафы (тег Penalty). В тестовом запросе пришло два элемента Detail, один с Type=PDE, другой без Type. Расскажите, пожалуйста, подробнее об этом блоке.

Штрафы имеют несколько типов: ADE (After departure), PDE (Prior to departure) - это штрафы, если пассажир обратится после вылета или до, NS (no-show) - неявка на рейс. Возвраты в API ещё не реализованы, а правила можно посмотреть в ответе запроса FareRulesRQ.

    • Технические остановки. Бывают ли у S7 технические остановки (например дозаправка) без смены номера рейса? Если да, то предоставьте пожалуйста пример, как это выглядит в протоколе.

На сколько помню, то у нас сейчас таких рейсов на текущий момент нет. Но этот момент мы должен быть учтён в рамках flightinfo.

    • Можно ли как-то получить информацию о предоставляемом питании (есть/нет, тип (легкий перекус, горячий обед и т.д.), платно/бесплатно)?

Информация о типе питания есть в ответе запроса flightinfo.

    • Можно ли получать тайм-лимит для выписки на этом этапе?

Тайм-лимит для выписки мы не предоставляем на этапе шоппинга, только после создания брони.

    • Очень интересует. Делаем поиск рейсов, например, на 1 июня. Попадут ли в выдачу рейсы, которые прибывают в аэропорт назначения уже на следующий день, т.е. 2 июня?

Да, такую ситуацию мы учитываем.

Expand
titleБронирование
    • Какие типы документов поддерживаются?

Номер документа в бронировании указывать можно какой угодно. Но тип документа – всегда PP. Например для младенца будет PP VIIMU123456 – свидетельство о рождении.

    • Можно ли указать второй email, моб.телефон?

EmailContact - методом book допускается указание одного адреса. В дальнейшем есть возможность редактировать контакты существующего бронирования используя метод changeBook. Например добавить произвольное кол-во email контактов.
PhoneContact - для CountryCode и AreaCode максимальное количество символов = 15, логика позволяет использовать буквенные символы. Методом book допускается указание произвольного кол-во телефонных контактов.

    • Тайм-лимит вводится вручную? 

Можно установить вручную или автоматически.

    • При выполнении запроса OrderChangeRQ получаем ошибку <ns3:Error Type="LOC" Tag="Property change_book_request can not be empty" RecordID="CHNG_BOOK_RQ_IS_EMPTY"/>

Вводите символы, которые не поддерживаются, например:  ; : * ' " ^ { } [ ] < > & # ! ` = %

Note
Хотим обратить ваше внимание:

На этапах создания брони (OrderCreateRQ), репрайса (ItinReshopRQ) полётные сегменты стоит распределить по блокам OriginDestination по соответствующим направлениям, т.е. рейсы туда вставляем в один OrginDestination, а рейсы обратно в другой блок OriginDestination.

Например, RT DME-SIP:

Code Block
languagexml
                   <ns3:OriginDestination>
                    <ns3:OriginDestinationKey>OD1</ns3:OriginDestinationKey>
                    <ns3:Flight>
                      <ns3:SegmentKey>FL1</ns3:SegmentKey>
                      <ns3:Departure>
                        <ns3:AirportCode>DME</ns3:AirportCode>
                        <ns3:Date>2016-10-04</ns3:Date>
                        <ns3:Time>08:50</ns3:Time>
                      </ns3:Departure>
                      <ns3:Arrival>
                        <ns3:AirportCode>SIP</ns3:AirportCode>
                        <ns3:Date>2016-10-04</ns3:Date>
                        <ns3:Time>11:20</ns3:Time>
                      </ns3:Arrival>
                      <ns3:MarketingCarrier>
                        <ns3:AirlineID>S7</ns3:AirlineID>
                        <ns3:FlightNumber>263</ns3:FlightNumber>
                      </ns3:MarketingCarrier>
                      <ns3:OperatingCarrier>
                        <ns3:AirlineID>S7</ns3:AirlineID>
						 </ns3:OperatingCarrier>
                      <ns3:ClassOfService>
                        <ns3:Code>W</ns3:Code>
                        <ns3:MarketingName></ns3:MarketingName>
                      </ns3:ClassOfService>
                    </ns3:Flight>
                    </ns3:OriginDestination>
                    <ns3:OriginDestination>
                    <ns3:Flight>
                      <ns3:SegmentKey>FL2</ns3:SegmentKey>
                      <ns3:Departure>
                        <ns3:AirportCode>SIP</ns3:AirportCode>
                        <ns3:Date>2016-10-06</ns3:Date>
                        <ns3:Time>12:10</ns3:Time>
                      </ns3:Departure>
                      <ns3:Arrival>
                        <ns3:AirportCode>DME</ns3:AirportCode>
                        <ns3:Date>2016-10-06</ns3:Date>
                        <ns3:Time>14:45</ns3:Time>
                      </ns3:Arrival>
                      <ns3:MarketingCarrier>
                        <ns3:AirlineID>S7</ns3:AirlineID>
                        <ns3:FlightNumber>264</ns3:FlightNumber>
                      </ns3:MarketingCarrier>
                      <ns3:OperatingCarrier>
                        <ns3:AirlineID>S7</ns3:AirlineID>
                      </ns3:OperatingCarrier>
                      <ns3:ClassOfService>
                        <ns3:Code>S</ns3:Code>
                        <ns3:MarketingName></ns3:MarketingName>
                      </ns3:ClassOfService>
                    </ns3:Flight>
                  </ns3:OriginDestination>
    • Обязательно ли внесение отчества при создании бронирования? Какие элементы внесения данных пассажира обязательны?

Отчество необязательно. Необходимы: фамилия и имя, контакты пассажира, полётный сегмент.

    • Соответствует ли установление автоматического тайм лимита при создании брони правилам применения тарифа авиакомпании?
      Не получится ли, что срок выкупа билета истечет раньше, чем установленный автоматический тайм лимит?

Автоматический тайм-лимит присутствует.

    • Для чего нужен ручной тайм лимит?

Более ручной тайм-лимит можно не использовать. Автоматический полностью соответствует актуальным правилам тайм-лимита и исключает ситуацию из вашего 6 вопроса.

    • Нужно ли менять установленный автоматический тайм лимит в зависимости от ремарок авиакомпании о сроках выкупа (SSR). Есть ли такое понятие в NDC?

Установки автоматического тайм-лимита происходит согласно правилам, которые используется при покупке на сайте.

    • Если необходимость корректировать тайм лимит в зависимости от полученной ремарки авиакомпании имеет место, то какой метод это позволяет?

Такой метод не предусмотрен.

    • В каком формате вносятся паспортные данные пассажира? (DOCS? FOID ?)

Присутствуют SSR DOCS, FOID. Ниже пример из терминала при открытии, созданной брони через API.

    • Почему во внесении данных о пассажирах есть обязательное поле – даты выдачи документа, а в отображении PNR данного поля нет. Или оно не обязательное?

Это поле можно не указывать. Бронь сформируется без него.

    • Почему нет паспортных данных по младенцу?

У младенца нет паспорта, однако есть свидетельство о рождении. Данные свидетельства так же вносятся в запросе OrderCreate в блоке <ns3:PassengerDocument>

    • Гражданство – это <ns3:CountryOfResidence>? А национальность? - <ns3:BirthCountry>? Или это одно и тоже? В чем разница?

  <ns3:BirthCountry> </ns3:BirthCountry> — код страны выдачи документа; <ns3:CountryOfResidence> </ns3:CountryOfResidence> — гражданство.

    • Почему нет ассоциации младенца с взрослым?

Ассоциация младенца со взрослым происходит. Привожу текст из документации:

Image Removed
    • Будет ли отображаться информация о EMD, если EMD будет выписано?

Да, информация о EMD будет указана аналогично EMD.

    • Правильно ли я поняла: когда мы через API вносим паспортные данные, то они вносятся в PNR в 2х форматах автоматически: SRDOCR и SRFOID ? При изменении данных обновление информации также производится в обоих ремарках?

Всё верно. В инициирующем запросе на формирование брони (OrderCreateRQ) агент указывает только паспортные данные. SSRCode="DOCS" и SSRCode="FOID" самостоятельно агент не указывает – это наша забота.

    • Какие коды SSR реализованы? Можете прислать список?

SSR DOCS, FOID, CHLD (ребёнок от 2 до 12 лет), INFT (ребёнок до 2 лет), FQTV (информация по мильной программе постоянного пассажира), TKNE (номер ETK), XBAG (сверхнормативный багаж), EXST (доп.место)

    • DOCA и DOCO - это одни из кодов SSR, которые есть согласно вашего ответа в п.14. Если не реализованы эти коды, то как агенты добавляют данную информацию? или S7 не летает по маршрутам, где требуется внесение данных визы и места пребывания?

Опишу подробнее, в созданном PNR можем корректировать SSR, а именно: контакты (телефон, емайл), паспортные данные (DOCS) и FOID, FQTV.
Что касается DOCA/DOCO, то действует принцип, как при покупке билета через сайт. Информация о визе указывается на этапе регистрации на рейс при полётах в Германию, Испанию, США, т.е. на этапах создания брони, выписки билета мы не требуем данные визы. Такой же принцип используется на API.

    • Установление автоматического тайм лимита гарантирует автоматическое снятие брони системой в указанное в тайм лимите время? Не будет заморозки мест?

Да, гарантирует и заморозки не будет.

    • VOID билета разрешен как обычно до 23.59 текущих суток выписки? По какой тайм зоне?

Тайм-зона — GMT +0

    • При запросе дополнительного сервиса – багаж (BaggageCharges) система выдает только сверхнормативный багаж, который платный? Или есть еще другие опции?
      Нужен ли ввод какого-то свободного текста, чтоб забронировать багаж? (например, вес и размеры) или такие данные уже заложены автоматически.

BaggageCharges — предоставляет дополнительный багаж по определенному перелету. Да, он платный и ввод свободного текста не нужен.

Expand
titleИзменить бронирование
    • Стоп. А если я захочу выбрать себе места на рейсе, но уже оформил бронь? Как быть?

Для внесения доп.услуг в существующий PNR - используем запрос OrderChange. На текущий момент запрос позволяет добавить места, ремарки в бронь, а со временем реализуем такую же возможность и для багажа.

    • Возможно ли бронирование дополнительных сервисов в PNR с выписанными ранее билетами?

Да, возможно. Добавление мест, багажа.

    • Можно ли корректировать паспортные данные в созданной брони?

Поддерживается изменение паспортных данных и FOID

Expand
titleВыписка ETK и EMD
    • ETK и EMD. В чём отличие? 

ETK - электронный билет. EMD (Electronic Miscellaneous Document) - квитанция разных сборов (выбор места, до.багаж). Стоит отметить, что запросах на зачитку/войдирование Type"Code" для ETK - 702, а для EMD - Y.

    • Билет выписывается на каждый сегмент забронированного полёта?

Нет. ETK (электронный билет) оформляется на все сегменты маршрута. Но выписывается ETK на каждого пассажира, указанного в брони.

    • Подскажите, а реализован ли возврат ETK, EMD?

На текущий момент — нет.

    • Если в PNR есть забронированные доп. сервисы, то выписка билетов обязательна одновременно с выпиской EMD? Или EMD может быть выписано до/после выписки билета?

После выписки ETK.

    • Подскажите, пожалуйста, а как нам можно получить терминальный вид квитанции EMD или данные о выписанном EMD для построения своего шаблона?

Выдача терминальнго вида квитанции EMD не реализована в API. Данные о выписанном бланке EMD можно посмотреть с помощью метода AirDocDisplayRQ.

    • Так а все таки поле «Text – свободный текст» обязательно в форме оплаты или нет? Если вы просите указывать там номер договора, то какой формат поля?

Да, необходимо указывать.
Это поле с ремаркой, соответствует типу RMK в Gabriel, т.е. пробелы можно вводить, а такие знаки, как ; : * ' " ^ { } [ ] < > & # ! ` = % уже нельзя.

Expand
titleВойдирование
    • Пытаемся завойдировать билет, но ничего не выходит! Что не так?

(warning) Правило: какой валидатор выписывает билет, тот же валидатор и войдирует. 

Проверьте, что валидаторы одинаковые.

    • Есть какие-то особенности при войдировании ETK, EMD?
    1. ETK, EMD могут быть войдированы до конца текущих суток, когда они были выписаны.  
    2. Войдировать может только тот валидатор, которым была произведена выписка ETK, EMD.
    3. В запросе AirDocVoidRQ стоит обратить внимание на код:

<ns3:Type>
<ns3:Code>702</ns3:Code>  ——> для войдирования ETK
</ns3:Type>

<ns3:Type>
<ns3:Code>Y</ns3:Code>     ——> для войдирования EMD
</ns3:Type>

    • VOID билета разрешен как обычно до 23.59 текущих суток выписки? Есть ли еще какие-нибудь ограничения на VOID?

Более ограничений нет, кроме обычного — войдирование производится до 23-59 (GMT +0) текущих суток выписки.

    • По поводу VOID – а если вылет в день выписки? За сколько часов до вылета можно VOID сделать. Или можно даже и после вылета до 23.59, если билет не использован.
Главное не допустить NO SHOW – ситуация, когда пассажир не явился на рейс, не поставив в известность а/к. Если предупредили, места сняли — войдировать легально после вылета до 23:59, но желательно лучше выполнить до вылета.