Master-Interlook:IntegrationService

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 13-08-2021.

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


Введение

API InterlookIntegrationService работает по SOAP протоколу. Для вызова методов API можно использовать SoapUi.

Методы IntegrationService

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

Метод производит получение аутентификационного токена, необходимого для выполнения метода CreateReservation.

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

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

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

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

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

POST /IntegrationServiceCP/IntegrationService.asmx HTTP/1.1
Host: supp-08.megatec.ru
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.megatec.ru/Connect"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <Connect xmlns="http://www.megatec.ru/">
      <login>sm1</login>
      <password>123</password>
    </Connect>
  </soap:Body>
</soap:Envelope>

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

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ConnectResponse xmlns="http://www.megatec.ru/">
      <ConnectResult>30b033a8-0d5b-4a2c-bcf0-2c671e4c6169</ConnectResult>
    </ConnectResponse>
  </soap:Body>
</soap:Envelope>


CreateReservation (бронирование путевки)

Метод производит бронирование путевки.
Принимаемые параметры запроса:

  • Guid – идентификатор аутентификации (возвращается при запросе к методу Connect)
  • HasInvoices – выставлен ли счет по путевке (true – выставлен, false – не выставлен)
    • true – счет выставлен
    • false – счет не выставлен
  • Rate – валюта путевки:
    • ID – идентификатор валюты
    • Name – название валюты
    • Code – код валюты
    • Unicode – код ISO для валюты
    • IsMain – является ли валюта главной (true – является, false – не является)
    • IsNational – является ли валюта национальной (true – является, false – не является)
  • ID – идентификатор путевки (если указано -1 – создается новая путевка, если ID путевки из базы данных – перебронирование указанной)
  • Netto – нетто цена путевки
  • Brutto – брутто цена путевки
  • CountryID – идентификатор страны путевки
  • CityID – идентификатор города путевки
  • PartnerID – идентификатор покупателя путевки
  • AgentDiscount – скидка агента
  • Status – статус путевки (Confirmed = 0, NotConfirmed = 1, WaitingConfirmation = 2, Canceled = 3, WaitingCancelation = 4)
  • StartDate – дата начала тура (в формате ГГГГ-ММ-ДДT00:00:00)
  • EndDate – дата окончания тура (в формате ГГГГ-ММ-ДДT00:00:00)
  • Duration – продолжительность
  • CreateDate – дата создания путевки (в формате ГГГГ-ММ-ДДT00:00:00)
  • CreatorID – идентификатор создателя путевки
  • OwnerID – идентификатор создателя путевки
  • ExternalID – идентификатор путевки из системы создающей бронь
  • AdditionalParams – дополнительные параметры (представляются в виде пары ключ – значение)
  • Services - услуги по путевке (определенного типа, в зависимости от типа услуги)
  • Tourists – массив туристов по услуге
    • Tourist – турист
      • Name – имя
      • Sex – пол (ключ = значения: Male = 0, Female = 1, Child = 2, Infant = 3)
      • BirthDate – дата рождения туриста (в формате ГГГГ-ММ-ДДT00:00:00)
      • FirstNameLat – имя туриста латиницей
      • LastNameLat – фамилия туриста латиницей
      • SurNameLat – отчество туриста латиницей
      • AgeType – тип возраста (Adult = 0, Child = 1, Infant = 2)
      • Citizen – гражданство
      • IsMain – устанавливает признак главного туриста по путевке (Null, 0 – нет, 1 – турист главный)
      • ExternalID – идентификатор путевки из системы создающей бронь
      • ID – идентификатор туриста (-1 для новой путевки )
      • Phone – телефон туриста (задается по шаблону)
      • Email – адрес электронной почты туриста
      • LocalPassport – гражданский паспорт
      • ForeignPassport – иностранный паспорт
  • TouristServices – массив услуг, используемых туристами
    • TouristService – отдельная услуга, используемая туристом
      • ID – идентификатор услуги используемой туристом
      • TouristID – идентификатор туриста (-1 для новой путевки)
      • ServiceID – идентификатор услуги (-1 для новой путевки)
  • Services – массив услуг по путевке (определенного типа, в зависимости от типа услуги, например: ExcursionService, ExtraService, HotelService, TransferService)
  • Service – общие параметры, имеющиеся у всех услуг по путевке
    • ExternalID – идентификатор путевки из системы создающей бронь
    • Price – цена брутто
    • NMen – количество взрослых туристов
    • PartnerID – идентификатор поставщика услуги(можно передать 0 – тогда он подберется автоматически расчетчиком)
    • Quota – услуга на квоте (ключ = значение: None = 0, Yes = 1, No = 2, AFew = 3, Request = 4, NoFlight = 5, OnlyAgent = 6, All = 7, NotChecked = 10)
    • PacketKey – идентификатор пакета услуги
    • Name – наименование услуги (пример для услуги отель: HTL::Delphi/Acropol Hotel/Double Room/2AD/100 m2/BB)
    • StartDate – дата предоставления услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • EndDate – дата окончания услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • StartDay – день предоставления услуги
    • Duration – продолжительность услуги
    • RateBrutto – валюта брутто
    • Brutto – цена брутто
    • RateNetto – валюта нетто
    • Netto – цена нетто
    • ServiceClassID – идентификатор класса услуги
    • TouristCount – количество туристов, пользующихся услугой
    • ID – идентификатор услуги (-1 для новой путевки )
    • Notes – примечания к услуге
    • Country – код страны
    • City – код города
  • Tourists – массив туристов по услуге
    • Tourist – турист, массив данных о туристе
    • Name – имя туриста
    • Sex – пол (ключ = значения: Male = 0, Female = 1, Child = 2, Infant = 3)
    • BirthDate – дата рождения туриста (в формате ГГГГ-ММ-ДДT00:00:00)
    • FirstNameLat – имя туриста латиницей
    • LastNameLat – фамилия туриста латиницей
    • SurNameLat – отчество туриста латиницей
    • AgeType – тип возраста (ключ = значение: Adult = 0, Child = 1, Infant = 2)
    • Citizen – гражданство
    • IsMain – устанавливает признак главного туриста по путевке (Null, 0 – нет, 1 – турист главный)
    • ExternalID – идентификатор путевки из системы, создающей бронь
    • ID – идентификатор туриста (-1 для новой путевки)
    • Phone – телефон туриста (задается по шаблону)
    • Email – адрес электронной почты туриста
    • LocalPassport – гражданский паспорт
    • ForeignPassport – иностранный паспорт
  • AdditionalParams – массив дополнительных параметров (представляются в виде пары ключ = значение)
