ПОДПИСЫВАЙТЕСЬ НА НАШ ТЕЛЕГРАМ-КАНАЛ @nemo_travel_official

Веб-служба бронирования: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Запрос)
 
(не показано 29 промежуточных версий 8 участников)
Строка 1: Строка 1:
 +
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 +
 
== Подключение ==
 
== Подключение ==
  
Строка 18: Строка 20:
 
                   <FlightId>?</FlightId>
 
                   <FlightId>?</FlightId>
 
                   <!--FlightId — Id перелёта в системе Nemo-->
 
                   <!--FlightId — Id перелёта в системе Nemo-->
 +
                  <!--Optional:-->
 +
                  <BookId>?</BookId>
 +
                  <!--BookId — Id заказа в системе Nemo, полученный в ответе на запрос EmptyBook-->
 
                   <!--Optional:-->
 
                   <!--Optional:-->
 
                   <CurrencyCode>?</CurrencyCode> <!--необязательный-->
 
                   <CurrencyCode>?</CurrencyCode> <!--необязательный-->
Строка 54: Строка 59:
 
    <!--Num — порядковый номер пассажира, начинается с 1-->
 
    <!--Num — порядковый номер пассажира, начинается с 1-->
 
                     <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)--> <!--необязательный-->
 
                     <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)--> <!--необязательный-->
                     <!--TravellerId — устаревший параметр, не используется-->
+
                     <!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
 
                         <Meal>?</Meal> <!--необязательный-->
 
                         <Meal>?</Meal> <!--необязательный-->
 
                         <!--Meal — код типа питания, возможные значения:
 
                         <!--Meal — код типа питания, возможные значения:
Строка 123: Строка 128:
 
                           </Telephone>
 
                           </Telephone>
 
                         </ContactInfo>
 
                         </ContactInfo>
                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
+
                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--необязательный-->
 
                         <!--DocType — тип документа, возможные значения:
 
                         <!--DocType — тип документа, возможные значения:
Р — Паспорт
+
P — Паспорт
 
A – Паспорт иностранца
 
A – Паспорт иностранца
С — Внутренний гражданский паспорт
+
C — Внутренний гражданский паспорт
 
F – Документ заменяющий паспорт
 
F – Документ заменяющий паспорт
М — Воинское удостоверение
+
M — Воинское удостоверение
 
N – Сертификат натурализации(специфичный документ США)
 
N – Сертификат натурализации(специфичный документ США)
 
T – Док.повторного въезда, паспорт беженца
 
T – Док.повторного въезда, паспорт беженца
 
V – Документ для пересечения границы
 
V – Документ для пересечения границы
                                                                F – Свидетельство о рождении (для ГРС Сирена Трэвел, для  
+
                                                                F – Свидетельство о рождении (только для ГРС Сирена Трэвел, для  
                                                                 других гдс рекомендуется использовать тип документа P)-->
+
                                                                 других ГРС рекомендуется использовать тип документа P)-->
 
<!--DocNum — номер документа-->
 
<!--DocNum — номер документа-->
 
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
 
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
Строка 152: Строка 157:
 
<!--PostalCode — почтовый код-->
 
<!--PostalCode — почтовый код-->
 
<!--CountryCode — код страны-->
 
<!--CountryCode — код страны-->
                        <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
+
                      </Traveller>
                        <!--необязательный-->
 
                        <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
 
<!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
 
<!--Location — положение места в ряде, возможные значения:
 
W — у окна (Window)
 
M — где-то в середине ряда (Middle)
 
NPW — возле прохода (NearPassengerWay)
 
NS — нет предпочтения (NotSpecified)-->
 
<!--RowNumber — номер ряда-->
 
<!--PlaceNumber — номер места-->
 
<!--SegNumber — номер сегмента-->
 
                    </Traveller>
 
 
                   </Travellers>
 
                   </Travellers>
 
                   <!--Optional:-->
 
                   <!--Optional:-->
