Master-Interlook:HotelService

Материал из Megatec
Версия от 14:14, 26 ноября 2021; Aefremov (обсуждение | вклад) (SearchBookings (Получение списка забронированных заявок))
Перейти к: навигация, поиск

Версия статьи от 26-11-2021.

Поддерживаемые версии «»:
Начиная с


Введение

Сервис InterlookHotelService работает с методами REST API. Для вызова методов REST API можно использовать SoapUi.

Предупреждение


Для доступа к сервису у онлайн пользователя должен быть установлен признак Hotel/Service в настройке Person connection и в настройках Role активирован параметр Show hotel reservations by date.


Методы HotelService

Методы аутентификации

Connect (Получение аутентификационного токена)

Принимаемые параметры запроса ( * – обязательный):

  • Login * – логин online пользователя
  • Password * – пароль online пользователя

Возвращаемый результат:

  • ConnectResult – идентификатор аутентификации (если аутентификация прошла успешно. то получаем идентификатор, в противном случае результат -1)
Пример

Вызов метода Connect

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:Connect>
         <!--Optional:-->
         <tem:login>mk1</tem:login>
         <!--Optional:-->
         <tem:password>123</tem:password>
      </tem:Connect>
   </soapenv:Body>
</soapenv:Envelope>

Возвращаемый результат метода Connect

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ConnectResponse xmlns="http://tempuri.org/">
         <ConnectResult>123c02db-3d47-4db5-861b-758be524a5fe</ConnectResult>
      </ConnectResponse>
   </soap:Body>
</soap:Envelope>


CheckConnect (Проверка активности подключения под конкретным идентификатором)

Метод проверяет наличие активного подключения под конкретным идентификатором аутентификации.
Принимаемые параметры запроса ( * – обязательный):

  • Guid * – идентификатор аутентификации (возвращается при запросе к методу Connect)

Возвращаемый результат:

  • CheckConnectResult – идентификатор аутентификации (true – если подключение активно, false – если подключения нет)
Пример

Вызов метода CheckConnect

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
   <soap:Header/>
   <soap:Body>
      <tem:CheckConnect>
         <!--Optional:-->
         <tem:guid>123c02db-3d47-4db5-861b-758be524a5fe</tem:guid>
      </tem:CheckConnect>
   </soap:Body>
</soap:Envelope>

Возвращаемый результат метода CheckConnect

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <CheckConnectResponse xmlns="http://tempuri.org/">
         <CheckConnectResult>true</CheckConnectResult>
      </CheckConnectResponse>
   </soap:Body>
</soap:Envelope>


Методы поиска

SearchBookings (Получение списка забронированных заявок)

Метод предназначен для поиска забронированных заявок. Отбираются те заявки, у которых партнер предоставления услуги совпадает с партнером для логина, под которым осуществляется поиск.
Принимаемые параметры запроса ( * – обязательный):

  • Guid * – идентификатор аутентификации (возвращается при запросе к методу Connect)
  • hotelID – массив данных с ключами отелей. Можно передавать как один так и несколько ключей отелей. Если не передаём данный параметр, то в ответ получаем все заказы, подходящие под выбранные даты.
  • dateInfo * – по какой дате осуществлять поиск (1 - дата создания заявки, 2 - дата заезда в отель, 3 - дата выезда из отеля)
  • dateFrom * – дата начала
  • dateTo * – дата окончания
  • checkInFrom – дата заезда от
  • checkInTo – дата заезда по
  • New – возвращает новые бронирования с датой, попадающей в указанное выше условие
  • change – возвращает измененные бронирования с изменениями, внесенными в выбранный период
  • cancel – возвращает информацию об отмененных бронированиях за выбранный период