Пример
<AdditionalParams>   массив дополнительных параметров
       <ParameterPair Key="ContractPrKey"> - первая пара параметров, ключ ContractPrKey  ключ сервис-провайдера
             <Value xsi:type="xsd:int">1035</Value>  значение
       </ParameterPair>
       <ParameterPair Key="CityID"> - вторая пара параметров, ключ CityID  ключ города
              <Value xsi:type="xsd:int">52</Value>  значение
        </ParameterPair>
        <ParameterPair Key="isSuccess"> третья пара параметров, Ключ  isSucсess
               <Value xsi:type="xsd:boolean">true</Value> - значение
        </ParameterPair>
</AdditionalParams>


  • ExcursionService - дополнительные параметры для услуги типа Экскурсия
    • Excursion – услуга экскурсии
      • CityID – идентификатор города
      • RegionID – идентификатор региона
      • Name – название экскурсии
    • Transport – тип транспорта
    • ExcursionID – идентификатор экскурсии
    • StarDate – дата предоставления экскурсии (в формате ГГГГ-ММ-ДДT00:00:00)
    • Duration – продолжительность
    • SeviceClassID – идентификатор класса услуги
  • ExtraService - дополнительные параметры для услуги типа Экстра сервис
    • CityKey – ключ города предоставления услуги
    • Code – идентификатор услуги
    • HasDuration – с продолжительностью или без услуга
    • ServiceClassID – идентификатор класса услуги
    • StartDate – дата начала предоставления услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • IsPackage – признак пакетной услуги
  • HotelService - дополнительные параметры для услуги типа Отель
    • Hotel – отель
      • ID – идентификатор отеля
      • Name – наименование отеля
      • Description – описание отеля
      • City – город
        • ID – идентификатор города
        • CountryID – идентификатор страны
        • RegionID – идентификатор региона
      • RegionID – идентификатор региона
      • PriceType – наличие цен (PerPerson = 0, PerRoom = 1, All = 2, None= 1000)
      • CountCosts – количество цен
      • CityID – идентификатор города
      • HotelCategoryID – идентификатор категории отеля
    • Room – комната
    • RoomType – тип комнаты
      • Places – количество мест в номере
      • ExPlaces – дополнительные места в номере
      • PrintOrder – порядковый номер для печати в отчетах
    • RoomTypeID – идентификатор типа комнаты
    • RoomCategoryID – идентификатор категории комнат
    • RoomAccomodation – размещение
      • PerRoom – за комнату/за человека
      • AdultMainPlaces – основных мест для взрослых
      • ChildMainPlaces – основных мест для детей
      • AdultExtraPlaces – дополнительных мест для взрослых
      • ChildExtraPlaces – дополнительных мест для детей
      • MainPlaces – общее количество основных мест
      • ExtraPlaces – общее количество дополнительных мест
      • AgeFrom – возраст первого ребенка от
      • AgeTo – возраст первого ребенка по
      • Age2From – возраст второго ребенка от
      • Age2To – возраст второго ребенка по
      • RoomAccomodationID – идентификатор типа размещения
      • ID – идентификатор комнаты
      • Name – наименование типа размещения
    • RoomID – идентификатор комнаты
    • PansionID – идентификатор типа питания
  • TransferService - дополнительные параметры для услуги типа Трансфер
    • ID – ключ трансфера из таблицы TransferDirecion, получаем методом GetTransfers
    • PlaceFrom – название точки Откуда
    • PlaceTo – название точки Куда
