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

Compare with Current View Page History

« Previous Version 26 Next »

Steps

  1. Application for connection
    All information required for connection — in one application
  2. Access to the test environment
    Get access to the test environment and integrate under the supervision of S7 technicians
  3. Hello world!
    Set your software and make your first request!
  4. Running your tests
    Test the S7 Agent API to prevent future problems
  5. Signing of the contract of EDS
    Sign the contract electronically
  6. Access to production environment
    Get access to the production environment and complete integration
  7. Maintenance
    Use the all of capabilities of the S7 Agent API and stay tuned for a new features!

Roles

RoleDescriptionTarget period
Integratora developer, who creates a solution for agents and proceed integration with the S7 Agent API7 working days
Agent with Integrator's solutionan agent, who going to use solution to connect to S7 environment, provided by integrator 3 working days

Step 1: Application for connection

1. Contact to manager of your region and request for an application form (sample) at vm@s7.ru or https://api4agent.s7.ru/

2. Fill in the application form with a link to your portal and send it to S7 manager

In the contact data of a technical specialist must be specified:

  • Technical specialist
  • Integrator representative
  • Agent representative

3. S7 checks your form and initiates registration in our systems

4. Go to Service Desk and register by your email. Here you will open tasks in case of errors when using the S7 Agent API and receive feedback from technical support.

Step 2: Access to the test environment

Integrator

Agent with Integrator's solution

1. Check your environment for OpenSSL and install additional software (required to create a request for SSL certificate):

For Windows/Solaris

Download the last binary version of OpenSSL at https://www.openssl.org/community/binaries.html and install software

For GNU/Linux
sudo apt install openssl
For MacOS

No action is required — already included in OS


2. Use command line (as administrator) to create private key:


openssl genrsa -out ${clientkey}.pem 2048

You have to replace ${clientkey} into understandable name using your local naming policies

3. Create request for SSL certificate:

openssl req -new -key ${clientkey}.pem -out ${clientcsr}.pem

Replace ${clientcsr} to the name used on previous step

You have to replace ${clientkey} and ${clientcsr} into understandable name using your local naming policies

4. Fill in the details of the request for SSL certificate:

Mandatory:

  • Country Name (2 letter code)
  • State or Province Name
  • Locality Name (eg, city)
  • Organization Name (eg, company)
  • Organizational Unit Name (eg, section)
  • Common Name (your name or server's hostname)

No need to specify:

  • A challenge password
  • An optional company name

5. Create a new task with the request of SSL certificate (request_csr) by Service Desk

Attach to the task created request for SSL certificate (request_csr)
Check “Bin” (OpenSSL) folder for those files.

6. Receive credentials for test environment from our technical support:

  • a SSL certificate (*.crt file)
  • personal credentials for basic authentication (login and password)
  • test access parameters for requests (XML block Party)
  • test Client ID and Agent ID for testing shopping with 3D agreement

7. Import SSL certificate and create key store file:


openssl pkcs12 -export -in ${clientcert}.pem -inkey ${clientkey}.pem -out ${client}.p12 -name "${name}"

Export Password – password for key store file which will be requested while importing into test software

Responsibility of Integrator

Agent do not issue a certificate for the test environment

Step 3: Hello world! 

Integrator

Agent with Integrator's solution

1. If you are using test software build in browser you have to import keys (or check your software's documentation):

For Mozilla Firefox

Menu Preferences Advanced ViewCertificates Your Certificates Import Choose created key store file (*.p12) on previous step

For Google Chrome

Settings → Advanced Settings → HTTPS/SSL → Import → Choose created key store file (*.p12) on Quick Start for Integrator | S7 Agent API#previous step

2. For a better experience, we prefer to use SoapUI for testing:

Download the last binary version of SoapUI at https://www.soapui.org/downloads/soapui.html and install software

3. Open SoapUI and create a new SOAP project

  1. SoapUI → File → Preferences → New SOAP project
  2. Check available versions at test environment at the top of the page
  3. Copy relevant WSDL URL
  4. Past in form, fill a project name and press OK

4. Assign created key store file to the project

  1. Project Show project view WS-Security Configurations Keystores;
  2. Click on "+" (Adds a new Keystore to this configuration)
  3. Set a path to p12-file and input the password

(warning) Do not use global settings (SoapUI File Preferences SSL Setting) to save ability of using both environments without any additional setting changes

5. Create new request and set basic authentication

  1. Open tab "Auth" under request textarea
  2. Select "Authorization" = "Basic"
  3. Input Username and Password (your received them from our technical support on previous step)

You have to set it for all your requests

6. Set assigned keystore

  1. Go to tab "TestRequest Properties" under the projects tree
  2. Select imported p12-file in "SSL Keystore" parameter

You have to set it for all your requests

7. Set the endpoint of test environment at the top of request window

8. Fill in the request textarea by an example described below and send it!

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Header/>
    <Body>
        <AirShoppingRQ xmlns="http://www.iata.org/IATA/EDIST" Version="1.0">
            <Document/>
            <Party>
                <Sender>
                    <AgentUserSender>
                        <Name>S7-AIDL</Name>
                        <OtherIDs>
                            <OtherID Description="POS_Type">1</OtherID>
                            <OtherID Description="requestorType">U</OtherID>
                            <OtherID Description="Password">Amadeus01</OtherID>
                        </OtherIDs>
                        <PseudoCity>OVBS728AB</PseudoCity>
                        <AgentUserID>WSS72API</AgentUserID>
                        <UserRole>AS</UserRole>
                    </AgentUserSender>
                </Sender>
            </Party>
            <Parameters>
                <CurrCodes>
                    <CurrCode>RUB</CurrCode>
                </CurrCodes>
            </Parameters>           
            <Travelers>
                <Traveler>
                    <AnonymousTraveler>
                        <PTC Quantity="1">ADT</PTC>
                    </AnonymousTraveler>
                </Traveler>                      
            </Travelers>
            <CoreQuery>
                <OriginDestinations>
                    <OriginDestination>
                        <Departure>
                            <AirportCode>DME</AirportCode>
                            <Date>2019-09-25</Date>
                        </Departure>
                        <Arrival>
                            <AirportCode>GOJ</AirportCode>
                        </Arrival>
                    </OriginDestination>                        
                </OriginDestinations>
            </CoreQuery>
        </AirShoppingRQ>
    </Body>
</Envelope>
<ns2:Envelope xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.iata.org/IATA/EDIST">
   <ns2:Body>
      <ns3:AirShoppingRS Version="2.000">
         <ns3:Document>
            <ns3:Name>1.0</ns3:Name>
         </ns3:Document>
         <ns3:Success/>
         <ns3:AirShoppingProcessing/>
         <ns3:OffersGroup>
            <ns3:AirlineOffers>
               <ns3:Owner>S7</ns3:Owner>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF1</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">2741</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">1530</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>BASIC ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF1SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">2741</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG1 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD1</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG1">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>BASIC ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG1">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QBSOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG1</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QBSOW</ns3:Type>
                                    <ns3:ReferenceValue>PL1</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC1">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF2</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">3241</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">2030</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>FLEX ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF2SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">3241</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG1 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD1</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG1">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>FLEX ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG1">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QFLOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG2</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QFLOW</ns3:Type>
                                    <ns3:ReferenceValue>PL2</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC2">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
            </ns3:AirlineOffers>
            <ns3:AirlineOffers>
               <ns3:Owner>S7</ns3:Owner>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF1</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">2741</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">1530</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>BASIC ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF1SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">2741</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG2 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD2</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG2">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>BASIC ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG2">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QBSOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG1</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QBSOW</ns3:Type>
                                    <ns3:ReferenceValue>PL1</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC3">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF2</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">3241</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">2030</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>FLEX ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF2SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">3241</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG2 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD2</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG2">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>FLEX ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG2">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QFLOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG2</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QFLOW</ns3:Type>
                                    <ns3:ReferenceValue>PL2</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC4">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
            </ns3:AirlineOffers>
            <ns3:AirlineOffers>
               <ns3:Owner>S7</ns3:Owner>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF1</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">2741</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">1530</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>BASIC ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF1SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">2741</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG3 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD3</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG3">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>BASIC ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG3">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QBSOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG1</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QBSOW</ns3:Type>
                                    <ns3:ReferenceValue>PL1</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC5">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF2</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">3241</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">2030</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>FLEX ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF2SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">3241</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG3 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD3</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG3">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>FLEX ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG3">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QFLOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG2</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QFLOW</ns3:Type>
                                    <ns3:ReferenceValue>PL2</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC6">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
            </ns3:AirlineOffers>
            <ns3:AirlineOffers>
               <ns3:Owner>S7</ns3:Owner>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF1</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">2741</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">1530</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>BASIC ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF1SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">2741</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG4 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD4</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG4">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>BASIC ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG4">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QBSOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG1</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QBSOW</ns3:Type>
                                    <ns3:ReferenceValue>PL1</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC7">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">1530</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
               <ns3:AirlineOffer>
                  <ns3:OfferID Owner="S7">OF2</ns3:OfferID>
                  <ns3:TotalPrice>
                     <ns3:DetailCurrencyPrice>
                        <ns3:Total Code="RUB">3241</ns3:Total>
                        <ns3:Details>
                           <ns3:Detail>
                              <ns3:SubTotal Code="RUB">2030</ns3:SubTotal>
                              <ns3:Application>Fare</ns3:Application>
                           </ns3:Detail>
                        </ns3:Details>
                        <ns3:Taxes>
                           <ns3:Total Code="RUB">1211</ns3:Total>
                        </ns3:Taxes>
                     </ns3:DetailCurrencyPrice>
                  </ns3:TotalPrice>
                  <ns3:Disclosure>
                     <ns3:Description>
                        <ns3:Text>FLEX ECONOMY</ns3:Text>
                     </ns3:Description>
                  </ns3:Disclosure>
                  <ns3:PricedOffer>
                     <ns3:OfferPrice OfferItemID="OF2SL1">
                        <ns3:RequestedDate>
                           <ns3:PriceDetail>
                              <ns3:TotalAmount>
                                 <ns3:DetailCurrencyPrice>
                                    <ns3:Total Code="RUB">3241</ns3:Total>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:DetailCurrencyPrice>
                              </ns3:TotalAmount>
                              <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                           </ns3:PriceDetail>
                           <ns3:Associations>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>SEG4 DME-GOJ</ns3:Type>
                                    <ns3:ReferenceValue>Meal_S</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                           <ns3:Associations>
                              <ns3:AssociatedTraveler>
                                 <ns3:TravelerReferences>SH1</ns3:TravelerReferences>
                              </ns3:AssociatedTraveler>
                              <ns3:ApplicableFlight>
                                 <ns3:OriginDestinationReferences>OD4</ns3:OriginDestinationReferences>
                                 <ns3:FlightSegmentReference ref="SEG4">
                                    <ns3:Cabin>
                                       <ns3:CabinDesignator>Y</ns3:CabinDesignator>
                                       <ns3:MarketingName>FLEX ECONOMY</ns3:MarketingName>
                                    </ns3:Cabin>
                                 </ns3:FlightSegmentReference>
                                 <ns3:FlightSegmentReference ref="SEG4">
                                    <ns3:ClassOfService>
                                       <ns3:Code SeatsLeft="9">Q</ns3:Code>
                                       <ns3:MarketingName>QFLOW</ns3:MarketingName>
                                    </ns3:ClassOfService>
                                    <ns3:BagDetailAssociation>
                                       <ns3:CheckedBagReferences>BG2</ns3:CheckedBagReferences>
                                       <ns3:CarryOnReferences>CO1</ns3:CarryOnReferences>
                                    </ns3:BagDetailAssociation>
                                 </ns3:FlightSegmentReference>
                              </ns3:ApplicableFlight>
                              <ns3:OtherAssociation>
                                 <ns3:OtherAssociation>
                                    <ns3:Type>QFLOW</ns3:Type>
                                    <ns3:ReferenceValue>PL2</ns3:ReferenceValue>
                                 </ns3:OtherAssociation>
                              </ns3:OtherAssociation>
                           </ns3:Associations>
                        </ns3:RequestedDate>
                        <ns3:FareDetail>
                           <ns3:FareComponent refs="SH1" ObjectKey="FC8">
                              <ns3:Parameters Quantity="1"/>
                              <ns3:PriceBreakdown>
                                 <ns3:Price>
                                    <ns3:BaseAmount Code="RUB">2030</ns3:BaseAmount>
                                    <ns3:Taxes>
                                       <ns3:Total Code="RUB">1211</ns3:Total>
                                    </ns3:Taxes>
                                 </ns3:Price>
                              </ns3:PriceBreakdown>
                           </ns3:FareComponent>
                        </ns3:FareDetail>
                     </ns3:OfferPrice>
                  </ns3:PricedOffer>
               </ns3:AirlineOffer>
            </ns3:AirlineOffers>
         </ns3:OffersGroup>
         <ns3:DataLists>
            <ns3:AnonymousTravelerList>
               <ns3:AnonymousTraveler ObjectKey="SH1">
                  <ns3:PTC Quantity="1">ADT</ns3:PTC>
               </ns3:AnonymousTraveler>
            </ns3:AnonymousTravelerList>
            <ns3:CarryOnAllowanceList>
               <ns3:CarryOnAllowance ListKey="CO1">
                  <ns3:AllowanceDescription>
                     <ns3:ApplicableParty>Traveler</ns3:ApplicableParty>
                     <ns3:ApplicableBag>1PC</ns3:ApplicableBag>
                     <ns3:Descriptions>
                        <ns3:Description>
                           <ns3:Text>10KG</ns3:Text>
                        </ns3:Description>
                     </ns3:Descriptions>
                  </ns3:AllowanceDescription>
               </ns3:CarryOnAllowance>
            </ns3:CarryOnAllowanceList>
            <ns3:CheckedBagAllowanceList>
               <ns3:CheckedBagAllowance ListKey="BG1">
                  <ns3:AllowanceDescription>
                     <ns3:ApplicableParty>Traveler</ns3:ApplicableParty>
                     <ns3:ApplicableBag>NO</ns3:ApplicableBag>
                     <ns3:Descriptions>
                        <ns3:Description/>
                     </ns3:Descriptions>
                  </ns3:AllowanceDescription>
               </ns3:CheckedBagAllowance>
               <ns3:CheckedBagAllowance ListKey="BG2">
                  <ns3:AllowanceDescription>
                     <ns3:ApplicableParty>Traveler</ns3:ApplicableParty>
                     <ns3:ApplicableBag>1PC</ns3:ApplicableBag>
                     <ns3:Descriptions>
                        <ns3:Description>
                           <ns3:Text>23 KG</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Up to 50 lb/23 kg</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Bicycle</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Golf Equipment</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Hockey Equipment</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Fishing Equipment</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Stroller/Pushchair</ns3:Text>
                        </ns3:Description>
                        <ns3:Description>
                           <ns3:Text>Ski Equipment</ns3:Text>
                        </ns3:Description>
                     </ns3:Descriptions>
                  </ns3:AllowanceDescription>
               </ns3:CheckedBagAllowance>
            </ns3:CheckedBagAllowanceList>
            <ns3:FlightSegmentList>
               <ns3:FlightSegment SegmentKey="SEG1">
                  <ns3:Departure>
                     <ns3:AirportCode>DME</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>08:30</ns3:Time>
                  </ns3:Departure>
                  <ns3:Arrival>
                     <ns3:AirportCode>GOJ</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>09:45</ns3:Time>
                  </ns3:Arrival>
                  <ns3:MarketingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>3</ns3:FlightNumber>
                  </ns3:MarketingCarrier>
                  <ns3:OperatingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>3</ns3:FlightNumber>
                  </ns3:OperatingCarrier>
                  <ns3:Equipment>
                     <ns3:AircraftCode>ref</ns3:AircraftCode>
                     <ns3:AirlineEquipCode>Embraer 170 Regional Jet</ns3:AirlineEquipCode>
                  </ns3:Equipment>
                  <ns3:FlightDetail>
                     <ns3:FlightDistance>
                        <ns3:Value>234</ns3:Value>
                        <ns3:UOM>Miles</ns3:UOM>
                     </ns3:FlightDistance>
                     <ns3:FlightDuration>
                        <ns3:Value>PT1H15M</ns3:Value>
                     </ns3:FlightDuration>
                  </ns3:FlightDetail>
               </ns3:FlightSegment>
               <ns3:FlightSegment SegmentKey="SEG2">
                  <ns3:Departure>
                     <ns3:AirportCode>DME</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>13:10</ns3:Time>
                  </ns3:Departure>
                  <ns3:Arrival>
                     <ns3:AirportCode>GOJ</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>14:25</ns3:Time>
                  </ns3:Arrival>
                  <ns3:MarketingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>5</ns3:FlightNumber>
                  </ns3:MarketingCarrier>
                  <ns3:OperatingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>5</ns3:FlightNumber>
                  </ns3:OperatingCarrier>
                  <ns3:Equipment>
                     <ns3:AircraftCode>ref</ns3:AircraftCode>
                     <ns3:AirlineEquipCode>Embraer 170 Regional Jet</ns3:AirlineEquipCode>
                  </ns3:Equipment>
                  <ns3:FlightDetail>
                     <ns3:FlightDistance>
                        <ns3:Value>234</ns3:Value>
                        <ns3:UOM>Miles</ns3:UOM>
                     </ns3:FlightDistance>
                     <ns3:FlightDuration>
                        <ns3:Value>PT1H15M</ns3:Value>
                     </ns3:FlightDuration>
                  </ns3:FlightDetail>
               </ns3:FlightSegment>
               <ns3:FlightSegment SegmentKey="SEG3">
                  <ns3:Departure>
                     <ns3:AirportCode>DME</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>19:10</ns3:Time>
                  </ns3:Departure>
                  <ns3:Arrival>
                     <ns3:AirportCode>GOJ</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>20:25</ns3:Time>
                  </ns3:Arrival>
                  <ns3:MarketingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>1</ns3:FlightNumber>
                  </ns3:MarketingCarrier>
                  <ns3:OperatingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>1</ns3:FlightNumber>
                  </ns3:OperatingCarrier>
                  <ns3:Equipment>
                     <ns3:AircraftCode>ref</ns3:AircraftCode>
                     <ns3:AirlineEquipCode>Embraer 170 Regional Jet</ns3:AirlineEquipCode>
                  </ns3:Equipment>
                  <ns3:FlightDetail>
                     <ns3:FlightDistance>
                        <ns3:Value>234</ns3:Value>
                        <ns3:UOM>Miles</ns3:UOM>
                     </ns3:FlightDistance>
                     <ns3:FlightDuration>
                        <ns3:Value>PT1H15M</ns3:Value>
                     </ns3:FlightDuration>
                  </ns3:FlightDetail>
               </ns3:FlightSegment>
               <ns3:FlightSegment SegmentKey="SEG4">
                  <ns3:Departure>
                     <ns3:AirportCode>DME</ns3:AirportCode>
                     <ns3:Date>2019-09-25</ns3:Date>
                     <ns3:Time>23:50</ns3:Time>
                  </ns3:Departure>
                  <ns3:Arrival>
                     <ns3:AirportCode>GOJ</ns3:AirportCode>
                     <ns3:Date>2019-09-26</ns3:Date>
                     <ns3:Time>01:05</ns3:Time>
                  </ns3:Arrival>
                  <ns3:MarketingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>11</ns3:FlightNumber>
                  </ns3:MarketingCarrier>
                  <ns3:OperatingCarrier>
                     <ns3:AirlineID>S7</ns3:AirlineID>
                     <ns3:FlightNumber>11</ns3:FlightNumber>
                  </ns3:OperatingCarrier>
                  <ns3:Equipment>
                     <ns3:AircraftCode>ref</ns3:AircraftCode>
                     <ns3:AirlineEquipCode>Embraer 170 Regional Jet</ns3:AirlineEquipCode>
                  </ns3:Equipment>
                  <ns3:FlightDetail>
                     <ns3:FlightDistance>
                        <ns3:Value>234</ns3:Value>
                        <ns3:UOM>Miles</ns3:UOM>
                     </ns3:FlightDistance>
                     <ns3:FlightDuration>
                        <ns3:Value>PT1H15M</ns3:Value>
                     </ns3:FlightDuration>
                  </ns3:FlightDetail>
               </ns3:FlightSegment>
            </ns3:FlightSegmentList>
            <ns3:OriginDestinationList>
               <ns3:OriginDestination OriginDestinationKey="OD1">
                  <ns3:DepartureCode>DME</ns3:DepartureCode>
                  <ns3:ArrivalCode>GOJ</ns3:ArrivalCode>
                  <ns3:FlightReferences>SEG1</ns3:FlightReferences>
               </ns3:OriginDestination>
               <ns3:OriginDestination OriginDestinationKey="OD2">
                  <ns3:DepartureCode>DME</ns3:DepartureCode>
                  <ns3:ArrivalCode>GOJ</ns3:ArrivalCode>
                  <ns3:FlightReferences>SEG2</ns3:FlightReferences>
               </ns3:OriginDestination>
               <ns3:OriginDestination OriginDestinationKey="OD3">
                  <ns3:DepartureCode>DME</ns3:DepartureCode>
                  <ns3:ArrivalCode>GOJ</ns3:ArrivalCode>
                  <ns3:FlightReferences>SEG3</ns3:FlightReferences>
               </ns3:OriginDestination>
               <ns3:OriginDestination OriginDestinationKey="OD4">
                  <ns3:DepartureCode>DME</ns3:DepartureCode>
                  <ns3:ArrivalCode>GOJ</ns3:ArrivalCode>
                  <ns3:FlightReferences>SEG4</ns3:FlightReferences>
               </ns3:OriginDestination>
            </ns3:OriginDestinationList>
            <ns3:PenaltyList>
               <ns3:Penalty ObjectKey="PL1">
                  <ns3:Details>
                     <ns3:Detail>
                        <ns3:Type>BEFORE-DEPARTURE</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">3000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">3000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                     <ns3:Detail>
                        <ns3:Type>AFTER-DEPARTURE</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">3000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">3000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                     <ns3:Detail>
                        <ns3:Type>NO-SHOW</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                  </ns3:Details>
               </ns3:Penalty>
               <ns3:Penalty ObjectKey="PL2">
                  <ns3:Details>
                     <ns3:Detail>
                        <ns3:Type>NO-SHOW</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                     <ns3:Detail>
                        <ns3:Type>BEFORE-DEPARTURE</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">1500</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                     <ns3:Detail>
                        <ns3:Type>AFTER-DEPARTURE</ns3:Type>
                        <ns3:Amounts>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">1500</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MinimumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                           <ns3:Amount>
                              <ns3:CurrencyAmountValue Code="RUB">5000</ns3:CurrencyAmountValue>
                              <ns3:AmountApplication>MaximumPenaltyAmount</ns3:AmountApplication>
                           </ns3:Amount>
                        </ns3:Amounts>
                     </ns3:Detail>
                  </ns3:Details>
               </ns3:Penalty>
            </ns3:PenaltyList>
            <ns3:ServiceList>
               <ns3:Service ObjectKey="Meal_S">
                  <ns3:ServiceID Owner="Any">S</ns3:ServiceID>
                  <ns3:Name>Meal</ns3:Name>
                  <ns3:Descriptions>
                     <ns3:Description>
                        <ns3:Text>Snacks or late breakfast</ns3:Text>
                     </ns3:Description>
                  </ns3:Descriptions>
               </ns3:Service>
            </ns3:ServiceList>
         </ns3:DataLists>
         <ns3:Metadata>
            <ns3:Other>
               <ns3:OtherMetadata>
                  <ns3:CurrencyMetadatas>
                     <ns3:CurrencyMetadata MetadataKey="RUB">
                        <ns3:Application>Sale currency</ns3:Application>
                        <ns3:Decimals>2</ns3:Decimals>
                     </ns3:CurrencyMetadata>
                  </ns3:CurrencyMetadatas>
               </ns3:OtherMetadata>
            </ns3:Other>
         </ns3:Metadata>
      </ns3:AirShoppingRS>
   </ns2:Body>
</ns2:Envelope>


9. If you have no results, try to check your connection to exclude the case of incorrect credentials before you contact to our technical support by Service Desk.

  1. Import key store file into the browser (see steps to set up browser above)
  2. Go to any URL from Environment section via browser

Responsibility of Integrator

All tests executes by a personal certificate of integrator

Step 4: Running your tests

Integrator

Agent with Integrator's solution

1. Choose one of available versions at test environment at the top of the page

2. Use header's parameters for selected version (If the parameter is not defined, the oldest version will be used by default):

3. Read the API's documentation

4. Try to execute the user story with the simplest flow and then special user stories (3d agreement, S7 Profi, blockchain) that you are interested in

  • We are using actual schedule for flights but you may feel free to create bookings and issue tickets (please, note that some minor discrepancies between test and production results are still exist)
  • No time limits for testing

5. Give us a feedback through your manager or our technical support by Service Desk

6. Ready to production environment?

6.1. Check available scenarios and choose which you're going to use at production environment

6.2. Notify our technical support by Service Desk for final testing under the supervision of our technologists

Issue template
  • Summary: Execution of test scenarios // API01-19-000000-0
    • You can find the application number in received email at the first step
  • Description:
    • Agent code: agent
    • Agent name: OOO «Агент»
    • Website: www.site.ru
    • Application: https://requests.s7.ru/api01/19-000000-0
    • Version: v0.52
    • Scenarios:
      • Basic scenario
        • User Story: RT + 1xADT 1xCHD 1xINF + S7 flight
      • 3D agreement scenario
        • User Story: OW + 1xADT + Direct + S7 flight

6.3. Proceed test scenarios and attach all created PNRs and ETK numbers as a comment at the issue

6.4. Assign the issue to the technical support and keep

(warning) Keep all conversation with our technical support and technologists only in comments at the issue
(warning) If you faced any problems, create a new issue in Service Desk and link with the issue for final testing

6.5. Once all tests will be passed you can proceed to signing of the contract of EDS

Responsibility of Integrator

Because Agent is going to use an Integrator's solution, we immediately proceed to signing of the contract of EDS and skip final testing under the supervision of our technologists to grant access to production environment

Step 5: Signing of the contract of EDS

Integrator

Agent with Integrator's solution

Responsibility of Agent

Agent will notify you once all the documents have been completed and he will be granted access to the production environment 

1. Contact with your account manager to sign a contract

2. Create a new validator (without transactions history) for our GDS to have ability to execute all basic shopping scenarios

3. If you are interesting in discounts for corporate client you have to enter into 3D agreement between Agent, S7 and corporate client

As a result Agent ID and Client ID will be defined in 3D agreement. They are required to execute scenarios with 3D Agreement

4. Once all the documents have been completed, your account manager will notify you when you can proceed to the production environment

Step 6: Access to production environment

Integrator

Agent with Integrator's solution

The integrator is not allowed access to the prod environment.
An integrator prepares an implementation for a specific agent.

Create a new certificate for production environment (similar as for test environment but the new one — check Step 2 for more details):

  1. Create private key
  2. Create a request for SSL certificate
  3. Fill in the details of the request for SSL certificate
  4. Create a new task with the request of SSL certificate (request_csr) by Service Desk
  5. Receive credentials for production environment from our technical support:
    1. a SSL certificate (*.crt file)
    2. personal credentials for basic authentication (login and password)
    3. access parameters for requests (XML block Party)
    4. Client ID and Agent ID (only If you are entered into 3D agreement)
  6. Import SSL certificate and create key store file

Responsibility of Integrator

Notify Integrator once all the documents have been completed and you will be granted access to the production environment 

Step 7: Maintenance

Integrator

Agent with Integrator's solution

1. Choose one of available and tested versions at production environment at the top of the page

2. Use header's parameters for tested selected version (If the parameter is not defined, the default version will be executed):

3. Try to use read operations to check the correctness of your first bookings (read operation) and issued tickets (retrieveTicket operation)

Avoid making mistakes in the production environment due to the penalties specified in the signed contract!
If you are still not sure, don't hesitate to reach our technical support by Service Desk

4. Don't forget to check our updates!

  • Release Notes for new versions of S7 Agent API
  • FAQ for most common issues you can be faced with

Despite the fact that the integrator was developing solution, you are responsible for all mistakes at the production environment

Check the correctness of your first bookings and issued tickets to avoid making mistakes due to the penalties specified in the signed contract!

5. (warning) If validator's stock has less than 10 blanks, you'll receive the error as a result of ticket issuing at the production environment
Ask your manager to increase the validator's stock

Error
<ns2:Errors>
         <ns3:Error Type="101" ShortText="S7 ETKT: MAXIMUM TICKET LIMIT REACHED" Code="0"/>
</ns2:Errors>

6. (warning) If Agent credentials has not been used for 60 days, you'll receive the error as a result of any non-search operation at the production environment
Contact via Service Desk with used Agent credentials to renew them

If you still have any questions, try to find an answer using our FAQ and documentation or ask for technical support by Service Desk or email at api.support@s7.ru

  • No labels