You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

#QuestionAnswer
1

How to access the product environment?

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

Or you already adopted your systems to our test environment? Notify our technical support by JIRA 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?

Explore the ways of submitting requests:

Error rendering macro 'excerpt-include'

No link could be created for 'Submitting requests'.

4

How does the standard ticketing scenario looks?

Simple operation flow: searchFlights (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.?

No, only 3 types of passengers are available:

  • adult (ADT)
  • child (CHD)
  • infant (INF)
6

What types of passengers are available in the API?

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 (INF) —  passengers under 2 years
7

What types of payment can be used?

Only one payment method is used — invoice

Payment type view in ticketing RQ
<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

Processing of payments isn't on our side

8

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

9

Is the Multi-City method implemented in API?

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

10

Is the refund method implemented in API?

No, the refunds are not implemented
11Can I get an S7 route map?There is no such request in API
12

Are all S7 fares branded?

Yes.
13

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

14

Can I add DOCO DOCA information?

No, only DOCS, FOID and FQTV SSRs are available

15Does the service support queues?In the API all requests are synchronous, queues are not used.
16

When we the requests is executed in SoapUI, we get an response: "Unknown operation"

Check using of correct HTTP header of your requests:

  • X-API-Version — e.g. 0.35 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

17

When I reach on the link: https://qa-gaia.s7.ru/agent-api/wsdl/0.35?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 that you used certificate for the test environment (not for production).

If it seems ok to you, contact to S7 API support with attached request body and headers

In case you never heard about access credentials to API, just follow the steps, which provides a simplest way to quickly get an access to API

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

18

We get an error: 

"032 - SI"

Incorrect Agent credentials in Party tag

Contact to S7 API support with used Agent credentials in Party tag

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

Book operation questions

#QuestionAnswer
1

What types of documents are used?

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

Passport
<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>
birth certificate
<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

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

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

    both types
    <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.
7Is the automatic time limit matches for the airline fare rules?Yes. TTL is calculated according to the airline requirements, considering the partner airlines.
8In what format are passport data entered (DOCS/FOID)?

In OrderCreateRQ you need to fill the PassengerDocument block.

In GDS both SSRs are created.

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

The next filling of the PassengerDocument block is required:

ADT, CHD, INF

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

birth certificate
<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>
10Why 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.
11What do the elements BirthCountry/CountryOfResidence describe?

BirthCountry — сountry of issue

CountryOfResidence — citizenship

12Will EMD information be displayed in PNR if EMD is issued?Yes, it will be displayed like ticket information
13What SSR codes are implemented?

DOCS

FOID

CHLD

INFT

FQTV

TKNE

XBAG

EXST

14Why 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.
15Does theTTL guarantee automatic cancellation of the reservation?Yes. Booked seats will be free.

ChangeBook operation questions

#QuestionAnswer
1When the document changes, will the information change in both SSRs (DOCS/FOID)?Yes.
2How to buy seats for an existing booking?

Yes.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

3Is it possible to book additional services if tickets have already been issued?

Yes.

(lightbulb)You can read about seats here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

(lightbulb)You can read about bags here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

4Is it possible to change the passport data in the existing booking?

Yes.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

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:  ; : * ' " ^ { } [ ] < > & # ! ` = % 

DemandTickets operation questions

#QuestionAnswer
1What 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

(lightbulb) In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

2Is 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.
3Is it possible to rуfund ETK/EMD?No, at the moment, only void operation is implemented for ETK/EMD.
4If 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.
5How 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.

(lightbulb)You can read about it here ((tongue) Oops!  It will be a link to the documentation here as soon as possible!)

(lightbulb) In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

6Is 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.

(lightbulb) It's forbidden to use the following symbols:  ; : * ' " ^ { } [ ] < > & # ! ` = % 

Payment block example
                        <Payment>
                            <Type>
                                <Code>MS</Code>
                            </Type>
                            <Other>
                                <Remarks>
                                    <Remark>IN*QUW1725</Remark>
                                </Remarks>
                            </Other>
                        </Payment>

VoidTicket operation questions

#QuestionAnswer
1I 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.
2Are there any features of void operation?
  • You can void the ticket until 23:59 of the current day (day of ticket issue).

(lightbulb) Time in 0 time zone (0UTC).

  • Voided the ticket can only use the same validator, under which the ticket was issued. Make sure you use the same validator.
  • In the requests you need to use the following codes:

ETK Type code - 702

EMD Type code - Y

3When can I void a ticket?

You can void the ticket until 23:59 of the current day (day of ticket issue).

(lightbulb) Time in 0 time zone (0UTC).

4If 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.
  • No labels