Пример

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

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header/>
   <soap:Body>
      <CreateReservation xmlns="http://www.megatec.ru/">
         <guid>2b019943-7a1d-4f8f-b10b-0875af685972</guid>
         <reserv HasInvoices="false">
            <Rate>
               <Name>EU</Name>
               <Code>EU</Code>
               <ID>1</ID>
               <IsMain>false</IsMain>
               <IsNational>false</IsNational>
            </Rate>
            <ID>-1</ID>
            <Netto>0</Netto>
            <Brutto>0</Brutto>
            <CountryID>4</CountryID>
            <CityID>52</CityID>
            <PartnerID>0</PartnerID>
            <AgentDiscount>0</AgentDiscount>
            <Status>WaitingConfirmation</Status>
            <StartDate>2021-06-15T00:00:00</StartDate>
            <EndDate>2021-06-21T00:00:00</EndDate>
            <Duration>6</Duration>
            <CreationDate>2021-06-30T15:50:57.44</CreationDate>
            <CreatorID>0</CreatorID>
            <OwnerID>0</OwnerID>
            <ExternalID>0</ExternalID>
            <AdditionalParams>
               <ParameterPair Key="PcnId">
                  <Value xsi:type="xsd:int">116</Value>
               </ParameterPair>
            </AdditionalParams>
             <Tourists>
                <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-09-10T00:00:00" FirstNameLat="Fabian" LastNameLat="" SurNameLat="Ruis" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0" ID="-1" Phone="+78888888888" Email="fabian@yandex.ru">
                   <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                   <ForeignPassport IssuedBy="" Serie="3333" Number="333333" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                </Tourist>
                <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-02-11T00:00:00" FirstNameLat="Alberto" LastNameLat="" SurNameLat="Morena" AgeType="Adult" Citizen="" IsMain="false" ExternalID="0" ID="-1" Phone="+79999999999" Email="a.morena@yandex.ru">
                   <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                   <ForeignPassport IssuedBy="" Serie="1330" Number="167812" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                </Tourist>
             </Tourists>
             <TouristServices>
               <TouristService>
                  <ID>0</ID>
                  <TouristID>-1</TouristID>
                  <ServiceID>-1</ServiceID>
               </TouristService>
               <TouristService>
                  <ID>0</ID>
                  <Name></Name>
                  <TouristID>-1</TouristID>
                  <ServiceID>-2</ServiceID>
               </TouristService>
            </TouristServices>
            <Services>
               <Service xsi:type="HotelService">
                  <ExternalID>0</ExternalID>
                  <Price>0</Price>
                  <NMen>2</NMen>
                  <PartnerID>0</PartnerID>
                  <Quota>NotChecked</Quota>
                  <PacketKey>0</PacketKey>
                   <Name>HTL::Delphi/Acropol Hotel/Double Room/2AD/100 m2/BB</Name>
                  <StartDate>2021-06-15T00:00:00</StartDate>
                  <StartDay>0</StartDay>
                  <Duration>6</Duration>
                  <RateBrutto>EU</RateBrutto>
                  <Brutto>0</Brutto>
                  <RateNetto>EU</RateNetto>
                  <Netto>0</Netto>
                  <ServiceClassID>0</ServiceClassID>
                  <TouristCount>2</TouristCount>
                  <ID>-1</ID>
             <Tourists>
                <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-09-10T00:00:00" FirstNameLat="Fabian" LastNameLat="" SurNameLat="Ruis" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0" ID="-1" Phone="+78888888888" Email="fabian@yandex.ru">
                   <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                   <ForeignPassport IssuedBy="" Serie="3333" Number="333333" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                </Tourist>
                <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-02-11T00:00:00" FirstNameLat="Alberto" LastNameLat="" SurNameLat="Morena" AgeType="Adult" Citizen="" IsMain="false" ExternalID="0" ID="-1" Phone="+79999999999" Email="a.morena@yandex.ru">
                   <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                   <ForeignPassport IssuedBy="" Serie="1330" Number="167812" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                </Tourist>
             </Tourists>
                 <AdditionalParams>
                     <ParameterPair Key="ContractPrKey">
                         <Value xsi:type="xsd:int">1035</Value>
                     </ParameterPair>
                     <ParameterPair Key="CityID">
                        <Value xsi:type="xsd:int">52</Value>
                     </ParameterPair>
                     <ParameterPair Key="isSuccess">
                        <Value xsi:type="xsd:boolean">true</Value>
                     </ParameterPair>
                  </AdditionalParams>
                 <Hotel>
                      <Name>Acropol Hotel (Delphi) 3 stars (B)</Name>
                       <ID>1978</ID>
                      <Description>3 stars (B)  (Greece\Delphi\Delphi)</Description>
                      <City>
                        	<ID>52</ID>
                        	<CountryID>4</CountryID>
                        	<RegionID>0</RegionID>
                     </City>
                     <RegionID>0</RegionID>
                     <PriceType>None</PriceType>
                     <CountCosts>0</CountCosts>
                     <CityID>52</CityID>
                     <HotelCategoryID>0</HotelCategoryID>
               </Hotel>
               <Room>
                     <RoomTypeID>436</RoomTypeID>
                     <RoomCategoryID>47</RoomCategoryID>
                     <RoomAccomodationID>5558</RoomAccomodationID>
                     <ID>0</ID>
                  </Room>
                  <RoomID>0</RoomID>
                  <PansionID>3</PansionID>
               </Service>
            </Services>
         </reserv>
      </CreateReservation>
   </soap:Body>
</soap:Envelope>

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