Возвращаемый результат:

    • BookingInfo – массив данных брони
      • Booking – номер брони в системе Interlook
      • BookingID – ключ заявки из базы данных
      • Action – новая, отмененная или измененная заявка
      • CreationDate – дата создания услуги в заявке
      • ChangeDate – не используется
      • CancelDate – не используется
      • CustomerMarket – данные туроператора, оформившего заявку
        • CustomerMarketId – ключ туроператора, оформившего заявку
        • CustomerMarketName – имя туроператора, оформившего заявку
      • HotelServices – массив данных по сервисам отелей
        • HotelServiceInfo – информация по сервису отеля
          • HotelServiceId – ключ сервиса отеля
          • HotelServiceName – имя сервиса отеля
          • Hotel – массив данных по отелям
            • HotelId – ключ отеля
            • HotelName – имя отеля
          • Pansion – тип питания
            • PansionId – ключ питания
            • PansionName – имя питания
          • RoomType – тип номера
            • RoomTypeId – ключ типа номера
            • RoomTypeName – имя типа номера
          • RoomAccomodation – тип размещения
            • AccommodationId – ключ типа размещения
            • AccommodationName – имя типа размещения
          • RoomCategory – категория номер
            • RoomCategoryId – ключ категории номера
            • RoomCategoryName – имя категории номера
          • Status – статус по услуге проживания
            • StatusId – ключ статуса по услуге проживания
            • StatusName – имя статуса по услуге проживания
          • HotelConfirmationNumber – номер заказа у поставщика
          • CheckIn – дата заезда в отель
          • CheckOut – дата выезда из отеля
          • Tourists – массив данных туристов
            • TouristInfo – массив данных по туристу
              • Name – имя туриста
              • BirthDate – дата рождения туриста
              • Sex – пол туриста
              • HotelServiceId – ключ услуги проживания с которой связан турист
      • MessageInfo – массив данных сообщений
        • Id – идентификатор сообщения
        • IsOutgoing – исходящее (true - исходящее, false - входящее)
        • DateCreate – дата создания сообщения
        • IsRead – прочитано (true - прочитано, false - не прочитано )
        • Text – текст сообщения
Пример

Вызов метода SearchBookings

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:SearchBookings>
         <!--Optional:-->
         <tem:guid>69ad76b6-3551-403d-934e-18d8358a60e2</tem:guid>
         <!--Optional:-->
         <tem:hotelID>
            <!--Zero or more repetitions:-->
            <tem:int>2942</tem:int>
         </tem:hotelID>
         <tem:dateInfo>1</tem:dateInfo>
         <tem:dateFrom>2021-11-26</tem:dateFrom>
         <tem:dateTo>2021-12-26</tem:dateTo>
         <tem:checkInFrom>2021-11-24</tem:checkInFrom>
         <tem:checkInTo>2021-12-28</tem:checkInTo>
         <tem:New>true</tem:New>
         <tem:change>true</tem:change>
         <tem:cancel>true</tem:cancel>
      </tem:SearchBookings>
   </soapenv:Body>
</soapenv:Envelope>

Возвращаемый результат метода SearchBookings

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <SearchBookingsResponse xmlns="http://tempuri.org/">
         <SearchBookingsResult>
            <BookingInfo>
               <Booking>MT111127A02</Booking>
               <BookingID>36440</BookingID>
               <Action>New</Action>
               <CreationDate>2021-11-26T15:11:20.68</CreationDate>
               <ChangeDate xsi:nil="true"/>
               <CancelDate xsi:nil="true"/>
               <CustomerMarket>
                  <CustomerMarketId>2</CustomerMarketId>
                  <CustomerMarketName>Russian Market</CustomerMarketName>
               </CustomerMarket>
               <HotelServices>
                  <HotelServiceInfo>
                     <HotelServiceId>165447</HotelServiceId>
                     <HotelServiceName>HTL::Kiev/Green/Double Room/2Ad/Inner View/HB</HotelServiceName>
                     <Hotel>
                        <HotelId>2942</HotelId>
                        <HotelName>Green</HotelName>
                     </Hotel>
                     <Pansion>
                        <PansionId>4</PansionId>
                        <PansionName>Half Board</PansionName>
                     </Pansion>
                     <RoomType>
                        <RoomTypeId>3</RoomTypeId>
                        <RoomTypeName>Double Room</RoomTypeName>
                     </RoomType>
                     <RoomAccomodation>
                        <AccommodationId>8082</AccommodationId>
                        <AccommodationName>2Ad</AccommodationName>
                     </RoomAccomodation>
                     <RoomCategory>
                        <RoomCategoryId>19</RoomCategoryId>
                        <RoomCategoryName>Inner View</RoomCategoryName>
                     </RoomCategory>
                     <Status>
                        <StatusId>2</StatusId>
                        <StatusName>Confirmed</StatusName>
                     </Status>
                     <CheckIn>2021-11-27T00:00:00</CheckIn>
                     <CheckOut>2021-12-10T00:00:00</CheckOut>
                     <Tourists>
                        <TouristInfo>
                           <Name/>
                           <BirthDate xsi:nil="true"/>
                           <Sex/>
                           <HotelServiceId>165447</HotelServiceId>
                        </TouristInfo>
                        <TouristInfo>
                           <Name/>
                           <BirthDate xsi:nil="true"/>
                           <Sex/>
                           <HotelServiceId>165447</HotelServiceId>
                        </TouristInfo>
                     </Tourists>
                  </HotelServiceInfo>
               </HotelServices>
               <Messages/>
            </BookingInfo>
         </SearchBookingsResult>
      </SearchBookingsResponse>
   </soap:Body>
