Веб-служба бронирования: различия между версиями
Перейти к навигации
Перейти к поиску
(→Подключение) |
|||
Строка 759: | Строка 759: | ||
== См. также == | == См. также == | ||
− | *[[Агентский | + | *[[Агентский API Авиабилеты]] |
*[[Бронирование]] | *[[Бронирование]] | ||
[[Категория:Интеграция]] | [[Категория:Интеграция]] | ||
+ | [[Категория:Агентский API]] |
Версия 12:45, 4 апреля 2017
Содержание
Подключение
Получить доступ к результатам бронирования в данном сервисе можно через 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 <CurrencyCode>?</CurrencyCode> <!--необязательный-->
12 <!--CurrencyCode — код валюты-->
13 <!--Optional:-->
14 <Agency Name="?"> <!--необязательный-->
15 <!--Name — название агентства-->
16 <Telephone Type="?">
17 <!--Type — тип номера, обязательный, возможные значения:
18 M — мобильный, H — домашний, B — рабочий, A — агенство-->
19 <!--Optional:-->
20 <PhoneNumber>?</PhoneNumber>
21 <!--PhoneNumber — номер телефона-->
22 <!--Optional:-->
23 <CountryAccessCode>?</CountryAccessCode> <!--необязательный-->
24 <!--CountryAccessCode — код страны-->
25 <!--Optional:-->
26 <AreaCityCode>?</AreaCityCode> <!--необязательный-->
27 <!--AreaCityCode — код региона/города-->
28 </Telephone>
29 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
30 <!--City — город-->
31 <!--State — штат-->
32 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
33 <!--PostalCode — почтовый индекс-->
34 <!--CountryCode — код страны (RU, UA и т.п.)-->
35 </Agency>
36 <Travellers>
37 <!--Zero or more repetitions:-->
38 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
39 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
40 CLD — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
41 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
42 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
43 может быть контактным лицом, по умолчанию false-->
44 <!--Num — порядковый номер пассажира, начинается с 1-->
45 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)--> <!--необязательный-->
46 <!--TravellerId — устаревший параметр, не используется-->
47 <Meal>?</Meal> <!--необязательный-->
48 <!--Meal — код типа питания, возможные значения:
49 AVML — Азиатская вегетарианская кухня
50 BLML — Блюда щадящей диеты
51 CHML — Детское питание
52 CHPC — Детский холодный завтрак
53 СНСС — Детский горячий завтрак
54 CHHC — Детский ланч, ветчина и сыр
55 PBJS — Детский ланч, ореховое масло
56 CHMC — Детский обед макароны с сыром
57 DBML — Диабетическое питание
58 FPML — Фрукты
59 GFML — Питание без клейковины
60 HFML — Питание богатое клетчаткой
61 HNML — Индусская кухня
62 BBML — Питание для младенцев
63 KSML — Кошерная кухня
64 SMKB — Кошерный завтрак
65 SMKL — Кошерный ланч
66 SMKD — Кошерный обед
67 LPML — Малобелковое питание
68 LCML — Низкокалорийное питание
69 LFML — Низкохолестериновое питание
70 PRML — Низкопуриновое питание
71 LSML — Малосоленое питание
72 MOML — Мюсли
73 NLML — Безмолочные продукты
74 ORML — Восточная кухня
75 RVML — Сырые овощи
76 SFML — Морепродукты
77 SPML — Особое питание
78 VLML — Вегетарианское, молоко и яйца
79 VGML — Строго вегетарианское питание
80 VJML — Джайнизское вегетарианское
81 VOML — Восточное вегетарианское питание-->
82 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
83 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
84 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
85 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
86 <FirstName>?</FirstName>
87 <!--FirstName — имя пассажира-->
88 <LastName>?</LastName>
89 <!--LastName — фамилия пассажира-->
90 <!--Optional:-->
91 <MiddleName>?</MiddleName> <!--необязательный-->
92 <!--MiddleName — отчество пассажира-->
93 </PersonalInfo>
94 <LoyaltyCard OpCode="?" Number="?"/> <!--необязательный-->
95 <!--OpCode — код авиакомпании-->
96 <!--Number — номер карточки-->
97 <ContactInfo> <!--необязательный-->
98 <!--Optional:-->
99 <EmailID>?</EmailID>
100 <!--EmailID — контактный email-->
101 <!--Optional:-->
102 <Telephone Type="?">
103 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
104 <!--Optional:-->
105 <PhoneNumber>?</PhoneNumber>
106 <!--PhoneNumber — номер телефона-->
107 <!--Optional:-->
108 <CountryAccessCode>?</CountryAccessCode>
109 <!--CountryAccessCode — код страны-->
110 <!--Optional:-->
111 <AreaCityCode>?</AreaCityCode>
112 <!--AreaCityCode — код региона/города-->
113 </Telephone>
114 </ContactInfo>
115 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--необязательный-->
116 <!--DocType — тип документа, возможные значения:
117 Р — Паспорт
118 A – Паспорт иностранца
119 С — Внутренний гражданский паспорт
120 F – Документ заменяющий паспорт
121 М — Воинское удостоверение
122 N – Сертификат натурализации(специфичный документ США)
123 T – Док.повторного въезда, паспорт беженца
124 V – Документ для пересечения границы
125 F – Свидетельство о рождении (для ГРС Сирена Трэвел, для
126 других гдс рекомендуется использовать тип документа P)-->
127 <!--DocNum — номер документа-->
128 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
129 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
130 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
131 <!--необязательный-->
132 <!--Num — номер визы-->
133 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
134 <!--IssueCountry — страна выдачи визы-->
135 <!--IssuePlace — место выдачи визы-->
136 <!--BirthCountry — страна рождения(IATA код страны)-->
137 <!--BirthCity — город рождения(название)-->
138 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
139 <!--City — город-->
140 <!--State — штат или область въезда-->
141 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
142 <!--PostalCode — почтовый код-->
143 <!--CountryCode — код страны-->
144 </Traveller>
145 </Travellers>
146 <!--Optional:-->
147 <DeviceId> <!--необязательный-->
148 <Type>?</Type>
149 <!--Type — Тип мобильного устройства (apple/android)-->
150 <Token>?</Token>
151 <!--Token — Токен мобильного устройства-->
152 </DeviceId>
153 </BookFlight>
154 </Request>
155 <Source>
156 <ClientId>?</ClientId>
157 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
158 "Администрирование" ? "Веб-служба. Авторизация".-->
159 <APIKey>?</APIKey>
160 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
161 "Администрирование" ? "Веб-служба. Авторизация".-->
162 <Language>?</Language>
163 <!--Language — язык-->
164 <Currency>?</Currency>
165 <!-- CUrrency — валюта-->
166 <EndUserData>
167 <!--Блок с данными о конечном пользователе, необязательный, но необходим при при использовании запросов поиска и бронирования для поставщика TravelFusion-->
168 <EndUserIP>123.123.123.123</EndUserIP>
169 <!--IP адрес пользователя-->
170 <EndUserBrowserAgent>firefox</EndUserBrowserAgent>
171 <!--Браузер пользователя-->
172 <RequestOrigin>Russia-nemo.travel</RequestOrigin>
173 <!--Страна и домен, с которого пользователь совершает поиск/бронирование-->
174 </EndUserData>
175 </Source>
176 </RequestBin>
177 </ver:BookFlight>
178 </soapenv:Body>
179 </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 <SupplierCode>?</SupplierCode>
29 <!--SupplierCode – номер заказа в системе АК-->
30 <DepAirp CodeType="IATA">?</DepAirp>
31 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
32 или SVO — Шереметьево-->
33 <DepTerminal>?</DepTerminal>
34 <!--DepTerminal — терминал пункта отправления, если пустое значение,
35 то в аэропорту всего 1 терминал-->
36 <ArrAirp CodeType="IATA">?</ArrAirp>
37 <!--ArrAirp — аэропорт прибытия-->
38 <ArrTerminal>?</ArrTerminal>
39 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
40 то в аэропорту всего 1 терминал-->
41 <OpAirline>?</OpAirline>
42 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
43 <MarkAirline>?</MarkAirline>
44 <!--MarkAirline — авиакомпания, продающая перелёт-->
45 <FlightNumber>?</FlightNumber>
46 <!--FlightNumber — номер рейса-->
47 <AircraftType>?</AircraftType>
48 <!--AircraftType — тип воздушного судна, код-->
49 <DepDateTime>?</DepDateTime>
50 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
51 <ArrDateTime>?</ArrDateTime>
52 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
53 <StopNum>?</StopNum>
54 <!--StopNum — количество остановок-->
55 <StopPoints>
56 <!--StopPoints — информация о технических остановках, если они есть-->
57 <StopPoint>
58 <AirportCode>?</AirportCode>
59 <!--AirportCode — код аэропорта остановки, трех символьный iata код-->
60 <UTC>?</UTC>
61 <!--UTC — сдвиг часового пояса аэропорта-->
62 <ArrDateTime>?</ArrDateTime>
63 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
64 <DepDateTime>?</DepDateTime>
65 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
66 </StopPoint>
67 </StopPoints>
68 <BookingCodes>
69 <BookingCode ClassType="?">
70 <!--ClassType — класс перелета, например: economy-->
71 <BookingCode>?</BookingCode>
72 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
73 может записываться разными литерами, например: L-->
74 </BookingCode>
75 </BookingCodes>
76 <FlightTime>?</FlightTime>
77 <!--FlightTime — время перелёта в минутах-->
78 <TimeZone Departure="?" Arrival="?"/>
79 <!--Departure временная зона аэропорта отправления-->
80 <!--Arrival — временная зона аэропорта прибытия-->
81 <ETicket>?</ETicket>
82 <!--ETicket — признак электронного билета, значения: true / false-->
83 <isCharter>?</isCharter>
84 <!--isCharter — признак чартерного перелета, значения: true / false-->
85 <BaggageAllowances>
86 <!--BaggageAllowances — информация о багаже-->
87 <BaggageAllowance>
88 <PassengerType>?</PassengerType>
89 <!--PassengerType — тип пассажира, соответствует типу тарифа в PricingInfo -->
90 <Value>?</Value>
91 <!--Value — количество-->
92 <Measurement>?</Measurement>
93 <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место, lb — фунт-->
94 </BaggageAllowance>
95 </BaggageAllowances>
96 </Segment>
97 </Segments>
98 <PricingInfo Refundable="?">
99 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
100 <PassengerFare Type="?" Quantity="?">
101 <!--Type — тип тарифа-->
102 <!--Quantity — количество пассажиров данного типа-->
103 <TravellerRef>
104 <!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф-->
105 <Ref>?</Ref>
106 <!--Ref — Номера пассажиров, к которым относится данный тариф-->
107 </TravellerRef>
108 <BaseFare Currency="?" Amount="?"/>
109 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
110 <EquiveFare Currency="?" Amount="?"/>
111 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
112 Currency — код валюты, Amount — значение цены-->
113 <TotalFare Currency="?" Amount="?"/>
114 <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
115 Currency — код валюты, Amount — значение цены-->
116 <Taxes>
117 <Tax CurCode="?" TaxCode="?" Amount="?"/>
118 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
119 </Taxes>
120 <Tariffs>
121 <Tariff Code="?" SegNum="?"/>
122 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
123 <FareFamilies>
124 <FullName>?</FullName>
125 <!--FullName — название тарифа-->
126 </FareFamilies>
127 </Tariffs>
128 <FareCalc>?</FareCalc>
129 <!--FareCalc — строка расчёта цены-->
130 <LastTicketDateTime>?</LastTicketDateTime>
131 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
132 </PassengerFare>
133 </PricingInfo>
134 <Charges Currency="?">?</Charges>
135 <!--Charges — сборы, Currency — код валюты-->
136 <TotalPrice Currency="?">?</TotalPrice>
137 <!--TotalPrice — итоговая цена, Currency — код валюты-->
138 </Flight>
139 <Agency Name="?">
140 <!--Name — название агентства-->
141 <Telephone Type="?">
142 <!--Type — тип номера, обязательный, возможные значения:
143 M — мобильный, H — домашний, B — рабочий, A — агенство-->
144 <!--Optional:-->
145 <PhoneNumber>?</PhoneNumber>
146 <!--PhoneNumber — номер телефона-->
147 <!--Optional:-->
148 <CountryAccessCode>?</CountryAccessCode>
149 <!--CountryAccessCode — код страны-->
150 <!--Optional:-->
151 <AreaCityCode>?</AreaCityCode>
152 <!--AreaCityCode — код региона/города-->
153 </Telephone>
154 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
155 <!--City — город-->
156 <!--State — штат-->
157 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
158 <!--PostalCode — почтовый индекс-->
159 <!--CountryCode — код страны (RU, UA и т.п.)-->
160 </Agency>
161 <ItinReceipts Encoding="?" Format="?">
162 <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
163 <FareStored xsi:nil="true"/>
164 <Travellers>
165 <!--Zero or more repetitions:-->
166 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
167 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
168 CLD — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
169 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
170 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
171 может быть контактным лицом, по умолчанию false-->
172 <!--Num — порядковый номер пассажира, начинается с 1-->
173 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
174 <!--TravellerId — устаревший параметр, не используется-->
175 <Meal>?</Meal>
176 <!--Meal — код типа питания, возможные значения:
177 AVML — Азиатская вегетарианская кухня
178 BLML — Блюда щадящей диеты
179 CHML — Детское питание
180 CHPC — Детский холодный завтрак
181 СНСС — Детский горячий завтрак
182 CHHC — Детский ланч, ветчина и сыр
183 PBJS — Детский ланч, ореховое масло
184 CHMC — Детский обед макароны с сыром
185 DBML — Диабетическое питание
186 FPML — Фрукты
187 GFML — Питание без клейковины
188 HFML — Питание богатое клетчаткой
189 HNML — Индусская кухня
190 BBML — Питание для младенцев
191 KSML — Кошерная кухня
192 SMKB — Кошерный завтрак
193 SMKL — Кошерный ланч
194 SMKD — Кошерный обед
195 LPML — Малобелковое питание
196 LCML — Низкокалорийное питание
197 LFML — Низкохолестериновое питание
198 PRML — Низкопуриновое питание
199 LSML — Малосоленое питание
200 MOML — Мюсли
201 NLML — Безмолочные продукты
202 ORML — Восточная кухня
203 RVML — Сырые овощи
204 SFML — Морепродукты
205 SPML — Особое питание
206 VLML — Вегетарианское, молоко и яйца
207 VGML — Строго вегетарианское питание
208 VJML — Джайнизское вегетарианское
209 VOML — Восточное вегетарианское питание-->
210 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
211 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
212 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
213 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
214 <FirstName>?</FirstName>
215 <!--FirstName — имя пассажира-->
216 <LastName>?</LastName>
217 <!--LastName — фамилия пассажира-->
218 <!--Optional:-->
219 <MiddleName>?</MiddleName>
220 <!--MiddleName — отчество пассажира-->
221 </PersonalInfo>
222 <LoyaltyCard OpCode="?" Number="?"/>
223 <!--OpCode — код авиакомпании-->
224 <!--Number — номер карточки-->
225 <ContactInfo>
226 <!--Optional:-->
227 <EmailID>?</EmailID>
228 <!--EmailID — контактный email-->
229 <!--Optional:-->
230 <Telephone Type="?">
231 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
232 <!--Optional:-->
233 <PhoneNumber>?</PhoneNumber>
234 <!--PhoneNumber — номер телефона-->
235 <!--Optional:-->
236 <CountryAccessCode>?</CountryAccessCode>
237 <!--CountryAccessCode — код страны-->
238 <!--Optional:-->
239 <AreaCityCode>?</AreaCityCode>
240 <!--AreaCityCode — код региона/города-->
241 </Telephone>
242 </ContactInfo>
243 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
244 <!--DocType — тип документа, возможные значения:
245 Р — Паспорт
246 A – Паспорт иностранца
247 С — Внутренний гражданский паспорт
248 F – Документ заменяющий паспорт
249 М — Воинское удостоверение
250 N – Сертификат натурализации(специфичный документ США)
251 T – Док.повторного въезда, паспорт беженца
252 V – Документ для пересечения границы-->
253 <!--DocNum — номер документа-->
254 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
255 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
256 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
257 <!--Num — номер визы-->
258 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
259 <!--IssueCountry — страна выдачи визы-->
260 <!--IssuePlace — место выдачи визы-->
261 <!--BirthCountry — страна рождения(IATA код страны)-->
262 <!--BirthCity — город рождения(название)-->
263 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
264 <!--City — город-->
265 <!--State — штат или область въезда-->
266 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
267 <!--PostalCode — почтовый код-->
268 <!--CountryCode — код страны-->
269 <DocStringFormats>
270 <!--Zero or more repetitions:-->
271 <DocStringFormat>?</DocStringFormat>
272 <!--DocStringFormat — формат паспортной строки, возможные значения:
273 DOCS — строка формата DOCS, FOID — строка формата FOID-->
274 </DocStringFormats>
275 </Traveller>
276 </Travellers>
277 <AutoCancelDate>?</AutoCancelDate>
278 <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
279 </BookFlight>
280 <Requisites/>
281 <RequestType xsi:nil="true"/>
282 <UserID xsi:nil="true"/>
283 <Error Code="?">Сообщение об ошибке</Error>
284 </Response>
285 </ResponseBin>
286 </ns1:BookFlightResponse>
287 </SOAP-ENV:Body>
288 </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 <Travellers>
10 <!--Zero or more repetitions:-->
11 <Traveller Type="ADT" IsContact="true" Num="1">
12 <PersonalInfo DateOfBirth="20.05.1980" Nationality="RU" Gender="M">
13 <FirstName>Petr</FirstName>
14 <LastName>Ivanov</LastName>
15 </PersonalInfo>
16 <ContactInfo>
17 <!--Optional:-->
18 <EmailID>testmail@mail.ru</EmailID>
19 <!--Optional:-->
20 <Telephone Type="M">
21 <!--Optional:-->
22 <PhoneNumber>79051234567</PhoneNumber>
23 </Telephone>
24 </ContactInfo>
25 <DocumentInfo DocType="A" DocNum="123456" CountryCode="RU" DocElapsedTime="01.01.2020"/>
26 </Traveller>
27 </Travellers>
28 </BookFlight>
29 </Request>
30 <Source>
31 <ClientId>---</ClientId>
32 <APIKey>---</APIKey>
33 <Language>RU</Language>
34 <Currency>RUB</Currency>
35 </Source>
36 </RequestBin>
37 </ver:BookFlight>
38 </soapenv:Body>
39 </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 <Tariff Code="EBSRT" SegNum="1">
69 <FareFamilies>
70 <FullName>Бюджет-Эконом</FullName>
71 </FareFamilies>
72 </Tariff>
73 <Tariff Code="EBSRT" SegNum="2">
74 <FareFamilies>
75 <FullName>Бюджет-Эконом</FullName>
76 </FareFamilies>
77 </Tariff>
78 </Tariffs>
79 <FareCalc>MOW SU X/BCN SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
80 <LastTicketDateTime>2014-03-14T12:45:00</LastTicketDateTime>
81 </PassengerFare>
82 </PricingInfo>
83 <Charges Currency="RUB">140.25</Charges>
84 <TotalPrice Currency="RUB">14165.25</TotalPrice>
85 </Flight>
86 <Agency/>
87 <ItinReceipts xsi:nil="true"/>
88 <FareStored xsi:nil="true"/>
89 <Travellers>
90 <Traveller Type="ADT" IsContact="true" Num="1">
91 <Meal/>
92 <Ticket/>
93 <Seats/>
94 <PersonalInfo DateOfBirth="20.05.1980" Nationality="RU" Gender="M">
95 <FirstName>PETR</FirstName>
96 <LastName>IVANOV</LastName>
97 <MiddleName/>
98 </PersonalInfo>
99 <LoyaltyCard/>
100 <ContactInfo>
101 <EmailID>TESTMAIL@MAIL.ru</EmailID>
102 <Telephone Type="M">
103 <PhoneNumber>79051234567</PhoneNumber>
104 <CountryAccessCode/>
105 <AreaCityCode/>
106 </Telephone>
107 </ContactInfo>
108 <DocumentInfo DocType="A" DocNum="123456" CountryCode="RU" DocElapsedTime="01.01.2020"/>
109 <VisaInfo/>
110 <ArrAddress/>
111 <PreferedPlace/>
112 <DocStringFormats/>
113 </Traveller>
114 </Travellers>
115 </BookFlight>
116 <Requisites/>
117 <RequestType xsi:nil="true"/>
118 <UserID xsi:nil="true"/>
119 <Errors xsi:nil="true"/>
120 </Response>
121 </ResponseBin>
122 </ns1:BookFlightResponse>
123 </SOAP-ENV:Body>
124 </SOAP-ENV:Envelope>
Ответ с ошибкой
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://release.mlsd.ru/nemoflights/?version%3D1.0%26for%3DBookFlight">
2 <SOAP-ENV:Body>
3 <ns1:BookFlightResponse>
4 <ResponseBin>
5 <Error Code="E001936">Invalid Flight ID</Error>
6 </ResponseBin>
7 </ns1:BookFlightResponse>
8 </SOAP-ENV:Body>
9 </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 <Error Code="?">Сообщение об ошибке</Error>
15 </Response>
16 </ResponseBin>
17 </ns1:CancelBookResponse>
18 </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>