<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>
      <CreateReservationResponse xmlns="http://www.megatec.ru/">
         <CreateReservationResult HasInvoices="false">
            <agentDiscount>0</agentDiscount>
            <Rate>
               <Name>EU</Name>
               <ID>1</ID>
               <Description/>
               <NameLat/>
               <Code>EU</Code>
               <CodeLat/>
               <Unicode/>
               <IsMain>false</IsMain>
               <IsNational>false</IsNational>
            </Rate>
            <TouristServices>
               <TouristService>
                  <ID>0</ID>
                  <Name/>
                  <TouristID>-1</TouristID>
                  <ServiceID>-1</ServiceID>
               </TouristService>
               <TouristService>
                  <ID>0</ID>
                  <Name/>
                  <TouristID>-1</TouristID>
                  <ServiceID>-2</ServiceID>
               </TouristService>
            </TouristServices>
            <Services>
               <Service xsi:type="HotelService">
                  <ExternalID>163759</ExternalID>
                  <Price>0</Price>
                  <NMen>2</NMen>
                  <PartnerID>0</PartnerID>
                  <Quota>NotChecked</Quota>
                  <PacketKey>0</PacketKey>
                  <AdditionalParams>
                     <ParameterPair Key="ContractPrKey">
                        <Value xsi:type="xsd:int">1035</Value>
                     </ParameterPair>
                     <ParameterPair Key="CityID">
                        <Value xsi:type="xsd:int">52</Value>
                     </ParameterPair>
                     <ParameterPair Key="isSuccess">
                        <Value xsi:type="xsd:boolean">true</Value>
                     </ParameterPair>
                  </AdditionalParams>
                  <Tourists>
                     <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-09-10T00:00:00" FirstNameLat="Fabian" LastNameLat="" SurNameLat="Ruis" AgeType="Adult" Citizen="" IsMain="true" ExternalID="85396" ID="-1" Phone="+78888888888" Email="fabian@yandex.ru">
                        <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                        <ForeignPassport IssuedBy="" Serie="3333" Number="333333" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                     </Tourist>
                     <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-02-11T00:00:00" FirstNameLat="Alberto" LastNameLat="" SurNameLat="Morena" AgeType="Adult" Citizen="" IsMain="false" ExternalID="85397" ID="-1" Phone="+79999999999" Email="a.morena@yandex.ru">
                        <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                        <ForeignPassport IssuedBy="" Serie="1330" Number="167812" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                     </Tourist>
                  </Tourists>
                  <DetailNetto/>
                  <DetailBrutto/>
                  <Notes/>
                  <Name>HTL::Delphi/Acropol Hotel/Double Room/2AD/100 m2/BB</Name>
                  <StartDate>2021-06-15T00:00:00</StartDate>
                  <StartDay>0</StartDay>
                  <Duration>6</Duration>
                  <RateBrutto>EU</RateBrutto>
                  <Brutto>0</Brutto>
                  <RateNetto>EU</RateNetto>
                  <Netto>0</Netto>
                  <ServiceClassID>0</ServiceClassID>
                  <TouristCount>2</TouristCount>
                  <ID>-1</ID>
                  <Hotel>
                     <Name>Acropol Hotel (Delphi) 3 stars (B)</Name>
                     <ID>1978</ID>
                     <Description>3 stars (B)  (Greece\Delphi\Delphi)</Description>
                     <NameLat/>
                     <Code/>
                     <CodeLat/>
                     <Unicode/>
                     <City>
                        <Name/>
                        <ID>52</ID>
                        <Description/>
                        <NameLat/>
                        <Code/>
                        <CodeLat/>
                        <Unicode/>
                        <CountryID>4</CountryID>
                        <RegionID>0</RegionID>
                     </City>
                     <RegionID>0</RegionID>
                     <PriceType>None</PriceType>
                     <CountCosts>0</CountCosts>
                     <CityID>52</CityID>
                     <HotelCategoryID>0</HotelCategoryID>
                  </Hotel>
                  <Room>
                     <RoomTypeID>436</RoomTypeID>
                     <RoomCategoryID>47</RoomCategoryID>
                     <RoomAccomodationID>5558</RoomAccomodationID>
                     <ID>0</ID>
                     <Name/>
                  </Room>
                  <RoomID>0</RoomID>
                  <PansionID>3</PansionID>
               </Service>
            </Services>
            <ID>-1</ID>
            <Name>MT110615A0J</Name>
            <Netto>0</Netto>
            <Brutto>0</Brutto>
            <CountryID>4</CountryID>
            <CityID>52</CityID>
            <PartnerID>0</PartnerID>
            <AgentDiscount>0</AgentDiscount>
            <Status>WaitingConfirmation</Status>
            <StartDate>2021-06-15T00:00:00</StartDate>
            <EndDate>2021-06-21T00:00:00</EndDate>
            <Duration>6</Duration>
            <CreationDate>2021-06-30T15:50:57.44</CreationDate>
            <CreatorID>0</CreatorID>
            <Tourists>
               <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-09-10T00:00:00" FirstNameLat="Fabian" LastNameLat="" SurNameLat="Ruis" AgeType="Adult" Citizen="" IsMain="true" ExternalID="85396" ID="-1" Phone="+78888888888" Email="fabian@yandex.ru">
                  <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                  <ForeignPassport IssuedBy="" Serie="3333" Number="333333" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
               </Tourist>
               <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-02-11T00:00:00" FirstNameLat="Alberto" LastNameLat="" SurNameLat="Morena" AgeType="Adult" Citizen="" IsMain="false" ExternalID="85397" ID="-1" Phone="+79999999999" Email="a.morena@yandex.ru">
                  <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2021-06-01T00:00:00+03:00"/>
                  <ForeignPassport IssuedBy="" Serie="1330" Number="167812" IssueDate="2021-06-01T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
               </Tourist>
            </Tourists>
            <OwnerID>0</OwnerID>
            <TourOperatorID>0</TourOperatorID>
            <TourOperatorCode/>
            <ExternalID>35872</ExternalID>
            <AdditionalParams>
               <ParameterPair Key="PcnId">
                  <Value xsi:type="xsd:int">116</Value>
               </ParameterPair>
               <ParameterPair Key="IsIntegrationServiceReservation">
                  <Value xsi:type="xsd:boolean">true</Value>
               </ParameterPair>
               <ParameterPair Key="ReservationCost">
                  <Value xsi:type="xsd:double">600</Value>
               </ParameterPair>
            </AdditionalParams>
         </CreateReservationResult>
      </CreateReservationResponse>
   </soap:Body>