Строка 173: Строка 166:
 
                     <!--Token — Токен мобильного устройства-->
 
                     <!--Token — Токен мобильного устройства-->
 
                   </DeviceId>
 
                   </DeviceId>
 +
                  <Marker>?</Marker>
 +
                  <!--Marker — Маркер пользователя-->
 
                 </BookFlight>
 
                 </BookFlight>
 
             </Request>
 
             </Request>
Строка 224: Строка 219:
 
                   <QueryPlace xsi:nil="true"/>
 
                   <QueryPlace xsi:nil="true"/>
 
                   <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
 
                   <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
 +
                  <IsPossibleToTicket>?</IsPossibleToTicket>
 +
                  <!--IsPossibleToTicket — возможность провести выписку ПНРа, boolean-->
 
                   <Flight FlightId="?">
 
                   <Flight FlightId="?">
 
                   <!--FlightId — Id перелёта в системе Nemo-->
 
                   <!--FlightId — Id перелёта в системе Nemo-->
Строка 236: Строка 233:
 
                         <!--SegNum — номер сегмента в перелёте-->
 
                         <!--SegNum — номер сегмента в перелёте-->
 
        <!--SegGroupNum – номер плеча перелёта-->
 
        <!--SegGroupNum – номер плеча перелёта-->
 +
                          <SupplierCode>?</SupplierCode>
 +
                          <!--SupplierCode – номер заказа в системе АК-->
 
                           <DepAirp CodeType="IATA">?</DepAirp>
 
                           <DepAirp CodeType="IATA">?</DepAirp>
 
                           <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва  
 
                           <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва  
Строка 261: Строка 260:
 
                           <StopNum>?</StopNum>
 
                           <StopNum>?</StopNum>
 
                           <!--StopNum — количество остановок-->
 
                           <!--StopNum — количество остановок-->
 +
                          <StopPoints>
 +
                          <!--StopPoints — информация о технических остановках, если они есть-->
 +
                              <StopPoint>
 +
                                <AirportCode>?</AirportCode>
 +
                                <!--AirportCode — код аэропорта остановки, трех символьный iata код-->
 +
                                <UTC>?</UTC>
 +
                                <!--UTC — сдвиг часового пояса аэропорта-->
 +
                                <ArrDateTime>?</ArrDateTime>
 +
                                <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                                <DepDateTime>?</DepDateTime>
 +
                                <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                              </StopPoint>
 +
                          </StopPoints>
 
                           <BookingCodes>
 
                           <BookingCodes>
 
                               <BookingCode ClassType="?">
 
                               <BookingCode ClassType="?">
Строка 276: Строка 288:
 
                           <ETicket>?</ETicket>
 
                           <ETicket>?</ETicket>
 
                           <!--ETicket — признак электронного билета, значения: true / false-->
 
                           <!--ETicket — признак электронного билета, значения: true / false-->
 +
                          <isCharter>?</isCharter>
 +
                          <!--isCharter — признак чартерного перелета, значения: true / false-->
 
                           <BaggageAllowances>
 
                           <BaggageAllowances>
 
                           <!--BaggageAllowances — информация о багаже-->
 
                           <!--BaggageAllowances — информация о багаже-->
 
                               <BaggageAllowance>
 
                               <BaggageAllowance>
 
                                 <PassengerType>?</PassengerType>
 
                                 <PassengerType>?</PassengerType>
                                 <!--PassengerType — тип пассажира, соответстует типу пассижира в PricingInfo -->
+
                                 <!--PassengerType — тип пассажира, соответствует типу тарифа в PricingInfo -->
 
                                 <Value>?</Value>
 
                                 <Value>?</Value>
 
                                 <!--Value — количество-->
 
                                 <!--Value — количество-->
Строка 292: Строка 306:
 
                     <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
 
                     <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
 
                         <PassengerFare Type="?" Quantity="?">
 
                         <PassengerFare Type="?" Quantity="?">
                         <!--Type — тип пассажира, возможные значения: ADT — взрослые, CLD — дети,
