Веб-служба поиска авиабилетов: различия между версиями
(→Ответ) |
|||
(не показаны 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
Общий формат запроса / ответа поиска
Запрос
Ответ
В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом:
- Если текущий домен агентства/субагентства есть в настройках (Управление сайтом ⇨ Домены и протоколы ⇨ Доменное имя сайта для загрузки настроек), то этот домен используется в ссылках.
- Если текущего домена нет в настройках, то используется первый домен из настроек.
- Если в настройках не прописано ни одного домена, то используется текущий домен.
На поиск действуют ограничения заданные в настройках агентства, в частности ограничения по пассажирам и ограничение ближайшей разрешенной даты поиска билетов.
- Если дата поиска меньше ближайшей разрешенной даты для поиска билетов, то выводится сообщение об ошибке Invalid search param: Неверная дата вылета: слишком близкая
- Если количество взрослых пассажиров превышает допустимое ограничение - Invalid search param: Слишком много взрослых
- Если количество детей в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много детей
- Если количество младенцев в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
- Если количество младенцев с местом в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
Примечание:
Если в запросе поиска указать PriceRefundType = “Both”, то для всех ГРС кроме Sabre будет отправляться 2 запроса. Если количество доп. цен в БФМ запросе в Сейбре больше 10, то и в нем будет 2 запроса. Количество доп. цен в запросе зависит от:
- Настроек прайсинга по альтернативным J типам в пакете реквизитов;
- Количества запрошенных классов перелетов;
- Количества запрошенных типов пассажиров;
- Настройки "Дополнительно запросить только публичные тарифы" в применявшемся правила маршрутизатора.
Примеры использования
Односторонний перелет
Пример одностороннего перелета: Москва — Санкт-Петербург, 1 взрослый, эконом класс, предпочитаемая авиакомпания — ЮТэйр.
Запрос
Ответ
Перелет туда-обратно
Пример перелета туда-обратно: Москва — Париж, 2 взрослых, бизнес класс. Выдача с именами авиакомпаний, воздушных судов, аэропортов.
Запрос
Ответ
Сложный маршрут
Пример сложного маршрута: Прага — Москва — Милан — Мадрид, 1 взрослый, 1 младенец, эконом класс. Выдача с именами авиакомпаний, воздушных судов, аэропортов.