</soap:Envelope>


Get reservation (получение путевки по ключу)

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

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

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

  • HasInvoices – выставлен ли счет по путевке (true – выставлен, false – не выставлен)
    • true – счет выставлен
    • false – счет не выставлен
  • Rate – валюта путевки:
    • ID – идентификатор валюты
    • Name – название валюты
    • Description – описание валюты
    • Code – код валюты
    • CodeLat - код валюты лат.
    • Unicode – код ISO для валюты
    • IsMain – является ли валюта главной (true – является, false – не является)
    • IsNational – является ли валюта национальной (true – является, false – не является)
  • TouristServices – массив услуг, используемых туристами
    • TouristService – отдельная услуга, используемая туристом
      • ID – идентификатор услуги используемой туристом
      • Name – наименование услуги используемой туристом
      • TouristID – идентификатор туриста (-1 для новой путевки)
      • ServiceID – идентификатор услуги (-1 для новой путевки)
  • Services – массив услуг по путевке (определенного типа, в зависимости от типа услуги, например: ExcursionService, ExtraService, HotelService, TransferService)
  • Service – общие параметры, имеющиеся у всех услуг по путевке
    • Type – тип услуги
    • ExternalID – идентификатор путевки из системы создающей бронь
    • Price – цена брутто
    • NMen – количество взрослых туристов
  • Partner – параметры партнера по услуге
    • Name – наименование партнера
    • ID – идентификатор партнера
    • Description – описание партнера
    • NameLat - наименование партнера на англ. языке
    • Code - код партнера
    • CodeLat - код партнера лат.
    • Unicode – код ISO партнера
    • PartnersGroupID - идентификатор группы партнера
    • FullName - полное наименование партнера
    • Fax – номер факса
    • Address – адрес расположения партнера
    • ZIP – почтовый код
    • PartnerID – идентификатор поставщика услуги(можно передать 0 – тогда он подберется автоматически расчетчиком)
    • Quota – услуга на квоте (ключ = значение: None = 0, Yes = 1, No = 2, AFew = 3, Request = 4, NoFlight = 5, OnlyAgent = 6, All = 7, NotChecked = 10)
    • PacketKey – идентификатор пакета услуги
    • Name – наименование услуги (пример для услуги отель: HTL::Delphi/Acropol Hotel/Double Room/2AD/100 m2/BB)
    • StartDate – дата предоставления услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • EndDate – дата окончания услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • StartDay – день предоставления услуги
    • Duration – продолжительность услуги
    • RateBrutto – валюта брутто
    • Brutto – цена брутто
    • RateNetto – валюта нетто
    • Netto – цена нетто
    • ServiceClassID – идентификатор класса услуги
    • TouristCount – количество туристов, пользующихся услугой
    • ID – идентификатор услуги (-1 для новой путевки )
    • Notes – примечания к услуге
    • Country – код страны
    • City – код города



  • ID – идентификатор путевки (если указано -1 – создается новая путевка, если ID путевки из базы данных – перебронирование указанной)
  • Netto – нетто цена путевки
  • Brutto – брутто цена путевки
  • CountryID – идентификатор страны путевки
  • CityID – идентификатор города путевки
  • PartnerID – идентификатор покупателя путевки
  • AgentDiscount – скидка агента
  • Status – статус путевки (Confirmed = 0, NotConfirmed = 1, WaitingConfirmation = 2, Canceled = 3, WaitingCancelation = 4)
  • StartDate – дата начала тура (в формате ГГГГ-ММ-ДДT00:00:00)
  • EndDate – дата окончания тура (в формате ГГГГ-ММ-ДДT00:00:00)
  • Duration – продолжительность
  • CreateDate – дата создания путевки (в формате ГГГГ-ММ-ДДT00:00:00)
  • CreatorID – идентификатор создателя путевки
  • OwnerID – идентификатор создателя путевки
  • ExternalID – идентификатор путевки из системы создающей бронь
  • AdditionalParams – дополнительные параметры (представляются в виде пары ключ – значение)
  • Services - услуги по путевке (определенного типа, в зависимости от типа услуги)
  • Tourists – массив туристов по услуге
    • Tourist – турист
      • Name – имя
      • Sex – пол (ключ = значения: Male = 0, Female = 1, Child = 2, Infant = 3)
      • BirthDate – дата рождения туриста (в формате ГГГГ-ММ-ДДT00:00:00)
      • FirstNameLat – имя туриста латиницей
      • LastNameLat – фамилия туриста латиницей
      • SurNameLat – отчество туриста латиницей
      • AgeType – тип возраста (Adult = 0, Child = 1, Infant = 2)
      • Citizen – гражданство
      • IsMain – устанавливает признак главного туриста по путевке (Null, 0 – нет, 1 – турист главный)
      • ExternalID – идентификатор путевки из системы создающей бронь
      • ID – идентификатор туриста (-1 для новой путевки )
      • Phone – телефон туриста (задается по шаблону)
      • Email – адрес электронной почты туриста
      • LocalPassport – гражданский паспорт
      • ForeignPassport – иностранный паспорт
  • Tourists – массив туристов по услуге
    • Tourist – турист, массив данных о туристе
    • Name – имя туриста
    • Sex – пол (ключ = значения: Male = 0, Female = 1, Child = 2, Infant = 3)
    • BirthDate – дата рождения туриста (в формате ГГГГ-ММ-ДДT00:00:00)
    • FirstNameLat – имя туриста латиницей
    • LastNameLat – фамилия туриста латиницей
    • SurNameLat – отчество туриста латиницей
    • AgeType – тип возраста (ключ = значение: Adult = 0, Child = 1, Infant = 2)
    • Citizen – гражданство
    • IsMain – устанавливает признак главного туриста по путевке (Null, 0 – нет, 1 – турист главный)
    • ExternalID – идентификатор путевки из системы, создающей бронь
    • ID – идентификатор туриста (-1 для новой путевки)
    • Phone – телефон туриста (задается по шаблону)
    • Email – адрес электронной почты туриста
    • LocalPassport – гражданский паспорт
    • ForeignPassport – иностранный паспорт
  • AdditionalParams – массив дополнительных параметров (представляются в виде пары ключ = значение)
