Web-сервисы: Сервис для получения информации по турам — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показано 7 промежуточных версий этого же участника)
Строка 28: Строка 28:
 
В файле web.config, расположенном в папке TourInfo, в которую установлен web-сервис «Сервис для получения информации по турам», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
 
В файле web.config, расположенном в папке TourInfo, в которую установлен web-сервис «Сервис для получения информации по турам», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
 
Строка подключения к базе данных ПК «Мастер-Тур»:
 
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
+
<add key = "connectionString" value = "Data Source=''ip-адрес сервера базы данных ПК Мастер-тур''; Initial Catalog= ''название базы данных ПК Мастер-тур''; User ID=''логин пользователя ПК Мастер-тур''; Password=''пароль пользователя ПК Мастер-тур"''/>
 +
 
 
==Настройка==
 
==Настройка==
 
После установки «Сервис для получения информации по турам» доступен по адресу: <code><nowiki>http://ip-адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx</nowiki></code>
 
После установки «Сервис для получения информации по турам» доступен по адресу: <code><nowiki>http://ip-адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx</nowiki></code>
 
===Настройка web.config===
 
===Настройка web.config===
 
Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных.
 
Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных.
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="28%" | Описание
 +
! width="35%" | Значение
 +
! width="35%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 1
 +
