Common | FAQ



Question

Answer

1

How to access the product environment?

If you are newbie, just follow the steps, which provides the simplest way to quickly get an access to API

Or you already adopted your systems to our test environment? Notify our technical support by Kaiten for final testing under the supervision of our technologists and proceed to signing of the contract of EDS

2

How to access the test environment?

Follow steps to quickly get an access to API

3

Which endpoints should be used?

4

How does the standard ticketing scenario looks?

Simple operation flow: searchFlightsJourney (AirShoppingRQ) → book (OrderCreateRQ) → reprice (ItinReshopRQ) → demandTickets (AirDocIssueRQ)

Discover more scenarios from simplest flows to best practices

5

Is it possible to use social categories of passengers: pensioners, youth, sailors, students, etc.?

What types of passengers are available in the API?

No, only 3 types of passengers are available:

  • adult (ADT) —  passengers 12 years old and older

  • child (CHD) — passengers between 2 (inclusive) and 12 years old (exclusive)

    • 2-year-old passenger is a child

    • 12-year-old passenger is an adult

  • infant in a lap (INF) —  passengers under 2 years

6

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

For any financial questions you have to contact S7's sales department or your account manager via at vm@s7.ru

7

Is the Multi-City method implemented in API?

Yes, check searchFlights operation overview to find out. Samples will be available soon!

8

Is the refund method implemented in API?

No, the refunds are not implemented

9

Can I get an S7 route map?

There is no such request in API

10

Are all S7 fares branded?

Yes, all fares are split into 3 fare families, from the cheapest to the most equipped fare:

  • Economy Basic

  • Economy Standard

  • Economy Plus

  • Business Standard

  • Business Plus

11

Can I get a terminal text view of the current PNR data? Or just build a template from an XML response?

No, only XML display is available for input and output

12

Does the service support queues?

All requests to API are synchronous, queues are not used

13

I recieve "Unknown operation" in response, while requests executed in SoapUI

Check using of correct HTTP header of your requests:

  • X-API-Version — e.g. 0.52 or other

  • SOAPAction — e.g. "http://api.s7.ru/Reprice" or other

  • Content-Type: text/xml

Also you can find out how to handle with unsuccessful result and common access errors

14

When I try the link https://qa-gaia.s7.ru/agent-api/wsdl/0.52?wsdl

I get an error: "400 Bad Request. No required SSL certificate was sent."

You didn't use a right SSL certificate to download API's WSDL. Check you used certificate for the test environment (not for production):

Also you can find out how to handle with unsuccessful result and common access errors

15

I always recieve an error: "Can not perform operation without valid RequestorID" 

Probably, you used incorrect Agent credentials in Party tag. Contact to S7 API support with used credentials

Also you can find out how to handle with unsuccessful result and common access errors

searchFlights operation | FAQ


Question

Answer

1

What does the PenaltyList tag mean in response?

This is the list of fare penalties, which contains:

  • NO-SHOW (NS) — if the passenger failed to show for the flight before the check-in closing and notify the carrier of cancelling the carriage

  • PRIOR DEPARTURE (PDE) —  if the passenger want to change the conditions of transportation on the previously purchased air ticket before departure

  • AFTER DEPARTURE (ADE) — if the passenger want to change the conditions of transportation on the previously purchased air ticket after departure

For a full rules of fare use findRules operation (documentation will be available soon)

2

What is the difference between LowFare and BrandedFares search types?

  • Low Fare search — search for offers with a minimal price. Solutions include information for a whole requested journey (no matter OW or RT).

  • 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.

Check searchFlights operation overview for more details. Reference and samples are also available for both type of search

3

How to manage Travelers tag parameters in request?

  • You can add all obtainable types of passengers (adult, child, infant in a lap) in request and specify their's quantity (from 0 to 9)

     <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>


  • Or you can add only several types of passengers with specified quantity

     <ns3:Travelers>
       <ns3:Traveler>
          <ns3:AnonymousTraveler>
             <ns3:PTC Quantity="1">ADT</ns3:PTC>
          </ns3:AnonymousTraveler>
       </ns3:Traveler>
     </ns3:Travelers>


4

Where I can set the option +/- 1 day in request?

It's not supported by API, but will be available soon

5

Is it possible to search for a complex route, or OW/RT only?

Yes, Multi-City search with several stops between origin and destination is available for Branded fares type of search in searchFlights operation

Check searchFlights operation overview for more details. Reference and samples are also available for both type of search

6

How to search for partner flights (CodeShare or SPA)?