Пример
<AdditionalParams>   массив дополнительных параметров
       <ParameterPair Key="ContractPrKey"> - первая пара параметров, ключ ContractPrKey  ключ сервис-провайдера
             <Value xsi:type="xsd:int">1035</Value>  значение
       </ParameterPair>
       <ParameterPair Key="CityID"> - вторая пара параметров, ключ CityID  ключ города
              <Value xsi:type="xsd:int">52</Value>  значение
        </ParameterPair>
        <ParameterPair Key="isSuccess"> третья пара параметров, Ключ  isSucсess
               <Value xsi:type="xsd:boolean">true</Value> - значение
        </ParameterPair>
</AdditionalParams>


  • ExcursionService - дополнительные параметры для услуги типа Экскурсия
    • Excursion – услуга экскурсии
      • CityID – идентификатор города
      • RegionID – идентификатор региона
      • Name – название экскурсии
    • Transport – тип транспорта
    • ExcursionID – идентификатор экскурсии
    • StarDate – дата предоставления экскурсии (в формате ГГГГ-ММ-ДДT00:00:00)
    • Duration – продолжительность
    • SeviceClassID – идентификатор класса услуги
  • ExtraService - дополнительные параметры для услуги типа Экстра сервис
    • CityKey – ключ города предоставления услуги
    • Code – идентификатор услуги
    • HasDuration – с продолжительностью или без услуга
    • ServiceClassID – идентификатор класса услуги
    • StartDate – дата начала предоставления услуги (в формате ГГГГ-ММ-ДДT00:00:00)
    • IsPackage – признак пакетной услуги
  • HotelService - дополнительные параметры для услуги типа Отель
    • Hotel – отель
      • ID – идентификатор отеля
      • Name – наименование отеля
      • Description – описание отеля
      • City – город
        • ID – идентификатор города
        • CountryID – идентификатор страны
        • RegionID – идентификатор региона
      • RegionID – идентификатор региона
      • PriceType – наличие цен (PerPerson = 0, PerRoom = 1, All = 2, None= 1000)
      • CountCosts – количество цен
      • CityID – идентификатор города
      • HotelCategoryID – идентификатор категории отеля
    • Room – комната
    • RoomType – тип комнаты
      • Places – количество мест в номере
      • ExPlaces – дополнительные места в номере
      • PrintOrder – порядковый номер для печати в отчетах
    • RoomTypeID – идентификатор типа комнаты
    • RoomCategoryID – идентификатор категории комнат
    • RoomAccomodation – размещение
      • PerRoom – за комнату/за человека
      • AdultMainPlaces – основных мест для взрослых
      • ChildMainPlaces – основных мест для детей
      • AdultExtraPlaces – дополнительных мест для взрослых
      • ChildExtraPlaces – дополнительных мест для детей
      • MainPlaces – общее количество основных мест
      • ExtraPlaces – общее количество дополнительных мест
      • AgeFrom – возраст первого ребенка от
      • AgeTo – возраст первого ребенка по
      • Age2From – возраст второго ребенка от
      • Age2To – возраст второго ребенка по
      • RoomAccomodationID – идентификатор типа размещения
      • ID – идентификатор комнаты
      • Name – наименование типа размещения
    • RoomID – идентификатор комнаты
    • PansionID – идентификатор типа питания
  • TransferService - дополнительные параметры для услуги типа Трансфер
    • ID – ключ трансфера из таблицы TransferDirecion, получаем методом GetTransfers
    • PlaceFrom – название точки Откуда
    • PlaceTo – название точки Куда
Пример

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:meg="http://www.megatec.ru/">
   <soapenv:Header/>
   <soapenv:Body>
      <meg:GetReservation>
         <!--Optional:-->
         <meg:guid>d006b1d5-5c8c-41b8-bc7d-faa36f84e764</meg:guid>
         <meg:dgKey>35950</meg:dgKey>
      </meg:GetReservation>
   </soapenv:Body>
</soapenv:Envelope>

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

