Интеграция со сторонними системами АПИ
Содержание
- 1 API Поиска авиабилетов
- 2 API Поиска отелей
- 3 API бронирования, аннуляции, войдирования авиабилетов
- 4 API бронирования, отмены отелей
- 5 API Выгрузки статистики продаж через API
- 6 Выгрузка информации о продажах в формате Nemo XML
- 7 Выгрузка информации о продажах в формате СОФИ XML
- 8 Фиксация оплаты внешним запросом
- 9 Выгрузка заказов по критериям в формате Nemo XML
- 10 Выгрузка определенного заказа по критериям в формате Nemo XML
- 11 API универсального платежного шлюза
- 12 API Синхронизации пользователей и субагентов
- 13 API Кроссавторизации
- 14 Передача параметров в форму поиска
- 15 Проверка в сторонней системе возможности тикетинга
- 16 API загрузки счетов из сторонней системы
- 17 API загрузки сальдо компаний из СОФИ
API Поиска авиабилетов
Подключение
Это сервис внутри 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 <ArrAirp CodeType="IATA">?</ArrAirp>
23 <!--ArrAirp — аэропорт прилёта, IATA код-->
24 </ODPair>
25 </ODPairs>
26 <Travellers>
27 <!--Zero or more repetitions:-->
28 <Traveller Type="?" Count="?"/>
29 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
30 INF — младенцы, INS — младенцы с местом-->
31 <!--Count — количество пассажиров-->
32 </Travellers>
33 <Restrictions>
34 <ClassPref>?</ClassPref> <!--необязательный-->
35 <!--ClassPref — предпочитаемый класс поиска, возможные значения: economy, business, first.
36 Если не заполнять, то будет произведен поиск эконом класса-->
37 <OnlyAvail>?</OnlyAvail> <!--необязательный-->
38 <!--OnlyAvail — искать только доступные, возможные значения: true/false-->
39 <AirVPrefs>
40 <!--Zero or more repetitions:-->
41 <AirVPref Code="?" Include="?" Type="IATA"/> <!--необязательный-->
42 <!--Code — код авиакомпании, SU, FV и т.п.-->
43 <!--Include — включить или исключить авиакомпанию из результатов: true — включить, false — исключить-->
44 </AirVPrefs>
45 <IncludePrivateFare>?</IncludePrivateFare> <!--необязательный-->
46 <!--IncludePrivateFare — искать цены для агентства, если true — то включаем приватные, false — публичные-->
47 <CurrencyCode>?</CurrencyCode> <!--необязательный-->
48 <!--CurrencyCode — код валюты, например: RUB, EUR-->
49 </Restrictions>
50 </SearchFlights>
51 </Request>
52 <Source>
53 <ClientId>?</ClientId>
54 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
55 "Администрирование" ? "Веб-служба. Авторизация".-->
56 <APIKey>?</APIKey>
57 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
58 "Администрирование" ? "Веб-служба. Авторизация".-->
59 <Language>?</Language>
60 <!--Language — язык, например: RU-->
61 <Currency>?</Currency>
62 <!-- Currency — валюта, например: RUB, EUR-->
63 <ShowNames>?</ShowNames>
64 <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать, false - не отображать. Возвращает значение на том языке, который был указан в запросе. Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
65 </Source>
66 </RequestBin>
67 </ver:search>
68 </soapenv:Body>
69 </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 — номер процесса поиска в Nemo-->
9 <!--ResultURL — ссылка на страницу просмотра результатов на сайте агентства-->
10 <Flight FlightId="?">
11 <!--FlightId — Id перелёта в системе Nemo-->
12 <WebService>?</WebService>
13 <!--WebService — поставщик перелёта-->
14 <ValCompany>?</ValCompany>
15 <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
16 <URL>?</URL>
17 <!--URL — ссылка на бронирование конкретного перелета-->
18 <Segments>
19 <Segment SegNum="?" SegGroupNum="?">
20 <!--SegNum — номер сегмента в перелёте-->
21 <!--SegGroupNum – номер плеча перелёта-->
22 <DepAirp CodeType="IATA" Name="?">?</DepAirp>
23 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва или SVO — Шереметьево. Name - название аэропорта отправления-->
24 <DepTerminal>?</DepTerminal>
25 <!--DepTerminal — терминал пункта отправления, если пустое значение,
26 то в аэропорту всего 1 терминал-->
27 <ArrAirp CodeType="IATA" Name="?">?</ArrAirp>
28 <!--ArrAirp — аэропорт прибытия. Name - название аэропорта прибытия-->
29 <ArrTerminal>?</ArrTerminal>
30 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
31 то в аэропорту всего 1 терминал-->
32 <OpAirline>?</OpAirline>
33 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
34 <OpAirlineName>?</OpAirlineName>
35 <!--OpAirlineName — название авиакомпании перевозчика, например: Аэрофлот - Российские авиалинии -->
36 <MarkAirline>?</MarkAirline>
37 <!--MarkAirline — авиакомпания, продающая перелёт-->
38 <MarkAirlineName>?</MarkAirlineName>
39 <!--MarkAirlineName — название авиакомпании, продающей перелёт-->
40 <FlightNumber>?</FlightNumber>
41 <!--FlightNumber — номер рейса-->
42 <AircraftName>?</AircraftName>
43 <!--AircraftName — название воздушного судна. Например: Airbus 320-->
44 <AircraftType>?</AircraftType>
45 <!--AircraftType — тип воздушного судна, код-->
46 <DepDateTime>?</DepDateTime>
47 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
48 <ArrDateTime>?</ArrDateTime>
49 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
50 <StopNum>?</StopNum>
51 <!--StopNum — количество остановок-->
52 <BookingCodes>
53 <BookingCode ClassType="?">
54 <!--ClassType — класс перелета, например: economy-->
55 <BookingCode>?</BookingCode>
56 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
57 может записываться разными литерами, например: L-->
58 </BookingCode>
59 </BookingCodes>
60 <FlightTime>?</FlightTime>
61 <!--FlightTime — время перелёта в минутах-->
62 <TimeZone Departure="?" Arrival="?"/>
63 <!--Departure временная зона аэропорта отправления-->
64 <!--Arrival — временная зона аэропорта прибытия-->
65 <ETicket>?</ETicket>
66 <!--ETicket — признак электронного билета, значения: true / false-->
67 </Segment>
68 </Segments>
69 <PricingInfo Refundable="?">
70 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
71 <PassengerFare Type="?" Quantity="?">
72 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
73 INF — младенцы, INS — младенцы с местом-->
74 <!--Quantity — количество пассажиров данного типа-->
75 <BaseFare Currency="?" Amount="?"/>
76 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
77 <EquiveFare Currency="?" Amount="?"/>
78 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
79 Currency — код валюты, Amount — значение цены-->
80 <TotalFare Currency="?" Amount="?"/>
81 <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
82 Currency — код валюты, Amount — значение цены-->
83 <Taxes>
84 <Tax CurCode="?" TaxCode="?" Amount="?"/>
85 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
86 </Taxes>
87 <Tariffs>
88 <Tariff Code="?" SegNum="?"/>
89 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
90 </Tariffs>
91 <FareCalc>?</FareCalc>
92 <!--FareCalc — строка расчёта цены-->
93 <LastTicketDateTime>?</LastTicketDateTime>
94 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
95 </PassengerFare>
96 </PricingInfo>
97 <Commission/>
98 <Charges Currency="?">?</Charges>
99 <!--Charges — сборы, Currency — код валюты-->
100 <TotalPrice Currency="?">?</TotalPrice>
101 <!--TotalPrice — итоговая цена, Currency — код валюты-->
102 </Flight>
103 <Flight>...</Flight>
104 ....................
105 <Flight>...</Flight>
106 </Flights>
107 <Errors>
108 <Error Code="?">
109 <!--Code — код ошибки в системе Nemo-->
110 <ServiceErrorMessage>?</ServiceErrorMessage>
111 <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
112 <Message>?</Message>
113 <!--Message — сообщение об ошибке от системы Nemo-->
114 </Error>
115 </Errors>
116 </SearchFlights>
117 </Response>
118 </ResponseBin>
119 </ns1:searchResponse>
120 </SOAP-ENV:Body>
121 </SOAP-ENV:Envelope>
В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом:
- Если текущий домен агентства/субагентства есть в настройках (Администрирование ⇨ Настройки агентства ⇨ Доменное имя сайта для загрузки настроек), то этот домен используется в ссылках.
- Если текущего домена нет в настройках, то используется первый домен из настроек.
- Если в настройках не прописано ни одного домена, то используется текущий домен.
На поиск действуют ограничения заданные в настройках агентства, в частности ограничения по пассажирам и ограничение ближайшей разрешенной даты поиска билетов.
- Если дата поиска меньше ближайшей разрешенной даты для поиска билетов, то выводится сообщение об ошибке Invalid search param: Неверная дата вылета: слишком близкая
- Если количество взрослых пассажиров превышает допустимое ограничение - Invalid search param: Слишком много взрослых
- Если количество детей в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много детей
- Если количество младенцев в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
- Если количество младенцев с местом в поисковом запросе превышает допустимое ограничение - Invalid search param: Слишком много инфантов
Примеры использования
Односторонний перелет
Пример одностороннего перелета: Москва — Мадрид, 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="13949" ResultURL="http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D13949">
8 <Flight FlightId="168090001">
9 <WebService>SABRE</WebService>
10 <ValCompany/>
11 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D13949%26flight%3D168090001</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <DepAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</DepAirp>
15 <DepTerminal/>
16 <ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp>
17 <ArrTerminal/>
18 <OpAirline>SU</OpAirline>
19 <OpAirlineName>Аэрофлот - Российские авиалинии</OpAirlineName>
20 <MarkAirline>SU</MarkAirline>
21 <MarkAirlineName>Аэрофлот - Российские авиалинии</MarkAirlineName>
22 <FlightNumber>2500</FlightNumber>
23 <AircraftName>Airbus 320</AircraftName>
24 <AircraftType>320</AircraftType>
25 <DepDateTime>2014-03-20T08:05:00</DepDateTime>
26 <ArrDateTime>2014-03-20T10:15:00</ArrDateTime>
27 <StopNum>0</StopNum>
28 <BookingCodes>
29 <BookingCode ClassType="economy">
30 <BookingCode>E</BookingCode>
31 </BookingCode>
32 </BookingCodes>
33 <FlightTime>310</FlightTime>
34 <TimeZone Departure="4" Arrival="1"/>
35 <ETicket>true</ETicket>
36 </Segment>
37 </Segments>
38 <PricingInfo Refundable="false">
39 <PassengerFare Type="ADT" Quantity="1">
40 <BaseFare Currency="EUR" Amount="165"/>
41 <EquiveFare Currency="RUB" Amount="8250"/>
42 <TotalFare Currency="RUB" Amount="10535"/>
43 <Taxes>
44 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
45 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
46 </Taxes>
47 <Tariffs/>
48 <FareCalc>MOW SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
49 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
50 </PassengerFare>
51 <PassengerFare Type="CNN" Quantity="1">
52 <BaseFare Currency="EUR" Amount="124"/>
53 <EquiveFare Currency="RUB" Amount="6200"/>
54 <TotalFare Currency="RUB" Amount="8485"/>
55 <Taxes>
56 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
57 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
58 </Taxes>
59 <Tariffs/>
60 <FareCalc>MOW SU MAD169.08NUC169.08END ROE0.731857</FareCalc>
61 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
62 </PassengerFare>
63 </PricingInfo>
64 <Commission/>
65 <Charges Currency="RUB">0</Charges>
66 <TotalPrice Currency="RUB">19020</TotalPrice>
67 </Flight>
68 <Flight FlightId="168090002">
69 <WebService>SABRE</WebService>
70 <ValCompany/>
71 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D13949%26flight%3D168090002</URL>
72 <Segments>
73 <Segment SegNum="1" SegGroupNum="0">
74 <DepAirp CodeType="IATA">SVO</DepAirp>
75 <DepTerminal/>
76 <ArrAirp CodeType="IATA">MAD</ArrAirp>
77 <ArrTerminal/>
78 <OpAirline>SU</OpAirline>
79 <MarkAirline>SU</MarkAirline>
80 <FlightNumber>2604</FlightNumber>
81 <AircraftType>320</AircraftType>
82 <DepDateTime>2014-03-20T20:30:00</DepDateTime>
83 <ArrDateTime>2014-03-20T22:40:00</ArrDateTime>
84 <StopNum>0</StopNum>
85 <BookingCodes>
86 <BookingCode ClassType="economy">
87 <BookingCode>E</BookingCode>
88 </BookingCode>
89 </BookingCodes>
90 <FlightTime>310</FlightTime>
91 <TimeZone Departure="4" Arrival="1"/>
92 <ETicket>true</ETicket>
93 </Segment>
94 </Segments>
95 <PricingInfo Refundable="false">
96 <PassengerFare Type="ADT" Quantity="1">
97 <BaseFare Currency="EUR" Amount="165"/>
98 <EquiveFare Currency="RUB" Amount="8250"/>
99 <TotalFare Currency="RUB" Amount="10535"/>
100 <Taxes>
101 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
102 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
103 </Taxes>
104 <Tariffs/>
105 <FareCalc>MOW SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
106 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
107 </PassengerFare>
108 <PassengerFare Type="CNN" Quantity="1">
109 <BaseFare Currency="EUR" Amount="124"/>
110 <EquiveFare Currency="RUB" Amount="6200"/>
111 <TotalFare Currency="RUB" Amount="8485"/>
112 <Taxes>
113 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
114 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
115 </Taxes>
116 <Tariffs/>
117 <FareCalc>MOW SU MAD169.08NUC169.08END ROE0.731857</FareCalc>
118 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
119 </PassengerFare>
120 </PricingInfo>
121 <Commission/>
122 <Charges Currency="RUB">0</Charges>
123 <TotalPrice Currency="RUB">19020</TotalPrice>
124 </Flight>
125 <Flight FlightId="168090003">
126 <WebService>SABRE</WebService>
127 <ValCompany/>
128 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D13949%26flight%3D168090003</URL>
129 <Segments>
130 <Segment SegNum="1" SegGroupNum="0">
131 <DepAirp CodeType="IATA">SVO</DepAirp>
132 <DepTerminal/>
133 <ArrAirp CodeType="IATA">BCN</ArrAirp>
134 <ArrTerminal/>
135 <OpAirline>SU</OpAirline>
136 <MarkAirline>SU</MarkAirline>
137 <FlightNumber>2638</FlightNumber>
138 <AircraftType>321</AircraftType>
139 <DepDateTime>2014-03-20T09:10:00</DepDateTime>
140 <ArrDateTime>2014-03-20T10:40:00</ArrDateTime>
141 <StopNum>0</StopNum>
142 <BookingCodes>
143 <BookingCode ClassType="economy">
144 <BookingCode>E</BookingCode>
145 </BookingCode>
146 </BookingCodes>
147 <FlightTime>270</FlightTime>
148 <TimeZone Departure="4" Arrival="1"/>
149 <ETicket>true</ETicket>
150 </Segment>
151 <Segment SegNum="2" SegGroupNum="0">
152 <DepAirp CodeType="IATA">BCN</DepAirp>
153 <DepTerminal/>
154 <ArrAirp CodeType="IATA">MAD</ArrAirp>
155 <ArrTerminal/>
156 <OpAirline>UX</OpAirline>
157 <MarkAirline>SU</MarkAirline>
158 <FlightNumber>3403</FlightNumber>
159 <AircraftType>738</AircraftType>
160 <DepDateTime>2014-03-20T12:05:00</DepDateTime>
161 <ArrDateTime>2014-03-20T13:25:00</ArrDateTime>
162 <StopNum>0</StopNum>
163 <BookingCodes>
164 <BookingCode ClassType="economy">
165 <BookingCode>E</BookingCode>
166 </BookingCode>
167 </BookingCodes>
168 <FlightTime>80</FlightTime>
169 <TimeZone Departure="1" Arrival="1"/>
170 <ETicket>true</ETicket>
171 </Segment>
172 </Segments>
173 <PricingInfo Refundable="false">
174 <PassengerFare Type="ADT" Quantity="1">
175 <BaseFare Currency="EUR" Amount="165"/>
176 <EquiveFare Currency="RUB" Amount="8250"/>
177 <TotalFare Currency="RUB" Amount="13681"/>
178 <Taxes>
179 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
180 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
181 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
182 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
183 <Tax CurCode="RUB" TaxCode="JD" Amount="675"/>
184 <Tax CurCode="RUB" TaxCode="QV" Amount="186"/>
185 </Taxes>
186 <Tariffs/>
187 <FareCalc>MOW SU X/BCN SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
188 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
189 </PassengerFare>
190 <PassengerFare Type="CNN" Quantity="1">
191 <BaseFare Currency="EUR" Amount="124"/>
192 <EquiveFare Currency="RUB" Amount="6200"/>
193 <TotalFare Currency="RUB" Amount="11631"/>
194 <Taxes>
195 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
196 <Tax CurCode="RUB" TaxCode="YQF" Amount="2100"/>
197 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
198 <Tax CurCode="RUB" TaxCode="YRI" Amount="185"/>
199 <Tax CurCode="RUB" TaxCode="JD" Amount="675"/>
200 <Tax CurCode="RUB" TaxCode="QV" Amount="186"/>
201 </Taxes>
202 <Tariffs/>
203 <FareCalc>MOW SU X/BCN SU MAD169.08NUC169.08END ROE0.731857</FareCalc>
204 <LastTicketDateTime>2014-03-09T23:59:59</LastTicketDateTime>
205 </PassengerFare>
206 </PricingInfo>
207 <Commission/>
208 <Charges Currency="RUB">0</Charges>
209 <TotalPrice Currency="RUB">25312</TotalPrice>
210 </Flight>
211 .........
212 <Flight>...</Flight>
213 </Flights>
214 <Errors xsi:nil="true"/>
215 </SearchFlights>
216 </Response>
217 </ResponseBin>
218 </ns1:searchResponse>
219 </SOAP-ENV:Body>
220 </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">
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 <TimeZone Departure="3" Arrival="1"/>
35 <ETicket>true</ETicket>
36 </Segment>
37 <Segment SegNum="2" SegGroupNum="0">
38 <DepAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</DepAirp>
39 <DepTerminal xsi:nil="true"/>
40 <ArrAirp CodeType="IATA" Name="Шарль де Голль, Париж">CDG</ArrAirp>
41 <ArrTerminal xsi:nil="true"/>
42 <OpAirline>JU</OpAirline>
43 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
44 <MarkAirline>JU</MarkAirline>
45 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
46 <FlightNumber>314</FlightNumber>
47 <AircraftName>Airbus 320</AircraftName>
48 <AircraftType>320</AircraftType>
49 <DepDateTime>2014-12-20T17:10:00</DepDateTime>
50 <ArrDateTime>2014-12-20T19:50:00</ArrDateTime>
51 <StopNum>0</StopNum>
52 <BookingCodes>
53 <BookingCode ClassType="business">
54 <BookingCode>W</BookingCode>
55 </BookingCode>
56 </BookingCodes>
57 <FlightTime>160</FlightTime>
58 <TimeZone Departure="1" Arrival="1"/>
59 <ETicket>true</ETicket>
60 </Segment>
61 <Segment SegNum="3" SegGroupNum="1">
62 <DepAirp CodeType="IATA" Name="Шарль де Голль, Париж">CDG</DepAirp>
63 <DepTerminal xsi:nil="true"/>
64 <ArrAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</ArrAirp>
65 <ArrTerminal xsi:nil="true"/>
66 <OpAirline>JU</OpAirline>
67 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
68 <MarkAirline>JU</MarkAirline>
69 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
70 <FlightNumber>311</FlightNumber>
71 <AircraftName>Airbus 320</AircraftName>
72 <AircraftType>320</AircraftType>
73 <DepDateTime>2014-12-21T10:10:00</DepDateTime>
74 <ArrDateTime>2014-12-21T12:30:00</ArrDateTime>
75 <StopNum>0</StopNum>
76 <BookingCodes>
77 <BookingCode ClassType="business">
78 <BookingCode>W</BookingCode>
79 </BookingCode>
80 </BookingCodes>
81 <FlightTime>140</FlightTime>
82 <TimeZone Departure="1" Arrival="1"/>
83 <ETicket>true</ETicket>
84 </Segment>
85 <Segment SegNum="4" SegGroupNum="1">
86 <DepAirp CodeType="IATA" Name="Белград, Никола Тесла">BEG</DepAirp>
87 <DepTerminal xsi:nil="true"/>
88 <ArrAirp CodeType="IATA" Name="Шереметьево, Москва">SVO</ArrAirp>
89 <ArrTerminal xsi:nil="true"/>
90 <OpAirline>JU</OpAirline>
91 <OpAirlineName>ДЖАТ Эйрвэйз</OpAirlineName>
92 <MarkAirline>JU</MarkAirline>
93 <MarkAirlineName>ДЖАТ Эйрвэйз</MarkAirlineName>
94 <FlightNumber>656</FlightNumber>
95 <AircraftName>Airbus 319</AircraftName>
96 <AircraftType>319</AircraftType>
97 <DepDateTime>2014-12-21T23:20:00</DepDateTime>
98 <ArrDateTime>2014-12-22T04:10:00</ArrDateTime>
99 <StopNum>0</StopNum>
100 <BookingCodes>
101 <BookingCode ClassType="business">
102 <BookingCode>W</BookingCode>
103 </BookingCode>
104 </BookingCodes>
105 <FlightTime>170</FlightTime>
106 <TimeZone Departure="1" Arrival="3"/>
107 <ETicket>true</ETicket>
108 </Segment>
109 </Segments>
110 <PricingInfo Refundable="true">
111 <PassengerFare Type="ADT" Quantity="2">
112 <BaseFare Currency="EUR" Amount="620"/>
113 <EquiveFare Currency="RUB" Amount="34720"/>
114 <TotalFare Currency="RUB" Amount="44430"/>
115 <Taxes>
116 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
117 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
118 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
119 <Tax CurCode="RUB" TaxCode="YQF" Amount="1176"/>
120 <Tax CurCode="RUB" TaxCode="RI" Amount="428"/>
121 <Tax CurCode="RUB" TaxCode="RI" Amount="428"/>
122 <Tax CurCode="RUB" TaxCode="UH" Amount="304"/>
123 <Tax CurCode="RUB" TaxCode="LG" Amount="185"/>
124 <Tax CurCode="RUB" TaxCode="LG" Amount="185"/>
125 <Tax CurCode="RUB" TaxCode="RS" Amount="224"/>
126 <Tax CurCode="RUB" TaxCode="RS" Amount="224"/>
127 <Tax CurCode="RUB" TaxCode="RF" Amount="55"/>
128 <Tax CurCode="RUB" TaxCode="RF" Amount="55"/>
129 <Tax CurCode="RUB" TaxCode="FR1" Amount="434"/>
130 <Tax CurCode="RUB" TaxCode="FR4" Amount="714"/>
131 <Tax CurCode="RUB" TaxCode="QX3" Amount="1546"/>
132 <Tax CurCode="RUB" TaxCode="IZ4" Amount="224"/>
133 </Taxes>
134 <Tariffs>
135 <Tariff Code="WRTRU" SegNum="4"/>
136 </Tariffs>
137 <FareCalc>MOW JU X/BEG JU PAR401.57JU X/BEG JU MOW401.57NUC803.14END ROE0.771963</FareCalc>
138 <LastTicketDateTime>2014-12-20T04:05:00</LastTicketDateTime>
139 </PassengerFare>
140 </PricingInfo>
141 <Commission/>
142 <Charges Currency="RUB">0</Charges>
143 <TotalPrice Currency="RUB">88860</TotalPrice>
144 </Flight>
145 .........
146 <Flight>...</Flight>
147 </Flights>
148 <Errors xsi:nil="true"/>
149 </SearchFlights>
150 </Response>
151 </ResponseBin>
152 </ns1:searchResponse>
153 </SOAP-ENV:Body>
154 </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">
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 <TimeZone Departure="1" Arrival="1"/>
35 <ETicket>true</ETicket>
36 </Segment>
37 <Segment SegNum="2" SegGroupNum="0">
38 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
39 <DepTerminal xsi:nil="true"/>
40 <ArrAirp CodeType="IATA" Name="Домодедово, Москва">DME</ArrAirp>
41 <ArrTerminal xsi:nil="true"/>
42 <OpAirline>LX</OpAirline>
43 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
44 <MarkAirline>LX</MarkAirline>
45 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
46 <FlightNumber>1326</FlightNumber>
47 <AircraftName>Airbus 321</AircraftName>
48 <AircraftType>321</AircraftType>
49 <DepDateTime>2014-12-20T12:20:00</DepDateTime>
50 <ArrDateTime>2014-12-20T17:50:00</ArrDateTime>
51 <StopNum>0</StopNum>
52 <BookingCodes>
53 <BookingCode ClassType="economy">
54 <BookingCode>K</BookingCode>
55 </BookingCode>
56 </BookingCodes>
57 <FlightTime>210</FlightTime>
58 <TimeZone Departure="1" Arrival="3"/>
59 <ETicket>true</ETicket>
60 </Segment>
61 <Segment SegNum="3" SegGroupNum="1">
62 <DepAirp CodeType="IATA" Name="Домодедово, Москва">DME</DepAirp>
63 <DepTerminal xsi:nil="true"/>
64 <ArrAirp CodeType="IATA" Name="Цюрих">ZRH</ArrAirp>
65 <ArrTerminal xsi:nil="true"/>
66 <OpAirline>LX</OpAirline>
67 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
68 <MarkAirline>LX</MarkAirline>
69 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
70 <FlightNumber>1325</FlightNumber>
71 <AircraftName>Airbus 321</AircraftName>
72 <AircraftType>321</AircraftType>
73 <DepDateTime>2014-12-23T09:05:00</DepDateTime>
74 <ArrDateTime>2014-12-23T10:50:00</ArrDateTime>
75 <StopNum>0</StopNum>
76 <BookingCodes>
77 <BookingCode ClassType="economy">
78 <BookingCode>V</BookingCode>
79 </BookingCode>
80 </BookingCodes>
81 <FlightTime>225</FlightTime>
82 <TimeZone Departure="3" Arrival="1"/>
83 <ETicket>true</ETicket>
84 </Segment>
85 <Segment SegNum="4" SegGroupNum="1">
86 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
87 <DepTerminal xsi:nil="true"/>
88 <ArrAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</ArrAirp>
89 <ArrTerminal xsi:nil="true"/>
90 <OpAirline>LX</OpAirline>
91 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
92 <MarkAirline>LX</MarkAirline>
93 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
94 <FlightNumber>1628</FlightNumber>
95 <AircraftName>Avro RJ100</AircraftName>
96 <AircraftType>AR1</AircraftType>
97 <DepDateTime>2014-12-23T12:25:00</DepDateTime>
98 <ArrDateTime>2014-12-23T13:20:00</ArrDateTime>
99 <StopNum>0</StopNum>
100 <BookingCodes>
101 <BookingCode ClassType="economy">
102 <BookingCode>K</BookingCode>
103 </BookingCode>
104 </BookingCodes>
105 <FlightTime>55</FlightTime>
106 <TimeZone Departure="1" Arrival="1"/>
107 <ETicket>true</ETicket>
108 </Segment>
109 <Segment SegNum="5" SegGroupNum="2">
110 <DepAirp CodeType="IATA" Name="Мальпенса, Милан">MXP</DepAirp>
111 <DepTerminal xsi:nil="true"/>
112 <ArrAirp CodeType="IATA" Name="Цюрих">ZRH</ArrAirp>
113 <ArrTerminal xsi:nil="true"/>
114 <OpAirline>LX</OpAirline>
115 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
116 <MarkAirline>LX</MarkAirline>
117 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
118 <FlightNumber>1639</FlightNumber>
119 <AircraftName>Avro RJ100</AircraftName>
120 <AircraftType>AR1</AircraftType>
121 <DepDateTime>2014-12-27T07:05:00</DepDateTime>
122 <ArrDateTime>2014-12-27T08:05:00</ArrDateTime>
123 <StopNum>0</StopNum>
124 <BookingCodes>
125 <BookingCode ClassType="economy">
126 <BookingCode>K</BookingCode>
127 </BookingCode>
128 </BookingCodes>
129 <FlightTime>60</FlightTime>
130 <TimeZone Departure="1" Arrival="1"/>
131 <ETicket>true</ETicket>
132 </Segment>
133 <Segment SegNum="6" SegGroupNum="2">
134 <DepAirp CodeType="IATA" Name="Цюрих">ZRH</DepAirp>
135 <DepTerminal xsi:nil="true"/>
136 <ArrAirp CodeType="IATA" Name="Мадрид">MAD</ArrAirp>
137 <ArrTerminal xsi:nil="true"/>
138 <OpAirline>LX</OpAirline>
139 <OpAirlineName>Свисс Интернешнл Эйрлайнз</OpAirlineName>
140 <MarkAirline>LX</MarkAirline>
141 <MarkAirlineName>Свисс Интернешнл Эйрлайнз</MarkAirlineName>
142 <FlightNumber>2026</FlightNumber>
143 <AircraftName/>
144 <AircraftType>32A</AircraftType>
145 <DepDateTime>2014-12-27T12:30:00</DepDateTime>
146 <ArrDateTime>2014-12-27T14:50:00</ArrDateTime>
147 <StopNum>0</StopNum>
148 <BookingCodes>
149 <BookingCode ClassType="economy">
150 <BookingCode>V</BookingCode>
151 </BookingCode>
152 </BookingCodes>
153 <FlightTime>140</FlightTime>
154 <TimeZone Departure="1" Arrival="1"/>
155 <ETicket>true</ETicket>
156 </Segment>
157 </Segments>
158 <PricingInfo Refundable="false">
159 <PassengerFare Type="ADT" Quantity="1">
160 <BaseFare Currency="CZK" Amount="8440"/>
161 <EquiveFare Currency="RUB" Amount="17305"/>
162 <TotalFare Currency="RUB" Amount="31456"/>
163 <Taxes>
164 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
165 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
166 <Tax CurCode="RUB" TaxCode="YQI" Amount="1960"/>
167 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
168 <Tax CurCode="RUB" TaxCode="YQI" Amount="840"/>
169 <Tax CurCode="RUB" TaxCode="YQI" Amount="1960"/>
170 <Tax CurCode="RUB" TaxCode="RI" Amount="378"/>
171 <Tax CurCode="RUB" TaxCode="RI" Amount="378"/>
172 <Tax CurCode="RUB" TaxCode="UH" Amount="284"/>
173 <Tax CurCode="RUB" TaxCode="CZ" Amount="1159"/>
174 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
175 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
176 <Tax CurCode="RUB" TaxCode="CH2" Amount="1112"/>
177 <Tax CurCode="RUB" TaxCode="EX" Amount="56"/>
178 <Tax CurCode="RUB" TaxCode="IT1" Amount="707"/>
179 <Tax CurCode="RUB" TaxCode="VT" Amount="142"/>
180 <Tax CurCode="RUB" TaxCode="HB" Amount="364"/>
181 <Tax CurCode="RUB" TaxCode="MJ" Amount="67"/>
182 </Taxes>
183 <Tariffs>
184 <Tariff Code="KNC29F3S" SegNum="2"/>
185 <Tariff Code="VNC28G2S" SegNum="6"/>
186 <Tariff Code="KNN2SSR" SegNum="5"/>
187 </Tariffs>
188 <FareCalc>PRG LX X/ZRH LX MOW28.06LX ZRH*LX MIL31.13LX ZRH31.13*LX MAD175.52 1S129.53NUC395.37END ROE21.3469</FareCalc>
189 <LastTicketDateTime>2014-12-20T11:05:00</LastTicketDateTime>
190 </PassengerFare>
191 <PassengerFare Type="INF" Quantity="1">
192 <BaseFare Currency="CZK" Amount="3333"/>
193 <EquiveFare Currency="RUB" Amount="6835"/>
194 <TotalFare Currency="RUB" Amount="6835"/>
195 <Taxes/>
196 <Tariffs>
197 <Tariff Code="KNC29F3S/IN90" SegNum="2"/>
198 <Tariff Code="VNC28G2S/IN90" SegNum="6"/>
199 <Tariff Code="KNN2SSR/IN90" SegNum="5"/>
200 </Tariffs>
201 <FareCalc>PRG LX X/ZRH LX MOW2.80LX ZRH*LX MIL3.11LX ZRH3.11*LX MAD17.55 1S129.53NUC156.10END ROE21.3469</FareCalc>
202 <LastTicketDateTime>2014-12-20T11:05:00</LastTicketDateTime>
203 </PassengerFare>
204 </PricingInfo>
205 <Commission/>
206 <Charges Currency="RUB">765.82</Charges>
207 <TotalPrice Currency="RUB">39056.82</TotalPrice>
208 </Flight>
209 .........
210 <Flight>...</Flight>
211 </Flights>
212 <Errors xsi:nil="true"/>
213 </SearchFlights>
214 </Response>
215 </ResponseBin>
216 </ns1:searchResponse>
217 </SOAP-ENV:Body>
218 </SOAP-ENV:Envelope>
API Поиска отелей
Агентский API Отелей - система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.
Динамические данные
Поиск
Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров.
Для получения списка доступных городов, воспользуйтесь запросом на выгрузку статики (см. ССЫЛКА). Список допустимых отелей для фильтра также доступен через сервис (см. ССЫЛКА). Рекомендуется выгрузить все данные по отелям, городам и странам в локальную базу, для экономии времени и запросов.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
3 <soapenv:Header/>
4 <soapenv:Body>
5 <ver:search>
6 <RequestBin>
7 <Request>
8 <HotelSearch>
9 <CityId>22046</CityId>
10 <DateBegin>2013-10-15</DateBegin>
11 <DateEnd>2013-10-18</DateEnd>
12 <Rooms>
13 <!--Zero or more repetitions:-->
14 <Room>
15 <Persons>
16 <!--Zero or more repetitions:-->
17 <Person Id="1" Type="ADT" Age="30"/>
18 <Person Id="2" Type="CLD" Age="10"/>
19 </Persons>
20 <!--Optional:-->
21 <DoubleBed>false</DoubleBed>
22 </Room>
23 <Room>
24 <Persons>
25 <!--Zero or more repetitions:-->
26 <Person Id="1" Type="ADT" Age="30"/>
27 </Persons>
28 </Room>
29 </Rooms>
30 <!--Optional:-->
31 <Filters>
32 <Hotels>
33 <!--Zero or more repetitions:-->
34 <!--<Id>123</Id>-->
35 </Hotels>
36 </Filters>
37 </HotelSearch>
38 </Request>
39 <Source>
40 <ClientId></ClientId>
41 <APIKey></APIKey>
42 <Language>ru</Language>
43 <Currency>RUB</Currency>
44 </Source>
45 </RequestBin>
46 </ver:search>
47 </soapenv:Body>
48 </soapenv:Envelope>
Элемент HotelSearch
Элемент | Описание | Допустимые значения |
---|---|---|
CityId | Обязательный. Идентификатор города в системе Nemo. | Целое число |
DateBegin | Обязательный. Дата заселения. | Формат гггг-мм-дд. |
DateEnd | Обязательный. Дата выезда. | Формат гггг-мм-дд. |
Rooms | Обязательный. Содержит массив запрашиваемых номеров/апартаментов. | Элемент Room. Максимум 4 элемента Room. |
Filters | Необязательный. Содержит различные фильтры поиска отелей. | Элемент Hotels. |
Элемент Room
Элемент | Описание | Допустимые значения |
---|---|---|
Persons | Обязательный. Содержит данные о клиентах в номерах. | Элемент Person |
DoubleBed | Необязательный. Может быть использован только если сумма количества детей и взрослых равна 2-м, а также
Если в запросе сумма детей и взрослых не равна 2, то данный элемент будет проигнорирован. |
true/false
true означает, что номер должен иметь двуспальную кровать |
Элемент Person
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Уникальный идентификатор. См. результаты бронирования. | Целое число |
Атрибут Type | Тип клиента.
Если не указан, будет определен по возрасту Age. |
Константы:
ADT - взрослый CLD - ребенок 2-12 лет INF - младенец до 2х лет |
Атрибут Age | Возраст. Обязателен для детей (CLD). | Целое число. Количество лет. |
Элемент Filters
Элемент | Описание | Допустимые значения |
---|---|---|
Hotels | Необязательный. Набор идентификаторов отелей в системе Nemo.
Результаты поиска будут ограничены только этими отелями. Данная опция может существенно ускорить поиск - рекомендуется всегда устанавливать при поиске конкретных отелей. |
Элемент Id – целое число |
Элемент Source
Элемент | Описание | Допустимые значения |
---|---|---|
ClientID | Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Целое число. |
APIKey | Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Латинские буквы и цифры. Всего 32 символа. |
Ответ
Система по заданным параметрам ищет отели и возвращает результаты поиска. Все результаты поиска хранятся в базе Nemo определенный срок и доступны для бронирования по идентификатору CacheId.
Структура ответа - это набор уникальных отелей. У каждого указан Id - это идентификатор из базы Nemo. По нему можно получить дополнительную статичную информацию из путеводителя Nemo.
Каждый отель содержит:
- Набор номеров <Rooms>. Типы номеров (одноместный, двухместный и т.д.) : устанавливается автоматически по количеству клиентов из запроса.
- Сервисы <Services>. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться.
- Категория <Categories>. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий.
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch">
3 <SOAP-ENV:Body>
4 <ns1:searchResponse>
5 <ResponseBin>
6 <Response>
7 <HotelSearch>
8 <Hotels>
9 <Hotel Id="1872666">
10 <Supplier>GTA</Supplier>
11 <CityId>22046</CityId>
12 <DateBegin>2013-10-15</DateBegin>
13 <DateEnd>2013-10-18</DateEnd>
14 <CacheId>1872666</CacheId>
15 <Name>ADLON KEMPINSKI</Name>
16 <Categories>
17 <Category Id="1">
18 <Rooms>
19 <Room Count="1" Id="1" ServiceId="1"/>
20 <Room Count="1" Id="2" ServiceId="2"/>
21 </Rooms>
22 <TotalPrice Currency="RUB">74733.84</TotalPrice>
23 </Category>
24 </Categories>
25 <Services>
26 <Service Id="1" Status="OK">
27 <Desc>Standard Twin</Desc>
28 <Meal>Full Breakfast</Meal>
29 <Price/>
30 </Service>
31 <Service Id="2" Status="OK">
32 <Desc>Standard Twin</Desc>
33 <Meal>Full Breakfast</Meal>
34 <Price/>
35 </Service>
36 </Services>
37 <Rooms>
38 <Room Id="1" Type="TWIN"/>
39 <Room Id="2" Type="SNGL"/>
40 </Rooms>
41 </Hotel>
42 ...
43 </Hotels>
44 </HotelSearch>
45 </Response>
46 </ResponseBin>
47 </ns1:searchResponse>
48 </SOAP-ENV:Body>
49 </SOAP-ENV:Envelope>
Элемент Hotel
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор отеля как одного из результатов поиска в системе Nemo. | Целое число. |
Supplier | Обязательный. Тип поставщика, в котором найден отель. | Строка.
Возможные значения: GTA HOTELBEDS DOTW SERHS MIKI TRAVCO ACADEM TOURICO |
CityId | Обязательный. Идентификатор города в системе Nemo. | Целое число. |
CacheId | Обязательный. Идентификатор результата поиска для данного отеля в системе Nemo. | Целое число. |
Name | Обязательный. Название отеля. | Строка в произвольном формате. |
Services | Обязательный. Услуги в отеле. | Элемент Service |
Rooms | Обязательный. Комнаты в отеле. | Элемент Room |
Categories | Обязательный. Категории, доступные для бронирования в отеле. | Элемент Category |
Элемент Service
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор услуги. | Целое число |
Атрибут Status | Обязательный. Доступность отеля. ОК означает доступен (мгновенное подтверждение).
RQ - недоступен (по запросу). |
ОК/RQ |
Desc | Необязательный. Описание отеля. | Строка в произвольном формате. |
Meal | Обязательный. Питание для данного сервиса. | Строка в произвольном формате. |
Price | Необязательный. Указывает на стоимость номера с данной услугой. | Вещественное число.
Атрибут Currency - код валюты. |
Элемент Room
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор комнаты в отеле. | Целое число. |
Type | Обязательный. Тип номера. | Строка. Возможные значения:
SNGL – одноместный DBL – двухместный с двухспальной кроватью TWIN – двухместный с двумя кроватями TRIP – трёхместный QUAD – четырёхместный |
Элемент Category
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор категории. | Целое число. |
Rooms | Обязательный. Массив комнат с соответствием услуг. | Целое число. |
Room | Атрибут: Count
Обязательный. Количество комнат данного типа. Атрибут: Id Обязательный. Идентификатор комнаты из атрибута Id в элементе Hotel-> Rooms-> Room. Атрибут: ServiceId - Идентификатор услуги из атрибута Id элемента Service. |
Целое число.
Целое число. Целое число. |
TotalPrice | Обязательный. Суммарная стоимость бронируемого сочетания “Комнаты - услуги”. | Вещественное число.
Атрибут Currency - код валюты. |
Расширенная информация по одному отелю
Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo">
3 <soapenv:Header/>
4 <soapenv:Body>
5 <ver:extInfo>
6 <RequestBin>
7 <Request>
8 <HotelExtInfo>
9 <Item>
10 <CacheId>1867246</CacheId>
11 <!--Optional:-->
12 <CategoryId>1</CategoryId>
13 </Item>
14 </HotelExtInfo>
15 </Request>
16 <Source>
17 <ClientId></ClientId>
18 <APIKey></APIKey>
19 <Language>ru</Language>
20 <Currency>RUB</Currency>
21 </Source>
22 </RequestBin>
23 </ver:extInfo>
24 </soapenv:Body>
25 </soapenv:Envelope>
Элемент Item
Элемент | Описание | Допустимые значения |
---|---|---|
CacheId | Обязательный. Идентификатор результата поиска. | Целое число |
CategoryId | ID выбранной категории. | Целое число |
Элемент Source
Элемент | Описание | Допустимые значения |
---|---|---|
ClientID | Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Целое число. |
APIKey | Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Латинские буквы и цифры. Всего 32 символа. |
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 <SOAP-ENV:Body>
5 <ns1:extInfoResponse>
6 <ResponseBin>
7 <Response>
8 <HotelExtInfo>
9 <CategoryId>1</CategoryId>
10 <PriceInfo>
11 <PriceBreakDown>
12 <Date>
13 <From>2013-10-15</From>
14 <To>2013-10-18</To>
15 <Price Currency="RUB">12455.64</Price>
16 </Date>
17 <Date>
18 <From>2013-10-15</From>
19 <To>2013-10-18</To>
20 <Price Currency="RUB">12455.64</Price>
21 </Date>
22 </PriceBreakDown>
23 <Netto Currency="EUR">1821</Netto>
24 <Gross xsi:nil="true"/>
25 </PriceInfo>
26 </HotelExtInfo>
27 </Response>
28 </ResponseBin>
29 </ns1:extInfoResponse>
30 </SOAP-ENV:Body>
31 </SOAP-ENV:Envelope>
Элемент HotelExtInfo
Элемент | Описание | Допустимые значения |
---|---|---|
CategoryId | Обязательный. Идентификатор категории. | Целое число |
PriceInfo | Обязательный. Элемент содержащий информацию о цене | см. Элемент PriceInfo |
Элемент PriceInfo
Элемент | Описание | Допустимые значения |
---|---|---|
PriceBreakDown |
Необязательный. Информация о ценах, расписанная по каждому дню. |
Список элементов Date |
Netto | Обязательный. Стоимость от поставщика. | Вещественное число.
Атрибут Currency - код валюты. |
Gross | Обязательный. Общая стоимость. | Вещественное число.
Атрибут Currency - код валюты. |
Элемент Date
Элемент | Описание | Допустимые значения |
---|---|---|
From | Обязательный. Дата начала действия тарифа | Формат гггг-мм-дд |
To | Обязательный. Дата окончания действия тарифа | Формат гггг-мм-дд |
Price | Цена за одну ночь. | Вещественное число.
Атрибут Currency - код валюты. |
Статические данные
Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.
Страна
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic">
3 <soapenv:Header/>
4 <soapenv:Body>
5 <ver:countries>
6 <RequestBin>
7 <Request>
8 <CountryStatic>
9 </CountryStatic>
10 </Request>
11 <Source>
12 <ClientId></ClientId>
13 <APIKey></APIKey>
14 <Language>ru</Language>
15 <Currency>RUB</Currency>
16 </Source>
17 </RequestBin>
18 </ver:countries>
19 </soapenv:Body>
20 </soapenv:Envelope>
Элемент Request
Элемент | Описание | Допустимые значения |
---|---|---|
CountryStatic | Пустой элемент |
Элемент Source
Элемент | Описание | Допустимые значения |
---|---|---|
ClientID | Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Целое число. |
APIKey | Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Латинские буквы и цифры. Всего 32 символа. |
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 <SOAP-ENV:Body>
5 <ns1:countriesResponse>
6 <ResponseBin>
7 <Response>
8 <CountryStatic>
9 <Countries>
10 <Country Id="4">
11 <Code>AF</Code>
12 <Continent>asia</Continent>
13 <Data>
14 <Info Language="RU">
15 <Name>Афганистан</Name>
16 </Info>
17 <Info Language="EN">
18 <Name>Afghanistan</Name>
19 </Info>
20 </Data>
21 </Country>
22 </Countries>
23 </CountryStatic>
24 </Response>
25 </ResponseBin>
26 </ns1:countriesResponse>
27 </SOAP-ENV:Body>
28 </SOAP-ENV:Envelope>
Элемент CountryStatic
Элемент | Описание | Допустимые значения |
---|---|---|
Countries | Обязательный | Набор элементов Country |
Элемент Country
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор страны (ISO). | Целое число |
Code | Обязательный. Код страны ISO. | Строка из 2-х латинских букв |
Continent | Обязательный. Название континента. | Строка. |
Data | Обязательный. Информация требующая перевода. | Набор элементов Info. |
Элемент Info
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Language | Обязательный. Язык в котором представлена информация. | Строка из 2-х латинских букв. |
Name | Обязательный. Наименование страны. | Строка в произвольном формате. |
Город
Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
3 <soapenv:Header/>
4 <soapenv:Body>
5 <ver:cities>
6 <RequestBin>
7 <Request>
8 <CityStatic>
9 <CountryId>4</CountryId>
10 </CityStatic>
11 </Request>
12 <Source>
13 <ClientId></ClientId>
14 <APIKey></APIKey>
15 <Language>ru</Language>
16 <Currency>RUB</Currency>
17 </Source>
18 </RequestBin>
19 </ver:cities>
20 </soapenv:Body>
21 </soapenv:Envelope>
Элемент CityStatic
Элемент | Описание | Допустимые значения |
---|---|---|
CountryId | Обязательный. Идентификатор страны. | Целое число |
Элемент Source
Элемент | Описание | Допустимые значения |
---|---|---|
ClientID | Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Целое число. |
APIKey | Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Латинские буквы и цифры. Всего 32 символа. |
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic">
3 <SOAP-ENV:Body>
4 <ns1:citiesResponse>
5 <ResponseBin>
6 <Response>
7 <CityStatic>
8 <Cities>
9 <City Id="1">
10 <Name>Кабул</Name>
11 <CountryId>4</CountryId>
12 <Data>
13 <Info Language="EN">
14 <Name>Kabul</Name>
15 </Info>
16 <Info Language="RU">
17 <Name>Кабул</Name>
18 </Info>
19 </Data>
20 </City>
21 <City Id="204793">
22 <Name>Aibak</Name>
23 <CountryId>4</CountryId>
24 <Data>
25 <Info Language="EN">
26 <Name>Aibak</Name>
27 </Info>
28 <Info Language="RU">
29 <Name>Aibak</Name>
30 </Info>
31 </Data>
32 </City>
33 <City Id="204785">
34 <Name>Anar Darah</Name>
35 <CountryId>4</CountryId>
36 <Data>
37 <Info Language="EN">
38 <Name>Anar Darah</Name>
39 </Info>
40 <Info Language="RU">
41 <Name>Anar Darah</Name>
42 </Info>
43 </Data>
44 </City>
45 ...
46 </Cities>
47 </CityStatic>
48 </Response>
49 </ResponseBin>
50 </ns1:citiesResponse>
51 </SOAP-ENV:Body>
52 </SOAP-ENV:Envelope>
Элемент CityStatic
Элемент | Описание | Допустимые значения |
---|---|---|
Cities | Обязательный. Массив городов. | Набор элементов City |
Элемент City
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор города. | Целое число |
Name | Название города. | |
Data | Названия городов на разных языках. В данный момент поддерживаются названия на русском и английском. | См. описание элемента Data в ответе получения информации о стране. |
Статика по отелям и апартаментам
Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic">
3 <soapenv:Header/>
4 <soapenv:Body>
5 <ver:hotels>
6 <RequestBin>
7 <Request>
8 <HotelStatic>
9 <CityId>58166</CityId>
10 </HotelStatic>
11 </Request>
12 <Source>
13 <ClientId></ClientId>
14 <APIKey></APIKey>
15 <Language>ru</Language>
16 <Currency>RUB</Currency>
17 </Source>
18 </RequestBin>
19 </ver:hotels>
20 </soapenv:Body>
21 </soapenv:Envelope>
Элемент Hotels
Элемент | Описание | Допустимые значения |
---|---|---|
CityId | Обязательный. Идентификатор города из которого необходимо получить отели. | Целое число |
Элемент Source
Элемент | Описание | Допустимые значения |
---|---|---|
ClientID | Обязательный. ID клиента в системе Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Целое число. |
APIKey | Обязательный. APIKey - секретный ключ доступа к API Nemo.
Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
Латинские буквы и цифры. Всего 32 символа. |
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
2 xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 <SOAP-ENV:Body>
5 <ns1:hotelsResponse>
6 <ResponseBin>
7 <Response>
8 <HotelStatic>
9 <Hotels>
10 <Hotel Id="271714" Apartment="false">
11 <CityId>58166</CityId>
12 <CountryId>643</CountryId>
13 <Latitude xsi:nil="true"/>
14 <Longitude xsi:nil="true"/>
15 <Rating>3</Rating>
16 <Floors xsi:nil="true"/>
17 <Data>
18 <Info>
19 <Name>* Azimut (business)</Name>
20 <Area xsi:nil="true"/>
21 <Location>Within city</Location>
22 <Desc>This 3 star hotel is located within the city of St Petersburg.</Desc>
23 <Address>43/1 Lermoutovsky Prospect, St Petersburg, 190103</Address>
24 </Info>
25 </Data>
26 <Phones>
27 <Phone>812 7402640</Phone>
28 </Phones>
29 <Fax>812 2518890</Fax>
30 <Images/>
31 </Hotel>
32 <Hotel Id="159535" Apartment="false">
33 <CityId>58166</CityId>
34 <CountryId>643</CountryId>
35 <Latitude>59.935011</Latitude>
36 <Longitude>30.309284</Longitude>
37 <Rating>5</Rating>
38 <Floors xsi:nil="true"/>
39 <Data>
40 <Info>
41 <Name>W St.petersburg</Name>
42 <Area xsi:nil="true"/>
43 <Location>City centre</Location>
44 <Desc>This 5 star hotel is located in the city centre of St Petersburg
45 and was established in 2011. It is close to the St.Isaac's Cathedral
46 and the nearest station is Admiralteyskaya station. The Hotel has
47 a restaurant, 2 bars, a conference room, a coffee shop, an indoor
48 swimming pool and a fitness centre/gym. All 137 rooms are equipped
49 with minibar, hairdryer, safe, trouser press and air conditioning.</Desc>
50 <Address>6 Voznesensky Prospect, St. Petersburg, 190000, St Petersburg, Russia</Address>
51 </Info>
52 </Data>
53 <Phones/>
54 <Fax>+7 812 6106160</Fax>
55 <Images>
56 <Image>
57 <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/ext.jpg</Path>
58 <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/ext-t.jpg</Icon>
59 </Image>
60 <Image>
61 <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/unknown.jpg</Path>
62 <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/unknown-t.jpg</Icon>
63 </Image>
64 <Image>
65 <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/bed room.jpg</Path>
66 <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/bed room-t.jpg</Icon>
67 </Image>
68 </Images>
69 </Hotel>
70 ...
71 </Hotels>
72 </HotelStatic>
73 </Response>
74 </ResponseBin>
75 </ns1:hotelsResponse>
76 </SOAP-ENV:Body>
77 </SOAP-ENV:Envelope>
Элемент Hotel
Элемент | Описание | Допустимые значения |
---|---|---|
Атрибут Id | Обязательный. Идентификатор отеля в системе Nemo. | Целое число. |
CityId | Обязательный. Идентификатор города. | Целое число. |
CountryId | Обязательный. Идентификатор страны . | Целое число. |
Latitude | Необязательный. Широта. | Вещественное число. |
Longitude | Необязательный. Долгота. | Вещественное число. |
Rating | Необязательный. Рейтинг. | Вещественное число. |
Floors | Необязательный. Количество этажей | Целое число. |
Data | Необязательный. | Набор элементов Info. |
Phones | Необязательный. Массив телефонов. | Набор элементов Phone. |
Fax | Необязательный. Факс. | Строка в произвольном формате. |
Images | Необязательный. Маcсив изображений. | Набор элементов Image. |
Элемент Info
Элемент | Описание | Допустимые значения |
---|---|---|
Name | Обязательный. Наименование отеля. | Строка в произвольном формате. |
Area | Необязательный. Описание места расположения отеля. | Строка в произвольном формате. |
Location | Необязательный. Район города. | Строка в произвольном формате. |
Desc | Необязательный. Описание отеля. | Строка в произвольном формате. |
Address | Необязательный. Адрес отеля. | Строка в произвольном формате. |
Элемент Phones
Элемент | Описание | Допустимые значения |
---|---|---|
Phone | Обязательный. Телефон. | Строка в произвольном формате. |
Элемент Image
Элемент | Описание | Допустимые значения |
---|---|---|
Path | Необязательный. Путь к полному изображению. | Строка в произвольном формате. |
Icon | Необязательный. Путь к миниатюре, иконке. | Строка в произвольном формате. |
API бронирования, аннуляции, войдирования авиабилетов
Подключение
Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр — «FlightId» — Id перелёта, для которого будет производится бронирование. WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=BookFlight.
Общий формат запроса / ответа бронирования
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:BookFlight>
5 <RequestBin>
6 <Request>
7 <BookFlight>
8 <FlightId>?</FlightId>
9 <!--FlightId — Id перелёта в системе Nemo-->
10 <!--Optional:-->
11 <ValidatingCompany>?</ValidatingCompany> <!--необязательный-->
12 <!--ValidatingCompany — валидирующий перевозчик (тот кто выписывает билет)-->
13 <!--Optional:-->
14 <BookingCodes>
15 <!--Zero or more repetitions:-->
16 <BookingCode Code="?" SegNumber="?"/>
17 <!--Code — код класса перелёта-->
18 <!--SegNumber — номер сегмента в перелёте (начинаются с 1)-->
19 </BookingCodes>
20 <!--Optional:-->
21 <CurrencyCode>?</CurrencyCode> <!--необязательный-->
22 <!--CurrencyCode — код валюты-->
23 <!--Optional:-->
24 <TicketTimeLimit>?</TicketTimeLimit> <!--необязательный-->
25 <!--TicketTimeLimit — таймлимит на оплату, формат: ГГГГ-ММ-ДДTЧЧ:ММ:СС-->
26 <!--Optional:-->
27 <Agency Name="?"> <!--необязательный-->
28 <!--Name — название агентства-->
29 <Telephone Type="?">
30 <!--Type — тип номера, обязательный, возможные значения:
31 M — мобильный, H — домашний, B — рабочий, A — агенство-->
32 <!--Optional:-->
33 <PhoneNumber>?</PhoneNumber>
34 <!--PhoneNumber — номер телефона-->
35 <!--Optional:-->
36 <CountryAccessCode>?</CountryAccessCode> <!--необязательный-->
37 <!--CountryAccessCode — код страны-->
38 <!--Optional:-->
39 <AreaCityCode>?</AreaCityCode> <!--необязательный-->
40 <!--AreaCityCode — код региона/города-->
41 </Telephone>
42 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
43 <!--City — город-->
44 <!--State — штат-->
45 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
46 <!--PostalCode — почтовый индекс-->
47 <!--CountryCode — код страны (RU, UA и т.п.)-->
48 </Agency>
49 <Travellers>
50 <!--Zero or more repetitions:-->
51 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
52 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
53 CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
54 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
55 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
56 может быть контактным лицом, по умолчанию false-->
57 <!--Num — порядковый номер пассажира, начинается с 1-->
58 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок--> <!--необязательный-->
59 <!--TravellerId — устаревший параметр, не используется-->
60 <Meal>?</Meal> <!--необязательный-->
61 <!--Meal — код типа питания, возможные значения:
62 NONE — отсутствует
63 AVML — Азиатская вегетарианская кухня
64 BLML — Блюда щадящей диеты
65 CHML — Детское питание
66 CHPC — Детский холодный завтрак
67 СНСС — Детский горячий завтрак
68 CHHC — Детский ланч, ветчина и сыр
69 PBJS — Детский ланч, ореховое масло
70 CHMC — Детский обед макароны с сыром
71 DBML — Диабетическое питание
72 FPML — Фрукты
73 GFML — Питание без клейковины
74 HFML — Питание богатое клетчаткой
75 HNML — Индусская кухня
76 BBML — Питание для младенцев
77 KSML — Кошерная кухня
78 SMKB — Кошерный завтрак
79 SMKL — Кошерный ланч
80 SMKD — Кошерный обед
81 LPML — Малобелковое питание
82 LCML — Низкокалорийное питание
83 LFML — Низкохолестериновое питание
84 PRML — Низкопуриновое питание
85 LSML — Малосоленое питание
86 MOML — Мюсли
87 NLML — Безмолочные продукты
88 ORML — Восточная кухня
89 RVML — Сырые овощи
90 SFML — Морепродукты
91 SPML — Особое питание
92 VLML — Вегетарианское, молоко и яйца
93 VGML — Строго вегетарианское питание
94 VJML — Джайнизское вегетарианское
95 VOML — Восточное вегетарианское питание-->
96 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
97 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
98 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
99 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
100 <FirstName>?</FirstName>
101 <!--FirstName — имя пассажира-->
102 <LastName>?</LastName>
103 <!--LastName — фамилия пассажира-->
104 <!--Optional:-->
105 <MiddleName>?</MiddleName> <!--необязательный-->
106 <!--MiddleName — отчество пассажира-->
107 </PersonalInfo>
108 <LoyaltyCard OpCode="?" Number="?"/> <!--необязательный-->
109 <!--OpCode — код авиакомпании-->
110 <!--Number — номер карточки-->
111 <ContactInfo> <!--необязательный-->
112 <!--Optional:-->
113 <EmailID>?</EmailID>
114 <!--EmailID — контактный email-->
115 <!--Optional:-->
116 <Telephone Type="?">
117 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
118 <!--Optional:-->
119 <PhoneNumber>?</PhoneNumber>
120 <!--PhoneNumber — номер телефона-->
121 <!--Optional:-->
122 <CountryAccessCode>?</CountryAccessCode>
123 <!--CountryAccessCode — код страны-->
124 <!--Optional:-->
125 <AreaCityCode>?</AreaCityCode>
126 <!--AreaCityCode — код региона/города-->
127 </Telephone>
128 </ContactInfo>
129 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
130 <!--DocType — тип документа, возможные значения:
131 Р — Паспорт
132 A – Паспорт иностранца
133 С — Внутренний гражданский паспорт
134 F – Документ заменяющий паспорт
135 М — Воинское удостоверение
136 N – Сертификат натурализации(специфичный документ США)
137 T – Док.повторного въезда, паспорт беженца
138 V – Документ для пересечения границы-->
139 <!--DocNum — номер документа-->
140 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
141 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
142 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
143 <!--необязательный-->
144 <!--Num — номер визы-->
145 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
146 <!--IssueCountry — страна выдачи визы-->
147 <!--IssuePlace — место выдачи визы-->
148 <!--BirthCountry — страна рождения(IATA код страны)-->
149 <!--BirthCity — город рождения(название)-->
150 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
151 <!--City — город-->
152 <!--State — штат или область въезда-->
153 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
154 <!--PostalCode — почтовый код-->
155 <!--CountryCode — код страны-->
156 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
157 <!--необязательный-->
158 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
159 <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
160 <!--Location — положение места в ряде, возможные значения:
161 W — у окна (Window)
162 M — где-то в середине ряда (Middle)
163 NPW — возле прохода (NearPassengerWay)
164 NS — нет предпочтения (NotSpecified)-->
165 <!--RowNumber — номер ряда-->
166 <!--PlaceNumber — номер места-->
167 <!--SegNumber — номер сегмента-->
168 <DocStringFormats>
169 <!--Zero or more repetitions:-->
170 <DocStringFormat>?</DocStringFormat>
171 <!--DocStringFormat — формат паспортной строки, возможные значения:
172 DOCS — строка формата DOCS, FOID — строка формата FOID-->
173 </DocStringFormats>
174 </Traveller>
175 </Travellers>
176 <!--Optional:-->
177 <QueueNum>?</QueueNum> <!--необязательный-->
178 <!--QueueNum — номер очереди, в которую необходимо поместить бронирование-->
179 </BookFlight>
180 </Request>
181 <Source>
182 <ClientId>?</ClientId>
183 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
184 "Администрирование" ? "Веб-служба. Авторизация".-->
185 <APIKey>?</APIKey>
186 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
187 "Администрирование" ? "Веб-служба. Авторизация".-->
188 <Language>?</Language>
189 <!--Language — язык-->
190 <Currency>?</Currency>
191 <!-- CUrrency — валюта-->
192 </Source>
193 </RequestBin>
194 </ver:BookFlight>
195 </soapenv:Body>
196 </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%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:BookFlightResponse>
4 <ResponseBin>
5 <Response>
6 <BookFlight ID="?" Status="?" Code="?">
7 <!--ID — Id брони в системе Nemo, целое число, обязательный-->
8 <!--Status — индикатор состояния брони, возможные значения:
9 booked — забронировано,
10 canceled — бронь отменена,
11 ticket — выписана
12 UNDEFINED — статус не определён-->
13 <!--Code — код брони в системе поставщика-->
14 <QueryPlace xsi:nil="true"/>
15 <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
16 <Flight FlightId="?">
17 <!--FlightId — Id перелёта в системе Nemo-->
18 <WebService>?</WebService>
19 <!--WebService — поставщик перелёта-->
20 <ValCompany>?</ValCompany>
21 <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
22 <URL>?</URL>
23 <!--URL — ссылка на бронирование конкретного перелета-->
24 <Segments>
25 <Segment SegNum="?" SegGroupNum="?">
26 <!--SegNum — номер сегмента в перелёте-->
27 <!--SegGroupNum – номер плеча перелёта-->
28 <DepAirp CodeType="IATA">?</DepAirp>
29 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
30 или SVO — Шереметьево-->
31 <DepTerminal>?</DepTerminal>
32 <!--DepTerminal — терминал пункта отправления, если пустое значение,
33 то в аэропорту всего 1 терминал-->
34 <ArrAirp CodeType="IATA">?</ArrAirp>
35 <!--ArrAirp — аэропорт прибытия-->
36 <ArrTerminal>?</ArrTerminal>
37 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
38 то в аэропорту всего 1 терминал-->
39 <OpAirline>?</OpAirline>
40 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
41 <MarkAirline>?</MarkAirline>
42 <!--MarkAirline — авиакомпания, продающая перелёт-->
43 <FlightNumber>?</FlightNumber>
44 <!--FlightNumber — номер рейса-->
45 <AircraftType>?</AircraftType>
46 <!--AircraftType — тип воздушного судна, код-->
47 <DepDateTime>?</DepDateTime>
48 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
49 <ArrDateTime>?</ArrDateTime>
50 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
51 <StopNum>?</StopNum>
52 <!--StopNum — количество остановок-->
53 <BookingCodes>
54 <BookingCode ClassType="?">
55 <!--ClassType — класс перелета, например: economy-->
56 <BookingCode>?</BookingCode>
57 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
58 может записываться разными литерами, например: L-->
59 </BookingCode>
60 </BookingCodes>
61 <FlightTime>?</FlightTime>
62 <!--FlightTime — время перелёта в минутах-->
63 <TimeZone Departure="?" Arrival="?"/>
64 <!--Departure временная зона аэропорта отправления-->
65 <!--Arrival — временная зона аэропорта прибытия-->
66 <ETicket>?</ETicket>
67 <!--ETicket — признак электронного билета, значения: true / false-->
68 </Segment>
69 </Segments>
70 <PricingInfo Refundable="?">
71 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
72 <PassengerFare Type="?" Quantity="?">
73 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
74 INF — младенцы, INS — младенцы с местом-->
75 <!--Quantity — количество пассажиров данного типа-->
76 <BaseFare Currency="?" Amount="?"/>
77 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
78 <EquiveFare Currency="?" Amount="?"/>
79 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
80 Currency — код валюты, Amount — значение цены-->
81 <TotalFare Currency="?" Amount="?"/>
82 <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
83 Currency — код валюты, Amount — значение цены-->
84 <Taxes>
85 <Tax CurCode="?" TaxCode="?" Amount="?"/>
86 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
87 </Taxes>
88 <Tariffs>
89 <Tariff Code="?" SegNum="?"/>
90 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
91 </Tariffs>
92 <FareCalc>?</FareCalc>
93 <!--FareCalc — строка расчёта цены-->
94 <LastTicketDateTime>?</LastTicketDateTime>
95 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
96 </PassengerFare>
97 </PricingInfo>
98 <Commission/>
99 <Charges Currency="?">?</Charges>
100 <!--Charges — сборы, Currency — код валюты-->
101 <TotalPrice Currency="?">?</TotalPrice>
102 <!--TotalPrice — итоговая цена, Currency — код валюты-->
103 </Flight>
104 <Agency Name="?">
105 <!--Name — название агентства-->
106 <Telephone Type="?">
107 <!--Type — тип номера, обязательный, возможные значения:
108 M — мобильный, H — домашний, B — рабочий, A — агенство-->
109 <!--Optional:-->
110 <PhoneNumber>?</PhoneNumber>
111 <!--PhoneNumber — номер телефона-->
112 <!--Optional:-->
113 <CountryAccessCode>?</CountryAccessCode>
114 <!--CountryAccessCode — код страны-->
115 <!--Optional:-->
116 <AreaCityCode>?</AreaCityCode>
117 <!--AreaCityCode — код региона/города-->
118 </Telephone>
119 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
120 <!--City — город-->
121 <!--State — штат-->
122 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
123 <!--PostalCode — почтовый индекс-->
124 <!--CountryCode — код страны (RU, UA и т.п.)-->
125 </Agency>
126 <ItinReceipts Encoding="?" Format="?">
127 <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
128 <FareStored xsi:nil="true"/>
129 <Travellers>
130 <!--Zero or more repetitions:-->
131 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
132 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
133 CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
134 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
135 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
136 может быть контактным лицом, по умолчанию false-->
137 <!--Num — порядковый номер пассажира, начинается с 1-->
138 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок-->
139 <!--TravellerId — устаревший параметр, не используется-->
140 <Meal>?</Meal>
141 <!--Meal — код типа питания, возможные значения:
142 NONE — отсутствует
143 AVML — Азиатская вегетарианская кухня
144 BLML — Блюда щадящей диеты
145 CHML — Детское питание
146 CHPC — Детский холодный завтрак
147 СНСС — Детский горячий завтрак
148 CHHC — Детский ланч, ветчина и сыр
149 PBJS — Детский ланч, ореховое масло
150 CHMC — Детский обед макароны с сыром
151 DBML — Диабетическое питание
152 FPML — Фрукты
153 GFML — Питание без клейковины
154 HFML — Питание богатое клетчаткой
155 HNML — Индусская кухня
156 BBML — Питание для младенцев
157 KSML — Кошерная кухня
158 SMKB — Кошерный завтрак
159 SMKL — Кошерный ланч
160 SMKD — Кошерный обед
161 LPML — Малобелковое питание
162 LCML — Низкокалорийное питание
163 LFML — Низкохолестериновое питание
164 PRML — Низкопуриновое питание
165 LSML — Малосоленое питание
166 MOML — Мюсли
167 NLML — Безмолочные продукты
168 ORML — Восточная кухня
169 RVML — Сырые овощи
170 SFML — Морепродукты
171 SPML — Особое питание
172 VLML — Вегетарианское, молоко и яйца
173 VGML — Строго вегетарианское питание
174 VJML — Джайнизское вегетарианское
175 VOML — Восточное вегетарианское питание-->
176 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
177 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
178 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
179 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
180 <FirstName>?</FirstName>
181 <!--FirstName — имя пассажира-->
182 <LastName>?</LastName>
183 <!--LastName — фамилия пассажира-->
184 <!--Optional:-->
185 <MiddleName>?</MiddleName>
186 <!--MiddleName — отчество пассажира-->
187 </PersonalInfo>
188 <LoyaltyCard OpCode="?" Number="?"/>
189 <!--OpCode — код авиакомпании-->
190 <!--Number — номер карточки-->
191 <ContactInfo>
192 <!--Optional:-->
193 <EmailID>?</EmailID>
194 <!--EmailID — контактный email-->
195 <!--Optional:-->
196 <Telephone Type="?">
197 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
198 <!--Optional:-->
199 <PhoneNumber>?</PhoneNumber>
200 <!--PhoneNumber — номер телефона-->
201 <!--Optional:-->
202 <CountryAccessCode>?</CountryAccessCode>
203 <!--CountryAccessCode — код страны-->
204 <!--Optional:-->
205 <AreaCityCode>?</AreaCityCode>
206 <!--AreaCityCode — код региона/города-->
207 </Telephone>
208 </ContactInfo>
209 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
210 <!--DocType — тип документа, возможные значения:
211 Р — Паспорт
212 A – Паспорт иностранца
213 С — Внутренний гражданский паспорт
214 F – Документ заменяющий паспорт
215 М — Воинское удостоверение
216 N – Сертификат натурализации(специфичный документ США)
217 T – Док.повторного въезда, паспорт беженца
218 V – Документ для пересечения границы-->
219 <!--DocNum — номер документа-->
220 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
221 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
222 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
223 <!--Num — номер визы-->
224 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
225 <!--IssueCountry — страна выдачи визы-->
226 <!--IssuePlace — место выдачи визы-->
227 <!--BirthCountry — страна рождения(IATA код страны)-->
228 <!--BirthCity — город рождения(название)-->
229 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
230 <!--City — город-->
231 <!--State — штат или область въезда-->
232 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
233 <!--PostalCode — почтовый код-->
234 <!--CountryCode — код страны-->
235 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
236 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
237 <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
238 <!--Location — положение места в ряде, возможные значения:
239 W — у окна (Window)
240 M — где-то в середине ряда (Middle)
241 NPW — возле прохода (NearPassengerWay)
242 NS — нет предпочтения (NotSpecified)-->
243 <!--RowNumber — номер ряда-->
244 <!--PlaceNumber — номер места-->
245 <!--SegNumber — номер сегмента-->
246 <DocStringFormats>
247 <!--Zero or more repetitions:-->
248 <DocStringFormat>?</DocStringFormat>
249 <!--DocStringFormat — формат паспортной строки, возможные значения:
250 DOCS — строка формата DOCS, FOID — строка формата FOID-->
251 </DocStringFormats>
252 </Traveller>
253 </Travellers>
254 </BookFlight>
255 <Requisites/>
256 <RequestType xsi:nil="true"/>
257 <UserID xsi:nil="true"/>
258 <Errors>
259 <Error Code="?">
260 <!--Code — код ошибки в системе Nemo-->
261 <ServiceErrorMessage>?</ServiceErrorMessage>
262 <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
263 <Message>?</Message>
264 <!--Message — сообщение об ошибке от системы Nemo-->
265 </Error>
266 </Errors>
267 </Response>
268 </ResponseBin>
269 </ns1:BookFlightResponse>
270 </SOAP-ENV:Body>
271 </SOAP-ENV:Envelope>
Пример использования
Пример одностороннего перелета Москва — Мадрид.
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DBookFlight">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:BookFlight>
5 <RequestBin>
6 <Request>
7 <BookFlight>
8 <FlightId>171430002</FlightId>
9 <BookingCodes>
10 <!--Zero or more repetitions:-->
11 <BookingCode Code="E" SegNumber="2"/>
12 </BookingCodes>
13 <Travellers>
14 <!--Zero or more repetitions:-->
15 <Traveller Type="ADT" IsContact="true" Num="1">
16 <PersonalInfo DateOfBirth="20.05.1980" Nationality="RU" Gender="M">
17 <FirstName>Petr</FirstName>
18 <LastName>Ivanov</LastName>
19 </PersonalInfo>
20 <ContactInfo>
21 <!--Optional:-->
22 <EmailID>testmail@mail.ru</EmailID>
23 <!--Optional:-->
24 <Telephone Type="M">
25 <!--Optional:-->
26 <PhoneNumber>79051234567</PhoneNumber>
27 </Telephone>
28 </ContactInfo>
29 <DocumentInfo DocType="A" DocNum="123456" CountryCode="RU" DocElapsedTime="01.01.2020"/>
30 </Traveller>
31 </Travellers>
32 </BookFlight>
33 </Request>
34 <Source>
35 <ClientId>---</ClientId>
36 <APIKey>---</APIKey>
37 <Language>RU</Language>
38 <Currency>RUB</Currency>
39 </Source>
40 </RequestBin>
41 </ver:BookFlight>
42 </soapenv:Body>
43 </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%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:BookFlightResponse>
4 <ResponseBin>
5 <Response>
6 <BookFlight ID="262872" Status="booked" Code="LQHZWU">
7 <QueryPlace xsi:nil="true"/>
8 <Flight FlightId="171430002">
9 <WebService>SABRE</WebService>
10 <ValCompany>SU</ValCompany>
11 <URL>http%3A%2F%2FCLIENT_DOMAIN%2F%3Fgo%3Dbooking%2Finfo%26uid%3D14290%26flight%3D171430002</URL>
12 <Segments>
13 <Segment SegNum="1" SegGroupNum="0">
14 <DepAirp CodeType="IATA">SVO</DepAirp>
15 <DepTerminal>D</DepTerminal>
16 <ArrAirp CodeType="IATA">BCN</ArrAirp>
17 <ArrTerminal>1</ArrTerminal>
18 <OpAirline>SU</OpAirline>
19 <MarkAirline>SU</MarkAirline>
20 <FlightNumber>2512</FlightNumber>
21 <AircraftType>321</AircraftType>
22 <DepDateTime>2014-03-20T20:40:00</DepDateTime>
23 <ArrDateTime>2014-03-20T22:20:00</ArrDateTime>
24 <StopNum>0</StopNum>
25 <BookingCodes>
26 <BookingCode ClassType="economy">
27 <BookingCode>E</BookingCode>
28 </BookingCode>
29 </BookingCodes>
30 <FlightTime>280</FlightTime>
31 <TimeZone Departure="4" Arrival="1"/>
32 <ETicket>true</ETicket>
33 </Segment>
34 <Segment SegNum="2" SegGroupNum="0">
35 <DepAirp CodeType="IATA">BCN</DepAirp>
36 <DepTerminal>1</DepTerminal>
37 <ArrAirp CodeType="IATA">MAD</ArrAirp>
38 <ArrTerminal>2</ArrTerminal>
39 <OpAirline>UX</OpAirline>
40 <MarkAirline>SU</MarkAirline>
41 <FlightNumber>3403</FlightNumber>
42 <AircraftType>738</AircraftType>
43 <DepDateTime>2014-03-21T12:05:00</DepDateTime>
44 <ArrDateTime>2014-03-21T13:25:00</ArrDateTime>
45 <StopNum>0</StopNum>
46 <BookingCodes>
47 <BookingCode ClassType="economy">
48 <BookingCode>E</BookingCode>
49 </BookingCode>
50 </BookingCodes>
51 <FlightTime>80</FlightTime>
52 <TimeZone Departure="1" Arrival="1"/>
53 <ETicket>true</ETicket>
54 </Segment>
55 </Segments>
56 <PricingInfo Refundable="false">
57 <PassengerFare Type="ADT" Quantity="1">
58 <BaseFare Currency="EUR" Amount="165"/>
59 <EquiveFare Currency="RUB" Amount="8335"/>
60 <TotalFare Currency="RUB" Amount="14025"/>
61 <Taxes>
62 <Tax CurCode="RUB" TaxCode="YQF" Amount="4242"/>
63 <Tax CurCode="RUB" TaxCode="YRI" Amount="374"/>
64 <Tax CurCode="RUB" TaxCode="JD" Amount="844"/>
65 <Tax CurCode="RUB" TaxCode="QV" Amount="230"/>
66 </Taxes>
67 <Tariffs/>
68 <FareCalc>MOW SU X/BCN SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
69 <LastTicketDateTime>2014-03-14T12:45:00</LastTicketDateTime>
70 </PassengerFare>
71 </PricingInfo>
72 <Commission Currency="RUB">0</Commission>
73 <Charges Currency="RUB">140.25</Charges>
74 <TotalPrice Currency="RUB">14165.25</TotalPrice>
75 </Flight>
76 <Agency/>
77 <ItinReceipts xsi:nil="true"/>
78 <FareStored xsi:nil="true"/>
79 <Travellers>
80 <Traveller Type="ADT" IsContact="true" Num="1">
81 <Meal/>
82 <Ticket/>
83 <Seats/>
84 <PersonalInfo DateOfBirth="20.05.1980" Nationality="RU" Gender="M">
85 <FirstName>PETR</FirstName>
86 <LastName>IVANOV</LastName>
87 <MiddleName/>
88 </PersonalInfo>
89 <LoyaltyCard/>
90 <ContactInfo>
91 <EmailID>TESTMAIL@MAIL.ru</EmailID>
92 <Telephone Type="M">
93 <PhoneNumber>79051234567</PhoneNumber>
94 <CountryAccessCode/>
95 <AreaCityCode/>
96 </Telephone>
97 </ContactInfo>
98 <DocumentInfo DocType="A" DocNum="123456" CountryCode="RU" DocElapsedTime="01.01.2020"/>
99 <VisaInfo/>
100 <ArrAddress/>
101 <PreferedPlace/>
102 <DocStringFormats/>
103 </Traveller>
104 </Travellers>
105 </BookFlight>
106 <Requisites/>
107 <RequestType xsi:nil="true"/>
108 <UserID xsi:nil="true"/>
109 <Errors xsi:nil="true"/>
110 </Response>
111 </ResponseBin>
112 </ns1:BookFlightResponse>
113 </SOAP-ENV:Body>
114 </SOAP-ENV:Envelope>
Общий формат запроса / ответа отмены бронирования
После бронирования, если не истек таймлимит можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической — по истечению таймлимита, установленного для заказа система сама аннулирует заказ.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=CancelBook
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DCancelBook">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:CancelBook>
5 <RequestBin>
6 <Request>
7 <CancelBook BookID="?"/>
8 <!--BookID — Id брони в системе Nemo, целое число-->
9 </Request>
10 <Source>
11 <ClientId>?</ClientId>
12 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
13 "Администрирование" ? "Веб-служба. Авторизация".-->
14 <APIKey>?</APIKey>
15 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
16 "Администрирование" ? "Веб-служба. Авторизация".-->
17 <Language>?</Language>
18 <!--Language — язык-->
19 <Currency>?</Currency>
20 <!-- CUrrency — валюта-->
21 </Source>
22 </RequestBin>
23 </ver:CancelBook>
24 </soapenv:Body>
25 </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%3DCancelBook" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:CancelBookResponse>
4 <ResponseBin>
5 <Response>
6 <CancelBook BookID="?">
7 <!--BookID — Id брони в системе Nemo, целое число-->
8 <Result Success="?"/>
9 <!--Success — результат отмены брони, true или false-->
10 </CancelBook>
11 <Requisites/>
12 <RequestType xsi:nil="true"/>
13 <UserID xsi:nil="true"/>
14 <Errors xsi:nil="true"/>
15 </Response>
16 </ResponseBin>
17 </ns1:CancelBookResponse>
18 </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>