Explore user stories for CodeShare and SPA types of flights

7

Can I request only direct flights?

Yes. For applying direct flight filter you have to specify the following parameter in search request:

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


<Preferences>
   <Preference>
      <FlightPreferences>
         <Characteristic>       
		    <DirectPreferences>Preferred</DirectPreferences>
         </Characteristic>
      </FlightPreferences>
   </Preference>
</Preferences>

Check searchFlights operation overview for other search filters. Reference and samples are also available

8

Why we don't receive a ticket designator for CHD and INF passenger types (CH25, IN00)?

Ticket designator is sent by reprice operation. Explore the sample with request and response for all passenger types and try the full scenario. Reference for the operation is also available

9

Does S7 have transit flights (flights with technical stops without flight number changing)?

Yes, but this flight legs details available only in searchFlights operation response. Check sample with a transit flight or try the full scenario

(warning) For the other operations, the level of a flight detalisation stops at segments level (transit info isn't displayed)

10

I can't find a ticketing time limit in search results, where is it?

Ticketing time limit is sent only by book operation. Explore samples and check reference for the operation

11

Will we receive flights in search results, which arrives later than the specified slice date in request?

Yes, slice dates in request specify only solution's departure date, not arrival.

Dive deep into reference of searchFlights operation for details like this.


book operation | FAQ


#

Question

Answer

1

What types of documents are used?

PP type only, but you can enter any document identifier in the ID tag :

<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>

Check operation references for obtainable values for a request 

2

Can I specify multiple phone numbers and emails?

Yes, but you have to follow instructions below:

  • e-mails — for each e-mail create a separate Contact tag

<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 tag

<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>

  • using both:

<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:Contact>
        <ns3:EmailContact>
            <ns3:Address>l.ercrvev@mail.ru</ns3:Address>
        </ns3:EmailContact>
    </ns3:Contact>
</ns3:Contacts>

Explore book operation overview to the best practices. Reference and samples are also available

4

What characters are forbidden for input?

You can't use the following characters:

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

Check operation references for obtainable values for a request tags to avoid errors

5

What passenger data are required?

Required data for each passenger:

  • Given name

  • Surname

  • Date of birth

  • Document identifier

Also required for lead passenger (the first adult):

  • E-mail (at least one)

  • Phone number (at least one)

All mandatory fields are marked in book operation references.

9

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

It will be deprecated soon. Stay tuned for new releases

11

What do the BirthCountry and CountryOfResidence mean?

  • BirthCountry — Country of issue

  • CountryOfResidence — Citizenship

Check book operation references and samples for more info about passenger's document info

8

What passport data format is required for input (DOCS or FOID)?

Both SSRs are created by API regarding Document tag values

The Document tag is mandatory to fill for a Passenger in book operation request

Check book operation references and samples for more info about Document tag

13

What SSR codes are implemented?

The following SSR codes are accepted:

  • DOCS

  • FOID

  • CHLD

  • INFT

  • FQTV

  • TKNE

  • XBAG

  • EXST

Check book operation references for obtainable values for a request 

14

Why there is no possibility to enter DOCO (visa) or DOCA (residental address) SSRs?

S7 do not require visa details for booking and ticketing. It's required for check-in only

3

How to specify TTL?

Ticket time limit is calculated automatically

(warning) We do not recommend enter it manually, as it will be deprecated soon. Stay tuned for new releases 

6

Is it possible to change the automatic TTL?

There is no such possibility, a ticket time limit is calculated according to the airline requirements

(warning) We do not recommend enter it manually, as it will be deprecated soon. Stay tuned for new releases 

7

Is the automatic TTL matches for the airline fare rules?

Yes. Ticket time limit is calculated according to the airline requirements, considering the partner airlines

15

Does TTL guarantee automatic cancellation of the reservation?

Yes. Booked seats will be free

10

Why there is no link between an infant and an adult?

API creates links between adults and infants in a lap automatically

In case you have to specify infants to exact adults you can enter adult's ObjectKey in PassengerAssociation tag of infant's Passenger tag, e.g.:

<Passengers>
	<Passenger ObjectKey="SH1">
		<PTC Quantity="1">ADT</PTC>
        ...
    </Passenger>
	<Passenger ObjectKey="SH2">
		<PTC Quantity="1">INF</PTC>
		<PassengerAssociation>SH2</PassengerAssociation>
        ...
    </Passenger>
</Passengers>

12

Will EMD details be displayed in PNR if EMD is issued?

Yes, it will be displayed as a ticket information

To recieve EMD info as a part of PNR use read operation (documentation will be available soon)


demandTickets operation | FAQ


Question

Answer

1

What is the difference between ETK and EMD?

  • ETK - Electronic Ticket. Document confirming the payment of the itinerary.

    • Code "702" for demandTicket operation request

  • EMD - Electronic Miscellaneous Document. Document confirming the payment of services

    • Code "Y" for demandTicket operation request

Find out the most common use cases in demadTickets operation overview

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

Explore basic scenario with multiple types of passengers. Also demadTickets operation overview might be helpful

3

Is it possible to refund ETK or EMD?

No. But you can use void operation to cancel ETK or EMD (documentation will be available soon)

4

If extra services are requested in a booking, is it important to issue ETK at the same time as EMD or not?

EMDs must be issued only after the ticket has been issued

5

How can we get a text view of ETK or EMD?

API supports only XML data output.

Use retrieveTicket operation to receive ETK or EMD info (documentation will be available soon)

6

Is the Remark parameter mandatory in the Payment tag?

Yes, it's a mandatory parameter. Corresponds to RMK type in Gabriel — text field

(warning) Processing of payments isn't on S7 side

Explore demadTicket operation references to check format of request fields

7

What is Payment remark's format?

The payment remark's format:

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

where:

  • MS — payment type code (invoice)

  • *A*AGENT_NAME — agent details

(warning) It's forbidden to use the following symbols:

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

Explore demadTicket operation references to check format for other fields. Samples might be very helpful too

8

What types of payment can be used?

Only one payment method is used — invoice

Discover demadTicket operation overview to check all available use cases


voidTicket operation | FAQ


#

Question

Answer

1

I can't void a ticket. What could be the reason?

Make sure you use the same validator, which the ticket was issued with

2

Are there any features of void operation?

Yes, you may use the following codes in the requests to switch between use cases:

  • For ETK void — code "702"

  • For EMD void — code "Y"

4

When can I void a ticket?

If the ticket is issued at the day of departure, can I void it after departure or only until?

If not, until what time before we need to void it?

If the ticket is issued more than a day of departure

  • Before 23:00 GMT on the date of sale (before the booking system has generated an automated sale report)

    • ticket void is permitted

  • Between 23:00 and 24:00 GMT on the date of sale

    • only involuntary refund is permitted to proceed via booking system ((warning) the API doesn’t support refund operations)

  • After 24:00 GMT on the date of sale

    • it's not permitted to void ticket or proceed involuntary refund

If the ticket is issued on the day of departure

  • and issued more than 3 hours prior departure

    • Ticket void is permitted

    • not less than 3 hours prior departure

    • and only after the PNR has been cancelled more than 3 hours prior departure also

  • and issued less than 3 hours prior departure

    • Before 40 minutes prior departure

      • ticket void is permitted

      • within 30 minutes since the ticket issuance

      • more than 40 minutes prior departure

      • and only after the PNR has been cancelled more than 40 minutes prior departure also

    • After 40 minutes prior departure

      • void of the ticket is not permitted in that case

      • coupon status of the ticket will be changed to NO-SHOW (NS, the passenger failed to show for the flight before the check-in)

      • refund is performed according to fare rules ((warning) the API doesn’t support refund operations)

Check Electronic Ticketing Procedure of S7 Airlines (November 11, 2018) for any airline's rules details
Explore cancelBooking and voidTicket operations overview
(warning) Do not forget that the API doesn’t support refund operations


Workshop notes | 2017-09-28 | S7 Agent API

If you didn't find your question it the list, please, provide it to our technical support by Kaiten


Group

Question

Workshop notes | 2018-04-10 | S7 Agent API

Видео:

TRANSLITERATION OF THE ALPHABET AND CODES

Transliteration of the Russian alphabet into Latin (English version)

А

Coupon/Segment Statuses

Обозначение статусов купонов ET/EMD

ИндикаторОбозначениеЗначение статуса 
AAirport controlПод контролем аэропорта

Table of contents:

  • No labels

3 Comments

  1. На Firefox при 100% машстабе не отображается правая часть текста, приходится прокручивать ползунком.


    Сообщение можно удалить

  2. Unknown User (it@talarii.ru)

    На чьей стороне контроль времени, когда войдирование разрешено?

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

    23:00 GMT означает, что войдирование разрешено до 02:00 по московскому времени?

  3. Unknown User (it@talarii.ru) 

    После перехода в Amadeus аннулировать электронный билет можно только в день продажи до генерации
    отчета о продаже (до 00.00 местного времени). После истечения времени войдирование невозможно.