Веб-служба поиска авиабилетов: различия между версиями
(→Запрос) |
(→Ответ) |
||
Строка 379: | Строка 379: | ||
<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%3A8080%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo> |
− | <FlightNumber> | + | <MarkAirline>UT</MarkAirline> |
− | <AircraftName> | + | <MarkAirlineName>ЮТэйр</MarkAirlineName> |
− | <AircraftType> | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%3A8080%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%3A8080%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> |
− | < | + | <OpAirline>UT</OpAirline> |
− | < | + | <OpAirlineName>ЮТэйр</OpAirlineName> |
− | < | + | <OpAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%3A8080%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo> |
− | < | + | <MarkAirline>UT</MarkAirline> |
− | < | + | <MarkAirlineName>ЮТэйр</MarkAirlineName> |
− | < | + | <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%3A8080%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> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <AircraftType> | ||
− | <DepDateTime> | ||
− | <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"> | ||
− | < | + | <TravellerRef xsi:nil="true"/> |
− | < | + | <BaseFare Currency="RUB" Amount="805"/> |
− | + | <EquiveFare Currency="RUB" Amount="805"/> | |
− | + | <TotalFare Currency="RUB" Amount="4647"/> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <EquiveFare Currency="RUB" Amount=" | ||
− | <TotalFare Currency="RUB" Amount=" | ||
<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"> | |
− | <LastTicketDateTime> | + | <FareFamilies> |
+ | <FullName>Лайт</FullName> | ||
+ | </FareFamilies> | ||
+ | </Tariff> | ||
+ | </Tariffs> | ||
+ | <FareCalc/> | ||
+ | <LastTicketDateTime>2018-04-09T10:35:00</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> | ||
......... | ......... |
Версия 11:39, 2 апреля 2018
Содержание
Подключение
Это сервис внутри Nemo, который позволяет получить результаты поиска.
Для подключения к веб-службе поиска авиабилетов необходимо открыть доступ нужному пользователю. Это можно сделать в разделе «Администрирование» ⇨ «Веб-служба. Авторизация».
После добавления пользователя, ему будут присвоены Номер (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 </Tariffs>
126 <FareCalc>?</FareCalc>
127 <!--FareCalc — строка расчёта цены-->
128 <LastTicketDateTime>?</LastTicketDateTime>
129 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС по московскому времени. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
130 </PassengerFare>
131 </PricingInfo>
132 <Commission/>
133 <Charges Currency="?">?</Charges>
134 <!--Charges — сборы, Currency — код валюты-->
135 <TotalPrice Currency="?">?</TotalPrice>
136 <!--TotalPrice — итоговая цена, Currency — код валюты-->
137 </Flight>
138 <Flight>...</Flight>
139 ....................
140 <Flight>...</Flight>
141 </Flights>
142 <Errors>
143 <Error Code="?">
144 <!--Code — код ошибки в системе Nemo-->
145 <ServiceErrorMessage>?</ServiceErrorMessage>
146 <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
147 <Message>?</Message>
148 <!--Message — сообщение об ошибке от системы Nemo-->
149 </Error>
150 </Errors>
151 </SearchFlights>
152 </Response>
153 </ResponseBin>
154 </ns1:searchResponse>
155 </SOAP-ENV:Body>
156 </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 ребенок, эконом класс, предпочитаемая авиакомпания — Аэрофлот.
Запрос
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="OW" Direct="false" AroundDates="0">
9 <!--Zero or more repetitions:-->
10 <ODPair>
11 <DepDate>2014-03-20</DepDate>
12 <DepAirp CodeType="IATA">MOW</DepAirp>
13 <ArrAirp CodeType="IATA">MAD</ArrAirp>
14 </ODPair>
15 </ODPairs>
16 <Travellers>
17 <!--Zero or more repetitions:-->
18 <Traveller Type="ADT" Count="1"/>
19 <Traveller Type="CNN" Count="1"/>
20 </Travellers>
21 <Restrictions>
22 <ClassPref>economy</ClassPref>
23 <OnlyAvail>false</OnlyAvail>
24 <AirVPrefs>
25 <!--Zero or more repetitions:-->
26 <AirVPref Code="SU" Include="true" Type="IATA"/>
27 </AirVPrefs>
28 <IncludePrivateFare>false</IncludePrivateFare>
29 <CurrencyCode>RUB</CurrencyCode>
30 </Restrictions>
31 </SearchFlights>
32 </Request>
33 <Source>
34 <ClientId>---</ClientId>
35 <APIKey>---</APIKey>
36 <Language>RU</Language>
37 <Currency>RUB</Currency>
38 <ShowNames>true</ShowNames>
39 </Source>
40 </RequestBin>
41 </ver:search>
42 </soapenv:Body>
43 </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%3A8080%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo>
22 <MarkAirline>UT</MarkAirline>
23 <MarkAirlineName>ЮТэйр</MarkAirlineName>
24 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%3A8080%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%3A8080%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%3A8080%2FguideStatic%2Fimages%2Fcarrier%2Flogotype%2F5700-ca202ff9af392fb5ad923722eb5455f6.svg</OpAirlineLogo>
89 <MarkAirline>UT</MarkAirline>
90 <MarkAirlineName>ЮТэйр</MarkAirlineName>
91 <MarkAirlineLogo>http%3A%2F%2FCLIEN_DOMAIN%3A8080%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>2014-12-20</DepDate>
12 <DepAirp CodeType="IATA">MOW</DepAirp>
13 <ArrAirp CodeType="IATA">PAR</ArrAirp>
14 </ODPair>
15 <ODPair>
16 <DepDate>2014-12-21</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 </Source>
41 </RequestBin>
42 </ver:search>
43 </soapenv:Body>
44 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://trunk.mlsd.ru/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="190484987" ResultURL="http%3A%2F%2Ftst.nemo.travel%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D190484987">
8 <Flight FlightId="372384680001" Nemo2FlightId="10141277910010000">
9 <WebService>SABRE</WebService>
10 <ValCompany/>
11 <URL>http%3A%2F%2Ftst.nemo.travel%2F%3Fgo%3Dbooking%2Finfo%26uid%3D190484987%26flight%3D372384680001%26utm_source%3Dalias1</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <DepAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</DepAirp>
15 <DepTerminal xsi:nil="true"/>
16 <ArrAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</ArrAirp>
17 <ArrTerminal xsi:nil="true"/>
18 <OpAirline>JU</OpAirline>
19 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
20 <MarkAirline>JU</MarkAirline>
21 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
22 <FlightNumber>657</FlightNumber>
23 <AircraftName>Airbus 319</AircraftName>
24 <AircraftType>319</AircraftType>
25 <DepDateTime>2014-12-20T05:05:00</DepDateTime>
26 <ArrDateTime>2014-12-20T06:05:00</ArrDateTime>
27 <StopNum>0</StopNum>
28 <BookingCodes>
29 <BookingCode ClassType="business">
30 <BookingCode>W</BookingCode>
31 </BookingCode>
32 </BookingCodes>
33 <FlightTime>180</FlightTime>
34 <RemainingSeats>4</RemainingSeats>
35 <TimeZone Departure="3" Arrival="1"/>
36 <ETicket>true</ETicket>
37 </Segment>
38 <Segment SegNum="2" SegGroupNum="0">
39 <DepAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</DepAirp>
40 <DepTerminal xsi:nil="true"/>
41 <ArrAirp CodeType="IATA" Name="Шарль де Голль, Париж">CDG</ArrAirp>
42 <ArrTerminal xsi:nil="true"/>
43 <OpAirline>JU</OpAirline>
44 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
45 <MarkAirline>JU</MarkAirline>
46 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
47 <FlightNumber>314</FlightNumber>
48 <AircraftName>Airbus 320</AircraftName>
49 <AircraftType>320</AircraftType>
50 <DepDateTime>2014-12-20T17:10:00</DepDateTime>
51 <ArrDateTime>2014-12-20T19:50:00</ArrDateTime>
52 <StopNum>0</StopNum>
53 <BookingCodes>
54 <BookingCode ClassType="business">
55 <BookingCode>W</BookingCode>
56 </BookingCode>
57 </BookingCodes>
58 <FlightTime>160</FlightTime>
59 <RemainingSeats>4</RemainingSeats>
60 <TimeZone Departure="1" Arrival="1"/>
61 <ETicket>true</ETicket>
62 </Segment>
63 <Segment SegNum="3" SegGroupNum="1">
64 <DepAirp CodeType="IATA" Name="Шарль де Голль, Париж">CDG</DepAirp>
65 <DepTerminal xsi:nil="true"/>
66 <ArrAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</ArrAirp>
67 <ArrTerminal xsi:nil="true"/>
68 <OpAirline>JU</OpAirline>
69 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
70 <MarkAirline>JU</MarkAirline>
71 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
72 <FlightNumber>311</FlightNumber>
73 <AircraftName>Airbus 320</AircraftName>
74 <AircraftType>320</AircraftType>
75 <DepDateTime>2014-12-21T10:10:00</DepDateTime>
76 <ArrDateTime>2014-12-21T12:30:00</ArrDateTime>
77 <StopNum>0</StopNum>
78 <BookingCodes>
79 <BookingCode ClassType="business">
80 <BookingCode>W</BookingCode>
81 </BookingCode>
82 </BookingCodes>
83 <FlightTime>140</FlightTime>
84 <RemainingSeats>9</RemainingSeats>
85 <TimeZone Departure="1" Arrival="1"/>
86 <ETicket>true</ETicket>
87 </Segment>
88 <Segment SegNum="4" SegGroupNum="1">
89 <DepAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</DepAirp>
90 <DepTerminal xsi:nil="true"/>
91 <ArrAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</ArrAirp>
92 <ArrTerminal xsi:nil="true"/>
93 <OpAirline>JU</OpAirline>
94 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
95 <MarkAirline>JU</MarkAirline>
96 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
97 <FlightNumber>656</FlightNumber>
98 <AircraftName>Airbus 319</AircraftName>
99 <AircraftType>319</AircraftType>
100 <DepDateTime>2014-12-21T23:20:00</DepDateTime>
101 <ArrDateTime>2014-12-22T04:10:00</ArrDateTime>
102 <StopNum>0</StopNum>
103 <BookingCodes>
104 <BookingCode ClassType="business">
105 <BookingCode>W</BookingCode>
106 </BookingCode>
107 </BookingCodes>
108 <FlightTime>170</FlightTime>
109 <RemainingSeats>2</RemainingSeats>
110 <TimeZone Departure="1" Arrival="3"/>
111 <ETicket>true</ETicket>
112 </Segment>
113 </Segments>
114 <PricingInfo Refundable="true">
115 <PassengerFare Type="ADT" Quantity="2">
116 <BaseFare Currency="EUR" Amount="620"/>
117 <EquiveFare Currency="RUB" Amount="34720"/>
118 <TotalFare Currency="RUB" Amount="44430"/>
119 <Taxes>
120 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
121 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
122 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
123 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
124 <Tax CurCode="RUB" TaxCode="RI" Amount="428"/>
125 <Tax CurCode="RUB" TaxCode="RI" Amount="428"/>
126 <Tax CurCode="RUB" TaxCode="UH" Amount="304"/>
127 <Tax CurCode="RUB" TaxCode="LG" Amount="185"/>
128 <Tax CurCode="RUB" TaxCode="LG" Amount="185"/>
129 <Tax CurCode="RUB" TaxCode="RS" Amount="224"/>
130 <Tax CurCode="RUB" TaxCode="RS" Amount="224"/>
131 <Tax CurCode="RUB" TaxCode="RF" Amount="55"/>
132 <Tax CurCode="RUB" TaxCode="RF" Amount="55"/>
133 <Tax CurCode="RUB" TaxCode="FR1" Amount="434"/>
134 <Tax CurCode="RUB" TaxCode="FR4" Amount="714"/>
135 <Tax CurCode="RUB" TaxCode="QX3" Amount="1546"/>
136 <Tax CurCode="RUB" TaxCode="IZ4" Amount="224"/>
137 </Taxes>
138 <Tariffs>
139 <Tariff Code="WRTRU" SegNum="4"/>
140 </Tariffs>
141 <FareCalc>MOW JU X/BEG JU PAR401.57JU X/BEG JU MOW401.57NUC803.14END ROE0.771963</FareCalc>
142 <LastTicketDateTime>2014-12-20T04:05:00</LastTicketDateTime>
143 </PassengerFare>
144 </PricingInfo>
145 <Commission/>
146 <Charges Currency="RUB">0</Charges>
147 <TotalPrice Currency="RUB">88860</TotalPrice>
148 </Flight>
149 .........
150 <Flight>...</Flight>
151 </Flights>
152 <Errors xsi:nil="true"/>
153 </SearchFlights>
154 </Response>
155 </ResponseBin>
156 </ns1:searchResponse>
157 </SOAP-ENV:Body>
158 </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>2014-12-20</DepDate>
12 <DepAirp CodeType="IATA">PRG</DepAirp>
13 <ArrAirp CodeType="IATA">MOW</ArrAirp>
14 </ODPair>
15 <ODPair>
16 <DepDate>2014-12-23</DepDate>
17 <DepAirp CodeType="IATA">MOW</DepAirp>
18 <ArrAirp CodeType="IATA">MIL</ArrAirp>
19 </ODPair>
20 <ODPair>
21 <DepDate>2014-12-27</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>134</ClientId>
42 <APIKey>93632C10DA299034C03D742FB160C2D6</APIKey>
43 <Language>RU</Language>
44 <Currency>RUB</Currency>
45 <ShowNames>true</ShowNames>
46 </Source>
47 </RequestBin>
48 </ver:search>
49 </soapenv:Body>
50 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://trunk.mlsd.ru/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="190491108" ResultURL="http%3A%2F%2Ftst.nemo.travel%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D190491108">
8 <Flight FlightId="372394480001" Nemo2FlightId="10131277910010000">
9 <WebService>SABRE</WebService>
10 <ValCompany/>
11 <URL>http%3A%2F%2Ftst.nemo.travel%2F%3Fgo%3Dbooking%2Finfo%26uid%3D190491108%26flight%3D372394480001%26utm_source%3Dalias1</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <DepAirp CodeType="IATA" Name="Прага">PRG</DepAirp>
15 <DepTerminal xsi:nil="true"/>
16 <ArrAirp CodeType="IATA" Name="Цюрих">ZRH</ArrAirp>
17 <ArrTerminal xsi:nil="true"/>
18 <OpAirline>LX</OpAirline>
19 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
20 <MarkAirline>LX</MarkAirline>
21 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
22 <FlightNumber>1485</FlightNumber>
23 <AircraftName>Avro RJ100</AircraftName>
24 <AircraftType>AR1</AircraftType>
25 <DepDateTime>2014-12-20T10:05:00</DepDateTime>
26 <ArrDateTime>2014-12-20T11:30:00</ArrDateTime>
27 <StopNum>0</StopNum>
28 <BookingCodes>
29 <BookingCode ClassType="economy">
30 <BookingCode>K</BookingCode>
31 </BookingCode>
32 </BookingCodes>
33 <FlightTime>85</FlightTime>
34 <RemainingSeats>2</RemainingSeats>
35 <TimeZone Departure="1" Arrival="1"/>
36 <ETicket>true</ETicket>
37 </Segment>
38 <Segment SegNum="2" SegGroupNum="0">
39 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
40 <DepTerminal xsi:nil="true"/>
41 <ArrAirp CodeType="IATA" Name="Домодедово, Москва">DME</ArrAirp>
42 <ArrTerminal xsi:nil="true"/>
43 <OpAirline>LX</OpAirline>
44 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
45 <MarkAirline>LX</MarkAirline>
46 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
47 <FlightNumber>1326</FlightNumber>
48 <AircraftName>Airbus 321</AircraftName>
49 <AircraftType>321</AircraftType>
50 <DepDateTime>2014-12-20T12:20:00</DepDateTime>
51 <ArrDateTime>2014-12-20T17:50:00</ArrDateTime>
52 <StopNum>0</StopNum>
53 <BookingCodes>
54 <BookingCode ClassType="economy">
55 <BookingCode>K</BookingCode>
56 </BookingCode>
57 </BookingCodes>
58 <FlightTime>210</FlightTime>
59 <RemainingSeats>6</RemainingSeats>
60 <TimeZone Departure="1" Arrival="3"/>
61 <ETicket>true</ETicket>
62 </Segment>
63 <Segment SegNum="3" SegGroupNum="1">
64 <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp>
65 <DepTerminal xsi:nil="true"/>
66 <ArrAirp CodeType="IATA" Name="Цюрих">ZRH</ArrAirp>
67 <ArrTerminal xsi:nil="true"/>
68 <OpAirline>LX</OpAirline>
69 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
70 <MarkAirline>LX</MarkAirline>
71 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
72 <FlightNumber>1325</FlightNumber>
73 <AircraftName>Airbus 321</AircraftName>
74 <AircraftType>321</AircraftType>
75 <DepDateTime>2014-12-23T09:05:00</DepDateTime>
76 <ArrDateTime>2014-12-23T10:50:00</ArrDateTime>
77 <StopNum>0</StopNum>
78 <BookingCodes>
79 <BookingCode ClassType="economy">
80 <BookingCode>V</BookingCode>
81 </BookingCode>
82 </BookingCodes>
83 <FlightTime>225</FlightTime>
84 <RemainingSeats>4</RemainingSeats>
85 <TimeZone Departure="3" Arrival="1"/>
86 <ETicket>true</ETicket>
87 </Segment>
88 <Segment SegNum="4" SegGroupNum="1">
89 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
90 <DepTerminal xsi:nil="true"/>
91 <ArrAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</ArrAirp>
92 <ArrTerminal xsi:nil="true"/>
93 <OpAirline>LX</OpAirline>
94 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
95 <MarkAirline>LX</MarkAirline>
96 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
97 <FlightNumber>1628</FlightNumber>
98 <AircraftName>Avro RJ100</AircraftName>
99 <AircraftType>AR1</AircraftType>
100 <DepDateTime>2014-12-23T12:25:00</DepDateTime>
101 <ArrDateTime>2014-12-23T13:20:00</ArrDateTime>
102 <StopNum>0</StopNum>
103 <BookingCodes>
104 <BookingCode ClassType="economy">
105 <BookingCode>K</BookingCode>
106 </BookingCode>
107 </BookingCodes>
108 <FlightTime>55</FlightTime>
109 <RemainingSeats>8</RemainingSeats>
110 <TimeZone Departure="1" Arrival="1"/>
111 <ETicket>true</ETicket>
112 </Segment>
113 <Segment SegNum="5" SegGroupNum="2">
114 <DepAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</DepAirp>
115 <DepTerminal xsi:nil="true"/>
116 <ArrAirp CodeType="IATA" Name="Цюрих">ZRH</ArrAirp>
117 <ArrTerminal xsi:nil="true"/>
118 <OpAirline>LX</OpAirline>
119 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
120 <MarkAirline>LX</MarkAirline>
121 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
122 <FlightNumber>1639</FlightNumber>
123 <AircraftName>Avro RJ100</AircraftName>
124 <AircraftType>AR1</AircraftType>
125 <DepDateTime>2014-12-27T07:05:00</DepDateTime>
126 <ArrDateTime>2014-12-27T08:05:00</ArrDateTime>
127 <StopNum>0</StopNum>
128 <BookingCodes>
129 <BookingCode ClassType="economy">
130 <BookingCode>K</BookingCode>
131 </BookingCode>
132 </BookingCodes>
133 <FlightTime>60</FlightTime>
134 <RemainingSeats>9</RemainingSeats>
135 <TimeZone Departure="1" Arrival="1"/>
136 <ETicket>true</ETicket>
137 </Segment>
138 <Segment SegNum="6" SegGroupNum="2">
139 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
140 <DepTerminal xsi:nil="true"/>
141 <ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp>
142 <ArrTerminal xsi:nil="true"/>
143 <OpAirline>LX</OpAirline>
144 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
145 <MarkAirline>LX</MarkAirline>
146 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
147 <FlightNumber>2026</FlightNumber>
148 <AircraftName/>
149 <AircraftType>32A</AircraftType>
150 <DepDateTime>2014-12-27T12:30:00</DepDateTime>
151 <ArrDateTime>2014-12-27T14:50:00</ArrDateTime>
152 <StopNum>0</StopNum>
153 <BookingCodes>
154 <BookingCode ClassType="economy">
155 <BookingCode>V</BookingCode>
156 </BookingCode>
157 </BookingCodes>
158 <FlightTime>140</FlightTime>
159 <RemainingSeats>1</RemainingSeats>
160 <TimeZone Departure="1" Arrival="1"/>
161 <ETicket>true</ETicket>
162 </Segment>
163 </Segments>
164 <PricingInfo Refundable="false">
165 <PassengerFare Type="ADT" Quantity="1">
166 <BaseFare Currency="CZK" Amount="8440"/>
167 <EquiveFare Currency="RUB" Amount="17305"/>
168 <TotalFare Currency="RUB" Amount="31456"/>
169 <Taxes>
170 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
171 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
172 <Tax CurCode="RUB" TaxCode="YQI" Amount="1960"/>
173 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
174 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
175 <Tax CurCode="RUB" TaxCode="YQI" Amount="1960"/>
176 <Tax CurCode="RUB" TaxCode="RI" Amount="378"/>
177 <Tax CurCode="RUB" TaxCode="RI" Amount="378"/>
178 <Tax CurCode="RUB" TaxCode="UH" Amount="284"/>
179 <Tax CurCode="RUB" TaxCode="CZ" Amount="1159"/>
180 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
181 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
182 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
183 <Tax CurCode="RUB" TaxCode="EX" Amount="56"/>
184 <Tax CurCode="RUB" TaxCode="IT1" Amount="707"/>
185 <Tax CurCode="RUB" TaxCode="VT" Amount="142"/>
186 <Tax CurCode="RUB" TaxCode="HB" Amount="364"/>
187 <Tax CurCode="RUB" TaxCode="MJ" Amount="67"/>
188 </Taxes>
189 <Tariffs>
190 <Tariff Code="KNC29F3S" SegNum="2"/>
191 <Tariff Code="VNC28G2S" SegNum="6"/>
192 <Tariff Code="KNN2SSR" SegNum="5"/>
193 </Tariffs>
194 <FareCalc>PRG LX X/ZRH LX MOW28.06LX ZRH*LX MIL31.13LX ZRH31.13*LX MAD175.52 1S129.53NUC395.37END ROE21.3469</FareCalc>
195 <LastTicketDateTime>2014-12-20T11:05:00</LastTicketDateTime>
196 </PassengerFare>
197 <PassengerFare Type="INF" Quantity="1">
198 <BaseFare Currency="CZK" Amount="3333"/>
199 <EquiveFare Currency="RUB" Amount="6835"/>
200 <TotalFare Currency="RUB" Amount="6835"/>
201 <Taxes/>
202 <Tariffs>
203 <Tariff Code="KNC29F3S/IN90" SegNum="2"/>
204 <Tariff Code="VNC28G2S/IN90" SegNum="6"/>
205 <Tariff Code="KNN2SSR/IN90" SegNum="5"/>
206 </Tariffs>
207 <FareCalc>PRG LX X/ZRH LX MOW2.80LX ZRH*LX MIL3.11LX ZRH3.11*LX MAD17.55 1S129.53NUC156.10END ROE21.3469</FareCalc>
208 <LastTicketDateTime>2014-12-20T11:05:00</LastTicketDateTime>
209 </PassengerFare>
210 </PricingInfo>
211 <Commission/>
212 <Charges Currency="RUB">765.82</Charges>
213 <TotalPrice Currency="RUB">39056.82</TotalPrice>
214 </Flight>
215 .........
216 <Flight>...</Flight>
217 </Flights>
218 <Errors xsi:nil="true"/>
219 </SearchFlights>
220 </Response>
221 </ResponseBin>
222 </ns1:searchResponse>
223 </SOAP-ENV:Body>
224 </SOAP-ENV:Envelope>