Веб-служба поиска авиабилетов: различия между версиями
(→Ответ) |
|||
(не показаны 23 промежуточные версии 3 участников) | |||
Строка 3: | Строка 3: | ||
Это сервис внутри Nemo, который позволяет получить результаты поиска. | Это сервис внутри Nemo, который позволяет получить результаты поиска. | ||
− | Для подключения к веб-службе поиска авиабилетов необходимо открыть доступ нужному пользователю. Это можно сделать в разделе ''' | + | Для подключения к веб-службе поиска авиабилетов необходимо открыть доступ нужному пользователю. Это можно сделать в разделе '''«Настройки системы»''' ⇨ '''«Интеграция»''' ⇨ '''«Nemo (SOAP API)»'''. |
После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения. | После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения. | ||
Строка 36: | Строка 36: | ||
<DepAirp CodeType="IATA">?</DepAirp> | <DepAirp CodeType="IATA">?</DepAirp> | ||
<!--DepAirp — аэропорт вылета, IATA код--> | <!--DepAirp — аэропорт вылета, IATA код--> | ||
+ | <!--Optional:--> | ||
+ | <DepAltAirports> | ||
+ | <!--DepAltAirports— альтернативные аэропорты вылета--> | ||
+ | <!--Once or more repetitions:--> | ||
+ | <AltAirport CodeType="IATA">?</AltAirport> | ||
+ | <!--AltAirport — альтернативный аэропорт, IATA код--> | ||
+ | </DepAltAirports> | ||
<ArrAirp CodeType="IATA">?</ArrAirp> | <ArrAirp CodeType="IATA">?</ArrAirp> | ||
<!--ArrAirp — аэропорт прилёта, IATA код--> | <!--ArrAirp — аэропорт прилёта, IATA код--> | ||
+ | <!--Optional:--> | ||
+ | <ArrAltAirports> | ||
+ | <!--ArrAltAirports— альтернативные аэропорты прилета--> | ||
+ | <!--Once or more repetitions:--> | ||
+ | <AltAirport CodeType="IATA">?</AltAirport> | ||
+ | <!--AltAirport — альтернативный аэропорт, IATA код--> | ||
+ | </ArrAltAirports> | ||
</ODPair> | </ODPair> | ||
</ODPairs> | </ODPairs> | ||
Строка 240: | Строка 254: | ||
<Tariff Code="?" SegNum="?"/> | <Tariff Code="?" SegNum="?"/> | ||
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф--> | <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф--> | ||
+ | <FareFamilies> | ||
+ | <!--FareFamilies - наличие данного параметра у сегмента, означает, что у а\к заведены семейства тарифов--> | ||
+ | <FullName>?</FullName> | ||
+ | <!--FullName - название тарифа, который принадлежит семейству тарифов, у сегмента--> | ||
+ | </FareFamilies> | ||
+ | </Tariff> | ||
</Tariffs> | </Tariffs> | ||
<FareCalc>?</FareCalc> | <FareCalc>?</FareCalc> | ||
Строка 277: | Строка 297: | ||
В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом: | В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом: | ||
− | * Если текущий домен агентства/субагентства есть в настройках (''' | + | * Если текущий домен агентства/субагентства есть в настройках ('''Управление сайтом''' ⇨ '''Домены и протоколы''' ⇨ '''Доменное имя сайта для загрузки настроек'''), то этот домен используется в ссылках. |
* Если текущего домена нет в настройках, то используется первый домен из настроек. | * Если текущего домена нет в настройках, то используется первый домен из настроек. | ||
* Если в настройках не прописано ни одного домена, то используется текущий домен. | * Если в настройках не прописано ни одного домена, то используется текущий домен. | ||
Строка 301: | Строка 321: | ||
=== Односторонний перелет === | === Односторонний перелет === | ||
− | Пример одностороннего перелета: Москва — | + | Пример одностороннего перелета: Москва — Санкт-Петербург, 1 взрослый, эконом класс, предпочитаемая авиакомпания — ЮТэйр. |
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
Строка 307: | Строка 327: | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
− | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http:// | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights"> |
<soapenv:Header/> | <soapenv:Header/> | ||
<soapenv:Body> | <soapenv:Body> | ||
Строка 317: | Строка 337: | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
<ODPair> | <ODPair> | ||
− | <DepDate> | + | <DepDate>2018-04-09</DepDate> |
− | + | <DepAirp CodeType="IATA">MOW</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">LED</ArrAirp> | |
</ODPair> | </ODPair> | ||
− | + | </ODPairs> | |
<Travellers> | <Travellers> | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
<Traveller Type="ADT" Count="1"/> | <Traveller Type="ADT" Count="1"/> | ||
− | |||
</Travellers> | </Travellers> | ||
<Restrictions> | <Restrictions> | ||
Строка 332: | Строка 351: | ||
<AirVPrefs> | <AirVPrefs> | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
− | <AirVPref Code=" | + | <AirVPref Code="UT" Include="true" Type="IATA"/> |
</AirVPrefs> | </AirVPrefs> | ||
<IncludePrivateFare>false</IncludePrivateFare> | <IncludePrivateFare>false</IncludePrivateFare> | ||
Строка 345: | Строка 364: | ||
<Currency>RUB</Currency> | <Currency>RUB</Currency> | ||
<ShowNames>true</ShowNames> | <ShowNames>true</ShowNames> | ||
+ | <EndUserData> | ||
+ | <EndUserIP>---</EndUserIP> | ||
+ | <EndUserBrowserAgent>---</EndUserBrowserAgent> | ||
+ | <RequestOrigin>---</RequestOrigin> | ||
+ | </EndUserData> | ||
</Source> | </Source> | ||
</RequestBin> | </RequestBin> | ||
Строка 365: | Строка 389: | ||
<Response> | <Response> | ||
<SearchFlights> | <SearchFlights> | ||
− | <Flights SearchId=" | + | <Flights SearchId="221980" ResultURL="http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221968 "> |
− | <Flight FlightId=" | + | <Flight FlightId="1387380004" Nemo2FlightId="142939413030003"> |
− | <WebService> | + | <WebService>AMADEUS</WebService> |
− | <ValCompany/> | + | <ValCompany>UT</ValCompany> |
− | <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid% | + | <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221980%26flight%3D1387380004</URL> |
<Segments> | <Segments> | ||
<Segment SegNum="1" SegGroupNum="0"> | <Segment SegNum="1" SegGroupNum="0"> | ||
− | <DepAirp CodeType="IATA" Name=" | + | <SupplierCode/> |
− | <DepTerminal/> | + | <DepAirp CodeType="IATA" Name="Внуково, Москва">VKO</DepAirp> |
− | <ArrAirp CodeType="IATA" Name=" | + | <DepTerminal>A</DepTerminal> |
− | <ArrTerminal/> | + | <ArrAirp CodeType="IATA" Name="Санкт-Петербург, Пулково">LED</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal>1</ArrTerminal> |
− | <OpAirlineName> | + | <OpAirline>UT</OpAirline> |
− | <MarkAirline> | + | <OpAirlineName>ЮТэйр</OpAirlineName> |
− | <MarkAirlineName> | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>UT</MarkAirline> |
− | <AircraftName> | + | <MarkAirlineName>ЮТэйр</MarkAirlineName> |
− | <AircraftType> | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</MarkAirlineLogo> |
− | <DepDateTime> | + | <FlightNumber>369</FlightNumber> |
− | <ArrDateTime> | + | <AircraftName>Boeing 737</AircraftName> |
+ | <AircraftType>735</AircraftType> | ||
+ | <DepDateTime>2018-04-09T10:35:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-09T11:55:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="economy"> | <BookingCode ClassType="economy"> | ||
− | <BookingCode> | + | <BookingCode>H</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>80</FlightTime> |
<RemainingSeats>9</RemainingSeats> | <RemainingSeats>9</RemainingSeats> | ||
− | <TimeZone Departure=" | + | <TimeZone Departure="3" Arrival="3"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value/> | ||
+ | <Measurement>kg</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
</Segments> | </Segments> | ||
<PricingInfo Refundable="false"> | <PricingInfo Refundable="false"> | ||
<PassengerFare Type="ADT" Quantity="1"> | <PassengerFare Type="ADT" Quantity="1"> | ||
− | <BaseFare Currency=" | + | <TravellerRef xsi:nil="true"/> |
− | <EquiveFare Currency=" | + | <BaseFare Currency="KZT" Amount="7329"/> |
− | <TotalFare Currency=" | + | <EquiveFare Currency="KZT" Amount="7329"/> |
+ | <TotalFare Currency="KZT" Amount="19702"/> | ||
<Taxes> | <Taxes> | ||
− | <Tax CurCode=" | + | <Tax CurCode="KZT" TaxCode="XT" Amount="12373"/> |
− | |||
</Taxes> | </Taxes> | ||
− | <Tariffs | + | <Tariffs> |
− | + | <Tariff Code="HLTOW" SegNum="1"> | |
− | + | <FareFamilies> | |
− | + | <FullName>Лайт</FullName> | |
− | + | </FareFamilies> | |
− | + | </Tariff> | |
− | + | </Tariffs> | |
− | + | <FareCalc/> | |
− | + | <LastTicketDateTime>2018-04-03T23:59:00</LastTicketDateTime> | |
− | |||
− | < | ||
− | </ | ||
− | |||
− | <FareCalc | ||
− | <LastTicketDateTime> | ||
</PassengerFare> | </PassengerFare> | ||
</PricingInfo> | </PricingInfo> | ||
<Commission/> | <Commission/> | ||
− | <Charges Currency="RUB"> | + | <Charges Currency="RUB">2851.23</Charges> |
− | <TotalPrice Currency="RUB"> | + | <TotalPrice Currency="RUB">6367</TotalPrice> |
</Flight> | </Flight> | ||
− | <Flight FlightId=" | + | <Flight FlightId="1387380005" Nemo2FlightId="142939413020000"> |
− | <WebService> | + | <WebService>SIRENA2000</WebService> |
− | <ValCompany/> | + | <ValCompany>UT</ValCompany> |
− | <URL>http%3A%2F% | + | <URL>http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221980%26flight%3D1387380005</URL> |
<Segments> | <Segments> | ||
<Segment SegNum="1" SegGroupNum="0"> | <Segment SegNum="1" SegGroupNum="0"> | ||
− | <DepAirp CodeType="IATA"> | + | <SupplierCode/> |
− | <DepTerminal/> | + | <DepAirp CodeType="IATA" Name="Внуково, Москва">VKO</DepAirp> |
− | <ArrAirp CodeType="IATA"> | + | <DepTerminal>A</DepTerminal> |
− | <ArrTerminal/> | + | <ArrAirp CodeType="IATA" Name="Санкт-Петербург, Пулково">LED</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal>1</ArrTerminal> |
− | <MarkAirline> | + | <OpAirline>UT</OpAirline> |
− | <FlightNumber> | + | <OpAirlineName>ЮТэйр</OpAirlineName> |
− | <AircraftType> | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo> |
− | <DepDateTime> | + | <MarkAirline>UT</MarkAirline> |
− | <ArrDateTime> | + | <MarkAirlineName>ЮТэйр</MarkAirlineName> |
+ | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</MarkAirlineLogo> | ||
+ | <FlightNumber>369</FlightNumber> | ||
+ | <AircraftName>Boeing 737</AircraftName> | ||
+ | <AircraftType>735</AircraftType> | ||
+ | <DepDateTime>2018-04-09T10:35:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-09T11:55:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="economy"> | <BookingCode ClassType="economy"> | ||
− | <BookingCode> | + | <BookingCode>K</BookingCode> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
<FlightTime>80</FlightTime> | <FlightTime>80</FlightTime> | ||
− | <RemainingSeats> | + | <RemainingSeats>9</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="3" Arrival="3"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>0</Value> | ||
+ | <Measurement>kg</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
</Segments> | </Segments> | ||
<PricingInfo Refundable="false"> | <PricingInfo Refundable="false"> | ||
<PassengerFare Type="ADT" Quantity="1"> | <PassengerFare Type="ADT" Quantity="1"> | ||
− | <BaseFare Currency=" | + | <TravellerRef xsi:nil="true"/> |
− | <EquiveFare Currency="RUB" Amount=" | + | <BaseFare Currency="RUB" Amount="805"/> |
− | <TotalFare Currency="RUB" Amount=" | + | <EquiveFare Currency="RUB" Amount="805"/> |
+ | <TotalFare Currency="RUB" Amount="4647"/> | ||
<Taxes> | <Taxes> | ||
− | <Tax CurCode="RUB" TaxCode=" | + | <Tax CurCode="RUB" TaxCode="SA" Amount="300"/> |
− | <Tax CurCode="RUB" TaxCode=" | + | <Tax CurCode="RUB" TaxCode="YQ" Amount="1300"/> |
− | <Tax CurCode="RUB" TaxCode=" | + | <Tax CurCode="RUB" TaxCode="ZZ" Amount="185"/> |
− | <Tax CurCode="RUB" TaxCode=" | + | <Tax CurCode="RUB" TaxCode="AG" Amount="500"/> |
− | + | <Tax CurCode="RUB" TaxCode="RI" Amount="1557"/> | |
− | <Tax CurCode="RUB" TaxCode=" | ||
</Taxes> | </Taxes> | ||
− | <Tariffs | + | <Tariffs> |
− | + | <Tariff Code="LLTOW" SegNum="1"> | |
− | + | <FareFamilies> | |
− | + | <FullName>Лайт</FullName> | |
− | + | </FareFamilies> | |
− | + | </Tariff> | |
− | + | </Tariffs> | |
− | + | <FareCalc/> | |
− | + | <LastTicketDateTime>2018-04-09T10:35:00</LastTicketDateTime> | |
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | <FareCalc | ||
− | <LastTicketDateTime> | ||
</PassengerFare> | </PassengerFare> | ||
</PricingInfo> | </PricingInfo> | ||
<Commission/> | <Commission/> | ||
− | <Charges Currency="RUB"> | + | <Charges Currency="RUB">2851</Charges> |
− | <TotalPrice Currency="RUB"> | + | <TotalPrice Currency="RUB">7498</TotalPrice> |
</Flight> | </Flight> | ||
......... | ......... | ||
Строка 596: | Строка 551: | ||
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights"> | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights"> | ||
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:search> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <SearchFlights LinkOnly="false"> | |
− | + | <ODPairs Type="RT" Direct="false" AroundDates="0"> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <ODPair> | |
− | + | <DepDate>2018-04-09</DepDate> | |
− | + | <DepAirp CodeType="IATA">MOW</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">PAR</ArrAirp> | |
− | + | </ODPair> | |
− | + | <ODPair> | |
− | + | <DepDate>2018-04-16</DepDate> | |
− | + | <DepAirp CodeType="IATA">PAR</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">MOW</ArrAirp> | |
− | + | </ODPair> | |
− | + | </ODPairs> | |
− | + | <Travellers> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <Traveller Type="ADT" Count="2"/> | |
− | + | </Travellers> | |
− | + | <Restrictions> | |
− | + | <ClassPref>business</ClassPref> | |
− | + | <OnlyAvail>false</OnlyAvail> | |
− | + | <AirVPrefs/> | |
− | + | <IncludePrivateFare>false</IncludePrivateFare> | |
− | + | <CurrencyCode>RUB</CurrencyCode> | |
− | + | </Restrictions> | |
− | + | </SearchFlights> | |
− | + | </Request> | |
− | + | <Source> | |
− | + | <ClientId>---</ClientId> | |
− | + | <APIKey>---</APIKey> | |
− | + | <Language>RU</Language> | |
− | + | <Currency>RUB</Currency> | |
− | + | <ShowNames>true</ShowNames> | |
− | + | <EndUserData> | |
− | + | <EndUserIP>---</EndUserIP> | |
− | + | <EndUserBrowserAgent>---</EndUserBrowserAgent> | |
− | + | <RequestOrigin>---</RequestOrigin> | |
− | </soapenv:Envelope> | + | </EndUserData> |
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:search> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | </div> | ||
Строка 648: | Строка 608: | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
− | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http:// | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
<SOAP-ENV:Body> | <SOAP-ENV:Body> | ||
<ns1:searchResponse> | <ns1:searchResponse> | ||
Строка 654: | Строка 614: | ||
<Response> | <Response> | ||
<SearchFlights> | <SearchFlights> | ||
− | <Flights SearchId=" | + | <Flights SearchId="221983" ResultURL="http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221983"> |
− | <Flight FlightId=" | + | <Flight FlightId="1387400001" Nemo2FlightId="142939437030005"> |
<WebService>SABRE</WebService> | <WebService>SABRE</WebService> | ||
− | <ValCompany/> | + | <ValCompany>OS</ValCompany> |
− | <URL>http%3A%2F% | + | <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221983%26flight%3D1387400001</URL> |
<Segments> | <Segments> | ||
<Segment SegNum="1" SegGroupNum="0"> | <Segment SegNum="1" SegGroupNum="0"> | ||
− | <DepAirp CodeType="IATA" Name=" | + | <SupplierCode/> |
− | <DepTerminal | + | <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp> |
− | <ArrAirp CodeType="IATA" Name=" | + | <DepTerminal/> |
− | <ArrTerminal | + | <ArrAirp CodeType="IATA" Name="Вена">VIE</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal/> |
− | <OpAirlineName> | + | <OpAirline>OS</OpAirline> |
− | <MarkAirline> | + | <OpAirlineName>Austrian</OpAirlineName> |
− | <MarkAirlineName> | + | <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>OS</MarkAirline> |
+ | <MarkAirlineName>Austrian</MarkAirlineName> | ||
+ | <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo> | ||
+ | <FlightNumber>606</FlightNumber> | ||
<AircraftName>Airbus 319</AircraftName> | <AircraftName>Airbus 319</AircraftName> | ||
<AircraftType>319</AircraftType> | <AircraftType>319</AircraftType> | ||
− | <DepDateTime> | + | <DepDateTime>2018-04-09T06:25:00</DepDateTime> |
− | <ArrDateTime> | + | <ArrDateTime>2018-04-09T08:15:00</ArrDateTime> |
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="business"> | <BookingCode ClassType="business"> | ||
− | <BookingCode> | + | <BookingCode>P</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>170</FlightTime> |
− | <RemainingSeats> | + | <RemainingSeats>5</RemainingSeats> |
− | <TimeZone Departure="3" Arrival=" | + | <TimeZone Departure="3" Arrival="2"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
<Segment SegNum="2" SegGroupNum="0"> | <Segment SegNum="2" SegGroupNum="0"> | ||
− | <DepAirp CodeType="IATA" Name=" | + | <SupplierCode/> |
− | <DepTerminal | + | <DepAirp CodeType="IATA" Name="Вена">VIE</DepAirp> |
− | <ArrAirp CodeType="IATA" Name="Шарль | + | <DepTerminal/> |
− | <ArrTerminal | + | <ArrAirp CodeType="IATA" Name="Шарль Де Голль, Париж">CDG</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal>2D</ArrTerminal> |
− | <OpAirlineName> | + | <OpAirline>OS</OpAirline> |
− | <MarkAirline> | + | <OpAirlineName>Austrian</OpAirlineName> |
− | <MarkAirlineName> | + | <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>OS</MarkAirline> |
− | <AircraftName> | + | <MarkAirlineName>Austrian</MarkAirlineName> |
+ | <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo> | ||
+ | <FlightNumber>413</FlightNumber> | ||
+ | <AircraftName>Аэробус 320</AircraftName> | ||
<AircraftType>320</AircraftType> | <AircraftType>320</AircraftType> | ||
− | <DepDateTime> | + | <DepDateTime>2018-04-09T10:55:00</DepDateTime> |
− | <ArrDateTime> | + | <ArrDateTime>2018-04-09T13:05:00</ArrDateTime> |
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="business"> | <BookingCode ClassType="business"> | ||
− | <BookingCode> | + | <BookingCode>P</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>130</FlightTime> |
− | <RemainingSeats> | + | <RemainingSeats>5</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="2" Arrival="2"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
<Segment SegNum="3" SegGroupNum="1"> | <Segment SegNum="3" SegGroupNum="1"> | ||
− | <DepAirp CodeType="IATA" Name="Шарль | + | <SupplierCode/> |
− | <DepTerminal | + | <DepAirp CodeType="IATA" Name="Шарль Де Голль, Париж">CDG</DepAirp> |
− | <ArrAirp CodeType="IATA" Name=" | + | <DepTerminal>2D</DepTerminal> |
− | <ArrTerminal | + | <ArrAirp CodeType="IATA" Name="Вена">VIE</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal/> |
− | <OpAirlineName> | + | <OpAirline>OS</OpAirline> |
− | <MarkAirline> | + | <OpAirlineName>Austrian</OpAirlineName> |
− | <MarkAirlineName> | + | <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>OS</MarkAirline> |
− | <AircraftName>Airbus | + | <MarkAirlineName>Austrian</MarkAirlineName> |
− | <AircraftType> | + | <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo> |
− | <DepDateTime> | + | <FlightNumber>416</FlightNumber> |
− | <ArrDateTime> | + | <AircraftName>Airbus 321</AircraftName> |
+ | <AircraftType>321</AircraftType> | ||
+ | <DepDateTime>2018-04-16T16:55:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-16T18:55:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="business"> | <BookingCode ClassType="business"> | ||
− | <BookingCode> | + | <BookingCode>P</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>120</FlightTime> |
− | <RemainingSeats> | + | <RemainingSeats>5</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="2" Arrival="2"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
<Segment SegNum="4" SegGroupNum="1"> | <Segment SegNum="4" SegGroupNum="1"> | ||
− | <DepAirp CodeType="IATA" Name=" | + | <SupplierCode/> |
− | <DepTerminal | + | <DepAirp CodeType="IATA" Name="Вена">VIE</DepAirp> |
− | <ArrAirp CodeType="IATA" Name=" | + | <DepTerminal/> |
− | <ArrTerminal | + | <ArrAirp CodeType="IATA" Name="Домодедово, Москва">DME</ArrAirp> |
− | <OpAirline> | + | <ArrTerminal/> |
− | <OpAirlineName> | + | <OpAirline>OS</OpAirline> |
− | <MarkAirline> | + | <OpAirlineName>Austrian</OpAirlineName> |
− | <MarkAirlineName> | + | <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>OS</MarkAirline> |
+ | <MarkAirlineName>Austrian</MarkAirlineName> | ||
+ | <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo> | ||
+ | <FlightNumber>605</FlightNumber> | ||
<AircraftName>Airbus 319</AircraftName> | <AircraftName>Airbus 319</AircraftName> | ||
<AircraftType>319</AircraftType> | <AircraftType>319</AircraftType> | ||
− | <DepDateTime> | + | <DepDateTime>2018-04-16T20:40:00</DepDateTime> |
− | <ArrDateTime> | + | <ArrDateTime>2018-04-17T00:25:00</ArrDateTime> |
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="business"> | <BookingCode ClassType="business"> | ||
− | <BookingCode> | + | <BookingCode>P</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>165</FlightTime> |
− | <RemainingSeats> | + | <RemainingSeats>5</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="2" Arrival="3"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
</Segments> | </Segments> | ||
− | <PricingInfo Refundable=" | + | <PricingInfo Refundable="false"> |
<PassengerFare Type="ADT" Quantity="2"> | <PassengerFare Type="ADT" Quantity="2"> | ||
− | <BaseFare Currency="EUR" Amount=" | + | <TravellerRef xsi:nil="true"/> |
− | <EquiveFare Currency=" | + | <BaseFare Currency="EUR" Amount="154"/> |
− | <TotalFare Currency=" | + | <EquiveFare Currency="USD" Amount="190"/> |
+ | <TotalFare Currency="USD" Amount="608.81"/> | ||
<Taxes> | <Taxes> | ||
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="YRI" Amount="19.7"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="AT" Amount="10.3"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="AT" Amount="10.3"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="ZY" Amount="23"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="ZY" Amount="23"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="FR" Amount="10"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="FR7" Amount="15.3"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="IZ" Amount="55.5"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="QX" Amount="14.5"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="RI" Amount="9.31"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="RI2" Amount="9"/> |
− | <Tax CurCode=" | + | <Tax CurCode="USD" TaxCode="UH" Amount="7.3"/> |
− | |||
</Taxes> | </Taxes> | ||
<Tariffs> | <Tariffs> | ||
− | <Tariff Code=" | + | <Tariff Code="P13BXXE1" SegNum="1"> |
+ | <FareFamilies/> | ||
+ | </Tariff> | ||
+ | <Tariff Code="P13BXXE1" SegNum="2"> | ||
+ | <FareFamilies/> | ||
+ | </Tariff> | ||
+ | <Tariff Code="P13BXXE1" SegNum="3"> | ||
+ | <FareFamilies/> | ||
+ | </Tariff> | ||
+ | <Tariff Code="P13BXXE1" SegNum="4"> | ||
+ | <FareFamilies/> | ||
+ | </Tariff> | ||
</Tariffs> | </Tariffs> | ||
− | <FareCalc>MOW | + | <FareCalc>MOW OS X/VIE OS PAR95.15OS X/VIE OS MOW95.15NUC190.30END ROE0.809166</FareCalc> |
− | <LastTicketDateTime> | + | <LastTicketDateTime>2018-04-09T05:55:00</LastTicketDateTime> |
</PassengerFare> | </PassengerFare> | ||
</PricingInfo> | </PricingInfo> | ||
<Commission/> | <Commission/> | ||
− | <Charges Currency="RUB"> | + | <Charges Currency="RUB">660.91</Charges> |
− | <TotalPrice Currency="RUB"> | + | <TotalPrice Currency="RUB">70070</TotalPrice> |
</Flight> | </Flight> | ||
......... | ......... | ||
Строка 819: | Строка 838: | ||
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights"> | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights"> | ||
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:search> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <SearchFlights LinkOnly="false"> | |
− | + | <ODPairs Type="CR" Direct="false" AroundDates="0"> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <ODPair> | |
− | + | <DepDate>2018-04-09</DepDate> | |
− | + | <DepAirp CodeType="IATA">PRG</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">MOW</ArrAirp> | |
− | + | </ODPair> | |
− | + | <ODPair> | |
− | + | <DepDate>2018-04-16</DepDate> | |
− | + | <DepAirp CodeType="IATA">MOW</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">MIL</ArrAirp> | |
− | + | </ODPair> | |
− | + | <ODPair> | |
− | + | <DepDate>2018-04-23</DepDate> | |
− | + | <DepAirp CodeType="IATA">MIL</DepAirp> | |
− | + | <ArrAirp CodeType="IATA">MAD</ArrAirp> | |
− | + | </ODPair> | |
− | + | </ODPairs> | |
− | + | <Travellers> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <Traveller Type="ADT" Count="1"/> | |
− | + | <Traveller Type="INF" Count="1"/> | |
− | + | </Travellers> | |
− | + | <Restrictions> | |
− | + | <ClassPref>economy</ClassPref> | |
− | + | <OnlyAvail>false</OnlyAvail> | |
− | + | <AirVPrefs/> | |
− | + | <IncludePrivateFare>false</IncludePrivateFare> | |
− | + | <CurrencyCode>RUB</CurrencyCode> | |
− | + | </Restrictions> | |
− | + | </SearchFlights> | |
− | + | </Request> | |
− | + | <Source> | |
− | + | <ClientId>---</ClientId> | |
− | + | <APIKey>---</APIKey> | |
− | + | <Language>RU</Language> | |
− | + | <Currency>RUB</Currency> | |
− | + | <ShowNames>true</ShowNames> | |
− | + | <EndUserData> | |
− | + | <EndUserIP>---</EndUserIP> | |
− | + | <EndUserBrowserAgent>---</EndUserBrowserAgent> | |
− | + | <RequestOrigin>---</RequestOrigin> | |
− | </soapenv:Envelope> | + | </EndUserData> |
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:search> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | </div> | ||
Строка 877: | Строка 901: | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
− | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http:// | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
<SOAP-ENV:Body> | <SOAP-ENV:Body> | ||
<ns1:searchResponse> | <ns1:searchResponse> | ||
Строка 883: | Строка 907: | ||
<Response> | <Response> | ||
<SearchFlights> | <SearchFlights> | ||
− | <Flights SearchId=" | + | <Flights SearchId="221998" ResultURL="http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221998"> |
− | <Flight FlightId=" | + | <Flight FlightId="1387500001" Nemo2FlightId="142939757060034"> |
− | <WebService> | + | <WebService>AMADEUS</WebService> |
− | <ValCompany/> | + | <ValCompany>SU</ValCompany> |
− | <URL>http%3A%2F% | + | <URL>http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221998%26flight%3D1387500001</URL> |
<Segments> | <Segments> | ||
<Segment SegNum="1" SegGroupNum="0"> | <Segment SegNum="1" SegGroupNum="0"> | ||
+ | <SupplierCode/> | ||
<DepAirp CodeType="IATA" Name="Прага">PRG</DepAirp> | <DepAirp CodeType="IATA" Name="Прага">PRG</DepAirp> | ||
− | <DepTerminal | + | <DepTerminal>1</DepTerminal> |
− | <ArrAirp CodeType="IATA" Name=" | + | <ArrAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</ArrAirp> |
− | <ArrTerminal | + | <ArrTerminal>E</ArrTerminal> |
− | <OpAirline> | + | <OpAirline>SU</OpAirline> |
− | <OpAirlineName> | + | <OpAirlineName>Аэрофлот</OpAirlineName> |
− | <MarkAirline> | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3869-a73427f1141d3a37e1523c6193140a5d.svg</OpAirlineLogo> |
− | <MarkAirlineName> | + | <MarkAirline>SU</MarkAirline> |
− | <FlightNumber> | + | <MarkAirlineName>Аэрофлот</MarkAirlineName> |
− | <AircraftName> | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3869-a73427f1141d3a37e1523c6193140a5d.svg</MarkAirlineLogo> |
− | <AircraftType> | + | <FlightNumber>2017</FlightNumber> |
− | <DepDateTime> | + | <AircraftName>Airbus A320 (with Sharklets)</AircraftName> |
− | <ArrDateTime> | + | <AircraftType>32A</AircraftType> |
+ | <DepDateTime>2018-04-09T01:00:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-09T04:30:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="economy"> | <BookingCode ClassType="economy"> | ||
− | <BookingCode> | + | <BookingCode>B</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>150</FlightTime> |
− | <RemainingSeats> | + | <RemainingSeats>7</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="2" Arrival="3"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
− | <Segment SegNum="2" SegGroupNum | + | <Segment SegNum="2" SegGroupNum="1"> |
− | + | <SupplierCode/> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
<DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp> | <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp> | ||
− | <DepTerminal | + | <DepTerminal/> |
− | <ArrAirp CodeType="IATA" Name=" | + | <ArrAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</ArrAirp> |
− | <ArrTerminal | + | <ArrTerminal>1</ArrTerminal> |
− | <OpAirline> | + | <OpAirline>I9</OpAirline> |
− | <OpAirlineName> | + | <OpAirlineName>Air Italy</OpAirlineName> |
− | <MarkAirline> | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3670-209dae18965b8f4642531a739b0d28e7.jpg</OpAirlineLogo> |
− | <MarkAirlineName> | + | <MarkAirline>IG</MarkAirline> |
− | <FlightNumber> | + | <MarkAirlineName>Meridiana</MarkAirlineName> |
− | <AircraftName> | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F4667-99e77869a19199f2092673d3d2e58cc7.gif</MarkAirlineLogo> |
− | <AircraftType> | + | <FlightNumber>822</FlightNumber> |
− | <DepDateTime> | + | <AircraftName>Boeing 737</AircraftName> |
− | <ArrDateTime> | + | <AircraftType>738</AircraftType> |
+ | <DepDateTime>2018-04-16T12:20:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-16T14:55:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="economy"> | <BookingCode ClassType="economy"> | ||
− | <BookingCode> | + | <BookingCode>W</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
− | <FlightTime> | + | <FlightTime>215</FlightTime> |
<RemainingSeats>4</RemainingSeats> | <RemainingSeats>4</RemainingSeats> | ||
− | <TimeZone Departure="3" Arrival=" | + | <TimeZone Departure="3" Arrival="2"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>2</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
− | <Segment SegNum=" | + | <Segment SegNum="3" SegGroupNum="2"> |
− | + | <SupplierCode/> | |
− | + | <DepAirp CodeType="IATA" Name="Линате, Милан">LIN</DepAirp> | |
− | + | <DepTerminal/> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <DepAirp CodeType="IATA" Name=" | ||
− | <DepTerminal | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp> | <ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp> | ||
− | <ArrTerminal | + | <ArrTerminal>4</ArrTerminal> |
− | <OpAirline> | + | <OpAirline>IB</OpAirline> |
− | <OpAirlineName> | + | <OpAirlineName>Iberia</OpAirlineName> |
− | <MarkAirline> | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2895-ddf1fddccc18d7c343a1d84216e3f183.svg</OpAirlineLogo> |
− | <MarkAirlineName> | + | <MarkAirline>IG</MarkAirline> |
− | <FlightNumber> | + | <MarkAirlineName>Meridiana</MarkAirlineName> |
− | <AircraftName/> | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F4667-99e77869a19199f2092673d3d2e58cc7.gif</MarkAirlineLogo> |
− | <AircraftType> | + | <FlightNumber>9265</FlightNumber> |
− | <DepDateTime> | + | <AircraftName>Аэробус 320</AircraftName> |
− | <ArrDateTime> | + | <AircraftType>320</AircraftType> |
+ | <DepDateTime>2018-04-23T07:10:00</DepDateTime> | ||
+ | <ArrDateTime>2018-04-23T09:30:00</ArrDateTime> | ||
<StopNum>0</StopNum> | <StopNum>0</StopNum> | ||
+ | <StopPoints/> | ||
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="economy"> | <BookingCode ClassType="economy"> | ||
− | <BookingCode> | + | <BookingCode>Y</BookingCode> |
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
<FlightTime>140</FlightTime> | <FlightTime>140</FlightTime> | ||
− | <RemainingSeats> | + | <RemainingSeats>9</RemainingSeats> |
− | <TimeZone Departure=" | + | <TimeZone Departure="2" Arrival="2"/> |
<ETicket>true</ETicket> | <ETicket>true</ETicket> | ||
+ | <isCharter>false</isCharter> | ||
+ | <BaggageAllowances> | ||
+ | <BaggageAllowance> | ||
+ | <PassengerType>ADT</PassengerType> | ||
+ | <Value>1</Value> | ||
+ | <Measurement>pc</Measurement> | ||
+ | </BaggageAllowance> | ||
+ | </BaggageAllowances> | ||
</Segment> | </Segment> | ||
</Segments> | </Segments> | ||
<PricingInfo Refundable="false"> | <PricingInfo Refundable="false"> | ||
<PassengerFare Type="ADT" Quantity="1"> | <PassengerFare Type="ADT" Quantity="1"> | ||
− | <BaseFare Currency=" | + | <TravellerRef xsi:nil="true"/> |
− | <EquiveFare Currency=" | + | <BaseFare Currency="KZT" Amount="544092"/> |
− | <TotalFare Currency=" | + | <EquiveFare Currency="KZT" Amount="544092"/> |
+ | <TotalFare Currency="KZT" Amount="631024"/> | ||
<Taxes> | <Taxes> | ||
− | <Tax CurCode=" | + | <Tax CurCode="KZT" TaxCode="XT" Amount="86932"/> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</Taxes> | </Taxes> | ||
<Tariffs> | <Tariffs> | ||
− | <Tariff Code=" | + | <Tariff Code="BFO" SegNum="1"> |
− | <Tariff | + | <FareFamilies/> |
− | <Tariff Code=" | + | </Tariff> |
− | + | <Tariff Code="WLPREDME" SegNum="2"> | |
− | + | <FareFamilies/> | |
− | + | </Tariff> | |
− | + | <Tariff Code="YFLEX" SegNum="3"> | |
− | + | <FareFamilies/> | |
− | + | </Tariff> | |
− | |||
− | |||
− | |||
− | |||
− | <Tariff Code=" | ||
− | |||
− | <Tariff | ||
</Tariffs> | </Tariffs> | ||
− | <FareCalc | + | <FareCalc/> |
− | <LastTicketDateTime> | + | <LastTicketDateTime>2018-04-03T23:59:00</LastTicketDateTime> |
</PassengerFare> | </PassengerFare> | ||
</PricingInfo> | </PricingInfo> | ||
<Commission/> | <Commission/> | ||
− | <Charges Currency="RUB"> | + | <Charges Currency="RUB">330.66</Charges> |
− | <TotalPrice Currency="RUB"> | + | <TotalPrice Currency="RUB">112935</TotalPrice> |
</Flight> | </Flight> | ||
......... | ......... |
Текущая версия на 16:10, 8 октября 2020
Содержание
Подключение
Это сервис внутри Nemo, который позволяет получить результаты поиска.
Для подключения к веб-службе поиска авиабилетов необходимо открыть доступ нужному пользователю. Это можно сделать в разделе «Настройки системы» ⇨ «Интеграция» ⇨ «Nemo (SOAP API)».
После добавления пользователя, ему будут присвоены Номер (ClientId) и API ключ клиента, которые нужно использовать для подключения.
WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=SearchFlights
Общий формат запроса / ответа поиска
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:search>
5 <RequestBin>
6 <Request>
7 <SearchFlights LinkOnly="?">
8 <!--LinkOnly — Позволяет управлять выдачей результатов. true — вернуть только ссылку на результаты поиска,
9 без перелётов (занимает меньше времени), false — полная выдача, ссылки и перелёты.-->
10 <ODPairs Type="?" Direct="?" AroundDates="?">
11 <!--Type — тип перелёта, возможные значения: OW — туда, RT — туда-обратно, CR — сложный маршрут. Для перелета
12 туда-обратно или сложного маршрута необходимо добавить еще один или несколько тэгов ODPair, примеры далее-->
13 <!--Direct — искать только прямые перелёты, возможные значения: true/false-->
14 <!--AroundDates — поиск по окружным датам, количество дней +/- от даты заезда/возвращения, значения: 0, 1, 3.
15 Применим только для типов перелёта в одну сторону(OW) и туда-обратно(RT)-->
16 <!--Zero or more repetitions:-->
17 <ODPair>
18 <DepDate>?</DepDate>
19 <!--DepDate — дата вылета, в формате ГГГГ-MM-ДД-->
20 <DepAirp CodeType="IATA">?</DepAirp>
21 <!--DepAirp — аэропорт вылета, IATA код-->
22 <!--Optional:-->
23 <DepAltAirports>
24 <!--DepAltAirports— альтернативные аэропорты вылета-->
25 <!--Once or more repetitions:-->
26 <AltAirport CodeType="IATA">?</AltAirport>
27 <!--AltAirport — альтернативный аэропорт, IATA код-->
28 </DepAltAirports>
29 <ArrAirp CodeType="IATA">?</ArrAirp>
30 <!--ArrAirp — аэропорт прилёта, IATA код-->
31 <!--Optional:-->
32 <ArrAltAirports>
33 <!--ArrAltAirports— альтернативные аэропорты прилета-->
34 <!--Once or more repetitions:-->
35 <AltAirport CodeType="IATA">?</AltAirport>
36 <!--AltAirport — альтернативный аэропорт, IATA код-->
37 </ArrAltAirports>
38 </ODPair>
39 </ODPairs>
40 <Travellers>
41 <!--Zero or more repetitions:-->
42 <Traveller Type="?" Count="?"/>
43 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
44 INF — младенцы, INS — младенцы с местом-->
45 <!--Count — количество пассажиров-->
46 </Travellers>
47 <Restrictions>
48 <ClassPref>?</ClassPref> <!--необязательный-->
49 <!--ClassPref — предпочитаемый класс поиска, возможные значения: economy, business, first.
50 Если не заполнять, то будет произведен поиск всех классов-->
51 <AirVPrefs>
52 <!--Zero or more repetitions:-->
53 <AirVPref Code="?" Include="?" Type="IATA"/> <!--необязательный-->
54 <!--Code — код авиакомпании, SU, FV и т.п.-->
55 <!--Include — включить или исключить авиакомпанию из результатов: true — включить, false — исключить-->
56 </AirVPrefs>
57 <IncludePrivateFare>?</IncludePrivateFare> <!--необязательный-->
58 <!--IncludePrivateFare — искать цены для агентства, если true — то включаем приватные, false — публичные-->
59 <CurrencyCode>?</CurrencyCode> <!--необязательный-->
60 <!--CurrencyCode — код валюты, например: RUB, EUR-->
61 <MaxResultCount>?</MaxResultCount> <!--необязательный-->
62 <!--MaxResultCount — желаемое количество результатов поиска, значение передается в ГРС-->
63 <PriceRefundType>?</PriceRefundType> <!--необязательный-->
64 <!--PriceRefundType — выбор возвратности тарифов, допустимые значения (если в запросе не указывать PriceRefundType вообще, то в поисковой выдаче будут тарифы, как и при указании значения AnyLowest):-->
65 <!--Refundable — в поисковой выдаче будут только возвратные тарифы-->
66 <!--AnyLowest — в поисковой выдаче будут только самые дешевые тарифы (по умолчанию)-->
67 <!--Both — совокупность поисковых выдач поиска возвратных тарифов и самых дешевых-->
68
69 </Restrictions>
70 <UTMSource>?</UTMSource> <!--необязательный-->
71 <!--UTMSource — название источника метрики заведенного в настройках-->
72 <DeviceId> <!--необязательный-->
73 <Type>?</Type>
74 <!--Type — Тип мобильного устройства (apple/android)-->
75 <Token>?</Token>
76 <!--Token — Токен мобильного устройства-->
77 </DeviceId>
78 </SearchFlights>
79 </Request>
80 <Source>
81 <ClientId>?</ClientId>
82 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
83 "Администрирование" ? "Веб-служба. Авторизация".-->
84 <APIKey>?</APIKey>
85 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
86 "Администрирование" ? "Веб-служба. Авторизация".-->
87 <Language>?</Language>
88 <!--Language — язык, например: RU-->
89 <Currency>?</Currency>
90 <!-- Currency — валюта, например: RUB, EUR-->
91 <ShowNames>?</ShowNames>
92 <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
93 <EndUserData>
94 <!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusion-->
95 <EndUserIP>123.123.123.123</EndUserIP>
96 <!--IP адрес пользователя-->
97 <EndUserBrowserAgent>firefox</EndUserBrowserAgent>
98 <!--Браузер пользователя-->
99 <RequestOrigin>Russia-nemo.travel</RequestOrigin>
100 <!--Страна и домен, с которого пользователь совершает поиск/бронирование-->
101 </EndUserData>
102 </Source>
103 </RequestBin>
104 </ver:search>
105 </soapenv:Body>
106 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:searchResponse>
4 <ResponseBin>
5 <Response>
6 <SearchFlights>
7 <Flights SearchId="?" ResultURL="?">
8 <!--SearchId — ID процесса поиска в Nemo 1.0-->
9 <!--ResultURL — ссылка на страницу просмотра результатов на сайте агентства-->
10 <Flight FlightId="?" Nemo2FlightId="?">
11 <!--FlightId — Id перелёта в системе Nemo (1.0) -->
12 <!--Nemo2FlightId — Id перелёта в системе Nemo (2.0)-->
13 <WebService>?</WebService>
14 <!--WebService — поставщик перелёта-->
15 <ValCompany>?</ValCompany>
16 <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
17 <URL>?</URL>
18 <!--URL — ссылка на бронирование конкретного перелета-->
19 <Segments>
20 <Segment SegNum="?" SegGroupNum="?">
21 <!--SegNum — номер сегмента в перелёте-->
22 <!--SegGroupNum – номер плеча перелёта-->
23 <DepAirp CodeType="IATA" Name="?">?</DepAirp>
24 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево. Name - название аэропорта отправления-->
25 <DepTerminal>?</DepTerminal>
26 <!--DepTerminal — терминал пункта отправления, если пустое значение,
27 то в аэропорту всего 1 терминал-->
28 <ArrAirp CodeType="IATA" Name="?">?</ArrAirp>
29 <!--ArrAirp — аэропорт прибытия. Name - название аэропорта прибытия-->
30 <ArrTerminal>?</ArrTerminal>
31 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
32 то в аэропорту всего 1 терминал-->
33 <OpAirline>?</OpAirline>
34 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
35 <OpAirlineName>?</OpAirlineName>
36 <!--OpAirlineName — название авиакомпании перевозчика, например: Аэрофлот - Российские авиалинии -->
37 <OpAirlineLogo>?</OpAirlineLogo>
38 <!-- OpAirlineLogo — ссылка на изображение логотипа авиакомпании -->
39 <MarkAirline>?</MarkAirline>
40 <!--MarkAirline — авиакомпания, продающая перелёт-->
41 <MarkAirlineName>?</MarkAirlineName>
42 <!--MarkAirlineName — название авиакомпании, продающей перелёт-->
43 <MarkAirlineLogo>?</MarkAirlineLogo>
44 <!-- MarkAirlineLogo — ссылка на изображение логотипа авиакомпании -->
45 <FlightNumber>?</FlightNumber>
46 <!--FlightNumber — номер рейса-->
47 <AircraftName>?</AircraftName>
48 <!--AircraftName — название воздушного судна. Например: Airbus 320-->
49 <AircraftType>?</AircraftType>
50 <!--AircraftType — тип воздушного судна, код-->
51 <DepDateTime>?</DepDateTime>
52 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
53 <ArrDateTime>?</ArrDateTime>
54 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
55 <StopNum>?</StopNum>
56 <!--StopNum — количество остановок-->
57 <StopPoints>
58 <!--StopPoints — информация о технических остановках, если они есть-->
59 <StopPoint>
60 <AirportCode>?</AirportCode>
61 <!--AirportCode — код аэропорта остановки, трех символьный iata код-->
62 <UTC>?</UTC>
63 <!--UTC — сдвиг часового пояса аэропорта-->
64 <ArrDateTime>?</ArrDateTime>
65 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
66 <DepDateTime>?</DepDateTime>
67 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
68 </StopPoint>
69 </StopPoints>
70 <BookingCodes>
71 <BookingCode ClassType="?">
72 <!--ClassType — класс перелета, например: economy-->
73 <BookingCode>?</BookingCode>
74 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
75 может записываться разными литерами, например: L. Возвращает информацию о классе перелета определенного сегмента.-->
76 </BookingCode>
77 </BookingCodes>
78 <FlightTime>?</FlightTime>
79 <!--FlightTime — время перелёта в минутах-->
80 <RemainingSeats>?</RemainingSeats>
81 <!--RemainingSeats — количетсво свободных мест для данного класса перелёта-->
82 <TimeZone Departure="?" Arrival="?"/>
83 <!--Departure временная зона аэропорта отправления-->
84 <!--Arrival — временная зона аэропорта прибытия-->
85 <ETicket>?</ETicket>
86 <!--ETicket — признак электронного билета, значения: true / false-->
87 <isCharter>?</isCharter>
88 <!--isCharter — признак чартерного перелета, значения: true / false-->
89 <BaggageAllowances>
90 <!--BaggageAllowances — информация о багаже-->
91 <BaggageAllowance>
92 <PassengerType>?</PassengerType>
93 <!--PassengerType — тип пассажира, соответстует типу пассижира в PricingInfo -->
94 <Value>?</Value>
95 <!--Value — количество-->
96 <Measurement>?</Measurement>
97 <!--Measurement — мера измерения: kg — килограмм, pc — багажное место, lb — фунт-->
98 </BaggageAllowance>
99 </BaggageAllowances>
100 </Segment>
101 </Segments>
102 <PricingInfo Refundable="?">
103 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
104 <PassengerFare Type="?" Quantity="?">
105 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
106 INF — младенцы, INS — младенцы с местом-->
107 <!--Quantity — количество пассажиров данного типа-->
108 <TravellerRef/>
109 <!--Ссылка на пассажиров, к которым относится данный тариф-->
110 <BaseFare Currency="?" Amount="?"/>
111 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
112 <EquiveFare Currency="?" Amount="?"/>
113 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
114 Currency — код валюты, Amount — значение цены-->
115 <TotalFare Currency="?" Amount="?"/>
116 <!--TotalFare — суммарная стоимость перелета за тип пассажира, в эквивалентной валюте.
117 Currency — код валюты, Amount — значение цены-->
118 <Taxes>
119 <Tax CurCode="?" TaxCode="?" Amount="?"/>
120 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
121 </Taxes>
122 <Tariffs>
123 <Tariff Code="?" SegNum="?"/>
124 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
125 <FareFamilies>
126 <!--FareFamilies - наличие данного параметра у сегмента, означает, что у а\к заведены семейства тарифов-->
127 <FullName>?</FullName>
128 <!--FullName - название тарифа, который принадлежит семейству тарифов, у сегмента-->
129 </FareFamilies>
130 </Tariff>
131 </Tariffs>
132 <FareCalc>?</FareCalc>
133 <!--FareCalc — строка расчёта цены-->
134 <LastTicketDateTime>?</LastTicketDateTime>
135 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС по московскому времени. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
136 </PassengerFare>
137 </PricingInfo>
138 <Commission/>
139 <Charges Currency="?">?</Charges>
140 <!--Charges — сборы, Currency — код валюты-->
141 <TotalPrice Currency="?">?</TotalPrice>
142 <!--TotalPrice — итоговая цена, Currency — код валюты-->
143 </Flight>
144 <Flight>...</Flight>
145 ....................
146 <Flight>...</Flight>
147 </Flights>
148 <Errors>
149 <Error Code="?">
150 <!--Code — код ошибки в системе Nemo-->
151 <ServiceErrorMessage>?</ServiceErrorMessage>
152 <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
153 <Message>?</Message>
154 <!--Message — сообщение об ошибке от системы Nemo-->
155 </Error>
156 </Errors>
157 </SearchFlights>
158 </Response>
159 </ResponseBin>
160 </ns1:searchResponse>
161 </SOAP-ENV:Body>
162 </SOAP-ENV:Envelope>
В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом:
- Если текущий домен агентства/субагентства есть в настройках (Управление сайтом ⇨ Домены и протоколы ⇨ Доменное имя сайта для загрузки настроек), то этот домен используется в ссылках.
- Если текущего домена нет в настройках, то используется первый домен из настроек.
- Если в настройках не прописано ни одного домена, то используется текущий домен.
На поиск действуют ограничения заданные в настройках агентства, в частности ограничения по пассажирам и ограничение ближайшей разрешенной даты поиска билетов.
- Если дата поиска меньше ближайшей разрешенной даты для поиска билетов, то выводится сообщение об ошибке Invalid search param: Неверная дата вылета: слишком близкая
- Если количество взрослых пассажиров превышает допустимое ограничение - Invalid search param: Слишком много взрослых
- Если количество детей в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много детей
- Если количество младенцев в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
- Если количество младенцев с местом в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
Примечание:
Если в запросе поиска указать PriceRefundType = “Both”, то для всех ГРС кроме Sabre будет отправляться 2 запроса. Если количество доп. цен в БФМ запросе в Сейбре больше 10, то и в нем будет 2 запроса. Количество доп. цен в запросе зависит от:
- Настроек прайсинга по альтернативным J типам в пакете реквизитов;
- Количества запрошенных классов перелетов;
- Количества запрошенных типов пассажиров;
- Настройки "Дополнительно запросить только публичные тарифы" в применявшемся правила маршрутизатора.
Примеры использования
Односторонний перелет
Пример одностороннего перелета: Москва — Санкт-Петербург, 1 взрослый, эконом класс, предпочитаемая авиакомпания — ЮТэйр.
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:search>
5 <RequestBin>
6 <Request>
7 <SearchFlights LinkOnly="false">
8 <ODPairs Type="OW" Direct="false" AroundDates="0">
9 <!--Zero or more repetitions:-->
10 <ODPair>
11 <DepDate>2018-04-09</DepDate>
12 <DepAirp CodeType="IATA">MOW</DepAirp>
13 <ArrAirp CodeType="IATA">LED</ArrAirp>
14 </ODPair>
15 </ODPairs>
16 <Travellers>
17 <!--Zero or more repetitions:-->
18 <Traveller Type="ADT" Count="1"/>
19 </Travellers>
20 <Restrictions>
21 <ClassPref>economy</ClassPref>
22 <OnlyAvail>false</OnlyAvail>
23 <AirVPrefs>
24 <!--Zero or more repetitions:-->
25 <AirVPref Code="UT" Include="true" Type="IATA"/>
26 </AirVPrefs>
27 <IncludePrivateFare>false</IncludePrivateFare>
28 <CurrencyCode>RUB</CurrencyCode>
29 </Restrictions>
30 </SearchFlights>
31 </Request>
32 <Source>
33 <ClientId>---</ClientId>
34 <APIKey>---</APIKey>
35 <Language>RU</Language>
36 <Currency>RUB</Currency>
37 <ShowNames>true</ShowNames>
38 <EndUserData>
39 <EndUserIP>---</EndUserIP>
40 <EndUserBrowserAgent>---</EndUserBrowserAgent>
41 <RequestOrigin>---</RequestOrigin>
42 </EndUserData>
43 </Source>
44 </RequestBin>
45 </ver:search>
46 </soapenv:Body>
47 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:searchResponse>
4 <ResponseBin>
5 <Response>
6 <SearchFlights>
7 <Flights SearchId="221980" ResultURL="http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221968 ">
8 <Flight FlightId="1387380004" Nemo2FlightId="142939413030003">
9 <WebService>AMADEUS</WebService>
10 <ValCompany>UT</ValCompany>
11 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221980%26flight%3D1387380004</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <SupplierCode/>
15 <DepAirp CodeType="IATA" Name="Внуково, Москва">VKO</DepAirp>
16 <DepTerminal>A</DepTerminal>
17 <ArrAirp CodeType="IATA" Name="Санкт-Петербург, Пулково">LED</ArrAirp>
18 <ArrTerminal>1</ArrTerminal>
19 <OpAirline>UT</OpAirline>
20 <OpAirlineName>ЮТэйр</OpAirlineName>
21 <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo>
22 <MarkAirline>UT</MarkAirline>
23 <MarkAirlineName>ЮТэйр</MarkAirlineName>
24 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</MarkAirlineLogo>
25 <FlightNumber>369</FlightNumber>
26 <AircraftName>Boeing 737</AircraftName>
27 <AircraftType>735</AircraftType>
28 <DepDateTime>2018-04-09T10:35:00</DepDateTime>
29 <ArrDateTime>2018-04-09T11:55:00</ArrDateTime>
30 <StopNum>0</StopNum>
31 <StopPoints/>
32 <BookingCodes>
33 <BookingCode ClassType="economy">
34 <BookingCode>H</BookingCode>
35 </BookingCode>
36 </BookingCodes>
37 <FlightTime>80</FlightTime>
38 <RemainingSeats>9</RemainingSeats>
39 <TimeZone Departure="3" Arrival="3"/>
40 <ETicket>true</ETicket>
41 <isCharter>false</isCharter>
42 <BaggageAllowances>
43 <BaggageAllowance>
44 <PassengerType>ADT</PassengerType>
45 <Value/>
46 <Measurement>kg</Measurement>
47 </BaggageAllowance>
48 </BaggageAllowances>
49 </Segment>
50 </Segments>
51 <PricingInfo Refundable="false">
52 <PassengerFare Type="ADT" Quantity="1">
53 <TravellerRef xsi:nil="true"/>
54 <BaseFare Currency="KZT" Amount="7329"/>
55 <EquiveFare Currency="KZT" Amount="7329"/>
56 <TotalFare Currency="KZT" Amount="19702"/>
57 <Taxes>
58 <Tax CurCode="KZT" TaxCode="XT" Amount="12373"/>
59 </Taxes>
60 <Tariffs>
61 <Tariff Code="HLTOW" SegNum="1">
62 <FareFamilies>
63 <FullName>Лайт</FullName>
64 </FareFamilies>
65 </Tariff>
66 </Tariffs>
67 <FareCalc/>
68 <LastTicketDateTime>2018-04-03T23:59:00</LastTicketDateTime>
69 </PassengerFare>
70 </PricingInfo>
71 <Commission/>
72 <Charges Currency="RUB">2851.23</Charges>
73 <TotalPrice Currency="RUB">6367</TotalPrice>
74 </Flight>
75 <Flight FlightId="1387380005" Nemo2FlightId="142939413020000">
76 <WebService>SIRENA2000</WebService>
77 <ValCompany>UT</ValCompany>
78 <URL>http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221980%26flight%3D1387380005</URL>
79 <Segments>
80 <Segment SegNum="1" SegGroupNum="0">
81 <SupplierCode/>
82 <DepAirp CodeType="IATA" Name="Внуково, Москва">VKO</DepAirp>
83 <DepTerminal>A</DepTerminal>
84 <ArrAirp CodeType="IATA" Name="Санкт-Петербург, Пулково">LED</ArrAirp>
85 <ArrTerminal>1</ArrTerminal>
86 <OpAirline>UT</OpAirline>
87 <OpAirlineName>ЮТэйр</OpAirlineName>
88 <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo>
89 <MarkAirline>UT</MarkAirline>
90 <MarkAirlineName>ЮТэйр</MarkAirlineName>
91 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</MarkAirlineLogo>
92 <FlightNumber>369</FlightNumber>
93 <AircraftName>Boeing 737</AircraftName>
94 <AircraftType>735</AircraftType>
95 <DepDateTime>2018-04-09T10:35:00</DepDateTime>
96 <ArrDateTime>2018-04-09T11:55:00</ArrDateTime>
97 <StopNum>0</StopNum>
98 <StopPoints/>
99 <BookingCodes>
100 <BookingCode ClassType="economy">
101 <BookingCode>K</BookingCode>
102 </BookingCode>
103 </BookingCodes>
104 <FlightTime>80</FlightTime>
105 <RemainingSeats>9</RemainingSeats>
106 <TimeZone Departure="3" Arrival="3"/>
107 <ETicket>true</ETicket>
108 <isCharter>false</isCharter>
109 <BaggageAllowances>
110 <BaggageAllowance>
111 <PassengerType>ADT</PassengerType>
112 <Value>0</Value>
113 <Measurement>kg</Measurement>
114 </BaggageAllowance>
115 </BaggageAllowances>
116 </Segment>
117 </Segments>
118 <PricingInfo Refundable="false">
119 <PassengerFare Type="ADT" Quantity="1">
120 <TravellerRef xsi:nil="true"/>
121 <BaseFare Currency="RUB" Amount="805"/>
122 <EquiveFare Currency="RUB" Amount="805"/>
123 <TotalFare Currency="RUB" Amount="4647"/>
124 <Taxes>
125 <Tax CurCode="RUB" TaxCode="SA" Amount="300"/>
126 <Tax CurCode="RUB" TaxCode="YQ" Amount="1300"/>
127 <Tax CurCode="RUB" TaxCode="ZZ" Amount="185"/>
128 <Tax CurCode="RUB" TaxCode="AG" Amount="500"/>
129 <Tax CurCode="RUB" TaxCode="RI" Amount="1557"/>
130 </Taxes>
131 <Tariffs>
132 <Tariff Code="LLTOW" SegNum="1">
133 <FareFamilies>
134 <FullName>Лайт</FullName>
135 </FareFamilies>
136 </Tariff>
137 </Tariffs>
138 <FareCalc/>
139 <LastTicketDateTime>2018-04-09T10:35:00</LastTicketDateTime>
140 </PassengerFare>
141 </PricingInfo>
142 <Commission/>
143 <Charges Currency="RUB">2851</Charges>
144 <TotalPrice Currency="RUB">7498</TotalPrice>
145 </Flight>
146 .........
147 <Flight>...</Flight>
148 </Flights>
149 <Errors xsi:nil="true"/>
150 </SearchFlights>
151 </Response>
152 </ResponseBin>
153 </ns1:searchResponse>
154 </SOAP-ENV:Body>
155 </SOAP-ENV:Envelope>
Перелет туда-обратно
Пример перелета туда-обратно: Москва — Париж, 2 взрослых, бизнес класс. Выдача с именами авиакомпаний, воздушных судов, аэропортов.
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:search>
5 <RequestBin>
6 <Request>
7 <SearchFlights LinkOnly="false">
8 <ODPairs Type="RT" Direct="false" AroundDates="0">
9 <!--Zero or more repetitions:-->
10 <ODPair>
11 <DepDate>2018-04-09</DepDate>
12 <DepAirp CodeType="IATA">MOW</DepAirp>
13 <ArrAirp CodeType="IATA">PAR</ArrAirp>
14 </ODPair>
15 <ODPair>
16 <DepDate>2018-04-16</DepDate>
17 <DepAirp CodeType="IATA">PAR</DepAirp>
18 <ArrAirp CodeType="IATA">MOW</ArrAirp>
19 </ODPair>
20 </ODPairs>
21 <Travellers>
22 <!--Zero or more repetitions:-->
23 <Traveller Type="ADT" Count="2"/>
24 </Travellers>
25 <Restrictions>
26 <ClassPref>business</ClassPref>
27 <OnlyAvail>false</OnlyAvail>
28 <AirVPrefs/>
29 <IncludePrivateFare>false</IncludePrivateFare>
30 <CurrencyCode>RUB</CurrencyCode>
31 </Restrictions>
32 </SearchFlights>
33 </Request>
34 <Source>
35 <ClientId>---</ClientId>
36 <APIKey>---</APIKey>
37 <Language>RU</Language>
38 <Currency>RUB</Currency>
39 <ShowNames>true</ShowNames>
40 <EndUserData>
41 <EndUserIP>---</EndUserIP>
42 <EndUserBrowserAgent>---</EndUserBrowserAgent>
43 <RequestOrigin>---</RequestOrigin>
44 </EndUserData>
45 </Source>
46 </RequestBin>
47 </ver:search>
48 </soapenv:Body>
49 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:searchResponse>
4 <ResponseBin>
5 <Response>
6 <SearchFlights>
7 <Flights SearchId="221983" ResultURL="http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221983">
8 <Flight FlightId="1387400001" Nemo2FlightId="142939437030005">
9 <WebService>SABRE</WebService>
10 <ValCompany>OS</ValCompany>
11 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221983%26flight%3D1387400001</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <SupplierCode/>
15 <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp>
16 <DepTerminal/>
17 <ArrAirp CodeType="IATA" Name="Вена">VIE</ArrAirp>
18 <ArrTerminal/>
19 <OpAirline>OS</OpAirline>
20 <OpAirlineName>Austrian</OpAirlineName>
21 <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo>
22 <MarkAirline>OS</MarkAirline>
23 <MarkAirlineName>Austrian</MarkAirlineName>
24 <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo>
25 <FlightNumber>606</FlightNumber>
26 <AircraftName>Airbus 319</AircraftName>
27 <AircraftType>319</AircraftType>
28 <DepDateTime>2018-04-09T06:25:00</DepDateTime>
29 <ArrDateTime>2018-04-09T08:15:00</ArrDateTime>
30 <StopNum>0</StopNum>
31 <StopPoints/>
32 <BookingCodes>
33 <BookingCode ClassType="business">
34 <BookingCode>P</BookingCode>
35 </BookingCode>
36 </BookingCodes>
37 <FlightTime>170</FlightTime>
38 <RemainingSeats>5</RemainingSeats>
39 <TimeZone Departure="3" Arrival="2"/>
40 <ETicket>true</ETicket>
41 <isCharter>false</isCharter>
42 <BaggageAllowances>
43 <BaggageAllowance>
44 <PassengerType>ADT</PassengerType>
45 <Value>2</Value>
46 <Measurement>pc</Measurement>
47 </BaggageAllowance>
48 </BaggageAllowances>
49 </Segment>
50 <Segment SegNum="2" SegGroupNum="0">
51 <SupplierCode/>
52 <DepAirp CodeType="IATA" Name="Вена">VIE</DepAirp>
53 <DepTerminal/>
54 <ArrAirp CodeType="IATA" Name="Шарль Де Голль, Париж">CDG</ArrAirp>
55 <ArrTerminal>2D</ArrTerminal>
56 <OpAirline>OS</OpAirline>
57 <OpAirlineName>Austrian</OpAirlineName>
58 <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo>
59 <MarkAirline>OS</MarkAirline>
60 <MarkAirlineName>Austrian</MarkAirlineName>
61 <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo>
62 <FlightNumber>413</FlightNumber>
63 <AircraftName>Аэробус 320</AircraftName>
64 <AircraftType>320</AircraftType>
65 <DepDateTime>2018-04-09T10:55:00</DepDateTime>
66 <ArrDateTime>2018-04-09T13:05:00</ArrDateTime>
67 <StopNum>0</StopNum>
68 <StopPoints/>
69 <BookingCodes>
70 <BookingCode ClassType="business">
71 <BookingCode>P</BookingCode>
72 </BookingCode>
73 </BookingCodes>
74 <FlightTime>130</FlightTime>
75 <RemainingSeats>5</RemainingSeats>
76 <TimeZone Departure="2" Arrival="2"/>
77 <ETicket>true</ETicket>
78 <isCharter>false</isCharter>
79 <BaggageAllowances>
80 <BaggageAllowance>
81 <PassengerType>ADT</PassengerType>
82 <Value>2</Value>
83 <Measurement>pc</Measurement>
84 </BaggageAllowance>
85 </BaggageAllowances>
86 </Segment>
87 <Segment SegNum="3" SegGroupNum="1">
88 <SupplierCode/>
89 <DepAirp CodeType="IATA" Name="Шарль Де Голль, Париж">CDG</DepAirp>
90 <DepTerminal>2D</DepTerminal>
91 <ArrAirp CodeType="IATA" Name="Вена">VIE</ArrAirp>
92 <ArrTerminal/>
93 <OpAirline>OS</OpAirline>
94 <OpAirlineName>Austrian</OpAirlineName>
95 <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo>
96 <MarkAirline>OS</MarkAirline>
97 <MarkAirlineName>Austrian</MarkAirlineName>
98 <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo>
99 <FlightNumber>416</FlightNumber>
100 <AircraftName>Airbus 321</AircraftName>
101 <AircraftType>321</AircraftType>
102 <DepDateTime>2018-04-16T16:55:00</DepDateTime>
103 <ArrDateTime>2018-04-16T18:55:00</ArrDateTime>
104 <StopNum>0</StopNum>
105 <StopPoints/>
106 <BookingCodes>
107 <BookingCode ClassType="business">
108 <BookingCode>P</BookingCode>
109 </BookingCode>
110 </BookingCodes>
111 <FlightTime>120</FlightTime>
112 <RemainingSeats>5</RemainingSeats>
113 <TimeZone Departure="2" Arrival="2"/>
114 <ETicket>true</ETicket>
115 <isCharter>false</isCharter>
116 <BaggageAllowances>
117 <BaggageAllowance>
118 <PassengerType>ADT</PassengerType>
119 <Value>2</Value>
120 <Measurement>pc</Measurement>
121 </BaggageAllowance>
122 </BaggageAllowances>
123 </Segment>
124 <Segment SegNum="4" SegGroupNum="1">
125 <SupplierCode/>
126 <DepAirp CodeType="IATA" Name="Вена">VIE</DepAirp>
127 <DepTerminal/>
128 <ArrAirp CodeType="IATA" Name="Домодедово, Москва">DME</ArrAirp>
129 <ArrTerminal/>
130 <OpAirline>OS</OpAirline>
131 <OpAirlineName>Austrian</OpAirlineName>
132 <OpAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</OpAirlineLogo>
133 <MarkAirline>OS</MarkAirline>
134 <MarkAirlineName>Austrian</MarkAirlineName>
135 <MarkAirlineLogo>http%3A%2F%2FCLIENT_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2761-b2b2c577490837af7be6f8bece58db7e.svg</MarkAirlineLogo>
136 <FlightNumber>605</FlightNumber>
137 <AircraftName>Airbus 319</AircraftName>
138 <AircraftType>319</AircraftType>
139 <DepDateTime>2018-04-16T20:40:00</DepDateTime>
140 <ArrDateTime>2018-04-17T00:25:00</ArrDateTime>
141 <StopNum>0</StopNum>
142 <StopPoints/>
143 <BookingCodes>
144 <BookingCode ClassType="business">
145 <BookingCode>P</BookingCode>
146 </BookingCode>
147 </BookingCodes>
148 <FlightTime>165</FlightTime>
149 <RemainingSeats>5</RemainingSeats>
150 <TimeZone Departure="2" Arrival="3"/>
151 <ETicket>true</ETicket>
152 <isCharter>false</isCharter>
153 <BaggageAllowances>
154 <BaggageAllowance>
155 <PassengerType>ADT</PassengerType>
156 <Value>2</Value>
157 <Measurement>pc</Measurement>
158 </BaggageAllowance>
159 </BaggageAllowances>
160 </Segment>
161 </Segments>
162 <PricingInfo Refundable="false">
163 <PassengerFare Type="ADT" Quantity="2">
164 <TravellerRef xsi:nil="true"/>
165 <BaseFare Currency="EUR" Amount="154"/>
166 <EquiveFare Currency="USD" Amount="190"/>
167 <TotalFare Currency="USD" Amount="608.81"/>
168 <Taxes>
169 <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/>
170 <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/>
171 <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/>
172 <Tax CurCode="USD" TaxCode="YQI" Amount="52.9"/>
173 <Tax CurCode="USD" TaxCode="YRI" Amount="19.7"/>
174 <Tax CurCode="USD" TaxCode="AT" Amount="10.3"/>
175 <Tax CurCode="USD" TaxCode="AT" Amount="10.3"/>
176 <Tax CurCode="USD" TaxCode="ZY" Amount="23"/>
177 <Tax CurCode="USD" TaxCode="ZY" Amount="23"/>
178 <Tax CurCode="USD" TaxCode="FR" Amount="10"/>
179 <Tax CurCode="USD" TaxCode="FR7" Amount="15.3"/>
180 <Tax CurCode="USD" TaxCode="IZ" Amount="55.5"/>
181 <Tax CurCode="USD" TaxCode="QX" Amount="14.5"/>
182 <Tax CurCode="USD" TaxCode="RI" Amount="9.31"/>
183 <Tax CurCode="USD" TaxCode="RI2" Amount="9"/>
184 <Tax CurCode="USD" TaxCode="UH" Amount="7.3"/>
185 </Taxes>
186 <Tariffs>
187 <Tariff Code="P13BXXE1" SegNum="1">
188 <FareFamilies/>
189 </Tariff>
190 <Tariff Code="P13BXXE1" SegNum="2">
191 <FareFamilies/>
192 </Tariff>
193 <Tariff Code="P13BXXE1" SegNum="3">
194 <FareFamilies/>
195 </Tariff>
196 <Tariff Code="P13BXXE1" SegNum="4">
197 <FareFamilies/>
198 </Tariff>
199 </Tariffs>
200 <FareCalc>MOW OS X/VIE OS PAR95.15OS X/VIE OS MOW95.15NUC190.30END ROE0.809166</FareCalc>
201 <LastTicketDateTime>2018-04-09T05:55:00</LastTicketDateTime>
202 </PassengerFare>
203 </PricingInfo>
204 <Commission/>
205 <Charges Currency="RUB">660.91</Charges>
206 <TotalPrice Currency="RUB">70070</TotalPrice>
207 </Flight>
208 .........
209 <Flight>...</Flight>
210 </Flights>
211 <Errors xsi:nil="true"/>
212 </SearchFlights>
213 </Response>
214 </ResponseBin>
215 </ns1:searchResponse>
216 </SOAP-ENV:Body>
217 </SOAP-ENV:Envelope>
Сложный маршрут
Пример сложного маршрута: Прага — Москва — Милан — Мадрид, 1 взрослый, 1 младенец, эконом класс. Выдача с именами авиакомпаний, воздушных судов, аэропортов.
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:search>
5 <RequestBin>
6 <Request>
7 <SearchFlights LinkOnly="false">
8 <ODPairs Type="CR" Direct="false" AroundDates="0">
9 <!--Zero or more repetitions:-->
10 <ODPair>
11 <DepDate>2018-04-09</DepDate>
12 <DepAirp CodeType="IATA">PRG</DepAirp>
13 <ArrAirp CodeType="IATA">MOW</ArrAirp>
14 </ODPair>
15 <ODPair>
16 <DepDate>2018-04-16</DepDate>
17 <DepAirp CodeType="IATA">MOW</DepAirp>
18 <ArrAirp CodeType="IATA">MIL</ArrAirp>
19 </ODPair>
20 <ODPair>
21 <DepDate>2018-04-23</DepDate>
22 <DepAirp CodeType="IATA">MIL</DepAirp>
23 <ArrAirp CodeType="IATA">MAD</ArrAirp>
24 </ODPair>
25 </ODPairs>
26 <Travellers>
27 <!--Zero or more repetitions:-->
28 <Traveller Type="ADT" Count="1"/>
29 <Traveller Type="INF" Count="1"/>
30 </Travellers>
31 <Restrictions>
32 <ClassPref>economy</ClassPref>
33 <OnlyAvail>false</OnlyAvail>
34 <AirVPrefs/>
35 <IncludePrivateFare>false</IncludePrivateFare>
36 <CurrencyCode>RUB</CurrencyCode>
37 </Restrictions>
38 </SearchFlights>
39 </Request>
40 <Source>
41 <ClientId>---</ClientId>
42 <APIKey>---</APIKey>
43 <Language>RU</Language>
44 <Currency>RUB</Currency>
45 <ShowNames>true</ShowNames>
46 <EndUserData>
47 <EndUserIP>---</EndUserIP>
48 <EndUserBrowserAgent>---</EndUserBrowserAgent>
49 <RequestOrigin>---</RequestOrigin>
50 </EndUserData>
51 </Source>
52 </RequestBin>
53 </ver:search>
54 </soapenv:Body>
55 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIEN_DOMAIN/nemoflights/?version%3D1.0%26for%3DSearchFlights" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:searchResponse>
4 <ResponseBin>
5 <Response>
6 <SearchFlights>
7 <Flights SearchId="221998" ResultURL="http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D221998">
8 <Flight FlightId="1387500001" Nemo2FlightId="142939757060034">
9 <WebService>AMADEUS</WebService>
10 <ValCompany>SU</ValCompany>
11 <URL>http%3A%2F%2FCLIEN_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D221998%26flight%3D1387500001</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <SupplierCode/>
15 <DepAirp CodeType="IATA" Name="Прага">PRG</DepAirp>
16 <DepTerminal>1</DepTerminal>
17 <ArrAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</ArrAirp>
18 <ArrTerminal>E</ArrTerminal>
19 <OpAirline>SU</OpAirline>
20 <OpAirlineName>Аэрофлот</OpAirlineName>
21 <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3869-a73427f1141d3a37e1523c6193140a5d.svg</OpAirlineLogo>
22 <MarkAirline>SU</MarkAirline>
23 <MarkAirlineName>Аэрофлот</MarkAirlineName>
24 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3869-a73427f1141d3a37e1523c6193140a5d.svg</MarkAirlineLogo>
25 <FlightNumber>2017</FlightNumber>
26 <AircraftName>Airbus A320 (with Sharklets)</AircraftName>
27 <AircraftType>32A</AircraftType>
28 <DepDateTime>2018-04-09T01:00:00</DepDateTime>
29 <ArrDateTime>2018-04-09T04:30:00</ArrDateTime>
30 <StopNum>0</StopNum>
31 <StopPoints/>
32 <BookingCodes>
33 <BookingCode ClassType="economy">
34 <BookingCode>B</BookingCode>
35 </BookingCode>
36 </BookingCodes>
37 <FlightTime>150</FlightTime>
38 <RemainingSeats>7</RemainingSeats>
39 <TimeZone Departure="2" Arrival="3"/>
40 <ETicket>true</ETicket>
41 <isCharter>false</isCharter>
42 <BaggageAllowances>
43 <BaggageAllowance>
44 <PassengerType>ADT</PassengerType>
45 <Value>2</Value>
46 <Measurement>pc</Measurement>
47 </BaggageAllowance>
48 </BaggageAllowances>
49 </Segment>
50 <Segment SegNum="2" SegGroupNum="1">
51 <SupplierCode/>
52 <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp>
53 <DepTerminal/>
54 <ArrAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</ArrAirp>
55 <ArrTerminal>1</ArrTerminal>
56 <OpAirline>I9</OpAirline>
57 <OpAirlineName>Air Italy</OpAirlineName>
58 <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F3670-209dae18965b8f4642531a739b0d28e7.jpg</OpAirlineLogo>
59 <MarkAirline>IG</MarkAirline>
60 <MarkAirlineName>Meridiana</MarkAirlineName>
61 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F4667-99e77869a19199f2092673d3d2e58cc7.gif</MarkAirlineLogo>
62 <FlightNumber>822</FlightNumber>
63 <AircraftName>Boeing 737</AircraftName>
64 <AircraftType>738</AircraftType>
65 <DepDateTime>2018-04-16T12:20:00</DepDateTime>
66 <ArrDateTime>2018-04-16T14:55:00</ArrDateTime>
67 <StopNum>0</StopNum>
68 <StopPoints/>
69 <BookingCodes>
70 <BookingCode ClassType="economy">
71 <BookingCode>W</BookingCode>
72 </BookingCode>
73 </BookingCodes>
74 <FlightTime>215</FlightTime>
75 <RemainingSeats>4</RemainingSeats>
76 <TimeZone Departure="3" Arrival="2"/>
77 <ETicket>true</ETicket>
78 <isCharter>false</isCharter>
79 <BaggageAllowances>
80 <BaggageAllowance>
81 <PassengerType>ADT</PassengerType>
82 <Value>2</Value>
83 <Measurement>pc</Measurement>
84 </BaggageAllowance>
85 </BaggageAllowances>
86 </Segment>
87 <Segment SegNum="3" SegGroupNum="2">
88 <SupplierCode/>
89 <DepAirp CodeType="IATA" Name="Линате, Милан">LIN</DepAirp>
90 <DepTerminal/>
91 <ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp>
92 <ArrTerminal>4</ArrTerminal>
93 <OpAirline>IB</OpAirline>
94 <OpAirlineName>Iberia</OpAirlineName>
95 <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F2895-ddf1fddccc18d7c343a1d84216e3f183.svg</OpAirlineLogo>
96 <MarkAirline>IG</MarkAirline>
97 <MarkAirlineName>Meridiana</MarkAirlineName>
98 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F4667-99e77869a19199f2092673d3d2e58cc7.gif</MarkAirlineLogo>
99 <FlightNumber>9265</FlightNumber>
100 <AircraftName>Аэробус 320</AircraftName>
101 <AircraftType>320</AircraftType>
102 <DepDateTime>2018-04-23T07:10:00</DepDateTime>
103 <ArrDateTime>2018-04-23T09:30:00</ArrDateTime>
104 <StopNum>0</StopNum>
105 <StopPoints/>
106 <BookingCodes>
107 <BookingCode ClassType="economy">
108 <BookingCode>Y</BookingCode>
109 </BookingCode>
110 </BookingCodes>
111 <FlightTime>140</FlightTime>
112 <RemainingSeats>9</RemainingSeats>
113 <TimeZone Departure="2" Arrival="2"/>
114 <ETicket>true</ETicket>
115 <isCharter>false</isCharter>
116 <BaggageAllowances>
117 <BaggageAllowance>
118 <PassengerType>ADT</PassengerType>
119 <Value>1</Value>
120 <Measurement>pc</Measurement>
121 </BaggageAllowance>
122 </BaggageAllowances>
123 </Segment>
124 </Segments>
125 <PricingInfo Refundable="false">
126 <PassengerFare Type="ADT" Quantity="1">
127 <TravellerRef xsi:nil="true"/>
128 <BaseFare Currency="KZT" Amount="544092"/>
129 <EquiveFare Currency="KZT" Amount="544092"/>
130 <TotalFare Currency="KZT" Amount="631024"/>
131 <Taxes>
132 <Tax CurCode="KZT" TaxCode="XT" Amount="86932"/>
133 </Taxes>
134 <Tariffs>
135 <Tariff Code="BFO" SegNum="1">
136 <FareFamilies/>
137 </Tariff>
138 <Tariff Code="WLPREDME" SegNum="2">
139 <FareFamilies/>
140 </Tariff>
141 <Tariff Code="YFLEX" SegNum="3">
142 <FareFamilies/>
143 </Tariff>
144 </Tariffs>
145 <FareCalc/>
146 <LastTicketDateTime>2018-04-03T23:59:00</LastTicketDateTime>
147 </PassengerFare>
148 </PricingInfo>
149 <Commission/>
150 <Charges Currency="RUB">330.66</Charges>
151 <TotalPrice Currency="RUB">112935</TotalPrice>
152 </Flight>
153 .........
154 <Flight>...</Flight>
155 </Flights>
156 <Errors xsi:nil="true"/>
157 </SearchFlights>
158 </Response>
159 </ResponseBin>
160 </ns1:searchResponse>
161 </SOAP-ENV:Body>
162 </SOAP-ENV:Envelope>