<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>
      <GetReservationResponse xmlns="http://www.megatec.ru/">
         <GetReservationResult HasInvoices="false">
            <agentDiscount>0</agentDiscount>
            <Rate>
               <Name>EU</Name>
               <ID>-1</ID>
               <Description/>
               <NameLat/>
               <Code/>
               <CodeLat/>
               <Unicode/>
               <IsMain>false</IsMain>
               <IsNational>false</IsNational>
            </Rate>
            <TouristServices>
               <TouristService>
                  <ID>359207</ID>
                  <Name/>
                  <TouristID>85538</TouristID>
                  <ServiceID>163961</ServiceID>
               </TouristService>
               <TouristService>
                  <ID>359208</ID>
                  <Name/>
                  <TouristID>85538</TouristID>
                  <ServiceID>163960</ServiceID>
               </TouristService>
            </TouristServices>
            <Services>
               <Service xsi:type="HotelService">
                  <ExternalID>-1</ExternalID>
                  <Price>60</Price>
                  <NMen>2</NMen>
                  <Partner>
                     <Name>Mouzenidis Travel 1</Name>
                     <ID>1035</ID>
                     <Description/>
                     <NameLat/>
                     <Code/>
                     <CodeLat/>
                     <Unicode/>
                     <PartnersGroupID>1051</PartnersGroupID>
                     <FullName>Mouzenidis Travel 1</FullName>
                     <Fax>007-(495)-950-4-950</Fax>
                     <Address>37, Leningradskiy prospekt, Moscow, Russia</Address>
                     <Zip/>
                     <Email>kiev@megatec.ru</Email>
                     <Phones/>
                  </Partner>
                  <PartnerID>1035</PartnerID>
                  <Quota>NotChecked</Quota>
                  <PacketKey>0</PacketKey>
                  <AdditionalParams>
                     <ParameterPair Key="ContractPrKey">
                        <Value xsi:type="xsd:int">1035</Value>
                     </ParameterPair>
                     <ParameterPair Key="CancellationPolicy">
                        <Value xsi:type="xsd:base64Binary">77u/PFBvbGljaWVzPjxQbc1BlcmNlbnQ9IlRydWUiIC8+PC9Qb2xpY2llcz4=</Value>
                     </ParameterPair>
                  </AdditionalParams>
                  <Tourists>
                     <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-08-10T00:00:00" FirstNameLat="Anton" 
                      LastNameLat="" SurNameLat="Makishev" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0" ID="85538" Phone="+789056789313" Email="">
                        <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2021-08-13T00:00:00+03:00"/>
                        <ForeignPassport IssuedBy="" Serie="3794" Number="537899" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                     </Tourist>
                  </Tourists>
                  <DetailNetto>(10,00[!test]*6) * 1 room = 60,00</DetailNetto>
                  <DetailBrutto>(10,00[!test]*6) * 1 room = 60,00</DetailBrutto>
                  <Notes/>
                  <Name>HTL::Delphi/Acropol Hotel/Deluxe Room/2AD/100 m2/BB</Name>
                  <StartDate>2021-09-15T00:00:00</StartDate>
                  <StartDay>0</StartDay>
                  <Duration>7</Duration>
                  <RateBrutto>EU</RateBrutto>
                  <Brutto>60</Brutto>
                  <RateNetto>EU</RateNetto>
                  <Netto>0</Netto>
                  <ServiceClassID>0</ServiceClassID>
                  <TouristCount>1</TouristCount>
                  <ID>163961</ID>
                  <Status>
                     <Name>HTL::Delphi/Acropol Hotel/Deluxe Room/2AD/100 m2/BB</Name>
                     <ID>1</ID>
                     <Description/>
                     <NameLat/>
                     <Code/>
                     <CodeLat/>
                     <Unicode/>
                  </Status>
                  <Hotel>
                     <Name>Acropol Hotel</Name>
                     <ID>1978</ID>
                     <Description>3 stars (B)  (Greece\Delphi\Delphi)</Description>
                     <NameLat/>
                     <Code>ACP</Code>
                     <CodeLat/>
                     <Unicode/>
                     <City>
                        <Name>Delphi</Name>
                        <ID>52</ID>
                        <Description/>
                        <NameLat/>
                        <Code>DLP</Code>
                        <CodeLat/>
                        <Unicode/>
                        <Country>
                           <Name>Greece</Name>
                           <ID>4</ID>
                           <Description/>
                           <NameLat/>
                           <Code/>
                           <CodeLat/>
                           <Unicode/>
                           <IsIncoming>true</IsIncoming>
                        </Country>
                        <CountryID>0</CountryID>
                        <RegionID>0</RegionID>
                     </City>
                     <RegionID>83</RegionID>
                     <PriceType>None</PriceType>
                     <CountCosts>0</CountCosts>
                     <CityID>52</CityID>
                     <HotelCategoryID>6</HotelCategoryID>
                  </Hotel>
                  <Room>
                     <RoomType>
                        <Name/>
                        <ID>436</ID>
                        <Description/>
                        <NameLat/>
                        <Code>Deluxe Room</Code>
                        <CodeLat/>
                        <Unicode/>
                        <Places>2</Places>
                        <ExPlaces>0</ExPlaces>
                        <PrintOrder>0</PrintOrder>
                     </RoomType>
                     <RoomTypeID>436</RoomTypeID>
                     <RoomCategory>
                        <Name>100 m2</Name>
                        <ID>47</ID>
                        <Description/>
                        <NameLat/>
                        <Code/>
                        <CodeLat/>
                        <Unicode/>
                        <MainPlaces>0</MainPlaces>
                        <ExtraPlaces>0</ExtraPlaces>
                        <IsMain>false</IsMain>
                     </RoomCategory>
                     <RoomCategoryID>47</RoomCategoryID>
                     <RoomAccomodation>
                        <Name>2AD</Name>
                        <ID>5558</ID>
                        <Description/>
                        <NameLat/>
                        <Code/>
                        <CodeLat/>
                        <Unicode/>
                        <PerRoom>false</PerRoom>
                        <AdultMainPalces>0</AdultMainPalces>
                        <ChildMainPalces>0</ChildMainPalces>
                        <AdultExtraPalces>0</AdultExtraPalces>
                        <ChildExtraPalces>0</ChildExtraPalces>
                        <MainPlaces>2</MainPlaces>
                        <ExtraPlaces>0</ExtraPlaces>
                        <IsMain>true</IsMain>
                        <AgeFrom>0</AgeFrom>
                        <AgeTo>0</AgeTo>
                        <Age2From>0</Age2From>
                        <Age2To>0</Age2To>
                     </RoomAccomodation>
                     <RoomAccomodationID>5558</RoomAccomodationID>
                     <ID>0</ID>
                     <Name/>
                  </Room>
                  <RoomID>0</RoomID>
                  <PansionID>3</PansionID>
               </Service>
               <Service xsi:type="ExtraService">
                  <ExternalID>0</ExternalID>
                  <Price>140</Price>
                  <NMen>2</NMen>
                  <PartnerID>1035</PartnerID>
                  <Quota>NotChecked</Quota>
                  <PacketKey>0</PacketKey>
                  <AdditionalParams>
                     <ParameterPair Key="HotelDlKey">
                        <Value xsi:type="xsd:int">163961</Value>
                     </ParameterPair>
                     <ParameterPair Key="ContractPrKey">
                        <Value xsi:type="xsd:int">1035</Value>
                     </ParameterPair>
                  </AdditionalParams>
                  <Tourists>
                     <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-08-10T00:00:00" FirstNameLat="Anton" 
                    LastNameLat="" SurNameLat="Makishev" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0" ID="85538" Phone="+789056789313" Email="">
                        <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2021-08-13T00:00:00+03:00"/>
                        <ForeignPassport IssuedBy="" Serie="3794" Number="537899" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
                     </Tourist>
                  </Tourists>
                  <DetailNetto>(10,00(0-120)[Hardlink_test] * 2 pax * 7 days) = 140,00</DetailNetto>
                  <DetailBrutto>(0,00(0-120)[Hardlink_test] * 2 pax * 7 days) = 0,00</DetailBrutto>
                  <Notes/>
                  <Name>EX::Adhot типа hardlink/Acropol Hotel/Deluxe Room/2AD/100 m2 (Hard link) (Delphi)</Name>
                  <StartDate>2021-09-15T00:00:00</StartDate>
                  <StartDay>0</StartDay>
                  <Duration>7</Duration>
                  <RateBrutto>EU</RateBrutto>
                  <Brutto>140</Brutto>
                  <RateNetto>EU</RateNetto>
                  <Netto>0</Netto>
                  <ServiceClassID>76</ServiceClassID>
                  <TouristCount>1</TouristCount>
                  <ID>163960</ID>
                  <Status>
                     <Name>EX::Adhot типа hardlink/Acropol Hotel/Deluxe Room/2AD/100 m2 (Hard link) (Delphi)</Name>
                     <ID>1</ID>
                     <Description/>
                     <NameLat/>
                     <Code/>
                     <CodeLat/>
                     <Unicode/>
                  </Status>
                  <CityKey>52</CityKey>
                  <IsPackage>false</IsPackage>
                  <Code>695</Code>
                  <HasDuration>false</HasDuration>
               </Service>
            </Services>
            <ID>35950</ID>
            <Name>MT110615A0X</Name>
            <Netto>0</Netto>
            <Brutto>200</Brutto>
            <CountryID>4</CountryID>
            <CityID>52</CityID>
            <PartnerID>1035</PartnerID>
            <AgentDiscount>0</AgentDiscount>
            <Status>WaitingConfirmation</Status>
            <StartDate>2021-09-15T00:00:00</StartDate>
            <EndDate>2021-09-21T00:00:00</EndDate>
            <Duration>6</Duration>
            <CreationDate>2021-07-28T15:56:02.39</CreationDate>
            <CreatorID>101</CreatorID>
            <Tourists>
               <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-08-10T00:00:00" FirstNameLat="Anton" LastNameLat="" 
               SurNameLat="Makishev" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0" ID="85538" Phone="+789056789313" Email="">
                  <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2021-08-13T00:00:00+03:00"/>
                  <ForeignPassport IssuedBy="" Serie="3794" Number="537899" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
               </Tourist>
               <Tourist Name="" Sex="Male" FirstName="" LastName="" SurName="" BirthDate="1985-08-11T00:00:00" FirstNameLat="Sony" LastNameLat="" 
               SurNameLat="Ivanova" AgeType="Adult" Citizen="" IsMain="false" ExternalID="0" ID="85539" Phone="+80000000456" Email="">
                  <LocalPassport IssuedBy="" Serie="" Number="" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2021-08-13T00:00:00+03:00"/>
                  <ForeignPassport IssuedBy="" Serie="3330" Number="567812" IssueDate="2021-08-13T00:00:00+03:00" EndDate="2025-01-01T00:00:00"/>
               </Tourist>
            </Tourists>
            <OwnerID>0</OwnerID>
            <TourOperatorID>88881</TourOperatorID>
            <TourOperatorCode>err8776</TourOperatorCode>
            <ExternalID>0</ExternalID>
            <AdditionalParams>
               <ParameterPair Key="PcnId">
                  <Value xsi:type="xsd:int">116</Value>
               </ParameterPair>
            </AdditionalParams>
         </GetReservationResult>
      </GetReservationResponse>
   </soap:Body>
</soap:Envelope>