+
                         <!--Type — тип тарифа-->
                        INF — младенцы, INS — младенцы с местом-->
 
 
        <!--Quantity — количество пассажиров данного типа-->
 
        <!--Quantity — количество пассажиров данного типа-->
 +
                          <TravellerRef>
 +
                          <!--TravellerRef — Ссылка на пассажиров, к которым относится данный тариф-->
 +
                              <Ref>?</Ref>
 +
                              <!--Ref — Номера пассажиров, к которым относится данный тариф-->
 +
                          </TravellerRef>
 
                           <BaseFare Currency="?" Amount="?"/>
 
                           <BaseFare Currency="?" Amount="?"/>
 
                           <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
 
                           <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
Строка 310: Строка 328:
 
                               <Tariff Code="?" SegNum="?"/>
 
                               <Tariff Code="?" SegNum="?"/>
 
                               <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
 
                               <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
 +
                                <FareFamilies>
 +
                                  <FullName>?</FullName>
 +
                                  <!--FullName — название тарифа-->
 +
                                </FareFamilies>
 
                           </Tariffs>
 
                           </Tariffs>
 
                           <FareCalc>?</FareCalc>
 
                           <FareCalc>?</FareCalc>
 
                           <!--FareCalc — строка расчёта цены-->
 
                           <!--FareCalc — строка расчёта цены-->
 
                           <LastTicketDateTime>?</LastTicketDateTime>
 
                           <LastTicketDateTime>?</LastTicketDateTime>
                           <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
+
                           <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС. Если включена настройка "Применение временной зоны - Для расчетов таймлимитов в агентском API", дата и время таймлимита будут переведены во временную зону пользователя. При отключенной настройке по умолчанию дата и время будут в Московском часовом поясе.-->
 
                         </PassengerFare>
 
                         </PassengerFare>
 
                     </PricingInfo>
 
                     </PricingInfo>
Строка 357: Строка 379:
 
    <!--Num — порядковый номер пассажира, начинается с 1-->
 
    <!--Num — порядковый номер пассажира, начинается с 1-->
 
                     <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->  
 
                     <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->  
                    <!--TravellerId — устаревший параметр, не используется-->  
+
                    <!--TravellerId — актуализированный номер пассажира, который возвращается в ответе на запрос бронирования и в дальнейшем ссылки на пассажиров даются на основании этого параметра-->
 
                         <Meal>?</Meal>  
 
                         <Meal>?</Meal>  
 
                         <!--Meal — код типа питания, возможные значения:
 
                         <!--Meal — код типа питания, возможные значения:
Строка 452: Строка 474:
 
<!--PostalCode — почтовый код-->
 
<!--PostalCode — почтовый код-->
 
<!--CountryCode — код страны-->
 
<!--CountryCode — код страны-->
                        <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
 
                        <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
 
<!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
 
<!--Location — положение места в ряде, возможные значения:
 
W — у окна (Window)
 
M — где-то в середине ряда (Middle)
 
NPW — возле прохода (NearPassengerWay)
 
NS — нет предпочтения (NotSpecified)-->
 
<!--RowNumber — номер ряда-->
 
<!--PlaceNumber — номер места-->
 
<!--SegNumber — номер сегмента-->
 
 
                         <DocStringFormats>
 
                         <DocStringFormats>
 
                           <!--Zero or more repetitions:-->
 
                           <!--Zero or more repetitions:-->
Строка 471: Строка 482:
 
                     </Traveller>
 
                     </Traveller>
 
                   </Travellers>
 
                   </Travellers>
 +
                  <AutoCancelDate>?</AutoCancelDate>
 +
                  <!--AutoCancelDate — дата и время таймлимита автоаннуляции в формате ГГГГ-MM-ДДTЧЧ:ММ:СС определяемые по настройкам агентства-->
 +
                  <TimeLimits>
 +
                    <TicketingTimeLimit>?</TicketingTimeLimit>
 +
                    <!--TicketingTimeLimit — Таймлимит на выписку в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <PriceTimeLimit>?</PriceTimeLimit>
 +
                    <!--PriceTimeLimit — Таймлимит цены из ГРС в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AdvancedPurchaseTimeLimit>?</AdvancedPurchaseTimeLimit>
 +
                    <!--AdvancedPurchaseTimeLimit — Таймлимит цены из тарифных правил в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                    <AgencyTimeLimit>?</AgencyTimeLimit>
 +
                    <!--AgencyTimeLimit - Таймлимит по настройкам в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 +
                  </TimeLimits>
 
               </BookFlight>
 
               </BookFlight>
 
               <Requisites/>
 
               <Requisites/>