</soap:Envelope>


SearchBookingsJSON (Получение списка забронированных заявок в формате JSON)

Метод предназначен для поиска забронированных заявок. Отбираются те заявки, у которых партнер предоставления услуги совпадает с партнером для логина, под которым осуществляется поиск.
Принимаемые параметры запроса ( * – обязательный):

  • Guid * – идентификатор аутентификации (возвращается при запросе к методу Connect)
  • hotelID – массив данных с ключами отелей. Можно передавать как один так и несколько ключей отелей. Если не передаём данный параметр, то в ответ получаем все заказы, подходящие под выбранные даты.
  • dateInfo * – по какой дате осуществлять поиск (1 - дата создания заявки, 2 - дата заезда в отель, 3 - дата выезда из отеля)
  • dateFrom * – дата начала
  • dateTo * – дата окончания
  • checkInFrom – дата заезда от
  • checkInTo – дата заезда по
  • New – возвращает новые бронирования с датой, попадающей в указанное выше условие
  • change – возвращает измененные бронирования с изменениями, внесенными в выбранный период
  • cancel – возвращает информацию об отмененных бронированиях за выбранный период

Возвращаемый результат:

  • Booking – номер брони в системе Interlook
  • BookingID – ключ заявки из базы данных
  • Action – новая, отмененная или измененная заявка
  • CreationDate – дата создания услуги в заявке
  • ChangeDate – не используется
  • CancelDate – не используется
  • CustomerMarket – данные туроператора, оформившего заявку
    • CustomerMarketId – ключ туроператора, оформившего заявку
    • CustomerMarketName – имя туроператора, оформившего заявку
  • HotelServices – массив данных по сервисам отелей
    • CheckIn – дата заезда в отель
    • CheckOut – дата выезда из отеля
    • Tourists – массив данных туристов
        • Name – имя туриста
        • BirthDate – дата рождения туриста
        • Sex – пол туриста
        • HotelServiceId – ключ услуги проживания с которой связан турист
    • Notes – не указывается
      • HotelServiceId – ключ сервиса отеля
      • HotelServiceName – имя сервиса отеля
      • Hotel – массив данных по отелям
        • HotelId – ключ отеля
        • HotelName – имя отеля
      • Pansion – тип питания
        • PansionId – ключ питания
        • PansionName – имя питания
      • RoomType – тип номера
        • RoomTypeId – ключ типа номера
        • RoomTypeName – имя типа номера
      • RoomAccomodation – тип размещения
        • AccommodationId – ключ типа размещения
        • AccommodationName – имя типа размещения
      • RoomCategory – категория номер
        • RoomCategoryId – ключ категории номера
        • RoomCategoryName – имя категории номера
      • Status – статус по услуге проживания
        • StatusId – ключ статуса по услуге проживания
        • StatusName – имя статуса по услуге проживания
      • HotelConfirmationNumber – номер заказа у поставщика
  • Messages – массив данных сообщений
    • Id – идентификатор сообщения
    • IsOutgoing – исходящее (true - исходящее, false - входящее)
    • DateCreate – дата создания сообщения
    • SenderName - не указывается
    • IsRead – прочитано (true - прочитано, false - не прочитано )
    • Text – текст сообщения
Пример

Вызов метода SearchBookings

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:SearchBookingsJSON>
         <!--Optional:-->
         <tem:guid>bbadd56d-5f81-421e-ab8c-0c7380074447</tem:guid>
         <!--Optional:-->
         <tem:hotelID>
            <!--Zero or more repetitions:-->
            <tem:int>2935</tem:int>
         </tem:hotelID>
         <tem:dateInfo>1</tem:dateInfo>
         <tem:dateFrom>2021-01-01</tem:dateFrom>
         <tem:dateTo>2021-12-01</tem:dateTo>
         <tem:New>true</tem:New>
         <tem:change>true</tem:change>
         <tem:cancel>true</tem:cancel>
      </tem:SearchBookingsJSON>
   </soapenv:Body>
</soapenv:Envelope>

