Открыть главное меню

Веб-служба бронирования

Содержание

Подключение

Получить доступ к результатам бронирования в данном сервисе можно через 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                   <DeviceId> <!--необязательный-->
180                      <Type>?</Type>
181                      <!--Type — Тип мобильного устройства (apple/android)-->
182                      <Token>?</Token>
183                      <!--Token — Токен мобильного устройства-->
184                   </DeviceId>
185                 </BookFlight>
186             </Request>
187             <Source>
188                <ClientId>?</ClientId>
189                <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе 
190                 "Администрирование" ? "Веб-служба. Авторизация".-->
191                <APIKey>?</APIKey>
192                <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе 
193                 "Администрирование" ? "Веб-служба. Авторизация".-->
194                <Language>?</Language>
195                <!--Language — язык-->
196                <Currency>?</Currency>
197                <!-- CUrrency — валюта-->
198             </Source>
199          </RequestBin>
200       </ver:BookFlight>
201    </soapenv:Body>
202 </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                            <BaggageAllowances>
 69                            <!--BaggageAllowances — информация о багаже-->
 70                               <BaggageAllowance>
 71                                  <PassengerType>?</PassengerType>
 72                                  <!--PassengerType — тип пассажира, возможные значения: ADT — взрослые, CNN — дети, 
 73                                  INF — младенцы, INS — младенцы с местом-->
 74                                  <Value>?</Value>
 75                                  <!--Value — количество-->
 76                                  <Measurement>?</Measurement>
 77                                  <!--Measurement — мера измерения, может принимать значения: K — килограмм, PC — багажное место, PNDS — фунт-->
 78                               </BaggageAllowance>
 79                            </BaggageAllowances>
 80                         </Segment>
 81                      </Segments>
 82                      <PricingInfo Refundable="?">
 83                      <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
 84                         <PassengerFare Type="?" Quantity="?">
 85                         <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети, 
 86                          INF — младенцы, INS — младенцы с местом-->
 87 		        <!--Quantity — количество пассажиров данного типа-->
 88                            <BaseFare Currency="?" Amount="?"/>
 89                            <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
 90                            <EquiveFare Currency="?" Amount="?"/>
 91                            <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи). 
 92                             Currency — код валюты, Amount — значение цены-->
 93                            <TotalFare Currency="?" Amount="?"/>
 94                            <!--TotalFare — суммарная стоимость, в эквивалентной валюте. 
 95                             Currency — код валюты, Amount — значение цены-->
 96                            <Taxes>
 97                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
 98                               <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
 99                            </Taxes>