| Настройка, отображающая в методе [[Web-сервисы: Сервис для получения информации по турам#GetTourInfo|GetTourInfo]] помимо услуг, включенных в тур,  услуги, прикрепленные к одному ценовому пакету
 +
| '''Ключ класса услуги''' (в случае нескольких классов услуг - перечисляются через запятую)
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="includedServiceClasses" value="1,4"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 2
 +
| Определяет, какие начальные значения будут выбраны в фильтре ''Наличие мест на отель'' в методе [[Web-сервисы: Сервис для получения информации по турам#GetTourInfo|GetTourInfo]]
 +
|
 +
*  '''None''' – ничего не выбрано
 +
*  '''Yes''' - есть гарантированные места
 +
* '''Request''' - места под запрос
 +
* '''NoFlight''' или '''отсутствие настройки''' - гарантированные места + места под запрос
 +
* '''All''' -  гарантированные места + места под запрос + мест нет
 +
''(значения настроек регистрозависимые)''
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="hotelQuotaMask" value="All" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Определяет, какие начальные значения будут выбраны в фильтре ''Наличие мест на авиаперелет'' в методе [[Web-сервисы: Сервис для получения информации по турам#GetTourInfo|GetTourInfo]]
 +
|
 +
*  '''None''' – ничего не выбрано
 +
*  '''Yes''' - есть гарантированные места
 +
* '''Request''' - места под запрос
 +
* '''NoFlight''' или '''отсутствие настройки''' - гарантированные места + места под запрос
 +
* '''All''' -  гарантированные места + места под запрос + мест нет
 +
''(значения настроек регистрозависимые)'' 
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="aviaQuotaMask" value="All" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
|}
  
Для того, что бы в методе [[Web-сервисы: Сервис для получения информации по турам#GetTourInfo|GetTourInfo]] помимо услуг, включенных в тур, отобразить услуги, прикрепленные к одному ценовому пакету, необходимо добавить настройку ''IncludedServiceClasses'', где указать через запятые ключи классов услуг.
 
<add key="includedServiceClasses" value="1,4"/>
 
  
 
Необходимо, чтобы секция [[Мастер-Web:Установка и настройка#Настройка секции dynamicCharterClasses|dynamicCharterClasses]]  была одинаково настроена и в web.config самого сервиса, и в web.config основного приложения ПК Мастер-Web, если они настроены на одну базу.
 
Необходимо, чтобы секция [[Мастер-Web:Установка и настройка#Настройка секции dynamicCharterClasses|dynamicCharterClasses]]  была одинаково настроена и в web.config самого сервиса, и в web.config основного приложения ПК Мастер-Web, если они настроены на одну базу.
Строка 123: Строка 172:
 
* ServicesCosts
 
* ServicesCosts
 
** ServiceCost
 
** ServiceCost
*** ServiceName – назавние услуги
+
*** ServiceName – назвние услуги
 
*** Cost – стоимость услуги
 
*** Cost – стоимость услуги
 
*** Currency – валюта
 
*** Currency – валюта
 
*** TransportKey – ключ транспорта (-1, если услуга не подразвумевает схему размещения в транспорте)
 
*** TransportKey – ключ транспорта (-1, если услуга не подразвумевает схему размещения в транспорте)
 
*** ServiceID – идентификационный номер услуги
 
*** ServiceID – идентификационный номер услуги
 +
***    ServiceVariants - услуги, прикрепленные к ценовому пакету (отображаются при включенной настройке [[Web-сервисы: Сервис для получения информации по турам#Настройка web.config|includedServiceClasses]])
 +
****    ServiceVariant
 +
*****    ServiceName
 +
*****    Cost
 +
*****    Currency
 +
*****    PartnerName
 +
*****    TransportKey
 +
*      PlacesCount - количество мест в квоте по отелю (-1, если квоты не заведены)
  
 
====GetBusyBusPlan====
 
====GetBusyBusPlan====
Строка 340: Строка 397:
  
 
| <syntaxhighlight lang="xml">
 
| <syntaxhighlight lang="xml">
 
+
<ExtendedTourInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://megatec.ru/">
<?xml version="1.0" encoding="UTF-8"?>
+
  <TourID>269</TourID>
-<ExtendedTourInfo xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
  <TourPriceID>1306</TourPriceID>
<TourID>280</TourID>
+
  <Name>test</Name>
<TourPriceID>529</TourPriceID>
+
  <TypeID>5</TypeID>
<Name>ang</Name>
+
  <URL/>
<TypeID>2</TypeID>
+
  <CreatedDate>2018-11-21T10:56:04.607</CreatedDate>
<URL/>
+
  <ValidFrom>2018-11-21T10:55:00</ValidFrom>
<CreatedDate>2016-11-10T14:47:13.343</CreatedDate>
+
  <ValidTo>2018-11-23T00:00:00</ValidTo>
<ValidFrom>2016-11-10T14:46:00</ValidFrom>
+
  <Code>test</Code>
<ValidTo>2016-11-28T00:00:00</ValidTo>
+
  <CountryID>222</CountryID>
<Code>ang</Code>
+
  <TourByDateInfos>
<CountryID>222</CountryID>
+
    <TourByDateInfo>
-<TourByDateInfos>
+
      <Date>2018-11-23T00:00:00</Date>
  -<TourByDateInfo>
+
       <TourCosts>
      <Date>2016-11-11T00:00:00</Date>
+
        <TourCost>
       -<TourCosts>
+
           <PriceKey>909551</PriceKey>
        -<TourCost>
+
           <AccomodationType>DBL (Luxe) 2000</AccomodationType>
            <PriceKey>511842</PriceKey>
+
           <Cost>266</Cost>
            <AccomodationType>Двухместный номер (Standart) Взрослый</AccomodationType>
 
            <Cost>278</Cost>
 
            <Currency>$</Currency>
 
            -<ServicesCosts>
 
              -<ServiceCost>
 
                  <ServiceName>HOTEL::Лондон/Отель 1-1*,1 ночь/Двухместный номер(Standart),Взрослый/FB Пансион/</ServiceName>
 
                  <Cost>200</Cost>
 
                  <Currency>$</Currency>
 
                  <TransportKey>-1</TransportKey>
 
                  <ServiceID>10312453</ServiceID>
 
                  <ServiceVariants/>
 
                </ServiceCost>
 
              -<ServiceCost>
 
                  <ServiceName>Трансфер::Лондон//автобус,20 чел./</ServiceName>
 
                  <Cost>78</Cost>
 
                  <Currency>$</Currency>
 
                  <TransportKey>3</TransportKey>
 
                  <ServiceID>10312454</ServiceID>
 
                  <ServiceVariants/>
 
                </ServiceCost>
 
            </ServicesCosts>
 
            <PlacesCount>-1</PlacesCount>
 
          </TourCost>
 
      -<TourCost>
 
           <PriceKey>511824</PriceKey>
 
           <AccomodationType>Single (Garden View ) 1AD</AccomodationType>
 
           <Cost>98</Cost>
 
 
           <Currency>$</Currency>
 
           <Currency>$</Currency>
        -<ServicesCosts>
+
          <ServicesCosts>
             -<ServiceCost>
+
             <ServiceCost>
                 <ServiceName>HOTEL::Лондон/Первый-5*,1 ночь/Single(Garden View ),1AD/FB Пансион/</ServiceName>
+
              <ServiceName>
                <Cost>20</Cost>
+
                HOTEL::Лондон/Первый-5*,7 ночей/DBL(Luxe),2000/FB Пансион/
                <Currency>$</Currency>
+
              </ServiceName>
                <TransportKey>-1</TransportKey>
+
              <Cost>70</Cost>
                 <ServiceID>10312458</ServiceID>
+
              <Currency>$</Currency>
                <ServiceVariants/>
+
              <TransportKey>-1</TransportKey>
            </ServiceCost>
+
              <ServiceID>10891566</ServiceID>
             -<ServiceCost>
+
              <ServiceVariants>
                <ServiceName>Трансфер::Лондон//автобус,20 чел./</ServiceName>
+
                 <ServiceVariant>
                <Cost>78</Cost>
+
                  <ServiceName>
                <Currency>$</Currency>
+
                    HOTEL::Лондон/Первый-5*,7 ночей/Single(Garden View ),1AD/FB Пансион/
                <TransportKey>3</TransportKey>
+
                  </ServiceName>
                <ServiceID>10312454</ServiceID>
+
                  <Cost>350</Cost>
                <ServiceVariants/>
+
                  <Currency>$</Currency>
            </ServiceCost>
+
                  <PartnerName>партнер</PartnerName>
 +
                  <TransportKey>-1</TransportKey>
 +
                 </ServiceVariant>
 +
              </ServiceVariants>
 +
            </ServiceCost>
 +
             <ServiceCost>
 +
              <ServiceName>
 +
                Трансфер::Лондон/Аэропорт-Мегатек, 07:00, /автобус,20 чел./
 +
              </ServiceName>
 +
              <Cost>40</Cost>
 +
              <Currency>$</Currency>
 +
              <TransportKey>3</TransportKey>
 +
              <ServiceID>10891567</ServiceID>
 +
              <ServiceVariants/>
 +
            </ServiceCost>
 +
            <ServiceCost>
 +
              <ServiceName>Трансфер::Лондон/Мегатек-Аэропорт, , /такси /</ServiceName>
 +
              <Cost>23</Cost>
 +
              <Currency>$</Currency>
 +
              <TransportKey>9</TransportKey>
 +
              <ServiceID>10891569</ServiceID>
 +
              <ServiceVariants/>
 +
            </ServiceCost>
 
           </ServicesCosts>
 
           </ServicesCosts>
 
           <PlacesCount>-1</PlacesCount>
 
           <PlacesCount>-1</PlacesCount>
      </TourCost>
+
        </TourCost>
      -<TourCost>
+
        <TourCost>
           <PriceKey>511896</PriceKey>
+
           <PriceKey>909552</PriceKey>
           <AccomodationType>Двухместный номер (Standart) 2A!</AccomodationType>
+
           <AccomodationType>Single (Garden View ) 1AD</AccomodationType>
           <Cost>108</Cost>
+
           <Cost>413</Cost>
 
           <Currency>$</Currency>
 
           <Currency>$</Currency>
        -<ServicesCosts>
+
          <ServicesCosts>
             -<ServiceCost>
+
             <ServiceCost>
                <ServiceName>HOTEL::Лондон/Отель 4-1*,1 ночь/Двухместный номер(Standart),2A!/BB Завтрак буфет/</ServiceName>
+
              <ServiceName>
                <Cost>30</Cost>
+
                HOTEL::Лондон/Первый-5*,7 ночей/Single(Garden View ),1AD/FB Пансион/
                <Currency>$</Currency>
+
              </ServiceName>
                <TransportKey>-1</TransportKey>
+
              <Cost>350</Cost>
                <ServiceID>10312457</ServiceID>
+
              <Currency>$</Currency>
                 <ServiceVariants/>
+
              <TransportKey>-1</TransportKey>
            </ServiceCost>
+
              <ServiceID>10891571</ServiceID>
             -<ServiceCost>
+
              <ServiceVariants>
                <ServiceName>Трансфер::Лондон//автобус,20 чел./</ServiceName>
+
                 <ServiceVariant>
                <Cost>78</Cost>
+
                  <ServiceName>
                <Currency>$</Currency>
+
                    HOTEL::Лондон/Первый-5*,7 ночей/DBL(Luxe),2000/FB Пансион/
                <TransportKey>3</TransportKey>
+
                  </ServiceName>
                <ServiceID>10312454</ServiceID>
+
                  <Cost>70</Cost>
                <ServiceVariants/>
+
                  <Currency>$</Currency>
            </ServiceCost>
+
                  <PartnerName>партнер</PartnerName>
 +
                  <TransportKey>-1</TransportKey>
 +
                </ServiceVariant>
 +
              </ServiceVariants>
 +
            </ServiceCost>
 +
             <ServiceCost>
 +
              <ServiceName>
 +
                Трансфер::Лондон/Аэропорт-Мегатек, 07:00, /автобус,20 чел./
 +
              </ServiceName>
 +
              <Cost>40</Cost>
 +
              <Currency>$</Currency>
 +
              <TransportKey>3</TransportKey>
 +
              <ServiceID>10891568</ServiceID>
 +
              <ServiceVariants/>
 +
            </ServiceCost>
 +
            <ServiceCost>
 +
              <ServiceName>Трансфер::Лондон/Мегатек-Аэропорт, , /такси /</ServiceName>
 +
              <Cost>23</Cost>
 +
              <Currency>$</Currency>
 +
              <TransportKey>9</TransportKey>
 +
              <ServiceID>10891570</ServiceID>
 +
              <ServiceVariants/>
 +
            </ServiceCost>
 
           </ServicesCosts>
 
           </ServicesCosts>
 
           <PlacesCount>-1</PlacesCount>
 
           <PlacesCount>-1</PlacesCount>
      </TourCost>
+
        </TourCost>
       -<TourCost>
+
       </TourCosts>
          <PriceKey>511860</PriceKey>
+
    </TourByDateInfo>
          <AccomodationType>Двухместный номер (Standart) 2A!</AccomodationType>
+
  </TourByDateInfos>
          <Cost>178</Cost>
+
</ExtendedTourInfo>
          <Currency>$</Currency>
 
        -<ServicesCosts>
 
            -<ServiceCost>
 
                <ServiceName>HOTEL::Лондон/Отель 2-1*,1 ночь/Двухместный номер(Standart),2A!/AI Шведский стол/</ServiceName>
 
                <Cost>100</Cost>
 
                <Currency>$</Currency>
 
                <TransportKey>-1</TransportKey>
 
                <ServiceID>10312455</ServiceID>
 
                <ServiceVariants/>
 
            </ServiceCost>
 
            -<ServiceCost>
 
                <ServiceName>Трансфер::Лондон//автобус,20 чел./</ServiceName>
 
                <Cost>78</Cost>
 
                <Currency>$</Currency>
 
                <TransportKey>3</TransportKey>
 
                <ServiceID>10312454</ServiceID>
 
                <ServiceVariants/>
 
            </ServiceCost>
 
          </ServicesCosts>
 
          <PlacesCount>-1</PlacesCount>
 
      </TourCost>
 
      -<TourCost>
 
          <PriceKey>511878</PriceKey>
 
          <AccomodationType>Двухместный номер (Sea View) 2A!</AccomodationType>
 
          <Cost>128</Cost>
 
          <Currency>$</Currency>
 
        -<ServicesCosts>
 
            -<ServiceCost>
 
                <ServiceName>HOTEL::Лондон/Отель 3-1*,1 ночь/Двухместный номер(Sea View),2A!/test/</ServiceName>
 
                <Cost>50</Cost>
 
                <Currency>$</Currency>
 
                <TransportKey>-1</TransportKey>
 
                <ServiceID>10312456</ServiceID>
 
                <ServiceVariants/>
 
            </ServiceCost>
 
            -<ServiceCost>
 
                <ServiceName>Трансфер::Лондон//автобус,20 чел./</ServiceName>
 
                <Cost>78</Cost>
 
                <Currency>$</Currency>
 
                <TransportKey>3</TransportKey>
 
                <ServiceID>10312454</ServiceID>
 
                <ServiceVariants/>
 
            </ServiceCost>
 
          </ServicesCosts>
 
          <PlacesCount>-1</PlacesCount>
 
      </TourCost>
 
  </TourCosts>
 
</TourByDateInfo>
 
</TourByDateInfos>
 
</ExtendedTourInfo>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 
<br />
 
<br />
 
 
====Метод получения детализации по плану рассадки (GetBusyBusPlan)====
 
====Метод получения детализации по плану рассадки (GetBusyBusPlan)====
 
=====Пример SOAP-запроса к сервису=====
 
=====Пример SOAP-запроса к сервису=====
Строка 509: Строка 532:
 
</soap:Envelope></nowiki>
 
</soap:Envelope></nowiki>
  
 +
=====Пример SOAP-ответа сервиса=====
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
  
 +
|- style="background-color:#F2F2F2"
 +
|- style="vertical-align:text-top"
  
 
+
| <syntaxhighlight lang="xml">
 
+
<?xml version="1.0" encoding="UTF-8"?>
 +
-<BusPlan xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 +
  <TransportKey>3</TransportKey>
 +
  <Title>автобус</Title>
 +
  <AreasCount>1</AreasCount>
 +
  <RowsCount>4</RowsCount>
 +
  <ColumnsCount>2</ColumnsCount>
 +
  -<Cells>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>0</Row>
 +
          <Column>0</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Comment</BusPlanCellType>
 +
          <Name>Гид</Name>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>0</Row>
 +
          <Column>1</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Gangway</BusPlanCellType>
 +
          <Name/>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>1</Row>
 +
          <Column>0</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Seat</BusPlanCellType>
 +
          <Name>6</Name>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>1</Row>
 +
          <Column>1</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Gangway</BusPlanCellType>
 +
          <Name/>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>2</Row>
 +
          <Column>0</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Seat</BusPlanCellType>
 +
          <Name>10</Name>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>2</Row>
 +
          <Column>1</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>None</BusPlanCellType>
 +
          <Name/>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>3</Row>
 +
          <Column>0</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>Seat</BusPlanCellType>
 +
          <Name>7</Name>
 +
      </BusPlanCell>
 +
      -<BusPlanCell>
 +
          <IsUsed>false</IsUsed>
 +
          <Row>3</Row>
 +
          <Column>1</Column>
 +
          <Area>0</Area>
 +
          <BusPlanCellType>None</BusPlanCellType>
 +
          <Name/>
 +
      </BusPlanCell>
 +
  </Cells>
 +
</BusPlan>
 +
</syntaxhighlight>
 +
|}
 +
<br />
 
[[Category:Web-сервисы]]
 
[[Category:Web-сервисы]]

Текущая версия на 14:45, 26 ноября 2018

Более ранние версии:
До версии ПК «Мастер-Web» 2009.2.20.21 включительно


Содержание

Введение

Данный модуль предназначен для получения информации по списку рассчитанных туров, их типам, а также детализации рассчитанных цен.

Установка

Для установки Сервиса для вывода информации по туру нужно создать отдельную директорию, например, TourInfo (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-tourinfo-2007.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourInfo.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • 1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)


857.PNG

  • 2. Запустить Internet Information Services (IIS) Manager


858.PNG

  • 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


859.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке TourInfo, в которую установлен web-сервис «Сервис для получения информации по турам», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»: <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур; Initial Catalog= название базы данных ПК Мастер-тур; User ID=логин пользователя ПК Мастер-тур; Password=пароль пользователя ПК Мастер-тур"/>

Настройка

После установки «Сервис для получения информации по турам» доступен по адресу: http://ip-адрес сервера Мастер-Веб/TourInfo/FullTourInfoService.asmx

Настройка web.config

Дополнительные настройки, задаваемые в файле web.config, позволяют задать дополнительные условия для отображения и проверки данных.

Описание Значение Настройка
1 Настройка, отображающая в методе GetTourInfo помимо услуг, включенных в тур, услуги, прикрепленные к одному ценовому пакету Ключ класса услуги (в случае нескольких классов услуг - перечисляются через запятую)
<add key="includedServiceClasses" value="1,4"/>
2 Определяет, какие начальные значения будут выбраны в фильтре Наличие мест на отель в методе GetTourInfo
  • None – ничего не выбрано
  • Yes - есть гарантированные места
  • Request - места под запрос
  • NoFlight или отсутствие настройки - гарантированные места + места под запрос
  • All - гарантированные места + места под запрос + мест нет

(значения настроек регистрозависимые)

<add key="hotelQuotaMask" value="All" />
3 Определяет, какие начальные значения будут выбраны в фильтре Наличие мест на авиаперелет в методе GetTourInfo
  • None – ничего не выбрано
  • Yes - есть гарантированные места
  • Request - места под запрос
  • NoFlight или отсутствие настройки - гарантированные места + места под запрос
  • All - гарантированные места + места под запрос + мест нет

(значения настроек регистрозависимые)

<add key="aviaQuotaMask" value="All" />


Необходимо, чтобы секция dynamicCharterClasses была одинаково настроена и в web.config самого сервиса, и в web.config основного приложения ПК Мастер-Web, если они настроены на одну базу.

Настройка кэширования

Для ускоренного получения информации по турам используется механизм кэширования.

Кэшируются туры, даты заездов, услуги, курсы валют, цены.

Для включения механизма необходимо добавить внутрь секции <sectionGroup name="megatec.web"> следующие теги:

<sectionGroup name="cache">
       <section name="cachingDurations" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>

А также добавить внутрь контейнера <megatec.web> следующие теги:

<cache>
   <cachingDurations>
       <add key="extendedTourInfoCacheInterval" value="600"/>
   </cachingDurations>
</cache>

В настройке extendedTourInfoCacheInterval задается время обновление кэша информации по турам (в секундах);

ВАЖНО! Указывать временной интервал кэширования не менее часа.

Подготовка данных

Описание формата данных

GetCountries

Параметр:token Значение:пустая строка

Результат
  • ArrayOfCountry
    • Country
      • CountryID – идентификационный номер страны
      • Name – название страны

GetTourTypes

Параметр:token Значение:пустая строка

Результат
  • ArrayOfTourType
    • TourType
      • TourTypeID – идентификационный номер типа тура
      • Name – название типа тура

GetTours

Параметр:token Значение:пустая строка
Параметр:beginDate Значение:дата, начиная с которой выбирать туры (дата создания тура) в формате «yyyy-MM-dd»

Результат

  • ArrayOfTourInfo
    • TourInfo
      • TourID – идентификационный номер тура
      • TourPriceID - идентификационный номер стоимости тура
      • Name – название тура
      • TypeID – идентификационный номер типа тура
      • URL – url страницы с описанием тура
      • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
      • ValidFrom – действителен с
      • ValidTo – дейстивтелен по
      • Code – код тура
      • CountryID – идентификационный номер страны

GetTourInfo

Параметр:token Значение:пустая строка
Параметр:tourKey Значение:идентификационный номер тура
Параметр:beginDate Значение:дата начиная с которой выдавать информацию в формате «yyyy-MM-dd»

Результат
  • ExtendedTourInfo
    • TourID – идентификационный номер тура
    • TourPriceID - идентификационный номер стоимости тура
    • Name – название тура
    • TypeID – идентификационный номер типа тура
    • URL – url страницы с описанием тура
    • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
    • ValidFrom – действителен с
    • ValidTo – дейстивтелен по
    • Code – код тура
    • CountryID – идентификационный номер страны
    • TourByDateInfos
      • TourByDateInfo
  • Date – дата заезда
  • TourCosts
    • TourCosts
      • TourCost
  • AccomodationType – тип размещения
  • Cost – стоимость
  • Currency – валюта
  • ServicesCosts
    • ServiceCost
      • ServiceName – назвние услуги
      • Cost – стоимость услуги
      • Currency – валюта
      • TransportKey – ключ транспорта (-1, если услуга не подразвумевает схему размещения в транспорте)
      • ServiceID – идентификационный номер услуги
      • ServiceVariants - услуги, прикрепленные к ценовому пакету (отображаются при включенной настройке includedServiceClasses)
        • ServiceVariant
          • ServiceName
          • Cost
          • Currency
          • PartnerName
          • TransportKey
  • PlacesCount - количество мест в квоте по отелю (-1, если квоты не заведены)

GetBusyBusPlan

Параметр:token Значение:пустая строка
Параметр:tourKey Значение:идентификационный номер тура
Параметр:tourDate Значение:дата начиная с которой выдавать информацию в формате «yyyy-MM-dd»

Результат

  • BusPlan
    • TransportKey – идентификационный номер траспортного средства
    • Title – название транспортного средства
    • AreasCount – количество зон (автобусов)
    • RowsCount – количество рядов
    • ColumnsCount – количество мест в ряду
    • Cells
      • BusPlanCell
        • Row – горизонтальная составляющая координаты места
        • Column – вертикальная составляющая координаты места
        • Area – зона (номер автобуса)
        • BusPlanCellType – тип места (None, Comment - комментарий, Gangway – проход, Seat – пассажирское место)
        • IsUsed – true – место занято, иначе - false

Работа в системе

Метод получения списка стран (GetCountries)

Пример SOAP-запроса к сервису:
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetCountries"

<?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>
    <GetCountries xmlns="http://megatec.ru/">
      <token>string</token>
    </GetCountries>
  </soap:Body>
</soap:Envelope>
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="UTF-8"?>
-<ArrayOfCountry xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   -<Country>
       <CountryID>90</CountryID>
       <Name>Австрия</Name>
    </Country>
   -<Country>
       <CountryID>222</CountryID>
       <Name>Англия</Name>
    </Country>
   -<Country>
       <CountryID>376</CountryID>
       <Name>Андорра</Name>
    </Country>
   -<Country>
       <CountryID>2</CountryID>
       <Name>Арабск. Эмираты</Name>
    </Country>
   -<Country>
       <CountryID>375</CountryID>
       <Name>Беларусь</Name>
    </Country>
 </ArrayOfCountry>


Метод получения списка типов тура (GetTourTypes)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourTypes"

<?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>
    <GetTourTypes xmlns="http://megatec.ru/">
      <token>string</token>
    </GetTourTypes>
  </soap:Body>
</soap:Envelope>
Пример SOAP-ответа сервиса
 <?xml version="1.0" encoding="UTF-8"?>
-<ArrayOfTourType xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   -<TourType>
       <TourTypeID>12</TourTypeID>
       <Name>Excursions_Optional</Name>
    </TourType>
   -<TourType>
       <TourTypeID>13</TourTypeID>
       <Name>Excursions_Required</Name>
    </TourType>
   -<TourType>
       <TourTypeID>14</TourTypeID>
       <Name>ExtraServices_Optional</Name>
    </TourType>
   -<TourType>
       <TourTypeID>15</TourTypeID>
       <Name>ExtraServices_Required</Name>
    </TourType>
 </ArrayOfTourType>


Метод получения списка туров (GetTours)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTours"

<?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>
    <GetTours xmlns="http://megatec.ru/">
      <token>string</token>
      <beginDate>string</beginDate>
    </GetTours>
  </soap:Body>
</soap:Envelope> 
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="UTF-8"?>
-<ArrayOfTourInfo xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   -<TourInfo>
       <TourID>412</TourID>
       <TourPriceID>493</TourPriceID>
       <Name>0507 ПЭ</Name>
       <TypeID>0</TypeID>
       <URL/>
       <CreatedDate>2016-10-27T17:32:27.353</CreatedDate>
       <ValidFrom>2016-10-27T00:00:00</ValidFrom>
       <ValidTo>2016-12-27T00:00:00</ValidTo>
       <Code>0507</Code>
       <CountryID>90</CountryID>
    </TourInfo>
   -<TourInfo>
       <TourID>250</TourID>
       <TourPriceID>509</TourPriceID>
       <Name>Тур 18-05</Name>
       <TypeID>0</TypeID>
       <URL/>
       <CreatedDate>2016-10-31T10:20:52.23</CreatedDate>
       <ValidFrom>2016-10-31T11:18:00</ValidFrom>
       <ValidTo>2016-12-28T00:00:00</ValidTo>
       <Code>Тур</Code>
       <CountryID>90</CountryID>
    </TourInfo>
   -<TourInfo>
       <TourID>259</TourID>
       <TourPriceID>525</TourPriceID>
       <Name>Тур для ПЭ</Name>
       <TypeID>10</TypeID>
       <URL/>
       <CreatedDate>2016-11-07T12:46:35.81</CreatedDate>
       <ValidFrom>2016-11-03T00:00:00</ValidFrom>
       <ValidTo>2016-12-29T00:00:00</ValidTo>
       <Code>Тур</Code>
       <CountryID>222</CountryID>
    </TourInfo>
 </ArrayOfTourInfo>


Метод получения детализации по туру (GetTourInfo)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourInfo"

<?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>
    <GetTourInfo xmlns="http://megatec.ru/">
      <token>string</token>
      <tourKey>int</tourKey>
      <beginDate>string</beginDate>
    </GetTourInfo>
  </soap:Body>
</soap:Envelope>
Пример SOAP-ответа сервиса
 <ExtendedTourInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://megatec.ru/">
  <TourID>269</TourID>
  <TourPriceID>1306</TourPriceID>
  <Name>test</Name>
  <TypeID>5</TypeID>
  <URL/>
  <CreatedDate>2018-11-21T10:56:04.607</CreatedDate>
  <ValidFrom>2018-11-21T10:55:00</ValidFrom>
  <ValidTo>2018-11-23T00:00:00</ValidTo>
  <Code>test</Code>
  <CountryID>222</CountryID>
  <TourByDateInfos>
    <TourByDateInfo>
      <Date>2018-11-23T00:00:00</Date>
      <TourCosts>
        <TourCost>
          <PriceKey>909551</PriceKey>
          <AccomodationType>DBL (Luxe) 2000</AccomodationType>
          <Cost>266</Cost>
          <Currency>$</Currency>
          <ServicesCosts>
            <ServiceCost>
              <ServiceName>
                HOTEL::Лондон/Первый-5*,7 ночей/DBL(Luxe),2000/FB Пансион/
              </ServiceName>
              <Cost>70</Cost>
              <Currency>$</Currency>
              <TransportKey>-1</TransportKey>
              <ServiceID>10891566</ServiceID>
              <ServiceVariants>
                <ServiceVariant>
                  <ServiceName>
                    HOTEL::Лондон/Первый-5*,7 ночей/Single(Garden View ),1AD/FB Пансион/
                  </ServiceName>
                  <Cost>350</Cost>
                  <Currency>$</Currency>
                  <PartnerName>партнер</PartnerName>
                  <TransportKey>-1</TransportKey>
                </ServiceVariant>
              </ServiceVariants>
            </ServiceCost>
            <ServiceCost>
              <ServiceName>
                Трансфер::Лондон/Аэропорт-Мегатек, 07:00, /автобус,20 чел./
              </ServiceName>
              <Cost>40</Cost>
              <Currency>$</Currency>
              <TransportKey>3</TransportKey>
              <ServiceID>10891567</ServiceID>
              <ServiceVariants/>
            </ServiceCost>
            <ServiceCost>
              <ServiceName>Трансфер::Лондон/Мегатек-Аэропорт, , /такси /</ServiceName>
              <Cost>23</Cost>
              <Currency>$</Currency>
              <TransportKey>9</TransportKey>
              <ServiceID>10891569</ServiceID>
              <ServiceVariants/>
            </ServiceCost>
          </ServicesCosts>
          <PlacesCount>-1</PlacesCount>
        </TourCost>
        <TourCost>
          <PriceKey>909552</PriceKey>
          <AccomodationType>Single (Garden View ) 1AD</AccomodationType>
          <Cost>413</Cost>
          <Currency>$</Currency>
          <ServicesCosts>
            <ServiceCost>
              <ServiceName>
                HOTEL::Лондон/Первый-5*,7 ночей/Single(Garden View ),1AD/FB Пансион/
              </ServiceName>
              <Cost>350</Cost>
              <Currency>$</Currency>
              <TransportKey>-1</TransportKey>
              <ServiceID>10891571</ServiceID>
              <ServiceVariants>
                <ServiceVariant>
                  <ServiceName>
                    HOTEL::Лондон/Первый-5*,7 ночей/DBL(Luxe),2000/FB Пансион/
                  </ServiceName>
                  <Cost>70</Cost>
                  <Currency>$</Currency>
                  <PartnerName>партнер</PartnerName>
                  <TransportKey>-1</TransportKey>
                </ServiceVariant>
              </ServiceVariants>
            </ServiceCost>
            <ServiceCost>
              <ServiceName>
                Трансфер::Лондон/Аэропорт-Мегатек, 07:00, /автобус,20 чел./
              </ServiceName>
              <Cost>40</Cost>
              <Currency>$</Currency>
              <TransportKey>3</TransportKey>
              <ServiceID>10891568</ServiceID>
              <ServiceVariants/>
            </ServiceCost>
            <ServiceCost>
              <ServiceName>Трансфер::Лондон/Мегатек-Аэропорт, , /такси /</ServiceName>
              <Cost>23</Cost>
              <Currency>$</Currency>
              <TransportKey>9</TransportKey>
              <ServiceID>10891570</ServiceID>
              <ServiceVariants/>
            </ServiceCost>
          </ServicesCosts>
          <PlacesCount>-1</PlacesCount>
        </TourCost>
      </TourCosts>
    </TourByDateInfo>
  </TourByDateInfos>
 </ExtendedTourInfo>


Метод получения детализации по плану рассадки (GetBusyBusPlan)

Пример SOAP-запроса к сервису
POST /tourinfo/FullTourInfoService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://megatec.ru/GetTourInfo"

<?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>
    <GetTourInfo xmlns="http://megatec.ru/">
      <token>string</token>
      <tourKey>int</tourKey>
      <tourDate>string</tourDate >
    </GetTourInfo>
  </soap:Body>
</soap:Envelope>
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="UTF-8"?>
-<BusPlan xmlns="http://megatec.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <TransportKey>3</TransportKey>
   <Title>автобус</Title>
   <AreasCount>1</AreasCount>
   <RowsCount>4</RowsCount>
   <ColumnsCount>2</ColumnsCount>
  -<Cells>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>0</Row>
          <Column>0</Column>
          <Area>0</Area>
          <BusPlanCellType>Comment</BusPlanCellType>
          <Name>Гид</Name>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>0</Row>
          <Column>1</Column>
          <Area>0</Area>
          <BusPlanCellType>Gangway</BusPlanCellType>
          <Name/>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>1</Row>
          <Column>0</Column>
          <Area>0</Area>
          <BusPlanCellType>Seat</BusPlanCellType>
          <Name>6</Name>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>1</Row>
          <Column>1</Column>
          <Area>0</Area>
          <BusPlanCellType>Gangway</BusPlanCellType>
          <Name/>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>2</Row>
          <Column>0</Column>
          <Area>0</Area>
          <BusPlanCellType>Seat</BusPlanCellType>
          <Name>10</Name>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>2</Row>
          <Column>1</Column>
          <Area>0</Area>
          <BusPlanCellType>None</BusPlanCellType>
          <Name/>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>3</Row>
          <Column>0</Column>
          <Area>0</Area>
          <BusPlanCellType>Seat</BusPlanCellType>
          <Name>7</Name>
       </BusPlanCell>
      -<BusPlanCell>
          <IsUsed>false</IsUsed>
          <Row>3</Row>
          <Column>1</Column>
          <Area>0</Area>
          <BusPlanCellType>None</BusPlanCellType>
          <Name/>
       </BusPlanCell>
   </Cells>
 </BusPlan>