Возвращаемый результат метода SearchBookings

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <SearchBookingsJSONResponse xmlns="http://tempuri.org/">
         <SearchBookingsJSONResult>[{"Booking":"MT110711A01","BookingID":35897,"Action":"New",
"CreationDate":"2021-07-06T17:29:50.28","ChangeDate":null,"CancelDate":null,"CustomerMarket":{"CustomerMarketId":2,"CustomerMarketName":"Russian Market"},"HotelServices":[{"CheckIn":
"2021-07-11T00:00:00","CheckOut":"2021-07-20T00:00:00","Tourists":[{"Name":"PatnadzProc Gen",
"BirthDate":"1966-02-27T00:00:00","Sex":"MR","HotelServiceId":163806},{"Name":"Gus Ek","BirthDate":"1969-10-04T00:00:00","Sex":"MRS","HotelServiceId":163806}],"Notes":null,"HotelServiceId":163806,
"HotelServiceName":"HTL::Kiev/Hilton/Double Room/2AD/Jakuzzi/BB","Hotel":{"HotelId":2935,
"HotelName":"Hilton"},"Pansion":{"PansionId":3,"PansionName":"Bed and Breakfast"},
"RoomType":{"RoomTypeId":3,"RoomTypeName":"Double Room"},"RoomAccomodation":{"AccommodationId":5558,"AccommodationName":"2AD"},"RoomCategory":{"RoomCategoryId":20,
"RoomCategoryName":"Jakuzzi"},"Status":{"StatusId":1,"StatusName":"Wait"},
"HotelConfirmationNumber":"88888888i"}],"Mesaages":[{"Id":779217,"IsOutgoing":
false,"DateCreate":"2021-11-15T22:21:34.393","SenderName":null,"IsRead":false,"Text":
"HTL::Kiev/Hilton/Double Room/2AD/Jakuzzi/BB:\r\nяварааааааааарвя"},{"Id":779232,
"IsOutgoing":false,"DateCreate":"2021-11-16T12:48:06.59","SenderName":null,
"IsRead":false,"Text":"HTL::Kiev/Hilton/Double Room/2AD/Jakuzzi/BB:\r\nяварааааааааарвя"},{"Id":779233,"IsOutgoing":false,"DateCreate":"2021-11-16T14:57:55.877","SenderName":null,"IsRead":false,"Text":"HTL::Kiev/Hilton/Double 
Room/2AD/Jakuzzi/BB:\r\nяварааааааааарвя"},{"Id":779234,"IsOutgoing":false,"DateCreate":"2021-11-16T18:32:44.433","SenderName":null,"IsRead":false,"Text":"HTL::Kiev/Hilton/Double 
Room/2AD/Jakuzzi/BB:\r\nяварааааааааарвя"},{"Id":779236,"IsOutgoing":false,"DateCreate":"2021-11-16T18:37:15.673","SenderName":null,"IsRead":false,"Text":"HTL::Kiev/Hilton/Double 
Room/2AD/Jakuzzi/BB:\r\nяварааааааааарвя"}]},{"Booking":"MT110909A01","BookingID":
35953,"Action":"Changed","CreationDate":"2021-07-30T17:05:22.027","ChangeDate":null,
"CancelDate":null,"CustomerMarket":{"CustomerMarketId":2,"CustomerMarketName":
"Russian Market"},"HotelServices":[{"CheckIn":"2021-08-08T00:00:00","CheckOut":
"2021-08-11T00:00:00","Tourists":[{"Name":"reyery etw","BirthDate":null,"Sex":
"MR","HotelServiceId":163965},{"Name":"eryer reyery","BirthDate":null,"Sex":"MR",
"HotelServiceId":163965}],"Notes":null,
"HotelServiceId":163965,"HotelServiceName":"HTL::Kiev/Hilton/Double Room/2AD/
Jakuzzi/BB","Hotel":{"HotelId":2935,"HotelName":"Hilton"},"Pansion":{"PansionId":3,
"PansionName":"Bed and Breakfast"},"RoomType":{"RoomTypeId":3,"RoomTypeName":
"Double Room"},"RoomAccomodation":{"AccommodationId":5558,"AccommodationName":"2AD"},"RoomCategory":{"RoomCategoryId":20,"RoomCategoryName":"Jakuzzi"},"Status":{"StatusId":2,"StatusName":"Confirmed"},"HotelConfirmationNumber":null}],"Mesaages":[]},{"Booking":"RED10928A01","BookingID":36244,"Action":"Changed","CreationDate":"2021-09-28T16:39:37.987","ChangeDate":null,"CancelDate":null,"CustomerMarket":{"CustomerMarketId":0,"CustomerMarketName":"&lt;All>"},"HotelServices":[{"CheckIn":
"2021-09-28T00:00:00","CheckOut":"2021-10-12T00:00:00","Tourists":[{"Name":"еге кене","BirthDate":null,"Sex":"MR","HotelServiceId":164778},{"Name":"егег егег","BirthDate":null,"Sex":"MR","HotelServiceId":164778}],"Notes":null,"HotelServiceId":
164778,"HotelServiceName":"HTL::Kiev/Hilton/Double Room/2AD/Inner View/BB","Hotel":
{"HotelId":2935,"HotelName":"Hilton"},"Pansion":{"PansionId":3,"PansionName":
"Bed and Breakfast"},"RoomType":{"RoomTypeId":3,"RoomTypeName":"Double Room"},"RoomAccomodation":{"AccommodationId":5558,"AccommodationName":"2AD"},"RoomCategory":{"RoomCategoryId":19,
"RoomCategoryName":"Inner View"},"Status":{"StatusId":1,"StatusName":"Wait"},
"HotelConfirmationNumber":"RETER8546"}],"Mesaages":[]}]</SearchBookingsJSONResult>
      </SearchBookingsJSONResponse>
   </soap:Body>
</soap:Envelope>


Методы передачи изменений по услугам

ManageBooking (Передача изменений по услуге проживания в Interlook)

Принимаемые параметры запроса ( * – обязательный):

  • ManageBooking>
    • guid * – идентификатор аутентификации (возвращается при запросе к методу Connect)
    • hotelServiceId * – ключ услуги проживания (возвращается при запросе к методу SearchBookings)
    • status – фильтр для отбора услуг с определенным статусом (1 - Wait, 2 - Confirmed, 3 - notConfirmed)
    • hotelConfirmationNumber – номер брони от провайдера
    • message – сообщение для пользователя Interlook

Возвращаемый результат:

  • ManageBookingResult – массив данных
  • HotelServiceId – ключ сервиса отеля
  • HotelServiceName – имя сервиса отеля
    • Hotel – массив данных по отелям
      • HotelId – ключ отеля
      • HotelName – имя отеля
    • Pansion – тип питания
      • PansionId – ключ питания
      • PansionName – имя питания
    • RoomType – тип номера
      • RoomTypeId – ключ типа номера
      • RoomTypeName – имя типа номера
    • RoomAccomodation – тип размещения
      • AccommodationId – ключ типа размещения
      • AccommodationName – имя типа размещения
    • RoomCategory – категория номер
      • RoomCategoryId – ключ категории номера
      • RoomCategoryName – имя категории номера
    • Status – статус по услуге проживания
      • StatusId – ключ статуса по услуге проживания
      • StatusName – имя статуса по услуге проживания
    • HotelConfirmationNumber – номер заказа у поставщика
Пример

Вызов метода ManageBooking

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:ManageBooking>
         <!--Optional:-->
         <tem:guid>f0ba2139-558e-4c42-baf5-66c532bf15ee</tem:guid>
         <tem:hotelServiceId>163806</tem:hotelServiceId>

         <!--Optional:-->
         <tem:hotelConfirmationNumber>88888888i</tem:hotelConfirmationNumber>
         <!--Optional:-->
         <tem:message>яварааааааааарвя</tem:message>
      </tem:ManageBooking>
   </soapenv:Body>
</soapenv:Envelope>

Возвращаемый результат метода ManageBooking

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <ManageBookingResponse xmlns="http://tempuri.org/">
         <ManageBookingResult Message="Ok">
            <Data>
               <ManageBookingResult>
                  <HotelServiceId>163806</HotelServiceId>
                  <HotelServiceName>HTL::Kiev/Hilton/Double Room/2AD/Jakuzzi/BB</HotelServiceName>
                  <Hotel>
                     <HotelId>2935</HotelId>
                     <HotelName>Hilton</HotelName>
                  </Hotel>
                  <Pansion>
                     <PansionId>3</PansionId>
                     <PansionName>Bed and Breakfast</PansionName>
                  </Pansion>
                  <RoomType>
                     <RoomTypeId>3</RoomTypeId>
                     <RoomTypeName>Double Room</RoomTypeName>
                  </RoomType>
                  <RoomAccomodation>
                     <AccommodationId>5558</AccommodationId>
                     <AccommodationName>2AD</AccommodationName>
                  </RoomAccomodation>
                  <RoomCategory>
                     <RoomCategoryId>20</RoomCategoryId>
                     <RoomCategoryName>Jakuzzi</RoomCategoryName>
                  </RoomCategory>
                  <Status>
                     <StatusId>1</StatusId>
                     <StatusName>Wait</StatusName>
                  </Status>
                  <HotelConfirmationNumber>88888888i</HotelConfirmationNumber>
               </ManageBookingResult>
            </Data>
         </ManageBookingResult>
      </ManageBookingResponse>
   </soap:Body>
</soap:Envelope>