Строка 607: Строка 630:
 
                               <Tax CurCode="RUB" TaxCode="QV" Amount="230"/>
 
                               <Tax CurCode="RUB" TaxCode="QV" Amount="230"/>
 
                           </Taxes>
 
                           </Taxes>
                           <Tariffs/>
+
                           <Tariffs>
 +
                            <Tariff Code="EBSRT" SegNum="1">
 +
                              <FareFamilies>
 +
                                <FullName>Бюджет-Эконом</FullName>
 +
                              </FareFamilies>
 +
                            </Tariff>
 +
                            <Tariff Code="EBSRT" SegNum="2">
 +
                              <FareFamilies>
 +
                                <FullName>Бюджет-Эконом</FullName>
 +
                              </FareFamilies>
 +
                            </Tariff>
 +
                          </Tariffs>
 
                           <FareCalc>MOW SU X/BCN SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
 
                           <FareCalc>MOW SU X/BCN SU MAD225.45NUC225.45END ROE0.731857</FareCalc>
 
                           <LastTicketDateTime>2014-03-14T12:45:00</LastTicketDateTime>
 
                           <LastTicketDateTime>2014-03-14T12:45:00</LastTicketDateTime>
Строка 644: Строка 678:
 
                     </Traveller>
 
                     </Traveller>
 
                   </Travellers>
 
                   </Travellers>
 +
                  <AutoCancelDate>2014-03-14T09:45:00</AutoCancelDate>
 +
                  <TimeLimits>
 +
                    <TicketingTimeLimit>2014-03-14T12:45:00</TicketingTimeLimit>
 +
                    <PriceTimeLimit>2014-03-14T10:45:00</PriceTimeLimit>
 +
                    <AdvancedPurchaseTimeLimit>2014-03-14T12:40:00</AdvancedPurchaseTimeLimit>
 +
                    <AgencyTimeLimit>2014-03-14T09:45:00</AgencyTimeLimit>
 +
                  </TimeLimits>
 
               </BookFlight>
 
               </BookFlight>
 
               <Requisites/>
 
               <Requisites/>
Строка 678: Строка 719:
 
== Общий формат запроса / ответа отмены бронирования ==
 
== Общий формат запроса / ответа отмены бронирования ==
  
После бронирования, если не истек таймлимит можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической — по истечению таймлимита, установленного для заказа система сама аннулирует заказ.
+
После бронирования, если не истек таймлимит, можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической — по истечению таймлимита, установленного для заказа, система сама аннулирует заказ.
  
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=CancelBook
 
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=CancelBook
Строка 744: Строка 785:
 
== См. также ==
 
== См. также ==
  
*[[Агентский АПИ]]
+
*[[Агентский API Авиабилеты]]
 
*[[Бронирование]]
 
*[[Бронирование]]
  
 
[[Категория:Интеграция]]
 
[[Категория:Интеграция]]
 +
[[Категория:Агентский API]]

Текущая версия на 18:44, 6 мая 2019

Внимание! В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по ссылке

Подключение

Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр — «FlightId» — Id перелёта, для которого будет производится бронирование. WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=BookFlight

Общий формат запроса / ответа бронирования

развернуть

Запрос

развернуть

Ответ

Пример использования

Пример одностороннего перелета Москва — Мадрид.

развернуть

Запрос

развернуть

Ответ

развернуть

Ответ с ошибкой

Общий формат запроса / ответа отмены бронирования

После бронирования, если не истек таймлимит, можно аннулировать сделанный заказ. Аннуляция заказа в Nemo может быть ручной (сделанной пользователем) и автоматической — по истечению таймлимита, установленного для заказа, система сама аннулирует заказ.

WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=CancelBook

развернуть

Запрос

развернуть

Ответ

См. также