100                            <Tariffs>
101                               <Tariff Code="?" SegNum="?"/>
102                               <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
103                            </Tariffs>
104                            <FareCalc>?</FareCalc>
105                            <!--FareCalc — строка расчёта цены-->
106                            <LastTicketDateTime>?</LastTicketDateTime>
107                            <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
108                         </PassengerFare>
109                      </PricingInfo>
110                      <Commission/>
111                      <Charges Currency="?">?</Charges>
112                      <!--Charges — сборы, Currency — код валюты-->
113                      <TotalPrice Currency="?">?</TotalPrice>
114                      <!--TotalPrice — итоговая цена, Currency — код валюты-->
115                   </Flight>
116                   <Agency Name="?"> 
117                   <!--Name — название агентства-->
118                      <Telephone Type="?">
119                      <!--Type — тип номера, обязательный, возможные значения: 
120                       M — мобильный, H — домашний, B — рабочий, A — агенство-->
121                         <!--Optional:-->
122                         <PhoneNumber>?</PhoneNumber>
123                         <!--PhoneNumber — номер телефона-->
124                         <!--Optional:-->
125                         <CountryAccessCode>?</CountryAccessCode> 
126                         <!--CountryAccessCode — код страны-->
127                         <!--Optional:-->
128                         <AreaCityCode>?</AreaCityCode> 
129                         <!--AreaCityCode — код региона/города-->
130                      </Telephone>
131                      <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> 
132                      <!--City — город-->
133 		     <!--State — штат-->
134 		     <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
135 		     <!--PostalCode — почтовый индекс-->
136 		     <!--CountryCode — код страны (RU, UA и т.п.)-->
137 		  </Agency>
138                   <ItinReceipts Encoding="?" Format="?">
139                   <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
140                   <FareStored xsi:nil="true"/>
141                   <Travellers>
142                      <!--Zero or more repetitions:-->
143                      <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
144                      <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
145                       CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
146 		     <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
147 		      контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них 
148                       может быть контактным лицом, по умолчанию false-->
149 		     <!--Num — порядковый номер пассажира, начинается с 1-->
150                      <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок--> 
151                      <!--TravellerId — устаревший параметр, не используется--> 
152                         <Meal>?</Meal> 
153                         <!--Meal — код типа питания, возможные значения:
154 						NONE — отсутствует
155 						AVML — Азиатская вегетарианская кухня
156 						BLML — Блюда щадящей диеты
157 						CHML — Детское питание
158 						CHPC — Детский холодный завтрак
159 						СНСС — Детский горячий завтрак
160  						CHHC — Детский ланч, ветчина и сыр
161 						PBJS — Детский ланч, ореховое масло
162 						CHMC — Детский обед макароны с сыром
163 						DBML — Диабетическое питание
164 						FPML — Фрукты
165 						GFML — Питание без клейковины
166 						HFML — Питание богатое клетчаткой
167 						HNML — Индусская кухня
168  						BBML — Питание для младенцев
169 						KSML — Кошерная кухня
170 						SMKB — Кошерный завтрак
171 						SMKL — Кошерный ланч
172 						SMKD — Кошерный обед
173  						LPML — Малобелковое питание
174 						LCML — Низкокалорийное питание
175 						LFML — Низкохолестериновое питание
176 						PRML — Низкопуриновое питание
177 						LSML — Малосоленое питание
178 						MOML — Мюсли
179 						NLML — Безмолочные продукты
180  						ORML — Восточная кухня
181 						RVML — Сырые овощи
182 						SFML — Морепродукты
183 						SPML — Особое питание
184 						VLML — Вегетарианское, молоко и яйца
185 						VGML — Строго вегетарианское питание
186 						VJML — Джайнизское вегетарианское
187  						VOML — Восточное вегетарианское питание-->
188                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
189                         <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
190 			<!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
191 			<!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
192                            <FirstName>?</FirstName>
193                            <!--FirstName — имя пассажира-->
194                            <LastName>?</LastName>
195                            <!--LastName — фамилия пассажира-->
196                            <!--Optional:-->
197                            <MiddleName>?</MiddleName> 
198                            <!--MiddleName — отчество пассажира-->
199                         </PersonalInfo>
200                         <LoyaltyCard OpCode="?" Number="?"/> 
201                         <!--OpCode — код авиакомпании-->
202 			<!--Number — номер карточки-->
203                         <ContactInfo> 
204                            <!--Optional:-->
205                            <EmailID>?</EmailID>
206                            <!--EmailID — контактный email-->
207                            <!--Optional:-->
208                            <Telephone Type="?">
209                            <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
210                               <!--Optional:-->
211                               <PhoneNumber>?</PhoneNumber>
212                               <!--PhoneNumber — номер телефона-->
213                               <!--Optional:-->
214                               <CountryAccessCode>?</CountryAccessCode>
215                               <!--CountryAccessCode — код страны-->
216                               <!--Optional:-->
217                               <AreaCityCode>?</AreaCityCode>
218                               <!--AreaCityCode — код региона/города-->
219                            </Telephone>
220                         </ContactInfo>
221                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
222                         <!--DocType — тип документа, возможные значения:
223 								Р — Паспорт
224 								A – Паспорт иностранца
225 								С — Внутренний гражданский паспорт
226 								F – Документ заменяющий паспорт
227 								М — Воинское удостоверение
228 								N – Сертификат натурализации(специфичный документ США)
229 								T – Док.повторного въезда, паспорт беженца
230   								V – Документ для пересечения границы-->
231 			<!--DocNum — номер документа-->
232 			<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
233 			<!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
234                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> 
235                         <!--Num — номер визы-->
236                         <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
237                         <!--IssueCountry — страна выдачи визы-->
238                         <!--IssuePlace — место выдачи визы-->
239                         <!--BirthCountry — страна рождения(IATA код страны)-->
240                         <!--BirthCity — город рождения(название)-->
241                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> 
242                         <!--City — город-->
243 			<!--State — штат или область въезда-->
244 			<!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
245 			<!--PostalCode — почтовый код-->
246 			<!--CountryCode — код страны-->
247                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> 
248                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
249 			<!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
250 			<!--Location — положение места в ряде, возможные значения:
251 							W — у окна (Window)
252 							M — где-то в середине ряда (Middle)
253 							NPW — возле прохода (NearPassengerWay)
254 							NS — нет предпочтения (NotSpecified)-->
255 			<!--RowNumber — номер ряда-->
256 			<!--PlaceNumber — номер места-->
257 			<!--SegNumber — номер сегмента-->
258                         <DocStringFormats>
259                            <!--Zero or more repetitions:-->
260                            <DocStringFormat>?</DocStringFormat>
261                            <!--DocStringFormat — формат паспортной строки, возможные значения: 
262                             DOCS — строка формата DOCS, FOID — строка формата FOID-->
263                         </DocStringFormats>
264                      </Traveller>
265                   </Travellers>
266                </BookFlight>
267                <Requisites/>
268                <RequestType xsi:nil="true"/>
269                <UserID xsi:nil="true"/>
270                <Errors>
271                   <Error Code="?">
272                   <!--Code — код ошибки в системе Nemo-->
273                      <ServiceErrorMessage>?</ServiceErrorMessage>
274                      <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
275                      <Message>?</Message>
276                      <!--Message — сообщение об ошибке от системы Nemo-->
277                   </Error>
278                </Errors>
279             </Response>
280          </ResponseBin>
281       </ns1:BookFlightResponse>
282    </SOAP-ENV:Body>
283 </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>

См. также

'