Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 612: Строка 612:
 
**** '''PacketId''' –  
 
**** '''PacketId''' –  
 
**** '''Index''' –  
 
**** '''Index''' –  
** '''''' –
+
*** '''NotRouteServices''' – список немаршрутных услуг (??? расписать детально)
** '''''' –
+
**** '''''' –
** '''''' –
+
*** '''MinCostServicesComposition''' –
** '''''' –
+
**** '''Key''' –
 +
***** '''TemplateId''' –
 +
***** '''PatternId''' –
 +
***** '''SettingId''' –
 +
**** '''Value''' –
 +
***** '''Cost''' –
 +
***** '''ServiceType''' –
 +
***** '''Code''' –
 +
***** '''SubCode1''' –
 +
***** '''SubCode2''' –
 +
***** '''PacketId''' –
 +
***** '''PartnerId''' –
 +
***** '''CountryId''' –
 +
***** '''CityId''' –
 +
***** '''Day''' –
 +
***** '''DurationInNight''' –
 +
*** '''FlightWeight''' –
 +
*** '''LinkingFlightsRules''' –
 +
**** '''notCombineDifferentAirlineRule''' –
 +
***** '''airlines''' –
 +
***** '''flightSettings''' –
 +
***** '''enabled''' –
 +
**** '''checkPlusMinus1CharterRule''' –
 +
***** '''FlightSettingPairs''' –
 +
***** '''enabled''' –
 +
**** '''notCombineDifferentTariffGroupRule''' –
 +
***** '''FlightSettings''' –
 +
***** '''enabled''' –
 +
**** '''notCombineDifferentPartnerRule''' –
 +
***** '''FlightSettings''' –
 +
***** '''enabled''' –
 +
**** '''departureCityEqualsArrivalCityRule''' –
 +
***** '''FlightSettingPairs''' –
 +
***** '''enabled''' –
 +
**** '''combineOnlySpecificChartersRule''' –
 +
***** '''settings''' –
 +
***** '''enabled''' –
 +
*** '''RouteSubVariants''' –
 +
** '''SecondaryFiltersResult''' –
 +
*** '''TourTypes''' – типы тура
 +
**** '''Id''' –
 +
**** '''Name''' –
 +
**** '''ParentId''' –
 +
**** '''Type''' –
 +
*** '''TourPrograms''' – информация по каждой турпрограмме
 +
**** '''Key''' –
 +
**** '''Name''' –
 +
**** '''TourUrl''' –
 +
**** '''BookingConditions''' –
 +
**** '''IsLandOnly''' –
 +
**** '''IsRestrictMultiHotels''' –
 +
**** '''IsHotelTemplates''' –
 +
**** '''IsRouteServices''' –
 +
**** '''MultiHotelDelta''' –
 +
**** '''Rate''' –
 +
**** '''DateStart''' –
 +
**** '''DateEnd''' –
 +
**** '''Status''' –
 +
***** '''Key''' –
 +
***** '''Value''' –
 +
**** '''Templates''' –
 +
***** '''$id''' –
 +
***** '''$id''' –
 +
**** '''Types''' –
 +
***** '''Id''' –
 +
***** '''Name''' –
 +
***** '''ParentId''' –
 +
***** '''Type''' –
 +
**** '''LinkingFlightsRules''' –
 +
***** '''notCombineDifferentAirlineRule''' –
 +
****** '''airlines''' –
 +
****** '''flightSettings''' –
 +
****** '''enabled''' –
 +
***** '''checkPlusMinus1CharterRule''' –
 +
****** '''FlightSettingPairs''' –
 +
****** '''enabled''' –
 +
***** '''notCombineDifferentTariffGroupRule''' –
 +
****** '''FlightSettings''' –
 +
****** '''enabled''' –
 +
***** '''notCombineDifferentPartnerRule''' –
 +
****** '''FlightSettings''' –
 +
****** '''enabled''' –
 +
***** '''departureCityEqualsArrivalCityRule''' –
 +
****** '''FlightSettingPairs''' –
 +
****** '''enabled''' –
 +
***** '''combineOnlySpecificChartersRule''' –
 +
****** '''settings''' –
 +
****** '''enabled''' –
 +
**** '''XmlSettings''' – xml
 +
**** '''Type''' –
 +
*** '''TourDurations''' –
 +
*** '''TourDates''' –
 +
**** '''HotelCities''' – город в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''HotelResorts''' – курорты в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''HotelCategories''' – категории отеля в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''Hotels''' – отели в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''Pansions''' – питания в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''Airlines''' – авиакомпании в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''FlightTariffs''' – класс перелета в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''DepartureCities''' – города вылета в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''DepartureAirports''' – аэропорты вылета в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''ArrivalCities''' – города прибытия в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''ArrivalAirports''' – аэропорты прибытия в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
 +
**** '''HotelTypes''' – признаки отелей в дополнительных фильтрах (??? расписать детализацию)
 +
***** '''''' –
  
 +
http://dev1-22:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
 +
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 +
<div class="mw-collapsible-content">
 +
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 +
Вызов метода Tour
 +
<syntaxhighlight lang="java" enclose="div">
 +
http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
 +
 +
</syntaxhighlight>
 +
Возвращаемый результат метода Tour (в формате JSON)
 +
<syntaxhighlight lang="java" enclose="div">
 +
{
 +
  "CheckMessages": null,
 +
  "Message":    {
 +
      "Key": 0,
 +
      "Value": null
 +
  },
 +
  "Result":    [
 +
            {
 +
        "Key": 100000004,
 +
        "Name": "Общая проверка системы",
 +
        "TourUrl": "www.megatec.ru",
 +
        "BookingConditions": "<p>Условия бронирования тура.<\/p>",
 +
        "StartDate": "2018-02-25T00:00:00",
 +
        "Duration": 4,
 +
        "DurationInNight": 3,
 +
        "Types": [2],
 +
        "Cost": 260,
 +
        "Rate": "EU",
 +
        "CityDepature":          {
 +
            "Key": 1,
 +
            "Value": "Москва"
 +
        },
 
         "CountryId": 0,
 
         "CountryId": 0,
 
         "Services":          [
 
         "Services":          [
 
+
                        {
 
+
              "DepartureCity":                {
 +
                  "Key": 1,
 +
                  "Value": "Москва"
 +
              },
 +
              "DepartureCountry":                {
 +
                  "Key": 460,
 +
                  "Value": "Россия"
 +
              },
 +
              "ArrivalCity":                {
 +
                  "Key": 35,
 +
                  "Value": "Вена"
 +
              },
 +
              "ArrivalCountry":                {
 +
                  "Key": 90,
 +
                  "Value": "Австрия"
 +
              },
 +
              "DepartureAirport":                {
 +
                  "Key": "SVO4",
 +
                  "Value": "Шереметьево-24"
 +
              },
 +
              "ArrivalAirport":                {
 +
                  "Key": "VIE1",
 +
                  "Value": "Vena1"
 +
              },
 +
              "Airline":                {
 +
                  "Key": "BA7",
 +
                  "Value": "BRITISH  AIRWAYS"
 +
              },
 +
              "Aircraft":                {
 +
                  "Key": "319",
 +
                  "Value": "AIRBUS "
 +
              },
 +
              "Flight":                {
 +
                  "Key": 882,
 +
                  "Value": "4444"
 +
              },
 +
              "DepartureTime": "10:00:00",
 +
              "ArrivalTime": "12:00:00",
 +
              "EndDateTime": "2018-02-25T12:00:00",
 +
              "FlightDetails": [              {
 +
                  "Tariff":                  {
 +
                    "Key": 89,
 +
                    "Code": "Y",
 +
                    "Name": "Экономический класс"
 +
                  },
 +
                  "Cost": 240,
 +
                  "QuotaStatus":                  {
 +
                    "PlacesStatus": 4,
 +
                    "FreePlaces": 0,
 +
                    "TotalPlaces": 0
 +
                  },
 +
                  "PartnerId": 12668,
 +
                  "ByPax": true,
 +
                  "Partner":                  {
 +
                    "Key": 0,
 +
                    "Value": null
 +
                  }
 +
              }],
 +
              "FlightSetting":                {
 +
                  "ServiceId": 3,
 +
                  "PatternId": 13,
 +
                  "FlightId": 13
 +
              },
 +
              "FlightSourceMode": 1,
 +
              "Id": 3,
 +
              "SvKey": 1,
 +
              "IsSubCode1": true,
 +
              "IsSubCode2": false,
 +
              "IsPartnerBasedOn": false,
 +
              "Day": 1,
 +
              "DurationInNight": 0,
 
               "BeginDateTime": "2018-02-25T10:00:00",
 
               "BeginDateTime": "2018-02-25T10:00:00",
 
               "IsHooded": false,
 
               "IsHooded": false,
Строка 672: Строка 892:
 
                     "Value": "Завтрак"
 
                     "Value": "Завтрак"
 
                   },
 
                   },
                   "Cost": 58.22,
+
                   "Cost": 19.47,
 
                   "QuotaStatus":                  {
 
                   "QuotaStatus":                  {
 
                     "PlacesStatus": 4,
 
                     "PlacesStatus": 4,
Строка 695: Строка 915:
 
               "IsPartnerBasedOn": false,
 
               "IsPartnerBasedOn": false,
 
               "Day": 1,
 
               "Day": 1,
               "DurationInNight": 9,
+
               "DurationInNight": 3,
 
               "BeginDateTime": "2018-02-25T12:00:00",
 
               "BeginDateTime": "2018-02-25T12:00:00",
               "EndDateTime": "2018-03-06T12:00:00",
+
               "EndDateTime": "2018-02-28T12:00:00",
 
               "IsHooded": false,
 
               "IsHooded": false,
 
               "IsDeleted": false,
 
               "IsDeleted": false,
Строка 743: Строка 963:
 
               "DepartureTime": "00:00:00",
 
               "DepartureTime": "00:00:00",
 
               "ArrivalTime": "00:00:00",
 
               "ArrivalTime": "00:00:00",
               "EndDateTime": "2018-03-06T00:00:00",
+
               "EndDateTime": "2018-02-28T00:00:00",
 
               "FlightDetails": [              {
 
               "FlightDetails": [              {
 
                   "Tariff":                  {
 
                   "Tariff":                  {
Строка 774: Строка 994:
 
               "IsSubCode2": false,
 
               "IsSubCode2": false,
 
               "IsPartnerBasedOn": false,
 
               "IsPartnerBasedOn": false,
               "Day": 10,
+
               "Day": 4,
 
               "DurationInNight": 0,
 
               "DurationInNight": 0,
               "BeginDateTime": "2018-03-06T00:00:00",
+
               "BeginDateTime": "2018-02-28T00:00:00",
 
               "IsHooded": false,
 
               "IsHooded": false,
 
               "IsDeleted": false,
 
               "IsDeleted": false,
Строка 805: Строка 1025:
 
                   "Date": null,
 
                   "Date": null,
 
                   "IsShowTransportPlan": true,
 
                   "IsShowTransportPlan": true,
                   "Cost": 970.4,
+
                   "Cost": 389.57,
 
                   "QuotaStatus":                  {
 
                   "QuotaStatus":                  {
 
                     "PlacesStatus": 1,
 
                     "PlacesStatus": 1,
Строка 826: Строка 1046:
 
               "IsPartnerBasedOn": false,
 
               "IsPartnerBasedOn": false,
 
               "Day": 1,
 
               "Day": 1,
               "DurationInNight": 9,
+
               "DurationInNight": 3,
 
               "BeginDateTime": "2018-02-25T00:00:00",
 
               "BeginDateTime": "2018-02-25T00:00:00",
               "EndDateTime": "2018-03-06T00:00:00",
+
               "EndDateTime": "2018-02-28T00:00:00",
 
               "IsHooded": false,
 
               "IsHooded": false,
 
               "IsDeleted": true,
 
               "IsDeleted": true,
Строка 858: Строка 1078:
 
                   "Date": null,
 
                   "Date": null,
 
                   "IsShowTransportPlan": false,
 
                   "IsShowTransportPlan": false,
                   "Cost": 84.91,
+
                   "Cost": 85.22,
 
                   "QuotaStatus":                  {
 
                   "QuotaStatus":                  {
 
                     "PlacesStatus": 1,
 
                     "PlacesStatus": 1,
Строка 917: Строка 1137:
 
               },
 
               },
 
               "Value":                {
 
               "Value":                {
                   "Cost": 58.22,
+
                   "Cost": 19.47,
 
                   "ServiceType": 3,
 
                   "ServiceType": 3,
 
                   "Code": 709,
 
                   "Code": 709,
Строка 927: Строка 1147:
 
                   "CityId": 35,
 
                   "CityId": 35,
 
                   "Day": 1,
 
                   "Day": 1,
                   "DurationInNight": 9
+
                   "DurationInNight": 3
 
               }
 
               }
 
             },
 
             },
Строка 946: Строка 1166:
 
                   "CountryId": 460,
 
                   "CountryId": 460,
 
                   "CityId": 1,
 
                   "CityId": 1,
                   "Day": 10,
+
                   "Day": 4,
 
                   "DurationInNight": 0
 
                   "DurationInNight": 0
 
               }
 
               }
Строка 980: Строка 1200:
 
         },
 
         },
 
         "RouteSubVariants": []
 
         "RouteSubVariants": []
       }],
+
       }
 +
  ],
 
   "SecondaryFiltersResult":    {
 
   "SecondaryFiltersResult":    {
 
       "TourTypes": [      {
 
       "TourTypes": [      {
Строка 988: Строка 1209:
 
         "Type": "TourType"
 
         "Type": "TourType"
 
       }],
 
       }],
       "TourPrograms": [     {
+
       "TourPrograms":       [
        "Key": 100003381,
+
                      {
        "Name": " Автобусный тур (новые проверки)_2",
+
            "Key": 100000004,
        "TourUrl": "www.megatec.ru",
+
            "Name": "Общая проверка системы",
        "BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>\n<p>Сразу же после получения Вашей заявки и обсуждения всех деталей, мы вышлем Вам счет-фактуру на безвозвратный депозит. После получения депозита в размере 50-100 евро (в зависимости от стоимости тура) на человека, Вы получите Тур Ваучер, подтверждающий все детали и условия поездки в Армению.<\/p>\n<p><strong>Условия оплаты<\/strong><\/p>\n<p>После бронирования тура необходимо внести безвозвратный депозит в размере 50-100 евро, что обеспечит нашим координаторам возможность начать организацию поездки (бронирование гостиницы, питание, транспорт и т.п.). При покупки тура с авиабилетом, предоплата составит 80% от стоимости всего тура.<\/p>\n<p>Оставшуюся сумму Вы можете выплатить после Вашего прибытия в страну.<\/p>\n<p>Мы оставляем за собой право отменить бронирование, если платежи не будут произведены в установленные сроки.<\/p>\n<p><strong>Форма оплаты<\/strong><\/p>\n<p>Предоплату можно внести одним из следующих способов:<\/p>\n<ul>\n<li>Банковский перевод<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>Окончательный платеж может быть осуществлен следующими способами:<\/p>\n<ul>\n<li>Оплата наличными (при оплате наличными Вы получаете скидку в размере 2% от общей суммы)<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Условия аннуляции тура&nbsp;<\/strong><\/p>\n<p>Если Вы или один из членов Вашей группы желает отменить тур, сообщите об этом нашей компании, как можно скорее в письменной форме.&nbsp;Пожалуйста, обратите внимание, что в данном случае предоплата (200 евро) не подлежит возмещению, но Вы сможете использовать ее в течении всего года и заказать другой тур. В этом случае наша фирма будет вынуждена взять с Вас дополнительные 100 евро для повторного бронирования отеля.<\/p>",
+
            "TourUrl": "www.megatec.ru",
        "IsLandOnly": false,
+
            "BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>\n<p>Сразу же после получения Вашей заявки и обсуждения всех деталей, мы вышлем Вам счет-фактуру на безвозвратный депозит. После получения депозита в размере 50-100 евро (в зависимости от стоимости тура) на человека, Вы получите Тур Ваучер, подтверждающий все детали и условия поездки в Армению<\/p>\n<p><strong>Условия оплаты<\/strong><\/p>\n<p>После бронирования тура необходимо внести безвозвратный депозит в размере 50-100 евро, что обеспечит нашим координаторам возможность начать организацию поездки (бронирование гостиницы, питание, транспорт и т.п.). При покупки тура с авиабилетом, предоплата составит 80% от стоимости всего тура.<\/p>\n<p>Оставшуюся сумму Вы можете выплатить после Вашего прибытия в страну.<\/p>\n<p>Мы оставляем за собой право отменить бронирование, если платежи не будут произведены в установленные сроки.<\/p>\n<p><strong>Форма оплаты<\/strong><\/p>\n<p>Предоплату можно внести одним из следующих способов:<\/p>\n<ul>\n<li>Банковский перевод<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>Окончательный платеж может быть осуществлен следующими способами:<\/p>\n<ul>\n<li>Оплата наличными (при оплате наличными Вы получаете скидку в размере 2% от общей суммы)<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Условия аннуляции тура&nbsp;<\/strong><\/p>\n<p>Если Вы или один из членов Вашей группы желает отменить тур, сообщите об этом нашей компании, как можно скорее в письменной форме.&nbsp;Пожалуйста, обратите внимание, что в данном случае предоплата (200 евро) не подлежит возмещению, но Вы сможете использовать ее в течении всего года и заказать другой тур. В этом случае наша фирма будет вынуждена взять с Вас дополнительные 100 евро для повторного бронирования отеля.<\/p>",
        "IsRestrictMultiHotels": false,
+
            "IsLandOnly": false,
        "IsHotelTemplates": true,
+
            "IsRestrictMultiHotels": false,
        "IsRouteServices": true,
+
            "IsHotelTemplates": true,
        "MultiHotelDelta": 0,
+
            "IsRouteServices": true,
        "Rate": "EU",
+
            "MultiHotelDelta": 0,
        "DateStart": "2018-02-01T00:00:00Z",
+
            "Rate": "EU",
        "DateEnd": "2018-02-26T00:00:00Z",
+
            "DateStart": "2018-01-30T00:00:00Z",
        "Status":         {
+
            "DateEnd": "2018-02-27T00:00:00Z",
            "Key": 3,
+
            "Status":             {
            "Value": "Доступен для продажи"
+
              "Key": 3,
        },
+
              "Value": "Доступен для продажи"
        "Templates":          [
 
            {"$id": "1"},
 
            {"$id": "2"}
 
        ],
 
        "Types": [        {
 
            "Id": 2,
 
            "Name": "Стандартный тур",
 
            "ParentId": null,
 
            "Type": "TourType"
 
        }],
 
        "LinkingFlightsRules":          {
 
            "notCombineDifferentAirlineRule":            {
 
              "airlines": [],
 
              "flightSettings": [],
 
              "enabled": false
 
 
             },
 
             },
             "checkPlusMinus1CharterRule":             {
+
             "Templates":            [
               "FlightSettingPairs": [],
+
              {"$id": "5"},
               "enabled": false
+
              {"$id": "6"},
 +
              {"$id": "7"},
 +
              {"$id": "8"},
 +
              {"$id": "9"}
 +
            ],
 +
            "Types": [            {
 +
              "Id": 2,
 +
              "Name": "Стандартный тур",
 +
              "ParentId": null,
 +
              "Type": "TourType"
 +
            }],
 +
            "LinkingFlightsRules":            {
 +
              "notCombineDifferentAirlineRule":                {
 +
                  "airlines": ["AY2"],
 +
                  "flightSettings": [],
 +
                  "enabled": true
 +
              },
 +
              "checkPlusMinus1CharterRule":               {
 +
                  "FlightSettingPairs": [],
 +
                  "enabled": false
 +
              },
 +
              "notCombineDifferentTariffGroupRule":                {
 +
                  "FlightSettings": [],
 +
                  "enabled": true
 +
              },
 +
              "notCombineDifferentPartnerRule":                {
 +
                  "FlightSettings": [],
 +
                  "enabled": false
 +
              },
 +
              "departureCityEqualsArrivalCityRule":               {
 +
                  "FlightSettingPairs": [],
 +
                  "enabled": false
 +
              },
 +
              "combineOnlySpecificChartersRule":               {
 +
                  "settings": [],
 +
                  "enabled": false
 +
              }
 
             },
 
             },
             "notCombineDifferentTariffGroupRule":             {
+
             "XmlSettings": "<TourProgram xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Key>0<\/Key><TourSettingsViewModel><TourName>Общая проверка системы<\/TourName><TourUrl>www.megatec.ru<\/TourUrl><BookingConditions>Условия бронирования тура.&lt;/p&gt;<\/BookingConditions><ManagerKey>96<\/ManagerKey><TourTypes><int>2<\/int><\/TourTypes><DateBegin>2018-01-30T00:00:00Z<\/DateBegin><DateEnd>2018-02-27T00:00:00Z<\/DateEnd><IsLandOnly>false<\/IsLandOnly><IsRestrictMultiHotels>false<\/IsRestrictMultiHotels><MultiHotelDelta>0<\/MultiHotelDelta><Rate>EU<\/Rate><IsAction>false<\/IsAction><TourLeadDepartment>0<\/TourLeadDepartment><DepartureCities><int>1<\/int><\/DepartureCities><DepartureCountries><int>460<\/int><\/DepartureCountries><\/TourSettingsViewModel><TourConsistencyViewModel><ArrivalCities><int>35<\/int><\/ArrivalCities><Countries><int>90<\/int><\/Countries><ServiceTemplates><ServiceTemplate><Id>3<\/Id><SvKey>1<\/SvKey><FlightData><FlightGroupId>14<\/FlightGroupId><FlightGroups><FlightGroup><Id>13<\/Id><Name>Группа перелетов_0<\/Name><FlightId>14<\/FlightId><Flights><Flight><Id>13<\/Id><Name>Авиаперелет_0<\/Name><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>10760<\/Key><Value>партнер<\/Value><\/IntStringElement><IntStringElement><Key>12668<\/Key><Value>партнер56<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedDepartureCountries><IntStringElement><Key>460<\/Key><Value>Россия<\/Value><\/IntStringElement><\/SelectedDepartureCountries><DepartureCountriesShowAll>false<\/DepartureCountriesShowAll><SelectedDepartureCities><IntStringElement><Key>1<\/Key><Value>Москва<\/Value><\/IntStringElement><\/SelectedDepartureCities><DepartureCitiesShowAll>false<\/DepartureCitiesShowAll><SelectedArrivalCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><\/SelectedArrivalCountries><ArrivalCountriesShowAll>false<\/ArrivalCountriesShowAll><SelectedArrivalCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><\/SelectedArrivalCities><ArrivalCitiesShowAll>false<\/ArrivalCitiesShowAll><SelectedAirlines><StringStringElement><Key>BA7<\/Key><Value>BRITISH  AIRWAYS<\/Value><\/StringStringElement><StringStringElement><Key>7U<\/Key><Value>Авиаэнерго<\/Value><\/StringStringElement><\/SelectedAirlines><AirlinesShowAll>false<\/AirlinesShowAll><SelectedFlights><IntStringElement><Key>882<\/Key><Value>BA7 4444 319<\/Value><\/IntStringElement><\/SelectedFlights><FlightsShowAll>false<\/FlightsShowAll><SelectedDepartureAirports /><DepartureAirportsShowAll>false<\/DepartureAirportsShowAll><SelectedArrivalAirports /><ArrivalAirportsShowAll>false<\/ArrivalAirportsShowAll><SelectedTariffs /><TariffsShowAll>false<\/TariffsShowAll><IntervalFrom xsi:nil=\"true\" /><IntervalTo xsi:nil=\"true\" /><DepartureTimeFrom>00:00<\/DepartureTimeFrom><DepartureTimeTo>23:59<\/DepartureTimeTo><ArrivalTimeFrom>00:00<\/ArrivalTimeFrom><ArrivalTimeTo>23:59<\/ArrivalTimeTo><FlightSourceMode>Local<\/FlightSourceMode><\/Flight><\/Flights><Priority>1<\/Priority><FlightSourceMode>Local<\/FlightSourceMode><\/FlightGroup><\/FlightGroups><FlightSourceMode>Local<\/FlightSourceMode><\/FlightData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>1<\/Id><SvKey>3<\/SvKey><HotelData><HotelGroupId>8<\/HotelGroupId><HotelGroups><HotelGroup><Id>7<\/Id><Name>Проживание_0<\/Name><Hotel><SelectedTourDuration><unsignedByte>3<\/unsignedByte><unsignedByte>4<\/unsignedByte><unsignedByte>5<\/unsignedByte><unsignedByte>6<\/unsignedByte><unsignedByte>7<\/unsignedByte><unsignedByte>8<\/unsignedByte><unsignedByte>9<\/unsignedByte><unsignedByte>10<\/unsignedByte><unsignedByte>11<\/unsignedByte><unsignedByte>12<\/unsignedByte><unsignedByte>13<\/unsignedByte><unsignedByte>14<\/unsignedByte><unsignedByte>17<\/unsignedByte><\/SelectedTourDuration><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedCountryByHotel><Key>90<\/Key><Value>Австрия<\/Value><\/SelectedCountryByHotel><CountriesByHotelShowAll>false<\/CountriesByHotelShowAll><SelectedPartners><IntStringElement><Key>12667<\/Key><Value>Партнер-покупатель1<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCitiesByHotel><SelectedCitiesByHotel><Key>35<\/Key><Value>Вена<\/Value><\/SelectedCitiesByHotel><\/SelectedCitiesByHotel><CitiesByHotelShowAll>false<\/CitiesByHotelShowAll><FilteredAddedHotels /><AllHotelInPacket>true<\/AllHotelInPacket><\/Hotel><Description>Австрия \\ Вена<\/Description><\/HotelGroup><\/HotelGroups><\/HotelData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>10<\/Id><SvKey>6<\/SvKey><CommonServiceData><SelectedPacket><Key>882<\/Key><Value>Доминикана<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>12668<\/Key><Value>5656<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCountries><IntStringElement><Key>6245<\/Key><Value>Доминиканская Республика<\/Value><\/IntStringElement><\/SelectedCountries><CountriesShowAll>false<\/CountriesShowAll><SelectedCities /><CitiesShowAll>false<\/CitiesShowAll><SelectedCodes><IntStringElement><Key>297<\/Key><Value>Страховка от несчастного случая<\/Value><\/IntStringElement><\/SelectedCodes><CodesShowAll>false<\/CodesShowAll><SelectedSubcodes1><IntStringElement><Key>18<\/Key><Value>2<\/Value><\/IntStringElement><\/SelectedSubcodes1><Subcodes1ShowAll>false<\/Subcodes1ShowAll><SelectedSubcodes2 /><Subcodes2ShowAll>false<\/Subcodes2ShowAll><PartnerBasedOnServiceTemplateId xsi:nil=\"true\" /><AllCodesInPacket>false<\/AllCodesInPacket><\/CommonServiceData><DayDurationParameters><StartServiceType><Type>2<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/StartServiceType><EndServiceType><Type>3<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/EndServiceType><Duration xsi:nil=\"true\" /><\/DayDurationParameters><IsHooded xsi:nil=\"true\" /><IsDeleted>true<\/IsDeleted><IsNotCalculate>true<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>0<\/IsCity><IsRoute>0<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>7<\/Id><SvKey>4<\/SvKey><CommonServiceData><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>12663<\/Key><Value>Afcom Co. Ltd<\/Value><\/IntStringElement><IntStringElement><Key>12667<\/Key><Value>Партнер-покупатель1<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><IntStringElement><Key>6245<\/Key><Value>Доминиканская Республика<\/Value><\/IntStringElement><\/SelectedCountries><CountriesShowAll>false<\/CountriesShowAll><SelectedCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><IntStringElement><Key>1046<\/Key><Value>Санто-Доминго<\/Value><\/IntStringElement><\/SelectedCities><CitiesShowAll>false<\/CitiesShowAll><SelectedCodes><IntStringElement><Key>175<\/Key><Value>Колесо обозрения<\/Value><\/IntStringElement><IntStringElement><Key>578<\/Key><Value>История Санто-Доминго<\/Value><\/IntStringElement><IntStringElement><Key>741<\/Key><Value>2<\/Value><\/IntStringElement><IntStringElement><Key>742<\/Key><Value>3<\/Value><\/IntStringElement><IntStringElement><Key>743<\/Key><Value>4<\/Value><\/IntStringElement><IntStringElement><Key>745<\/Key><Value>6<\/Value><\/IntStringElement><IntStringElement><Key>744<\/Key><Value>5<\/Value><\/IntStringElement><IntStringElement><Key>746<\/Key><Value>7<\/Value><\/IntStringElement><IntStringElement><Key>747<\/Key><Value>8<\/Value><\/IntStringElement><IntStringElement><Key>748<\/Key><Value>9<\/Value><\/IntStringElement><\/SelectedCodes><CodesShowAll>false<\/CodesShowAll><SelectedSubcodes1><IntStringElement><Key>39<\/Key><Value>Car<\/Value><\/IntStringElement><IntStringElement><Key>37<\/Key><Value>Мини-автобус 10 чел.<\/Value><\/IntStringElement><\/SelectedSubcodes1><Subcodes1ShowAll>false<\/Subcodes1ShowAll><SelectedSubcodes2 /><Subcodes2ShowAll>false<\/Subcodes2ShowAll><PartnerBasedOnServiceTemplateId xsi:nil=\"true\" /><AllCodesInPacket>false<\/AllCodesInPacket><\/CommonServiceData><DayDurationParameters><StartServiceType><Type>2<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/StartServiceType><EndServiceType><Type xsi:nil=\"true\" /><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/EndServiceType><Duration xsi:nil=\"true\" /><\/DayDurationParameters><IsHooded>false<\/IsHooded><IsDeleted>true<\/IsDeleted><IsNotCalculate>true<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>0<\/IsRoute><IsPartnerBasedOn>1<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>4<\/Id><SvKey>1<\/SvKey><FlightData><FlightGroupId>6<\/FlightGroupId><FlightGroups><FlightGroup><Id>5<\/Id><Name>Группа перелетов_1<\/Name><FlightId>5<\/FlightId><Flights><Flight><Id>4<\/Id><Name>Авиаперелет_0<\/Name><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>10760<\/Key><Value>партнер<\/Value><\/IntStringElement><IntStringElement><Key>12668<\/Key><Value>партнер56<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedDepartureCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><\/SelectedDepartureCountries><DepartureCountriesShowAll>false<\/DepartureCountriesShowAll><SelectedDepartureCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><\/SelectedDepartureCities><DepartureCitiesShowAll>false<\/DepartureCitiesShowAll><SelectedArrivalCountries><IntStringElement><Key>460<\/Key><Value>Россия<\/Value><\/IntStringElement><\/SelectedArrivalCountries><ArrivalCountriesShowAll>false<\/ArrivalCountriesShowAll><SelectedArrivalCities><IntStringElement><Key>1<\/Key><Value>Москва<\/Value><\/IntStringElement><\/SelectedArrivalCities><ArrivalCitiesShowAll>false<\/ArrivalCitiesShowAll><SelectedAirlines><StringStringElement><Key>BA8<\/Key><Value>BRITISH  AIRWAYS<\/Value><\/StringStringElement><StringStringElement><Key>7U<\/Key><Value>Авиаэнерго<\/Value><\/StringStringElement><\/SelectedAirlines><AirlinesShowAll>false<\/AirlinesShowAll><SelectedFlights /><FlightsShowAll>false<\/FlightsShowAll><SelectedDepartureAirports /><DepartureAirportsShowAll>false<\/DepartureAirportsShowAll><SelectedArrivalAirports /><ArrivalAirportsShowAll>false<\/ArrivalAirportsShowAll><SelectedTariffs /><TariffsShowAll>false<\/TariffsShowAll><IntervalFrom xsi:nil=\"true\" /><IntervalTo xsi:nil=\"true\" /><DepartureTimeFrom>00:00<\/DepartureTimeFrom><DepartureTimeTo>23:59<\/DepartureTimeTo><ArrivalTimeFrom>00:00<\/ArrivalTimeFrom><ArrivalTimeTo>23:59<\/ArrivalTimeTo><FlightSourceMode>Local<\/FlightSourceMode><\/Flight><\/Flights><Priority>1<\/Priority><FlightSourceMode>Local<\/FlightSourceMode><\/FlightGroup><\/FlightGroups><FlightSourceMode>Local<\/FlightSourceMode><\/FlightData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><\/ServiceTemplates><ServiceTemplateId>11<\/ServiceTemplateId><\/TourConsistencyViewModel><MenuViewModel><Status><Key>ForSale<\/Key><Value>Доступен для продажи<\/Value><\/Status><\/MenuViewModel><LinkingFlightsRulesViewModel><NotCombineDifferentAirlineRule><Enabled>true<\/Enabled><Airlines><string>AY2<\/string><\/Airlines><FlightSettings /><\/NotCombineDifferentAirlineRule><CheckPlusMinus1CharterRule><Enabled>false<\/Enabled><\/CheckPlusMinus1CharterRule><NotCombineDifferentTariffGroupRule><Enabled>true<\/Enabled><\/NotCombineDifferentTariffGroupRule><NotCombineDifferentPartnerRule><Enabled>false<\/Enabled><\/NotCombineDifferentPartnerRule><DepartureCityEqualsArrivalCityRule><Enabled>false<\/Enabled><\/DepartureCityEqualsArrivalCityRule><CombineOnlySpecificChartersRule><Enabled>false<\/Enabled><Settings /><\/CombineOnlySpecificChartersRule><\/LinkingFlightsRulesViewModel><\/TourProgram>",
              "FlightSettings": [],
+
            "Type": "TourProgram"
              "enabled": true
+
        }
            },
+
       ],
            "notCombineDifferentPartnerRule":            {
+
       "TourDurations": [4],
              "FlightSettings": [],
 
              "enabled": false
 
            },
 
            "departureCityEqualsArrivalCityRule":            {
 
              "FlightSettingPairs": [],
 
              "enabled": false
 
            },
 
            "combineOnlySpecificChartersRule":            {
 
              "settings": [],
 
              "enabled": false
 
            }
 
        },
 
        "XmlSettings": "<TourProgram xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Key>0<\/Key><TourSettingsViewModel><TourName> Автобусный тур (новые проверки)_2<\/TourName><TourUrl>www.megatec.ru<\/TourUrl><BookingConditions>&lt;p&gt;&lt;strong&gt;Условия бронирования&lt;/strong&gt;&lt;/p&gt;\r\n&lt;p&gt;Сразу же после получения Вашей заявки и обсуждения всех деталей, мы вышлем Вам счет-фактуру на безвозвратный депозит. После получения депозита в размере 50-100 евро (в зависимости от стоимости тура) на человека, Вы получите Тур Ваучер, подтверждающий все детали и условия поездки в Армению.&lt;/p&gt;\r\n&lt;p&gt;&lt;strong&gt;Условия оплаты&lt;/strong&gt;&lt;/p&gt;\r\n&lt;p&gt;После бронирования тура необходимо внести безвозвратный депозит в размере 50-100 евро, что обеспечит нашим координаторам возможность начать организацию поездки (бронирование гостиницы, питание, транспорт и т.п.). При покупки тура с авиабилетом, предоплата составит 80% от стоимости всего тура.&lt;/p&gt;\r\n&lt;p&gt;Оставшуюся сумму Вы можете выплатить после Вашего прибытия в страну.&lt;/p&gt;\r\n&lt;p&gt;Мы оставляем за собой право отменить бронирование, если платежи не будут произведены в установленные сроки.&lt;/p&gt;\r\n&lt;p&gt;&lt;strong&gt;Форма оплаты&lt;/strong&gt;&lt;/p&gt;\r\n&lt;p&gt;Предоплату можно внести одним из следующих способов:&lt;/p&gt;\r\n&lt;ul&gt;\r\n&lt;li&gt;Банковский перевод&lt;/li&gt;\r\n&lt;li&gt;Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)&lt;/li&gt;\r\n&lt;/ul&gt;\r\n&lt;p&gt;Окончательный платеж может быть осуществлен следующими способами:&lt;/p&gt;\r\n&lt;ul&gt;\r\n&lt;li&gt;Оплата наличными (при оплате наличными Вы получаете скидку в размере 2% от общей суммы)&lt;/li&gt;\r\n&lt;li&gt;Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)&lt;/li&gt;\r\n&lt;/ul&gt;\r\n&lt;p&gt;&amp;nbsp;&lt;/p&gt;\r\n&lt;p&gt;&lt;strong&gt;Условия аннуляции тура&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;\r\n&lt;p&gt;Если Вы или один из членов Вашей группы желает отменить тур, сообщите об этом нашей компании, как можно скорее в письменной форме.&amp;nbsp;Пожалуйста, обратите внимание, что в данном случае предоплата (200 евро) не подлежит возмещению, но Вы сможете использовать ее в течении всего года и заказать другой тур. В этом случае наша фирма будет вынуждена взять с Вас дополнительные 100 евро для повторного бронирования отеля.&lt;/p&gt;<\/BookingConditions><ManagerKey>127<\/ManagerKey><TourTypes><int>2<\/int><\/TourTypes><DateBegin>2018-02-01T00:00:00Z<\/DateBegin><DateEnd>2018-02-26T00:00:00Z<\/DateEnd><IsLandOnly>false<\/IsLandOnly><IsRestrictMultiHotels>false<\/IsRestrictMultiHotels><MultiHotelDelta>0<\/MultiHotelDelta><Rate>EU<\/Rate><IsAction>false<\/IsAction><TourLeadDepartment>0<\/TourLeadDepartment><DepartureCities><int>1<\/int><int>312<\/int><int>259<\/int><int>1082<\/int><int>1099<\/int><\/DepartureCities><DepartureCountries><int>460<\/int><\/DepartureCountries><\/TourSettingsViewModel><TourConsistencyViewModel><ArrivalCities><int>35<\/int><\/ArrivalCities><Countries><int>90<\/int><\/Countries><ServiceTemplates><ServiceTemplate><Id>8<\/Id><SvKey>14<\/SvKey><BusTransferData><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы__<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>12664<\/Key><Value>Новый Путь<\/Value><\/IntStringElement><IntStringElement><Key>12662<\/Key><Value>Bonsai Co.Ltd<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCountriesFrom><IntStringElement><Key>460<\/Key><Value>Россия<\/Value><\/IntStringElement><\/SelectedCountriesFrom><CountriesFromShowAll>false<\/CountriesFromShowAll><SelectedCitiesFrom><IntStringElement><Key>1<\/Key><Value>Москва<\/Value><\/IntStringElement><\/SelectedCitiesFrom><CitiesFromShowAll>false<\/CitiesFromShowAll><SelectedCountriesTo><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><\/SelectedCountriesTo><CountriesToShowAll>false<\/CountriesToShowAll><SelectedCitiesTo><IntStringElement><Key>275<\/Key><Value>Арльберг<\/Value><\/IntStringElement><\/SelectedCitiesTo><CitiesToShowAll>false<\/CitiesToShowAll><SelectedCodes><IntStringElement><Key>1127<\/Key><Value>Переезд 2_ 16:54-18:24 (+3)<\/Value><\/IntStringElement><IntStringElement><Key>1133<\/Key><Value>Переезд 4 (+2)<\/Value><\/IntStringElement><\/SelectedCodes><CodesShowAll>false<\/CodesShowAll><SelectedSubcodes1 /><Subcodes1ShowAll>false<\/Subcodes1ShowAll><SelectedSubcodes2 /><Subcodes2ShowAll>false<\/Subcodes2ShowAll><DepartureTimeFrom>00:00<\/DepartureTimeFrom><DepartureTimeTo>23:59<\/DepartureTimeTo><ArrivalTimeFrom>00:00<\/ArrivalTimeFrom><ArrivalTimeTo>23:59<\/ArrivalTimeTo><\/BusTransferData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>1<\/Id><SvKey>3<\/SvKey><HotelData><HotelGroupId>23<\/HotelGroupId><HotelGroups><HotelGroup><Id>22<\/Id><Name>Проживание_0<\/Name><Hotel><SelectedTourDuration><unsignedByte>7<\/unsignedByte><unsignedByte>8<\/unsignedByte><\/SelectedTourDuration><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedCountryByHotel><Key>90<\/Key><Value>Австрия<\/Value><\/SelectedCountryByHotel><CountriesByHotelShowAll>false<\/CountriesByHotelShowAll><SelectedPartners><IntStringElement><Key>12667<\/Key><Value>Партнер-покупатель1<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCitiesByHotel><SelectedCitiesByHotel><Key>35<\/Key><Value>Вена<\/Value><\/SelectedCitiesByHotel><\/SelectedCitiesByHotel><CitiesByHotelShowAll>false<\/CitiesByHotelShowAll><FilteredAddedHotels><HotelDetail><HotelId>178<\/HotelId><PartnerId>12667<\/PartnerId><CountryId>0<\/CountryId><CityId>35<\/CityId><ResortId xsi:nil=\"true\" /><\/HotelDetail><\/FilteredAddedHotels><AllHotelInPacket>false<\/AllHotelInPacket><\/Hotel><Description>Австрия \\ Вена \\ <\/Description><\/HotelGroup><\/HotelGroups><\/HotelData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><\/ServiceTemplates><ServiceTemplateId>15<\/ServiceTemplateId><\/TourConsistencyViewModel><MenuViewModel><Status><Key>ForSale<\/Key><Value>Доступен для продажи<\/Value><\/Status><\/MenuViewModel><LinkingFlightsRulesViewModel><NotCombineDifferentAirlineRule><Enabled>false<\/Enabled><Airlines /><FlightSettings /><\/NotCombineDifferentAirlineRule><CheckPlusMinus1CharterRule><Enabled>false<\/Enabled><\/CheckPlusMinus1CharterRule><NotCombineDifferentTariffGroupRule><Enabled>true<\/Enabled><\/NotCombineDifferentTariffGroupRule><NotCombineDifferentPartnerRule><Enabled>false<\/Enabled><\/NotCombineDifferentPartnerRule><DepartureCityEqualsArrivalCityRule><Enabled>false<\/Enabled><\/DepartureCityEqualsArrivalCityRule><CombineOnlySpecificChartersRule><Enabled>false<\/Enabled><Settings /><\/CombineOnlySpecificChartersRule><\/LinkingFlightsRulesViewModel><\/TourProgram>",
 
        "Type": "TourProgram"
 
       }],
 
       "TourDurations": [10],
 
 
       "TourDates": ["2018-02-25T00:00:00"],
 
       "TourDates": ["2018-02-25T00:00:00"],
 
       "HotelCities": [      {
 
       "HotelCities": [      {
Строка 1080: Строка 1306:
 
         "Type": "Resort"
 
         "Type": "Resort"
 
       }],
 
       }],
       "HotelCategories": [     {
+
       "HotelCategories":       [
         "Key": 56,
+
                  {
        "Name": "2*",
+
            "Key": 23,
        "PrintNumber": 2,
+
            "Name": "1*",
         "Type": "HotelCatigory"
+
            "PrintNumber": 1,
       }],
+
            "Type": "HotelCatigory"
       "Hotels": [     {
+
         },
        "Key": 178,
+
                  {
        "Country":         {
+
            "Key": 56,
             "key": 90,
+
            "Name": "2*",
            "name": "Австрия",
+
            "PrintNumber": 2,
            "Code": "AUS",
+
            "Type": "HotelCatigory"
            "CitizenName": "Австрия",
+
         },
            "CitizenNameLat": "AUSTRIA",
+
                  {
            "PassportMinDurCheckFrom": 0,
+
            "Key": 66,
            "CheckINN": false,
+
            "Name": "4*Boutique",
            "PassportMinDur": null,
+
            "PrintNumber": null,
            "INNName": "ИНН",
+
            "Type": "HotelCatigory"
            "Web": 1,
+
        }
            "WebImage": "/pics/animate/austria.gif",
+
       ],
             "WebHTTP": "",
+
       "Hotels":       [
             "AnkLang": 0,
+
                  {
             "Type": "Country"
+
            "Key": 705,
 +
            "Country":             {
 +
              "key": 90,
 +
              "name": "Австрия",
 +
              "Code": "AUS",
 +
              "CitizenName": "Австрия",
 +
              "CitizenNameLat": "AUSTRIA",
 +
              "PassportMinDurCheckFrom": 0,
 +
              "CheckINN": false,
 +
              "PassportMinDur": null,
 +
              "INNName": "ИНН",
 +
              "Web": 1,
 +
              "WebImage": "/pics/animate/austria.gif",
 +
              "WebHTTP": "",
 +
              "AnkLang": 0,
 +
              "Type": "Country"
 +
            },
 +
             "City":            {
 +
              "key": 35,
 +
              "Country":                {
 +
                  "key": 90,
 +
                  "name": "Австрия",
 +
                  "Code": "AUS",
 +
                  "CitizenName": "Австрия",
 +
                  "CitizenNameLat": "AUSTRIA",
 +
                  "PassportMinDurCheckFrom": 0,
 +
                  "CheckINN": false,
 +
                  "PassportMinDur": null,
 +
                  "INNName": "ИНН",
 +
                  "Web": 1,
 +
                  "WebImage": "/pics/animate/austria.gif",
 +
                  "WebHTTP": "",
 +
                  "AnkLang": 0,
 +
                  "Type": "Country"
 +
              },
 +
              "name": "Вена",
 +
              "Code": "VIE",
 +
              "Web": 0,
 +
              "RSKey": 0,
 +
              "WebImage": null,
 +
              "IsDeparture": 1,
 +
              "Type": "City"
 +
            },
 +
            "Resort": null,
 +
            "Name": "Continental",
 +
            "Category":            {
 +
              "Key": 23,
 +
              "Name": "1*",
 +
              "PrintNumber": 1,
 +
              "Type": "HotelCatigory"
 +
            },
 +
            "TimeFrom": null,
 +
            "TimeTo": null,
 +
            "HTTP": null,
 +
            "Stars": "1*",
 +
            "TimeIsEmpty": true,
 +
             "NameLat": "Continental",
 +
            "Address": null,
 +
             "IsCruise": 0,
 +
            "Phone": null,
 +
            "Code": null,
 +
             "Type": "Hotel"
 
         },
 
         },
        "City":          {
+
                  {
             "key": 35,
+
             "Key": 178,
 
             "Country":            {
 
             "Country":            {
 
               "key": 90,
 
               "key": 90,
Строка 1122: Строка 1409:
 
               "Type": "Country"
 
               "Type": "Country"
 
             },
 
             },
             "name": "Вена",
+
             "City":            {
            "Code": "VIE",
+
              "key": 35,
            "Web": 0,
+
              "Country":                {
            "RSKey": 0,
+
                  "key": 90,
             "WebImage": null,
+
                  "name": "Австрия",
             "IsDeparture": 1,
+
                  "Code": "AUS",
             "Type": "City"
+
                  "CitizenName": "Австрия",
 +
                  "CitizenNameLat": "AUSTRIA",
 +
                  "PassportMinDurCheckFrom": 0,
 +
                  "CheckINN": false,
 +
                  "PassportMinDur": null,
 +
                  "INNName": "ИНН",
 +
                  "Web": 1,
 +
                  "WebImage": "/pics/animate/austria.gif",
 +
                  "WebHTTP": "",
 +
                  "AnkLang": 0,
 +
                  "Type": "Country"
 +
              },
 +
              "name": "Вена",
 +
              "Code": "VIE",
 +
              "Web": 0,
 +
              "RSKey": 0,
 +
              "WebImage": null,
 +
              "IsDeparture": 1,
 +
              "Type": "City"
 +
            },
 +
            "Resort": null,
 +
             "Name": "Ananas",
 +
            "Category":            {
 +
              "Key": 56,
 +
              "Name": "2*",
 +
              "PrintNumber": 2,
 +
              "Type": "HotelCatigory"
 +
            },
 +
            "TimeFrom": "1900-01-01T11:00:00",
 +
            "TimeTo": "1900-01-01T12:00:00",
 +
            "HTTP": "http://booking.panteon.ru/TourPrograms/Home/Tour/?tourKey=100000007",
 +
            "Stars": "2*",
 +
            "TimeIsEmpty": false,
 +
            "NameLat": "Ananas",
 +
            "Address": null,
 +
             "IsCruise": 0,
 +
            "Phone": "(+43/1) 546200",
 +
            "Code": null,
 +
             "Type": "Hotel"
 
         },
 
         },
        "Resort": null,
+
                  {
        "Name": "Ananas",
+
            "Key": 707,
        "Category":         {
+
            "Country":            {
             "Key": 56,
+
              "key": 90,
             "Name": "2*",
+
              "name": "Австрия",
             "PrintNumber": 2,
+
              "Code": "AUS",
             "Type": "HotelCatigory"
+
              "CitizenName": "Австрия",
 +
              "CitizenNameLat": "AUSTRIA",
 +
              "PassportMinDurCheckFrom": 0,
 +
              "CheckINN": false,
 +
              "PassportMinDur": null,
 +
              "INNName": "ИНН",
 +
              "Web": 1,
 +
              "WebImage": "/pics/animate/austria.gif",
 +
              "WebHTTP": "",
 +
              "AnkLang": 0,
 +
              "Type": "Country"
 +
            },
 +
            "City":            {
 +
              "key": 35,
 +
              "Country":                {
 +
                  "key": 90,
 +
                  "name": "Австрия",
 +
                  "Code": "AUS",
 +
                  "CitizenName": "Австрия",
 +
                  "CitizenNameLat": "AUSTRIA",
 +
                  "PassportMinDurCheckFrom": 0,
 +
                  "CheckINN": false,
 +
                  "PassportMinDur": null,
 +
                  "INNName": "ИНН",
 +
                  "Web": 1,
 +
                  "WebImage": "/pics/animate/austria.gif",
 +
                  "WebHTTP": "",
 +
                  "AnkLang": 0,
 +
                  "Type": "Country"
 +
              },
 +
              "name": "Вена",
 +
              "Code": "VIE",
 +
              "Web": 0,
 +
              "RSKey": 0,
 +
              "WebImage": null,
 +
              "IsDeparture": 1,
 +
              "Type": "City"
 +
            },
 +
            "Resort": null,
 +
            "Name": "Beim Theresianum",
 +
            "Category":             {
 +
              "Key": 66,
 +
              "Name": "4*Boutique",
 +
              "PrintNumber": null,
 +
              "Type": "HotelCatigory"
 +
            },
 +
             "TimeFrom": null,
 +
            "TimeTo": null,
 +
            "HTTP": null,
 +
             "Stars": "4*Boutique",
 +
            "TimeIsEmpty": true,
 +
             "NameLat": "Beim Theresianum",
 +
            "Address": null,
 +
            "IsCruise": 0,
 +
            "Phone": null,
 +
            "Code": null,
 +
             "Type": "Hotel"
 
         },
 
         },
        "TimeFrom": "1900-01-01T11:00:00",
+
                  {
        "TimeTo": "1900-01-01T12:00:00",
+
            "Key": 709,
        "HTTP": "http://booking.panteon.ru/TourPrograms/Home/Tour/?tourKey=100000007",
+
            "Country":            {
        "Stars": "2*",
+
              "key": 90,
        "TimeIsEmpty": false,
+
              "name": "Австрия",
        "NameLat": "Ananas",
+
              "Code": "AUS",
        "Address": null,
+
              "CitizenName": "Австрия",
        "IsCruise": 0,
+
              "CitizenNameLat": "AUSTRIA",
        "Phone": "(+43/1) 546200",
+
              "PassportMinDurCheckFrom": 0,
        "Code": null,
+
              "CheckINN": false,
        "Type": "Hotel"
+
              "PassportMinDur": null,
       }],
+
              "INNName": "ИНН",
 +
              "Web": 1,
 +
              "WebImage": "/pics/animate/austria.gif",
 +
              "WebHTTP": "",
 +
              "AnkLang": 0,
 +
              "Type": "Country"
 +
            },
 +
            "City":            {
 +
              "key": 35,
 +
              "Country":                {
 +
                  "key": 90,
 +
                  "name": "Австрия",
 +
                  "Code": "AUS",
 +
                  "CitizenName": "Австрия",
 +
                  "CitizenNameLat": "AUSTRIA",
 +
                  "PassportMinDurCheckFrom": 0,
 +
                  "CheckINN": false,
 +
                  "PassportMinDur": null,
 +
                  "INNName": "ИНН",
 +
                  "Web": 1,
 +
                  "WebImage": "/pics/animate/austria.gif",
 +
                  "WebHTTP": "",
 +
                  "AnkLang": 0,
 +
                  "Type": "Country"
 +
              },
 +
              "name": "Вена",
 +
              "Code": "VIE",
 +
              "Web": 0,
 +
              "RSKey": 0,
 +
              "WebImage": null,
 +
              "IsDeparture": 1,
 +
              "Type": "City"
 +
            },
 +
            "Resort": null,
 +
            "Name": "Am Brilliantengrund",
 +
            "Category": null,
 +
            "TimeFrom": null,
 +
            "TimeTo": null,
 +
            "HTTP": null,
 +
            "Stars": "",
 +
            "TimeIsEmpty": true,
 +
            "NameLat": "Am Brilliantengrund",
 +
            "Address": null,
 +
            "IsCruise": 0,
 +
            "Phone": null,
 +
            "Code": null,
 +
            "Type": "Hotel"
 +
        }
 +
       ],
 
       "Pansions":      [
 
       "Pansions":      [
 +
                  {
 +
            "Key": 46,
 +
            "Code": "RO",
 +
            "Name": "RO",
 +
            "NameLat": null,
 +
            "Type": "Pansion"
 +
        },
 
                   {
 
                   {
 
             "Key": 4,
 
             "Key": 4,
Строка 1166: Строка 1602:
 
         }
 
         }
 
       ],
 
       ],
       "Airlines": [],
+
       "Airlines":       [
       "FlightTariffs": [],
+
                  {
 +
            "Key": 8,
 +
            "Code": "BA7",
 +
            "Name": "BRITISH  AIRWAYS",
 +
            "NameLat": "en_BRITISH  AIRWAYS",
 +
            "Type": "AirLine"
 +
        },
 +
                  {
 +
            "Key": 3,
 +
            "Code": "7U",
 +
            "Name": "Авиаэнерго",
 +
            "NameLat": "en_Авиаэнерго",
 +
            "Type": "AirLine"
 +
        }
 +
      ],
 +
       "FlightTariffs": [     {
 +
        "Key": 89,
 +
        "Code": "Y",
 +
        "Name": "Экономический класс",
 +
        "NameLat": "Coach economy",
 +
        "Group": null,
 +
        "Type": "AirService"
 +
      }],
 
       "DepartureCities": [      {
 
       "DepartureCities": [      {
         "key": -1,
+
         "key": 1,
         "Country": null,
+
         "Country":          {
         "name": "Без перелета",
+
            "key": 460,
         "Code": null,
+
            "name": "Россия",
         "Web": null,
+
            "Code": null,
         "RSKey": null,
+
            "CitizenName": "Россия",
 +
            "CitizenNameLat": "Russia",
 +
            "PassportMinDurCheckFrom": 0,
 +
            "CheckINN": true,
 +
            "PassportMinDur": null,
 +
            "INNName": "ИНН",
 +
            "Web": 0,
 +
            "WebImage": "",
 +
            "WebHTTP": "",
 +
            "AnkLang": 0,
 +
            "Type": "Country"
 +
        },
 +
         "name": "Москва",
 +
         "Code": "MOW",
 +
         "Web": 0,
 +
         "RSKey": 0,
 
         "WebImage": null,
 
         "WebImage": null,
         "IsDeparture": null,
+
         "IsDeparture": 1,
 +
        "Type": "City"
 +
      }],
 +
      "DepartureAirports": [      {
 +
        "Key": 52,
 +
        "Code": "SVO4",
 +
        "Name": "Шереметьево-24",
 +
        "NameLat": "Шереметьево-",
 +
        "CityKey": 1,
 +
        "CountryKey": 460,
 +
        "Letter": "S",
 +
        "Site": 0,
 +
        "Type": "Airport"
 +
      }],
 +
      "ArrivalCities": [      {
 +
        "key": 1,
 +
        "Country":          {
 +
            "key": 460,
 +
            "name": "Россия",
 +
            "Code": null,
 +
            "CitizenName": "Россия",
 +
            "CitizenNameLat": "Russia",
 +
            "PassportMinDurCheckFrom": 0,
 +
            "CheckINN": true,
 +
            "PassportMinDur": null,
 +
            "INNName": "ИНН",
 +
            "Web": 0,
 +
            "WebImage": "",
 +
            "WebHTTP": "",
 +
            "AnkLang": 0,
 +
            "Type": "Country"
 +
        },
 +
        "name": "Москва",
 +
        "Code": "MOW",
 +
        "Web": 0,
 +
        "RSKey": 0,
 +
        "WebImage": null,
 +
        "IsDeparture": 1,
 
         "Type": "City"
 
         "Type": "City"
 
       }],
 
       }],
       "DepartureAirports": [],
+
       "ArrivalAirports": [     {
      "ArrivalCities": [],
+
        "Key": 12,
      "ArrivalAirports": [],
+
        "Code": "DME",
 +
        "Name": "Домодедово",
 +
        "NameLat": "Домодедово",
 +
        "CityKey": 1,
 +
        "CountryKey": 460,
 +
        "Letter": "D",
 +
        "Site": 0,
 +
        "Type": "Airport"
 +
      }],
 
       "HotelTypes":      [
 
       "HotelTypes":      [
                  {
 
            "key": 93,
 
            "name": "Best choice",
 
            "Type": "HotelType"
 
        },
 
                  {
 
            "key": 166,
 
            "name": "Майские праздники",
 
            "Type": "HotelType"
 
        },
 
 
                   {
 
                   {
 
             "key": 94,
 
             "key": 94,
Строка 1202: Строка 1710:
 
             "name": "Рекомендуемые",
 
             "name": "Рекомендуемые",
 
             "Type": "HotelType"
 
             "Type": "HotelType"
        },
 
                  {
 
            "key": 201,
 
            "name": "222",
 
            "Type": "HotelType"
 
        },
 
                  {
 
            "key": 206,
 
            "name": "Нпа новый улучшенный",
 
            "Type": "HotelType"
 
        },
 
                  {
 
            "key": 200,
 
            "name": "Новый который лучший",
 
            "Type": "HotelType"
 
        },
 
                  {
 
            "key": 177,
 
            "name": "Хитрый отель: работает как хочет",
 
            "Type": "HotelType"
 
        }
 
      ]
 
  }
 
}
 
 
http://dev1-22:9000/TourSearchOwin/Tour?DepartureCityKeys=312&Dates=25.02.2018&Dates=26.02.2018&Durations=9&Durations=10&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=4&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
 
 
http://dev1-22:9000/TourSearchOwin/Tour?DepartureCityKeys=312&Dates=25.02.2018&Dates=26.02.2018&Durations=9&Durations=10&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=4&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false&wrongLicenseFileUpperTitle=%D0%9D%D0%B5%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D1%8B%D0%B9+%D1%84%D0%B0%D0%B9%D0%BB+%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B8.&_=1519198071922
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода Duration
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourDate=25.02.2018,26.02.2018&tourTypes=-1&term=
 
</syntaxhighlight>
 
Возвращаемый результат метода Duration (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
[
 
  7,
 
  8,
 
  10,
 
  12,
 
  15,
 
  18
 
]
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
 
 
==Загрузка справочников==
 
 
 
 
===Выгрузка списка категорий отелей (GetHotelCategories)===
 
Метод возвращает список категорий отелей (примеры: 3*, 4*, Apts и т.д.).
 
* Формат запроса:
 
** ?action=GetHotelCategories
 
* Принимаемые параметры:
 
** '''id''' – идентификатор категории отеля (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
 
* Возвращаемый результат:
 
** '''id''' – идентификатор категории отеля
 
** '''name''' – название категории отеля
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода GetHotelCategories
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/searchApi?action=GetHotelCategories
 
</syntaxhighlight>
 
Возвращаемый результат метода GetHotelCategories (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "version": "1.0",
 
  "hotelCategories":    [
 
            {
 
        "id": 59,
 
        "name": "5*"
 
      },
 
            {
 
        "id": 58,
 
        "name": "4*"
 
      },
 
            {
 
        "id": 57,
 
        "name": "3*"
 
      }
 
  ]
 
}
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
===Выгрузка списка отелей (GetHotels)===
 
Метод возвращает список всех доступных отелей, на которые есть актуальные цены.
 
* Формат запроса:
 
** ?action=GetHotels
 
* Принимаемые параметры:
 
** '''id''' – идентификатор отеля (опциональный, передача в запрос нескольких id не обрабатывается, в этом случае возвращаются все результаты. Если указан, то запрашивается только одна запись)
 
* Возвращаемый результат:
 
** '''id''' – идентификатор отеля
 
** '''name''' – название отеля
 
** '''hotelCategoryId''' – идентификатор категории отеля
 
** '''resortId''' – идентификатор города, в котором расположен отель
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода GetHotels
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/searchApi?action=GetHotels
 
</syntaxhighlight>
 
Возвращаемый результат метода GetHotels (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "version": "1.0",
 
  "hotels":    [
 
            {
 
        "id": 672,
 
        "name": "'Opal",
 
        "hotelCategoryId": 59,
 
        "resortId": 0
 
      },
 
            {
 
        "id": 106,
 
        "name": "OPERA LAFAYETTE",
 
        "hotelCategoryId": 23,
 
        "resortId": 42
 
      },
 
            {
 
        "id": 683,
 
        "name": "Altstadt Vienna",
 
        "hotelCategoryId": 23,
 
        "resortId": 0
 
      },
 
            {
 
        "id": 702,
 
        "name": "Albatros",
 
        "hotelCategoryId": 57,
 
        "resortId": 0
 
      },
 
            {
 
        "id": 709,
 
        "name": "Am Brilliantengrund",
 
        "hotelCategoryId": 23,
 
        "resortId": 40
 
      },
 
            {
 
        "id": 2362,
 
        "name": "Gastehaus Franz Riml",
 
        "hotelCategoryId": 58,
 
        "resortId": 0
 
      }           
 
  ]
 
}
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
 
==Поиск туров (GetTours)==
 
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены. Количество туров в выдаче регулируется параметром '''count'''.
 
* Формат запроса:
 
** ?action=GetTours&count=int&countryId=int&departCityId=int&dateFrom=date&dateTo=date&adults=int&kids=int&nightsMin=int&nightsMax=int&currencyId=int
 
 
* Принимаемые параметры ( '''*''' – обязательный):
 
** '''offerId''' – уникальный идентификатор ранее найденного предложения. В случае, если данный параметр задан, все остальные параметры не обязательны и не принимаются в расчет, метод возвращает одну запись.
 
** '''count *''' – максимальное количество предложений в выдаче.
 
** '''countryId *''' – идентификатор страны.
 
** '''departCityId *''' – идентификатор города вылета.
 
** '''dateFrom *''' – начальная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''dateTo *''' – конечная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''adults *''' – количество взрослых.
 
** '''kids *''' – количество детей.
 
** '''kidsAges''' – количество полных лет каждому ребёнку, передается в виде строки, перечисление через запятую (пример: 3,6).
 
** '''nightsMin *''' – минимальное количество дней в туре.
 
** '''nightsMax *''' – максимальное количество дней в туре.
 
** '''resorts''' – идентификаторы городов, перечисление через запятую.
 
** '''hotelCategories''' – идентификаторы категорий отелей, перечисление через запятую.
 
** '''hotels''' – идентификаторы отелей, перечисление через запятую.
 
** '''meals''' – идентификаторы видов питания, перечисление через запятую.
 
** '''currencyId *''' – валюта, в которой будут выданы цены, а также валюта для входящих параметров '''priceMin''' и '''priceMax''' (если они есть).
 
** '''priceMin''' – Цена тура от.
 
** '''priceMax''' – Цена тура до.
 
** '''hotelIsNotInStop''' – при значении 1 в результатах не должно быть отелей в стопе (отели со статусом «под запрос» допустимы). При значении 0 в результат должны попадать как отели в стопе, так и отели с наличием мест и с местами по запросу.
 
** '''ticketsIncluded *''' – при значении 1 в результатах должны быть только туры с включенной стоимостью перелета («только отель» недопустимы). При значении 0 в результат должны попадать как туры без перелета, так и туры с перелетом.
 
** '''hasTickets''' – при значении 1 в результатах должны быть туры только с реальным наличием билетов в перелете (не должно быть туров со стопом на перелете, перелеты со статусом «под запрос» недопустимы). При значении 0 в результат должны попадать как туры без билетов на рейс, так и туры с наличием билетов и с билетами по запросу.
 
** '''excludeUsualTours''' – при значении 1 из результатов должны быть исключены туры, являющиеся обычными турами (не являющиеся многоотельными). При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
 
** '''excludeCombined''' – при значении 1 из результатов должны быть исключены туры, являющиеся многоотельными. При значении 0 или отсутствии данного параметра такие туры должны быть включены в результат.
 
** '''showToursWithoutHotels''' – при значении 1 в результатах поиска вместе с обычными турами должны подбираться туры без проживания (без услуги отель в составе тура). При значении 0 или отсутствии данного параметра такие туры должны быть исключены из результата поиска. ''Параметр обрабатывается, начиная с релиза 15.2''.
 
 
* Возвращаемый результат ( '''*''' – обязательный):
 
** '''offerId *''' – уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура.
 
** '''tourName *''' – название программы тура.
 
** '''hotelId *''' – идентификатор отеля.
 
** '''hotelUrl''' – ссылка на страницу с описанием отеля.
 
** '''resortId *''' – идентификатор города, в котором расположен отель.
 
** '''hotelCategoryId *''' – идентификатор категории отеля.
 
** '''mealId *''' – идентификатор вида питания.
 
** '''htPlaceName *''' – название типа размещения в номере (примеры: 2 ADL + 1 CH (2-12), 2 ADL + INF).
 
** '''roomTypeName''' – название категории номера (примеры: standard, deluxe, family, deluxe super ocean view).
 
** '''tourDate *''' – дата начала тура в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''tourEndDate''' – дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2016).
 
** '''nights *''' – продолжительность тура в днях.
 
** '''price *''' – цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
 
** '''hotelIsInStop *''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
 
** '''ticketsIncluded *''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
 
** '''hasEconomTicketsDpt *''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 
** '''hasEconomTicketsRtn *''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 
** '''hasBusinessTicketsDpt *''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 
** '''hasBusinessTicketsRtn *''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано. Группы перелетов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]].
 
** '''tourUrl *''' – ссылка на корзину (при переходе по которой можно забронировать тур).
 
** '''spoUrl''' – ссылка на описание тура (указывается в программе тура).
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewTicketsDptY''' – числовое значение мест прямого перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewTicketsRtnY''' – числовое значение мест обратного перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewTicketsDptB''' – числовое значение мест прямого перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewTicketsRtnB''' – числовое значение мест обратного перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''flags''' – если тур многоотельный, возвращается код '''1024'''. Во всех остальных случаях возвращается '''0'''.
 
** '''description''' – указывается информация о проживании. Если тур многоотельный, то указывается информация обо всех отелях в туре (пример: 1 н., Resort1, Hotel1, Standard, BB; 3 н., Resort2, Hotel2, Standard, BB; 2 н., Resort3, Hotel3, Standard, BB).
 
** '''receivingParty''' – параметр не обрабатывается.
 
** '''earlyBookingValidTill''' – параметр не обрабатывается.
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода GetTours
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/searchApi?action=GetTours&count=20&countryId=22&departCityId=1
 
&dateFrom=10.08.2016&dateTo=10.08.2016&ticketsIncluded=0&adults=2&kids=0&nightsMin=7&nightsMax=7&currencyId=1
 
</syntaxhighlight>
 
Возвращаемый результат метода GetTours (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "version": "1.0",
 
  "tours": [  {
 
      "offerId": 256,
 
      "tourName": "Тур в Португалии_авиа",
 
      "hotelId": 3239,
 
      "hotelUrl": "www.tophotels.com/NapHotel",
 
      "resortId": 45,
 
      "hotelCategoryId": 64,
 
      "mealId": 38,
 
      "htPlaceName": "2 Adult",
 
      "roomTypeName": "Sea View",
 
      "tourDate": "10.08.2016",
 
      "tourEndDate": "17.08.2016",
 
      "nights": 7,
 
      "price": 1036,
 
      "hotelIsInStop": 2,
 
      "ticketsIncluded": 1,
 
      "hasEconomTicketsDpt": 1,
 
      "hasEconomTicketsRtn": 2,
 
      "hasBusinessTicketsDpt": 0,
 
      "hasBusinessTicketsRtn": 1,
 
      "tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_22&tour=161&date=10.08.16&duration=8&hotelScheme=1_7_3239_221_10760
 
&adultCount=2&hotelQuota=7&aviaQuota=7&serviceDescriptions=2_1_586_89_1_22_33_221_10760_1_0,
 
1_3_3239_1148_38_22_33_221_10760_1_7,3_1_587_89_33_460_1_221_10760_8_0&currency=USD",
 
      "fewPlacesInHotel": 5,
 
      "fewTicketsDptY": 8,
 
      "fewTicketsRtnY": 8,
 
      "fewTicketsDptB": null,
 
      "fewTicketsRtnB": null,
 
      "spoUrl": "wiki.megatec.ru",
 
      "flags": 0,
 
      "description": "5 н., Порту, 3* Paradisos, Standart, BB",
 
      "receivingParty": "",
 
      "earlyBookingValidTill": ""
 
  }]
 
}
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
==Актуализация тура (ActualizeTour)==
 
Метод служит для получения окончательной цены тура (со всеми обязательными доплатами и сборами), списка включенных в стоимость тура услуг, а также вариантов перелета, возможных дополнительных услуг и доплат по ним. Метод должен возвращать цену самой дешевой конфигурации запрашиваемого предложения. Для корректной работы метода необходимо, чтобы '''offerId''' был уникален для предложений с разным составом группы туристов, даже в случае если все прочие параметры предложений совпадают.
 
* Формат запроса:
 
** ?action=ActualizeTour
 
* Принимаемые параметры ( * – обязательный):
 
** '''offerId *''' – уникальный идентификатор ранее найденного предложения.
 
** '''currencyId *''' – валюта, в которой рассчитывается цена и доплаты.
 
* Возвращаемый результат ( * – обязательный):
 
** '''price *''' – актуализированная цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
 
** '''ticketsIsIncluded *''' – включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
 
** '''hotelIsInStop''' – наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
 
** '''hasEconomTicketsDpt *''' – наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано.
 
** '''hasEconomTicketsRtn *''' – наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано.
 
** '''hasBusinessTicketsDpt *''' – наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано.
 
** '''hasBusinessTicketsRtn *''' – наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута '''ticketsIncluded''' = 0 значение данного параметра будет проигнорировано.
 
** '''fewPlacesInHotel''' – числовое значение мест в отеле. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewEconomTicketsDpt''' – числовое значение мест прямого перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewEconomTicketsRtn''' – числовое значение мест обратного перелета эконом класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewBusinessTicketsDpt''' – числовое значение мест прямого перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''fewBusinessTicketsRtn''' – числовое значение мест обратного перелета бизнес класса. По умолчанию поле возвращается с пустым значением. Если удовлетворяются условия, заданные в настройке "Мало", но не включена настройка "Отображать числовое значение оставшихся мест" в панели администрирования, то возвращается значение «-1». Если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест", то возвращается числовое значение того количества мест, которое осталось.
 
** '''tourUrl''' – ссылка на корзину (при переходе по которой можно забронировать тур).
 
** '''services''' – список услуг, которые могут быть в туре
 
*** '''id *''' – идентификатор услуги, уникальный в рамках данного предложения.
 
*** '''type *''' – Тип услуги. Может принимать одно из следующих значений:
 
**** '''HotelInfo''' – отель
 
**** '''Insurance''' – страховка
 
**** '''DptTransport''' – перелет туда
 
**** '''RtnTransport''' – перелет обратно
 
**** '''MidDptTransport''' – промежуточный перелет туда (при пересадке)
 
**** '''MidRtnTransport''' – промежуточный перелет обратно (при пересадке)
 
**** '''AdditionalService ''' – дополнительная услуга
 
**** '''Transfer''' – трансфер
 
**** '''Excursion''' – экскурсия
 
**** '''Visa''' – виза
 
*** '''name *''' – наименование услуги
 
*** '''isIncluded *''' – включена ли данная услуга в стоимость текущей конфигурации тура, допустимы значения: 0 – не включена, 1 – включена.
 
*** '''description''' – описание услуги в произвольной форме (не обрабатывается).
 
*** '''surcharge''' – стоимость услуги.
 
*** '''flightCompatibleIds''' – совместимые перелеты. Идентификаторы услуг перелетов, представленных в секции '''services''', которые могут применяться совместно с текущей услугой перелета. Для перелета туда заполняется '''id''' перелетов обратно и наоборот. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightClass''' – класс перелета. Группы перелетов для классов задаются в настройке [[Мастер-Тур(15):Установка#Установка службы поиска|flightTariffGroups]]. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''. Может принимать одно из следующих значений:
 
**** '''ECONOM''' – эконом
 
**** '''BUSINESS''' – бизнес
 
*** '''flightAvailability''' – наличие билетов, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightPlacesCount''' – параметр не обрабатывается, всегда возвращается -1.
 
*** '''flightAirportFrom''' – код аэропорта вылета. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightAirportTo''' – код аэропорта прилета. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightNum''' – код авиакомпании и номер рейса. Применяется и является обязательным только для услуг типа: '''DptTransport''', '''RtnTransport'''.
 
*** '''flightAirline''' – код авиакомпании. Применяется только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightStartDateTime''' – Дата и время вылета в формате dd.MM.yyyy HH:mm (пример: 31.12.2016 14:30). Применяется только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightEndDateTime''' – Дата и время прилета в формате dd.MM.yyyy HH:mm (пример: 31.12.2016 14:30). Применяется только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
*** '''flightAircraft''' – тип самолета. Применяется только для услуг типа: '''DptTransport''', '''RtnTransport''', '''MidDptTransport''', '''MidRtnTransport'''.
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода ActualizeTour
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/searchApi?action=ActualizeTour&offerID=256&currencyId=1
 
</syntaxhighlight>
 
Возвращаемый результат метода ActualizeTour (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "version": "1.0",
 
  "actualizedTour":    {
 
      "price": 1036,
 
      "ticketsIsIncluded": 1,
 
      "hotelIsInStop": 2,
 
      "hasEconomTicketsDpt": 1,
 
      "hasEconomTicketsRtn": 2,
 
      "hasBusinessTicketsDpt": 0,
 
      "hasBusinessTicketsRtn": 1,
 
      "fewPlacesInHotel": 5,
 
      "fewEconomTicketsDpt": 8,
 
      "fewEconomTicketsRtn": 8,
 
      "fewBusinessTicketsDpt": null,
 
      "fewBusinessTicketsRtn": null,
 
      "tourUrl": "http://localhost/TourSearchClient/Basket?departureCities=1&destination=1_22&tour=161&date=10.08.16&duration=8&hotelScheme=1_7_3239_221_10760
 
&adultCount=2&hotelQuota=7&aviaQuota=7&serviceDescriptions=2_1_586_89_1_22_33_221_10760_1_0,
 
1_3_3239_1148_38_22_33_221_10760_1_7,3_1_587_89_33_460_1_221_10760_8_0&currency=USD",
 
      "services":      [
 
                  {
 
            "id": 0,
 
            "type": "DptTransport",
 
            "name": "А_П::Москва/Лиссабон/3G001, DME-LUS, 11:00-13:00/Y Экономический класс",
 
            "isIncluded": 1,
 
            "description": "",
 
            "surcharge": 100,
 
            "flightCompatibleIds": "2",
 
            "flightClass": "ECONOM",
 
            "flightAvailability": 1,
 
            "flightPlacesCount": -1,
 
            "flightAirportFrom": "DME",
 
            "flightAirportTo": "LUS",
 
            "flightNum": "3G 001",
 
            "flightAirline": "3G",
 
            "flightStartDateTime": "10.08.2016 11:00",
 
            "flightEndDateTime": "10.08.2016 13:00",
 
            "flightAircraft": "310"
 
        },
 
                  {
 
            "id": 1,
 
            "type": "HotelInfo",
 
            "name": "HOTEL::Лиссабон/Отель в Лиссабоне-4,7 ночей/Double(Sea View),2 Adult/TT NewP",
 
            "isIncluded": 1,
 
            "description": "",
 
            "surcharge": 836,
 
            "flightCompatibleIds": null,
 
            "flightClass": null,
 
            "flightAvailability": -1,
 
            "flightPlacesCount": -1,
 
            "flightAirportFrom": null,
 
            "flightAirportTo": null,
 
            "flightNum": null,
 
            "flightAirline": null,
 
            "flightStartDateTime": null,
 
            "flightEndDateTime": null,
 
            "flightAircraft": null
 
        },
 
                  {
 
            "id": 2,
 
            "type": "RtnTransport",
 
            "name": "А_П::Лиссабон/Москва/3G002, LUS-DME, 20:00-21:00/Y Экономический класс",
 
            "isIncluded": 1,
 
            "description": "",
 
            "surcharge": 100,
 
            "flightCompatibleIds": "0",
 
            "flightClass": "ECONOM",
 
            "flightAvailability": 2,
 
            "flightPlacesCount": -1,
 
            "flightAirportFrom": "LUS",
 
            "flightAirportTo": "DME",
 
            "flightNum": "3G 002",
 
            "flightAirline": "3G",
 
            "flightStartDateTime": "17.08.2016 20:00",
 
            "flightEndDateTime": "17.08.2016 21:00",
 
            "flightAircraft": "310"
 
 
         }
 
         }
 
       ]
 
       ]
Строка 1624: Строка 1717:
 
</TD></TR></TABLE>
 
</TD></TR></TABLE>
 
</div></div><br />
 
</div></div><br />
 
==Проверка туриста (checkTourist)==
 
Метод служит для получения информации о путевке по номеру путевки и номеру паспорта туриста.
 
* Формат запроса:
 
** /checkTourist
 
* Принимаемые параметры ( * – обязательный):
 
** '''dogovorNumber *''' – номер путевки.
 
** '''passport *''' – номер паспорта туриста (заграничного или общегражданского).
 
* Возвращаемый результат:
 
** '''isDogovor''' – '''true''', если путевка найдена по номеру путевки, '''false''', если не найдена.
 
** '''isAnnulated''' – '''true''', если путевка аннулирована, '''false''', если не аннулирована.
 
** '''dogovorStatus''' – статус путевки
 
** '''isPay''' – '''true''', если путевка полностью оплачена, '''false''', если не оплачена или оплачена частично.
 
** '''dogovorDateBegin''' – дата начала заезда.
 
** '''dogovorDateEnd''' – дата окончания заезда.
 
** '''dogovorDateCreate''' – дата создания путевки.
 
** '''isTouristDogovorCreate''' – '''true''', если турист (по номеру паспорта) является главным туристом в путевке.
 
** '''services''' – набор услуг в путевке.
 
*** '''svKey''' – код класса услуги.
 
*** '''code''' – код услуги.
 
*** '''subCode1''' – код доп. описания 1 услуги.
 
*** '''subCode2''' – код доп. описания 2 услуги.
 
*** '''name''' – название услуги.
 
** '''touristInfo''' – информация о главном туристе.
 
*** '''lastname''' – фамилия туриста (рус).
 
*** '''firstname''' – имя туриста (рус).
 
*** '''surname''' – отчество туриста.
 
*** '''address''' – адрес (индекс, город, улица, дом, квартира).
 
*** '''postcode''' – индекс.
 
*** '''city''' – город.
 
*** '''street''' – улица.
 
*** '''home''' – дом.
 
*** '''roomNumber''' – квартира.
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
Вызов метода checkTourist
 
<syntaxhighlight lang="java" enclose="div">
 
http://localhost:9000/TourSearchOwin/checkTourist?dogovorNumber=AU25120001&passport=1234567
 
</syntaxhighlight>
 
Возвращаемый результат метода checkTourist (в формате JSON)
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
  "isDogovor": true,
 
  "isAnnulated": false,
 
  "dogovorStatus": "ОК",
 
  "isPay": true,
 
  "dogovorDateBegin": "05.02.2018",
 
  "dogovorDateEnd": "12.02.2018",
 
  "dogovorDateCreate": "01.02.2018",
 
  "isTouristDogovorCreate": true,
 
  "services":    [
 
            {
 
        "svKey": "1",
 
        "code": "1088",
 
        "subCode1": "147",
 
        "subCode2": "35",
 
        "name": "А_П::Вена/Москва/SU2353, VIE-SVO, 18:05-22:40/NSU Экономический класс"
 
      },
 
            {
 
        "svKey": "3",
 
        "code": "698",
 
        "subCode1": "46200",
 
        "subCode2": "1",
 
        "name": "HOTEL::Вена/Graben-1*,5 ночей/DBL(Standart ),2Ad/FB Полный пансион"
 
      },
 
            {
 
        "svKey": "1",
 
        "code": "1087",
 
        "subCode1": "147",
 
        "subCode2": "1",
 
        "name": "А_П::Москва/Вена/SU2352, SVO-VIE, 16:20-17:05/NSU Экономический класс"
 
      }
 
  ],
 
  "touristInfo":    {
 
      "lastname": "Ivanov",
 
      "firstname": "Ivan",
 
      "surname": "Ivanovich",
 
      "address": "123456, г. Москва, ул. Ленина, д. 1, кв. 15",
 
      "postcode": "123456",
 
      "city": "Москва",
 
      "street": "Ленина",
 
      "home": "1",
 
      "roomNumber": "15"
 
  }
 
}
 
</syntaxhighlight>
 
</TD></TR></TABLE>
 
</div></div><br />
 
 
  
 
[[Category:Мастер-Тур(15)]]
 
[[Category:Мастер-Тур(15)]]

Версия 09:46, 22 февраля 2018

Статья находится на стадии разработки.

Версия статьи от 22-02-2018.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии


Введение

Данный web-сервис разработан для разработки собственного сайта туроператору на основе API.

Установка

Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)

Список методов

Выгрузка настроек службы поиска (Settings)

Метод производит выгрузку настроек службы поиска.

  • Формат запроса:
    • .../TourSearchOwin/Settings?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
    • DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
    • RoundServiceSetting – признак округления цены (количество знаков после запятой)
    • CacheReady – статус готовности службы поиска к работе (true/false)
    • EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
    • EnableActualFilters – включены ли актуальные фильтры (true/false)
    • CorrectLicense – проверка лицензии (true/false)
    • CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
    • IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
    • IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
    • IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
    • IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
    • UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
    • UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
    • IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
    • CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
    • CommonImagesFolderPath – путь к папке для хранения изображений
    • UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
    • AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
    • UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
    • MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
    • MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
Пример

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

http://localhost:9000/TourSearchOwin/Settings

Возвращаемый результат метода Settings (в формате JSON)

{
   "ChildAgesSetting":    [
      1, 
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16
   ],
   "DurationSetting":    [
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20
   ],
   "RoundServiceSetting": 2,
   "CacheReady": true,
   "EnableFiterTree": false,
   "EnableActualFilters": true,
   "CorrectLicense": true,
   "CorrectLicenseMessage": "0deb1f882da1ec6301c961780507a180",
   "IsCorrectUser": true,
   "IsShowCitizenAuthTourist": true,
   "IsShowFewCountPlaces": true,
   "IsShowBusTransferPlaces": true,
   "UseBusSeatChecks": 1,
   "UseTransferSeatChecks": 2,
   "IsShowFiltersByCity": true,
   "CheckRealCourses": true,
   "CommonImagesFolderPath": "\\\\server\\Icons",
   "UseApplyFiltersButton": false,
   "AutoSearchFiltersTimeout": 1,
   "UseFastSearchAlgoritm": true,
   "MaxSearchDatesCountClient": 10,
   "MaxDurationsCountClient": 14
}


Выгрузка списка валют (Currency)

Метод возвращает список используемых валют.

  • Формат запроса:
    • .../TourSearchOwin/Currency
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Code – код валюты
    • Name – наименование валюты
    • IsMain – признак валюты «Главная»
    • IsNational – признак валюты «Национальная»
    • IsoCode – ISO код валюты
    • Key – идентификатор валюты
    • IsShowInSearch – признак показывать ли валюту в поиске
Пример

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

http://localhost:9000/TourSearchOwin/Currency

Возвращаемый результат метода Currency (в формате JSON)

[
      {
      "Code": "EU",
      "Name": "Euro",
      "IsMain": false,
      "IsNational": false,
      "IsoCode": "EUR",
      "Key": 2,
      "IsShowInSearch": true
   },
      {
      "Code": "рб",
      "Name": "Рубль",
      "IsMain": false,
      "IsNational": true,
      "IsoCode": "RUR",
      "Key": 14,
      "IsShowInSearch": true
   },
      {
      "Code": "$",
      "Name": "US Dollar",
      "IsMain": true,
      "IsNational": false,
      "IsoCode": "USD",
      "Key": 1,
      "IsShowInSearch": true
   }
]


Выгрузка квотируемых услуг системы (QuotedServices)

Метод производит выгрузку услуг с признаком «Квотируемая»

  • Формат запроса:
    • .../TourSearchOwin/QuotedServices
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – идентификатор услуги
    • Code – код услуги
    • Name – наименование услуги (русский)
    • NameLat – наименование услуги (английский)
    • IsDuration – наличие продолжительности у услуги
    • IsCity – наличие города у услуги
    • IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
    • IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
    • Quoted – признак квотируемости услуги
    • CheckGeoPoint – наличие геоточек у услуги
    • IsRoute – признак маршрутной услуги
    • LittlePercent – число в %, при которых будет считаться количество мест «Мало»
    • LittlePlace – число, при котором будет считаться количество мест «Мало»
    • LittleAnd – признак наличия мест «Мало» – будем ли учитывать количество мест вместе с процентным соотношением между общим и оставшимся количеством мест
    • IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
    • Control – идентификатор статуса услуги
Пример

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

http://localhost:9000/TourSearchOwin/QuotedServices

Возвращаемый результат метода QuotedServices (в формате JSON)

[
      {
      "Key": 1,
      "Code": "А_П",
      "Name": "Авиаперелет",
      "NameLat": "Flight",
      "IsDuration": false,
      "IsCity": true,
      "IsSubCode1": true,
      "IsSubCode2": false,
      "Quoted": true,
      "CheckGeoPoint": true,
      "IsRoute": true,
      "LittlePercent": null,
      "LittlePlace": 10,
      "LittleAnd": true,
      "IsPartnerBasedOn": false,
      "Control": 1
   },
      {
      "Key": 3,
      "Code": "HOTEL",
      "Name": "Отель/Круиз",
      "NameLat": "Hotel/Cruise",
      "IsDuration": true,
      "IsCity": true,
      "IsSubCode1": true,
      "IsSubCode2": true,
      "Quoted": true,
      "CheckGeoPoint": true,
      "IsRoute": true,
      "LittlePercent": 99,
      "LittlePlace": 5,
      "LittleAnd": false,
      "IsPartnerBasedOn": false,
      "Control": 1
   }
]


Выгрузка городов отправления (departureCities)

Метод производит выгрузку всех доступных городов отправления для поискового запроса.

  • Формат запроса:
    • .../TourSearchOwin/departureCities?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – идентификатор города
    • Name – название города
Пример

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

http://localhost:9000/TourSearchOwin/departureCities

Возвращаемый результат метода departureCities (в формате JSON)

[
      {
      "Key": -1,
      "Name": "Без перелета"
   },
      {
      "Key": 312,
      "Name": "Астрахань"
   },
      {
      "Key": 1,
      "Name": "Москва"
   }
]


Выгрузка списка стран (Destination)

Метод производит выгрузку всех доступных направлений туроператора.

  • Формат запроса:
    • .../TourSearchOwin/Destination?
  • Принимаемые параметры ( * – обязательный):
    • pageNumber – номер страницы ???
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
    • showAll – ??? (true/false)
    • departureCities * – идентификатор города отправления (из контроллера .../TourSearchOwin/departureCities?)
  • Возвращаемый результат:
    • Name – название страны
    • Key – идентификатор страны
    • DestinationType – ??? (всегда возвращается в JSON = 1, в xml = country)
Пример

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

http://localhost:9000/TourSearchOwin/Destination?pageNumber=1&term=&showAll=false&departureCities=1

Возвращаемый результат метода Destination (в формате JSON)

[
      {
      "Name": "Болгария",
      "Key": 359,
      "DestinationType": 1
   },
      {
      "Name": "Индия",
      "Key": 26,
      "DestinationType": 1
   },
      {
      "Name": "Финляндия",
      "Key": 64,
      "DestinationType": 1
   }
]


Выгрузка списка городов (ActualizeCities)

Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.

  • Формат запроса:
    • .../TourSearchOwin/ActualizeCities?
  • Принимаемые параметры ( * – обязательный):
    • cityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – идентификатор города
    • Name – название города
Пример

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

http://localhost:9000/TourSearchOwin/ActualizeCities?cityKeys=1&Key=90&Name=Австрия&term=

Возвращаемый результат метода ActualizeCities (в формате JSON)

[
      {
      "Key": -1,
      "Name": "Все"
   },
      {
      "Key": 35,
      "Name": "Вена"
   },
      {
      "Key": 440,
      "Name": "Зельден"
   }
]


Выгрузка типов туров (ActualizeTourType)

Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.

  • Формат запроса:
    • .../TourSearchOwin/ActualizeTourType?
  • Принимаемые параметры ( * – обязательный):
    • departureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – ??? (по умолчанию всегда 1)
    • destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • Key – идентификатор типа тура
    • Name – название типа тура
    • ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
Пример

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

http://localhost:9000/TourSearchOwin/ActualizeTourType?departureCityKeys=1&Key=90&Name=Австрия&Type=1&destinationCity=-1&terms=

Возвращаемый результат метода ActualizeTourType (в формате JSON)

[
      {
      "Key": -1,
      "Name": "Все",
      "ParentId": null
   },
      {
      "Key": 2,
      "Name": "Стандартный тур",
      "ParentId": null
   },
      {
      "Key": 16,
      "Name": "Экскурсионный тур",
      "ParentId": 35
   }
]


Выгрузка актуальных дат заездов (TourDate)

Метод производит выгрузку доступных дат заездов для поискового запроса.

  • Формат запроса:
    • .../TourSearchOwin/TourDate?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – ??? (по умолчанию всегда 1)
    • tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • массив дат
Пример

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

http://localhost:9000/TourSearchOwin/TourDate?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourTypes=-1&term=

Возвращаемый результат метода TourDate (в формате JSON)

[
   "21.02.2018",
   "22.02.2018",
   "23.02.2018",
   "24.02.2018",
   "25.02.2018",
   "26.02.2018",
   "27.02.2018",
   "28.02.2018"
]


Выгрузка актуальных продолжительностей (Duration)

Метод производит выгрузку доступных продолжительностей для поискового запроса.

  • Формат запроса:
    • .../TourSearchOwin/Duration?
  • Принимаемые параметры ( * – обязательный):
    • departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
    • Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • Type * – ??? (по умолчанию всегда 1)
    • tourDate * – дата(ы) заезда (полученные из метода .../TourSearchOwin/TourDate?)
    • tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
    • term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
  • Возвращаемый результат:
    • массив продолжительностей
Пример

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

http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourDate=25.02.2018,26.02.2018&tourTypes=-1&term=

Возвращаемый результат метода Duration (в формате JSON)

[
   7,
   8,
   10,
   12,
   15,
   18
]


Поиск туров (Tour)

Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.

  • Формат запроса:
    • .../TourSearchOwin/Tour?
  • Принимаемые параметры ( * – обязательный):
    • DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
    • Dates * – ??? как передать 2 даты? дата(ы) заезда (полученные из метода .../TourSearchOwin/TourDate?)
    • Durations * – ??? как передать 2 продолжительности? продолжительности тура в днях (полученные из метода .../TourSearchOwin/Duration?)
    • PageNumber * – ??? (возвращается 1)
    • PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
    • HotelScheme – ??? (пустой по умолчанию)
    • TourKey – ??? (пустой по умолчанию)
    • TourDuration – ? (пустой по умолчанию)
    • isFromBasket – происходит ли обращение из корзины или из поиска туров (true/false)
    • isFillSecondaryFilters – ??? (true/false)
    • DestinationType – ??? (1)
    • DestinationKey – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
    • AdultCount – количество взрослых
    • ChildAges – возраст детей ??? (описать, как будут передаваться двое детей)
    • CurrencyName – код валюты
    • AviaQuota – информация о квотах на авиаперелет (5) ??? расписать что означает каждый из цифр
    • HotelQuota – информация о квотах на отель (5) ??? расписать что означает каждый из цифр
    • BusTransferQuota – информация о квотах на автобусный переезд (5) ??? расписать что означает каждый из цифр
    • MinPrice – минимальная цена ??? (NaN)
    • TourType – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
    • CityIds – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
    • TimeDepartureFrom – время отправления с (всегда возвращается 00:00)
    • TimeDepartureTo – время отправления по (всегда возвращается 23:59)
    • TimeArrivalFrom – время прибытия с (всегда возвращается 00:00)
    • TimeArrivalTo – время прибытия по (всегда возвращается 23:59)
    • ArrivalFlightNoTransfer – ??? уточнить что означает
    • DepartureFlightNoTransfer – ??? уточнить что означает
    • wrongLicenseFileUpperTitle – ??? для локализации (убрать)
  • Возвращаемый результат:
    • CheckMessages – информация о том, произошла ли ошибка при поиске (null)
    • Message – сообщение об ошибке
      • Key – код ошибки
      • Value – сообщение об ошибке
    • Result – результаты поиска
      • Key – идентификатов программы тура
      • Name – название программы тура
      • TourUrl – ссылка на программу тура
      • BookingConditions – условия бронирования программы туров
      • StartDate – дата начала тура
      • Duration – продолжительность тура (в днях)
      • DurationInNight – продолжительность проживания (в ночах)
      • Types – ??? возможно идентификатор типа туров
      • Cost – цена тура
      • Rate – код валюты тура
      • CityDepature – город отправления
        • Key – идентификатор города отправления
        • Value – название города отправления
      • CountryId – ??? предположительно страна тура, но почему отображается ключ 0?
      • Services – услуги в туре
        • DepartureCity – город отправления
          • Key – идентификатор города отправления
          • Value – название города отправления
        • DepartureCountry
          • Key
          • Value
        • ArrivalCity
          • Key
          • Value
        • ArrivalCountry
          • Key
          • Value
        • DepartureAirport
          • Key
          • Value
        • ArrivalAirport
          • Key
          • Value
        • Airline
          • Key
          • Value
        • Aircraft
          • Key
          • Value
        • Flight
          • Key
          • Value
        • DepartureTime
        • ArrivalTime
        • EndDateTime
        • FlightDetails
          • Tariff
            • Key
            • Code
            • Name
          • Cost
          • QuotaStatus
            • PlacesStatus
            • FreePlaces
            • TotalPlaces
          • PartnerId
          • ByPax
          • Partner
            • Key
            • Value
        • FlightSetting
          • ServiceId
          • PatternId
          • FlightId
        • FlightSourceMode
        • Id
        • SvKey
        • IsSubCode1
        • IsSubCode2
        • IsPartnerBasedOn
        • Day
        • DurationInNight
        • BeginDateTime
        • IsHooded
        • IsDeleted
        • IsNotCalculate
        • PacketId
        • Index
      • NotRouteServices – список немаршрутных услуг (??? расписать детально)
        • '
      • MinCostServicesComposition
        • Key
          • TemplateId
          • PatternId
          • SettingId
        • Value
          • Cost
          • ServiceType
          • Code
          • SubCode1
          • SubCode2
          • PacketId
          • PartnerId
          • CountryId
          • CityId
          • Day
          • DurationInNight
      • FlightWeight
      • LinkingFlightsRules
        • notCombineDifferentAirlineRule
          • airlines
          • flightSettings
          • enabled
        • checkPlusMinus1CharterRule
          • FlightSettingPairs
          • enabled
        • notCombineDifferentTariffGroupRule
          • FlightSettings
          • enabled
        • notCombineDifferentPartnerRule
          • FlightSettings
          • enabled
        • departureCityEqualsArrivalCityRule
          • FlightSettingPairs
          • enabled
        • combineOnlySpecificChartersRule
          • settings
          • enabled
      • RouteSubVariants
    • SecondaryFiltersResult
      • TourTypes – типы тура
        • Id
        • Name
        • ParentId
        • Type
      • TourPrograms – информация по каждой турпрограмме
        • Key
        • Name
        • TourUrl
        • BookingConditions
        • IsLandOnly
        • IsRestrictMultiHotels
        • IsHotelTemplates
        • IsRouteServices
        • MultiHotelDelta
        • Rate
        • DateStart
        • DateEnd
        • Status
          • Key
          • Value
        • Templates
          • $id
          • $id
        • Types
          • Id
          • Name
          • ParentId
          • Type
        • LinkingFlightsRules
          • notCombineDifferentAirlineRule
            • airlines
            • flightSettings
            • enabled
          • checkPlusMinus1CharterRule
            • FlightSettingPairs
            • enabled
          • notCombineDifferentTariffGroupRule
            • FlightSettings
            • enabled
          • notCombineDifferentPartnerRule
            • FlightSettings
            • enabled
          • departureCityEqualsArrivalCityRule
            • FlightSettingPairs
            • enabled
          • combineOnlySpecificChartersRule
            • settings
            • enabled
        • XmlSettings – xml
        • Type
      • TourDurations
      • TourDates
        • HotelCities – город в дополнительных фильтрах (??? расписать детализацию)
          • '
        • HotelResorts – курорты в дополнительных фильтрах (??? расписать детализацию)
          • '
        • HotelCategories – категории отеля в дополнительных фильтрах (??? расписать детализацию)
          • '
        • Hotels – отели в дополнительных фильтрах (??? расписать детализацию)
          • '
        • Pansions – питания в дополнительных фильтрах (??? расписать детализацию)
          • '
        • Airlines – авиакомпании в дополнительных фильтрах (??? расписать детализацию)
          • '
        • FlightTariffs – класс перелета в дополнительных фильтрах (??? расписать детализацию)
          • '
        • DepartureCities – города вылета в дополнительных фильтрах (??? расписать детализацию)
          • '
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах (??? расписать детализацию)
          • '
        • ArrivalCities – города прибытия в дополнительных фильтрах (??? расписать детализацию)
          • '
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах (??? расписать детализацию)
          • '
        • HotelTypes – признаки отелей в дополнительных фильтрах (??? расписать детализацию)
          • '

http://dev1-22:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false


Пример

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

http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false

Возвращаемый результат метода Tour (в формате JSON)

{
   "CheckMessages": null,
   "Message":    {
      "Key": 0,
      "Value": null
   },
   "Result":    [
            {
         "Key": 100000004,
         "Name": "Общая проверка системы",
         "TourUrl": "www.megatec.ru",
         "BookingConditions": "<p>Условия бронирования тура.<\/p>",
         "StartDate": "2018-02-25T00:00:00",
         "Duration": 4,
         "DurationInNight": 3,
         "Types": [2],
         "Cost": 260,
         "Rate": "EU",
         "CityDepature":          {
            "Key": 1,
            "Value": "Москва"
         },
         "CountryId": 0,
         "Services":          [
                        {
               "DepartureCity":                {
                  "Key": 1,
                  "Value": "Москва"
               },
               "DepartureCountry":                {
                  "Key": 460,
                  "Value": "Россия"
               },
               "ArrivalCity":                {
                  "Key": 35,
                  "Value": "Вена"
               },
               "ArrivalCountry":                {
                  "Key": 90,
                  "Value": "Австрия"
               },
               "DepartureAirport":                {
                  "Key": "SVO4",
                  "Value": "Шереметьево-24"
               },
               "ArrivalAirport":                {
                  "Key": "VIE1",
                  "Value": "Vena1"
               },
               "Airline":                {
                  "Key": "BA7",
                  "Value": "BRITISH  AIRWAYS"
               },
               "Aircraft":                {
                  "Key": "319",
                  "Value": "AIRBUS "
               },
               "Flight":                {
                  "Key": 882,
                  "Value": "4444"
               },
               "DepartureTime": "10:00:00",
               "ArrivalTime": "12:00:00",
               "EndDateTime": "2018-02-25T12:00:00",
               "FlightDetails": [               {
                  "Tariff":                   {
                     "Key": 89,
                     "Code": "Y",
                     "Name": "Экономический класс"
                  },
                  "Cost": 240,
                  "QuotaStatus":                   {
                     "PlacesStatus": 4,
                     "FreePlaces": 0,
                     "TotalPlaces": 0
                  },
                  "PartnerId": 12668,
                  "ByPax": true,
                  "Partner":                   {
                     "Key": 0,
                     "Value": null
                  }
               }],
               "FlightSetting":                {
                  "ServiceId": 3,
                  "PatternId": 13,
                  "FlightId": 13
               },
               "FlightSourceMode": 1,
               "Id": 3,
               "SvKey": 1,
               "IsSubCode1": true,
               "IsSubCode2": false,
               "IsPartnerBasedOn": false,
               "Day": 1,
               "DurationInNight": 0,
               "BeginDateTime": "2018-02-25T10:00:00",
               "IsHooded": false,
               "IsDeleted": false,
               "IsNotCalculate": false,
               "PacketId": 779,
               "Index": 0
            },
                        {
               "Hotel":                {
                  "Key": 709,
                  "Value": "Am Brilliantengrund"
               },
               "City":                {
                  "Key": 35,
                  "Value": "Вена"
               },
               "Stars":                {
                  "Key": -1,
                  "Value": null
               },
               "Resort":                {
                  "Key": -1,
                  "Value": null
               },
               "ImageURL": "",
               "Http": null,
               "Description": "",
               "Country":                {
                  "Key": 90,
                  "Value": "Австрия"
               },
               "HotelDetails": [               {
                  "HotelRoom": 46463,
                  "Room":                   {
                     "Key": 129,
                     "Value": "DBL"
                  },
                  "RoomCategory":                   {
                     "Key": 3493,
                     "Value": "Cosy"
                  },
                  "AccomodationType":                   {
                     "Key": 1256,
                     "Value": "2+1_K",
                     "AdultCount": 2,
                     "ChildCount": 1
                  },
                  "Pansion":                   {
                     "Key": 4,
                     "Value": "Завтрак"
                  },
                  "Cost": 19.47,
                  "QuotaStatus":                   {
                     "PlacesStatus": 4,
                     "FreePlaces": 0,
                     "TotalPlaces": 0
                  },
                  "PartnerId": 12667,
                  "ByPax": false,
                  "Partner":                   {
                     "Key": 12667,
                     "Value": "Партнер-покупатель1"
                  }
               }],
               "HotelTypes": [               {
                  "Key": 5,
                  "Value": "Рекомендуемые"
               }],
               "Id": 1,
               "SvKey": 3,
               "IsSubCode1": true,
               "IsSubCode2": true,
               "IsPartnerBasedOn": false,
               "Day": 1,
               "DurationInNight": 3,
               "BeginDateTime": "2018-02-25T12:00:00",
               "EndDateTime": "2018-02-28T12:00:00",
               "IsHooded": false,
               "IsDeleted": false,
               "IsNotCalculate": false,
               "PacketId": 779,
               "Index": 1
            },
                        {
               "DepartureCity":                {
                  "Key": 35,
                  "Value": "Вена"
               },
               "DepartureCountry":                {
                  "Key": 90,
                  "Value": "Австрия"
               },
               "ArrivalCity":                {
                  "Key": 1,
                  "Value": "Москва"
               },
               "ArrivalCountry":                {
                  "Key": 460,
                  "Value": "Россия"
               },
               "DepartureAirport":                {
                  "Key": "VIE1",
                  "Value": "Vena1"
               },
               "ArrivalAirport":                {
                  "Key": "DME",
                  "Value": "Домодедово"
               },
               "Airline":                {
                  "Key": "7U",
                  "Value": "Авиаэнерго"
               },
               "Aircraft":                {
                  "Key": "727",
                  "Value": "Boeing"
               },
               "Flight":                {
                  "Key": 774,
                  "Value": "222"
               },
               "DepartureTime": "00:00:00",
               "ArrivalTime": "00:00:00",
               "EndDateTime": "2018-02-28T00:00:00",
               "FlightDetails": [               {
                  "Tariff":                   {
                     "Key": 89,
                     "Code": "Y",
                     "Name": "Экономический класс"
                  },
                  "Cost": 0,
                  "QuotaStatus":                   {
                     "PlacesStatus": 4,
                     "FreePlaces": 0,
                     "TotalPlaces": 0
                  },
                  "PartnerId": 10760,
                  "ByPax": true,
                  "Partner":                   {
                     "Key": 0,
                     "Value": null
                  }
               }],
               "FlightSetting":                {
                  "ServiceId": 4,
                  "PatternId": 5,
                  "FlightId": 4
               },
               "FlightSourceMode": 1,
               "Id": 4,
               "SvKey": 1,
               "IsSubCode1": true,
               "IsSubCode2": false,
               "IsPartnerBasedOn": false,
               "Day": 4,
               "DurationInNight": 0,
               "BeginDateTime": "2018-02-28T00:00:00",
               "IsHooded": false,
               "IsDeleted": false,
               "IsNotCalculate": false,
               "PacketId": 779,
               "Index": 4
            }
         ],
         "NotRouteServices":          [
            [            {
               "ServiceName": "страховка",
               "City": null,
               "Country": 6245,
               "Code":                {
                  "Key": 297,
                  "Value": "Страховка от несчастного случая"
               },
               "ByScheduler": false,
               "Details": [               {
                  "SubCode1":                   {
                     "Key": 18,
                     "Value": "2"
                  },
                  "SubCode2":                   {
                     "Key": null,
                     "Value": ""
                  },
                  "Date": null,
                  "IsShowTransportPlan": true,
                  "Cost": 389.57,
                  "QuotaStatus":                   {
                     "PlacesStatus": 1,
                     "FreePlaces": 0,
                     "TotalPlaces": 0
                  },
                  "PartnerId": 12668,
                  "ByPax": true,
                  "Partner":                   {
                     "Key": 0,
                     "Value": null
                  }
               }],
               "ParentId": null,
               "PartnerBasedOnServiceTemplateId": null,
               "Id": 10,
               "SvKey": 6,
               "IsSubCode1": true,
               "IsSubCode2": true,
               "IsPartnerBasedOn": false,
               "Day": 1,
               "DurationInNight": 3,
               "BeginDateTime": "2018-02-25T00:00:00",
               "EndDateTime": "2018-02-28T00:00:00",
               "IsHooded": false,
               "IsDeleted": true,
               "IsNotCalculate": true,
               "PacketId": 882,
               "Index": 2
            }],
            [            {
               "ServiceName": "экскурсия",
               "City":                {
                  "Key": 1046,
                  "Value": "Санто-Доминго"
               },
               "Country": 6245,
               "Code":                {
                  "Key": 743,
                  "Value": "4"
               },
               "ByScheduler": false,
               "Details": [               {
                  "SubCode1":                   {
                     "Key": 37,
                     "Value": "Мини-автобус 10 чел."
                  },
                  "SubCode2":                   {
                     "Key": null,
                     "Value": ""
                  },
                  "Date": null,
                  "IsShowTransportPlan": false,
                  "Cost": 85.22,
                  "QuotaStatus":                   {
                     "PlacesStatus": 1,
                     "FreePlaces": 0,
                     "TotalPlaces": 0
                  },
                  "PartnerId": 12667,
                  "ByPax": true,
                  "Partner":                   {
                     "Key": 0,
                     "Value": null
                  }
               }],
               "ParentId": null,
               "PartnerBasedOnServiceTemplateId": null,
               "Id": 7,
               "SvKey": 4,
               "IsSubCode1": true,
               "IsSubCode2": false,
               "IsPartnerBasedOn": true,
               "Day": 1,
               "DurationInNight": 0,
               "BeginDateTime": "2018-02-25T00:00:00",
               "EndDateTime": "2018-02-26T00:00:00",
               "IsHooded": false,
               "IsDeleted": true,
               "IsNotCalculate": true,
               "PacketId": 779,
               "Index": 3
            }]
         ],
         "MinCostServicesComposition":          [
                        {
               "Key":                {
                  "TemplateId": 3,
                  "PatternId": 13,
                  "SettingId": 13
               },
               "Value":                {
                  "Cost": 240,
                  "ServiceType": 1,
                  "Code": 882,
                  "SubCode1": 89,
                  "SubCode2": 1,
                  "PacketId": 779,
                  "PartnerId": 12668,
                  "CountryId": 90,
                  "CityId": 35,
                  "Day": 1,
                  "DurationInNight": 0
               }
            },
                        {
               "Key":                {
                  "TemplateId": 1,
                  "PatternId": 0,
                  "SettingId": 0
               },
               "Value":                {
                  "Cost": 19.47,
                  "ServiceType": 3,
                  "Code": 709,
                  "SubCode1": 46463,
                  "SubCode2": 4,
                  "PacketId": 779,
                  "PartnerId": 12667,
                  "CountryId": 90,
                  "CityId": 35,
                  "Day": 1,
                  "DurationInNight": 3
               }
            },
                        {
               "Key":                {
                  "TemplateId": 4,
                  "PatternId": 5,
                  "SettingId": 4
               },
               "Value":                {
                  "Cost": 0,
                  "ServiceType": 1,
                  "Code": 774,
                  "SubCode1": 89,
                  "SubCode2": 35,
                  "PacketId": 779,
                  "PartnerId": 10760,
                  "CountryId": 460,
                  "CityId": 1,
                  "Day": 4,
                  "DurationInNight": 0
               }
            }
         ],
         "FlightWeight": 2,
         "LinkingFlightsRules":          {
            "notCombineDifferentAirlineRule":             {
               "airlines": ["AY2"],
               "flightSettings": [],
               "enabled": true
            },
            "checkPlusMinus1CharterRule":             {
               "FlightSettingPairs": [],
               "enabled": false
            },
            "notCombineDifferentTariffGroupRule":             {
               "FlightSettings": [],
               "enabled": true
            },
            "notCombineDifferentPartnerRule":             {
               "FlightSettings": [],
               "enabled": false
            },
            "departureCityEqualsArrivalCityRule":             {
               "FlightSettingPairs": [],
               "enabled": false
            },
            "combineOnlySpecificChartersRule":             {
               "settings": [],
               "enabled": false
            }
         },
         "RouteSubVariants": []
      }
   ],
   "SecondaryFiltersResult":    {
      "TourTypes": [      {
         "Id": 2,
         "Name": "Стандартный тур",
         "ParentId": null,
         "Type": "TourType"
      }],
      "TourPrograms":       [
                      {
            "Key": 100000004,
            "Name": "Общая проверка системы",
            "TourUrl": "www.megatec.ru",
            "BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>\n<p>Сразу же после получения Вашей заявки и обсуждения всех деталей, мы вышлем Вам счет-фактуру на безвозвратный депозит. После получения депозита в размере 50-100 евро (в зависимости от стоимости тура) на человека, Вы получите Тур Ваучер, подтверждающий все детали и условия поездки в Армению<\/p>\n<p><strong>Условия оплаты<\/strong><\/p>\n<p>После бронирования тура необходимо внести безвозвратный депозит в размере 50-100 евро, что обеспечит нашим координаторам возможность начать организацию поездки (бронирование гостиницы, питание, транспорт и т.п.). При покупки тура с авиабилетом, предоплата составит 80% от стоимости всего тура.<\/p>\n<p>Оставшуюся сумму Вы можете выплатить после Вашего прибытия в страну.<\/p>\n<p>Мы оставляем за собой право отменить бронирование, если платежи не будут произведены в установленные сроки.<\/p>\n<p><strong>Форма оплаты<\/strong><\/p>\n<p>Предоплату можно внести одним из следующих способов:<\/p>\n<ul>\n<li>Банковский перевод<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>Окончательный платеж может быть осуществлен следующими способами:<\/p>\n<ul>\n<li>Оплата наличными (при оплате наличными Вы получаете скидку в размере 2% от общей суммы)<\/li>\n<li>Кредитная карта (при оплате посредством кредитной карты, сервис взимает 3% от общей суммы)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Условия аннуляции тура&nbsp;<\/strong><\/p>\n<p>Если Вы или один из членов Вашей группы желает отменить тур, сообщите об этом нашей компании, как можно скорее в письменной форме.&nbsp;Пожалуйста, обратите внимание, что в данном случае предоплата (200 евро) не подлежит возмещению, но Вы сможете использовать ее в течении всего года и заказать другой тур. В этом случае наша фирма будет вынуждена взять с Вас дополнительные 100 евро для повторного бронирования отеля.<\/p>",
            "IsLandOnly": false,
            "IsRestrictMultiHotels": false,
            "IsHotelTemplates": true,
            "IsRouteServices": true,
            "MultiHotelDelta": 0,
            "Rate": "EU",
            "DateStart": "2018-01-30T00:00:00Z",
            "DateEnd": "2018-02-27T00:00:00Z",
            "Status":             {
               "Key": 3,
               "Value": "Доступен для продажи"
            },
            "Templates":             [
               {"$id": "5"},
               {"$id": "6"},
               {"$id": "7"},
               {"$id": "8"},
               {"$id": "9"}
            ],
            "Types": [            {
               "Id": 2,
               "Name": "Стандартный тур",
               "ParentId": null,
               "Type": "TourType"
            }],
            "LinkingFlightsRules":             {
               "notCombineDifferentAirlineRule":                {
                  "airlines": ["AY2"],
                  "flightSettings": [],
                  "enabled": true
               },
               "checkPlusMinus1CharterRule":                {
                  "FlightSettingPairs": [],
                  "enabled": false
               },
               "notCombineDifferentTariffGroupRule":                {
                  "FlightSettings": [],
                  "enabled": true
               },
               "notCombineDifferentPartnerRule":                {
                  "FlightSettings": [],
                  "enabled": false
               },
               "departureCityEqualsArrivalCityRule":                {
                  "FlightSettingPairs": [],
                  "enabled": false
               },
               "combineOnlySpecificChartersRule":                {
                  "settings": [],
                  "enabled": false
               }
            },
            "XmlSettings": "<TourProgram xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Key>0<\/Key><TourSettingsViewModel><TourName>Общая проверка системы<\/TourName><TourUrl>www.megatec.ru<\/TourUrl><BookingConditions>Условия бронирования тура.&lt;/p&gt;<\/BookingConditions><ManagerKey>96<\/ManagerKey><TourTypes><int>2<\/int><\/TourTypes><DateBegin>2018-01-30T00:00:00Z<\/DateBegin><DateEnd>2018-02-27T00:00:00Z<\/DateEnd><IsLandOnly>false<\/IsLandOnly><IsRestrictMultiHotels>false<\/IsRestrictMultiHotels><MultiHotelDelta>0<\/MultiHotelDelta><Rate>EU<\/Rate><IsAction>false<\/IsAction><TourLeadDepartment>0<\/TourLeadDepartment><DepartureCities><int>1<\/int><\/DepartureCities><DepartureCountries><int>460<\/int><\/DepartureCountries><\/TourSettingsViewModel><TourConsistencyViewModel><ArrivalCities><int>35<\/int><\/ArrivalCities><Countries><int>90<\/int><\/Countries><ServiceTemplates><ServiceTemplate><Id>3<\/Id><SvKey>1<\/SvKey><FlightData><FlightGroupId>14<\/FlightGroupId><FlightGroups><FlightGroup><Id>13<\/Id><Name>Группа перелетов_0<\/Name><FlightId>14<\/FlightId><Flights><Flight><Id>13<\/Id><Name>Авиаперелет_0<\/Name><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>10760<\/Key><Value>партнер<\/Value><\/IntStringElement><IntStringElement><Key>12668<\/Key><Value>партнер56<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedDepartureCountries><IntStringElement><Key>460<\/Key><Value>Россия<\/Value><\/IntStringElement><\/SelectedDepartureCountries><DepartureCountriesShowAll>false<\/DepartureCountriesShowAll><SelectedDepartureCities><IntStringElement><Key>1<\/Key><Value>Москва<\/Value><\/IntStringElement><\/SelectedDepartureCities><DepartureCitiesShowAll>false<\/DepartureCitiesShowAll><SelectedArrivalCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><\/SelectedArrivalCountries><ArrivalCountriesShowAll>false<\/ArrivalCountriesShowAll><SelectedArrivalCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><\/SelectedArrivalCities><ArrivalCitiesShowAll>false<\/ArrivalCitiesShowAll><SelectedAirlines><StringStringElement><Key>BA7<\/Key><Value>BRITISH  AIRWAYS<\/Value><\/StringStringElement><StringStringElement><Key>7U<\/Key><Value>Авиаэнерго<\/Value><\/StringStringElement><\/SelectedAirlines><AirlinesShowAll>false<\/AirlinesShowAll><SelectedFlights><IntStringElement><Key>882<\/Key><Value>BA7 4444 319<\/Value><\/IntStringElement><\/SelectedFlights><FlightsShowAll>false<\/FlightsShowAll><SelectedDepartureAirports /><DepartureAirportsShowAll>false<\/DepartureAirportsShowAll><SelectedArrivalAirports /><ArrivalAirportsShowAll>false<\/ArrivalAirportsShowAll><SelectedTariffs /><TariffsShowAll>false<\/TariffsShowAll><IntervalFrom xsi:nil=\"true\" /><IntervalTo xsi:nil=\"true\" /><DepartureTimeFrom>00:00<\/DepartureTimeFrom><DepartureTimeTo>23:59<\/DepartureTimeTo><ArrivalTimeFrom>00:00<\/ArrivalTimeFrom><ArrivalTimeTo>23:59<\/ArrivalTimeTo><FlightSourceMode>Local<\/FlightSourceMode><\/Flight><\/Flights><Priority>1<\/Priority><FlightSourceMode>Local<\/FlightSourceMode><\/FlightGroup><\/FlightGroups><FlightSourceMode>Local<\/FlightSourceMode><\/FlightData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>1<\/Id><SvKey>3<\/SvKey><HotelData><HotelGroupId>8<\/HotelGroupId><HotelGroups><HotelGroup><Id>7<\/Id><Name>Проживание_0<\/Name><Hotel><SelectedTourDuration><unsignedByte>3<\/unsignedByte><unsignedByte>4<\/unsignedByte><unsignedByte>5<\/unsignedByte><unsignedByte>6<\/unsignedByte><unsignedByte>7<\/unsignedByte><unsignedByte>8<\/unsignedByte><unsignedByte>9<\/unsignedByte><unsignedByte>10<\/unsignedByte><unsignedByte>11<\/unsignedByte><unsignedByte>12<\/unsignedByte><unsignedByte>13<\/unsignedByte><unsignedByte>14<\/unsignedByte><unsignedByte>17<\/unsignedByte><\/SelectedTourDuration><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedCountryByHotel><Key>90<\/Key><Value>Австрия<\/Value><\/SelectedCountryByHotel><CountriesByHotelShowAll>false<\/CountriesByHotelShowAll><SelectedPartners><IntStringElement><Key>12667<\/Key><Value>Партнер-покупатель1<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCitiesByHotel><SelectedCitiesByHotel><Key>35<\/Key><Value>Вена<\/Value><\/SelectedCitiesByHotel><\/SelectedCitiesByHotel><CitiesByHotelShowAll>false<\/CitiesByHotelShowAll><FilteredAddedHotels /><AllHotelInPacket>true<\/AllHotelInPacket><\/Hotel><Description>Австрия \\ Вена<\/Description><\/HotelGroup><\/HotelGroups><\/HotelData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>10<\/Id><SvKey>6<\/SvKey><CommonServiceData><SelectedPacket><Key>882<\/Key><Value>Доминикана<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>12668<\/Key><Value>5656<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCountries><IntStringElement><Key>6245<\/Key><Value>Доминиканская Республика<\/Value><\/IntStringElement><\/SelectedCountries><CountriesShowAll>false<\/CountriesShowAll><SelectedCities /><CitiesShowAll>false<\/CitiesShowAll><SelectedCodes><IntStringElement><Key>297<\/Key><Value>Страховка от несчастного случая<\/Value><\/IntStringElement><\/SelectedCodes><CodesShowAll>false<\/CodesShowAll><SelectedSubcodes1><IntStringElement><Key>18<\/Key><Value>2<\/Value><\/IntStringElement><\/SelectedSubcodes1><Subcodes1ShowAll>false<\/Subcodes1ShowAll><SelectedSubcodes2 /><Subcodes2ShowAll>false<\/Subcodes2ShowAll><PartnerBasedOnServiceTemplateId xsi:nil=\"true\" /><AllCodesInPacket>false<\/AllCodesInPacket><\/CommonServiceData><DayDurationParameters><StartServiceType><Type>2<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/StartServiceType><EndServiceType><Type>3<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/EndServiceType><Duration xsi:nil=\"true\" /><\/DayDurationParameters><IsHooded xsi:nil=\"true\" /><IsDeleted>true<\/IsDeleted><IsNotCalculate>true<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>0<\/IsCity><IsRoute>0<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>7<\/Id><SvKey>4<\/SvKey><CommonServiceData><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>12663<\/Key><Value>Afcom Co. Ltd<\/Value><\/IntStringElement><IntStringElement><Key>12667<\/Key><Value>Партнер-покупатель1<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><IntStringElement><Key>6245<\/Key><Value>Доминиканская Республика<\/Value><\/IntStringElement><\/SelectedCountries><CountriesShowAll>false<\/CountriesShowAll><SelectedCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><IntStringElement><Key>1046<\/Key><Value>Санто-Доминго<\/Value><\/IntStringElement><\/SelectedCities><CitiesShowAll>false<\/CitiesShowAll><SelectedCodes><IntStringElement><Key>175<\/Key><Value>Колесо обозрения<\/Value><\/IntStringElement><IntStringElement><Key>578<\/Key><Value>История Санто-Доминго<\/Value><\/IntStringElement><IntStringElement><Key>741<\/Key><Value>2<\/Value><\/IntStringElement><IntStringElement><Key>742<\/Key><Value>3<\/Value><\/IntStringElement><IntStringElement><Key>743<\/Key><Value>4<\/Value><\/IntStringElement><IntStringElement><Key>745<\/Key><Value>6<\/Value><\/IntStringElement><IntStringElement><Key>744<\/Key><Value>5<\/Value><\/IntStringElement><IntStringElement><Key>746<\/Key><Value>7<\/Value><\/IntStringElement><IntStringElement><Key>747<\/Key><Value>8<\/Value><\/IntStringElement><IntStringElement><Key>748<\/Key><Value>9<\/Value><\/IntStringElement><\/SelectedCodes><CodesShowAll>false<\/CodesShowAll><SelectedSubcodes1><IntStringElement><Key>39<\/Key><Value>Car<\/Value><\/IntStringElement><IntStringElement><Key>37<\/Key><Value>Мини-автобус 10 чел.<\/Value><\/IntStringElement><\/SelectedSubcodes1><Subcodes1ShowAll>false<\/Subcodes1ShowAll><SelectedSubcodes2 /><Subcodes2ShowAll>false<\/Subcodes2ShowAll><PartnerBasedOnServiceTemplateId xsi:nil=\"true\" /><AllCodesInPacket>false<\/AllCodesInPacket><\/CommonServiceData><DayDurationParameters><StartServiceType><Type>2<\/Type><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/StartServiceType><EndServiceType><Type xsi:nil=\"true\" /><Id xsi:nil=\"true\" /><IsBegin xsi:nil=\"true\" /><\/EndServiceType><Duration xsi:nil=\"true\" /><\/DayDurationParameters><IsHooded>false<\/IsHooded><IsDeleted>true<\/IsDeleted><IsNotCalculate>true<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>0<\/IsRoute><IsPartnerBasedOn>1<\/IsPartnerBasedOn><\/ServiceTemplate><ServiceTemplate><Id>4<\/Id><SvKey>1<\/SvKey><FlightData><FlightGroupId>6<\/FlightGroupId><FlightGroups><FlightGroup><Id>5<\/Id><Name>Группа перелетов_1<\/Name><FlightId>5<\/FlightId><Flights><Flight><Id>4<\/Id><Name>Авиаперелет_0<\/Name><SelectedPacket><Key>779<\/Key><Value>Общая проверка системы<\/Value><\/SelectedPacket><SelectedPartners><IntStringElement><Key>10760<\/Key><Value>партнер<\/Value><\/IntStringElement><IntStringElement><Key>12668<\/Key><Value>партнер56<\/Value><\/IntStringElement><\/SelectedPartners><PartnersShowAll>false<\/PartnersShowAll><SelectedDepartureCountries><IntStringElement><Key>90<\/Key><Value>Австрия<\/Value><\/IntStringElement><\/SelectedDepartureCountries><DepartureCountriesShowAll>false<\/DepartureCountriesShowAll><SelectedDepartureCities><IntStringElement><Key>35<\/Key><Value>Вена<\/Value><\/IntStringElement><\/SelectedDepartureCities><DepartureCitiesShowAll>false<\/DepartureCitiesShowAll><SelectedArrivalCountries><IntStringElement><Key>460<\/Key><Value>Россия<\/Value><\/IntStringElement><\/SelectedArrivalCountries><ArrivalCountriesShowAll>false<\/ArrivalCountriesShowAll><SelectedArrivalCities><IntStringElement><Key>1<\/Key><Value>Москва<\/Value><\/IntStringElement><\/SelectedArrivalCities><ArrivalCitiesShowAll>false<\/ArrivalCitiesShowAll><SelectedAirlines><StringStringElement><Key>BA8<\/Key><Value>BRITISH  AIRWAYS<\/Value><\/StringStringElement><StringStringElement><Key>7U<\/Key><Value>Авиаэнерго<\/Value><\/StringStringElement><\/SelectedAirlines><AirlinesShowAll>false<\/AirlinesShowAll><SelectedFlights /><FlightsShowAll>false<\/FlightsShowAll><SelectedDepartureAirports /><DepartureAirportsShowAll>false<\/DepartureAirportsShowAll><SelectedArrivalAirports /><ArrivalAirportsShowAll>false<\/ArrivalAirportsShowAll><SelectedTariffs /><TariffsShowAll>false<\/TariffsShowAll><IntervalFrom xsi:nil=\"true\" /><IntervalTo xsi:nil=\"true\" /><DepartureTimeFrom>00:00<\/DepartureTimeFrom><DepartureTimeTo>23:59<\/DepartureTimeTo><ArrivalTimeFrom>00:00<\/ArrivalTimeFrom><ArrivalTimeTo>23:59<\/ArrivalTimeTo><FlightSourceMode>Local<\/FlightSourceMode><\/Flight><\/Flights><Priority>1<\/Priority><FlightSourceMode>Local<\/FlightSourceMode><\/FlightGroup><\/FlightGroups><FlightSourceMode>Local<\/FlightSourceMode><\/FlightData><IsHooded>false<\/IsHooded><IsDeleted>false<\/IsDeleted><IsNotCalculate>false<\/IsNotCalculate><IdParent xsi:nil=\"true\" /><IsCity>1<\/IsCity><IsRoute>1<\/IsRoute><IsPartnerBasedOn>0<\/IsPartnerBasedOn><\/ServiceTemplate><\/ServiceTemplates><ServiceTemplateId>11<\/ServiceTemplateId><\/TourConsistencyViewModel><MenuViewModel><Status><Key>ForSale<\/Key><Value>Доступен для продажи<\/Value><\/Status><\/MenuViewModel><LinkingFlightsRulesViewModel><NotCombineDifferentAirlineRule><Enabled>true<\/Enabled><Airlines><string>AY2<\/string><\/Airlines><FlightSettings /><\/NotCombineDifferentAirlineRule><CheckPlusMinus1CharterRule><Enabled>false<\/Enabled><\/CheckPlusMinus1CharterRule><NotCombineDifferentTariffGroupRule><Enabled>true<\/Enabled><\/NotCombineDifferentTariffGroupRule><NotCombineDifferentPartnerRule><Enabled>false<\/Enabled><\/NotCombineDifferentPartnerRule><DepartureCityEqualsArrivalCityRule><Enabled>false<\/Enabled><\/DepartureCityEqualsArrivalCityRule><CombineOnlySpecificChartersRule><Enabled>false<\/Enabled><Settings /><\/CombineOnlySpecificChartersRule><\/LinkingFlightsRulesViewModel><\/TourProgram>",
            "Type": "TourProgram"
         }
      ],
      "TourDurations": [4],
      "TourDates": ["2018-02-25T00:00:00"],
      "HotelCities": [      {
         "key": 35,
         "Country":          {
            "key": 90,
            "name": "Австрия",
            "Code": "AUS",
            "CitizenName": "Австрия",
            "CitizenNameLat": "AUSTRIA",
            "PassportMinDurCheckFrom": 0,
            "CheckINN": false,
            "PassportMinDur": null,
            "INNName": "ИНН",
            "Web": 1,
            "WebImage": "/pics/animate/austria.gif",
            "WebHTTP": "",
            "AnkLang": 0,
            "Type": "Country"
         },
         "name": "Вена",
         "Code": "VIE",
         "Web": 0,
         "RSKey": 0,
         "WebImage": null,
         "IsDeparture": 1,
         "Type": "City"
      }],
      "HotelResorts": [      {
         "Key": -1,
         "CountryKey": 0,
         "Name": "Не указан",
         "NameLat": null,
         "Type": "Resort"
      }],
      "HotelCategories":       [
                  {
            "Key": 23,
            "Name": "1*",
            "PrintNumber": 1,
            "Type": "HotelCatigory"
         },
                  {
            "Key": 56,
            "Name": "2*",
            "PrintNumber": 2,
            "Type": "HotelCatigory"
         },
                  {
            "Key": 66,
            "Name": "4*Boutique",
            "PrintNumber": null,
            "Type": "HotelCatigory"
         }
      ],
      "Hotels":       [
                  {
            "Key": 705,
            "Country":             {
               "key": 90,
               "name": "Австрия",
               "Code": "AUS",
               "CitizenName": "Австрия",
               "CitizenNameLat": "AUSTRIA",
               "PassportMinDurCheckFrom": 0,
               "CheckINN": false,
               "PassportMinDur": null,
               "INNName": "ИНН",
               "Web": 1,
               "WebImage": "/pics/animate/austria.gif",
               "WebHTTP": "",
               "AnkLang": 0,
               "Type": "Country"
            },
            "City":             {
               "key": 35,
               "Country":                {
                  "key": 90,
                  "name": "Австрия",
                  "Code": "AUS",
                  "CitizenName": "Австрия",
                  "CitizenNameLat": "AUSTRIA",
                  "PassportMinDurCheckFrom": 0,
                  "CheckINN": false,
                  "PassportMinDur": null,
                  "INNName": "ИНН",
                  "Web": 1,
                  "WebImage": "/pics/animate/austria.gif",
                  "WebHTTP": "",
                  "AnkLang": 0,
                  "Type": "Country"
               },
               "name": "Вена",
               "Code": "VIE",
               "Web": 0,
               "RSKey": 0,
               "WebImage": null,
               "IsDeparture": 1,
               "Type": "City"
            },
            "Resort": null,
            "Name": "Continental",
            "Category":             {
               "Key": 23,
               "Name": "1*",
               "PrintNumber": 1,
               "Type": "HotelCatigory"
            },
            "TimeFrom": null,
            "TimeTo": null,
            "HTTP": null,
            "Stars": "1*",
            "TimeIsEmpty": true,
            "NameLat": "Continental",
            "Address": null,
            "IsCruise": 0,
            "Phone": null,
            "Code": null,
            "Type": "Hotel"
         },
                  {
            "Key": 178,
            "Country":             {
               "key": 90,
               "name": "Австрия",
               "Code": "AUS",
               "CitizenName": "Австрия",
               "CitizenNameLat": "AUSTRIA",
               "PassportMinDurCheckFrom": 0,
               "CheckINN": false,
               "PassportMinDur": null,
               "INNName": "ИНН",
               "Web": 1,
               "WebImage": "/pics/animate/austria.gif",
               "WebHTTP": "",
               "AnkLang": 0,
               "Type": "Country"
            },
            "City":             {
               "key": 35,
               "Country":                {
                  "key": 90,
                  "name": "Австрия",
                  "Code": "AUS",
                  "CitizenName": "Австрия",
                  "CitizenNameLat": "AUSTRIA",
                  "PassportMinDurCheckFrom": 0,
                  "CheckINN": false,
                  "PassportMinDur": null,
                  "INNName": "ИНН",
                  "Web": 1,
                  "WebImage": "/pics/animate/austria.gif",
                  "WebHTTP": "",
                  "AnkLang": 0,
                  "Type": "Country"
               },
               "name": "Вена",
               "Code": "VIE",
               "Web": 0,
               "RSKey": 0,
               "WebImage": null,
               "IsDeparture": 1,
               "Type": "City"
            },
            "Resort": null,
            "Name": "Ananas",
            "Category":             {
               "Key": 56,
               "Name": "2*",
               "PrintNumber": 2,
               "Type": "HotelCatigory"
            },
            "TimeFrom": "1900-01-01T11:00:00",
            "TimeTo": "1900-01-01T12:00:00",
            "HTTP": "http://booking.panteon.ru/TourPrograms/Home/Tour/?tourKey=100000007",
            "Stars": "2*",
            "TimeIsEmpty": false,
            "NameLat": "Ananas",
            "Address": null,
            "IsCruise": 0,
            "Phone": "(+43/1) 546200",
            "Code": null,
            "Type": "Hotel"
         },
                  {
            "Key": 707,
            "Country":             {
               "key": 90,
               "name": "Австрия",
               "Code": "AUS",
               "CitizenName": "Австрия",
               "CitizenNameLat": "AUSTRIA",
               "PassportMinDurCheckFrom": 0,
               "CheckINN": false,
               "PassportMinDur": null,
               "INNName": "ИНН",
               "Web": 1,
               "WebImage": "/pics/animate/austria.gif",
               "WebHTTP": "",
               "AnkLang": 0,
               "Type": "Country"
            },
            "City":             {
               "key": 35,
               "Country":                {
                  "key": 90,
                  "name": "Австрия",
                  "Code": "AUS",
                  "CitizenName": "Австрия",
                  "CitizenNameLat": "AUSTRIA",
                  "PassportMinDurCheckFrom": 0,
                  "CheckINN": false,
                  "PassportMinDur": null,
                  "INNName": "ИНН",
                  "Web": 1,
                  "WebImage": "/pics/animate/austria.gif",
                  "WebHTTP": "",
                  "AnkLang": 0,
                  "Type": "Country"
               },
               "name": "Вена",
               "Code": "VIE",
               "Web": 0,
               "RSKey": 0,
               "WebImage": null,
               "IsDeparture": 1,
               "Type": "City"
            },
            "Resort": null,
            "Name": "Beim Theresianum",
            "Category":             {
               "Key": 66,
               "Name": "4*Boutique",
               "PrintNumber": null,
               "Type": "HotelCatigory"
            },
            "TimeFrom": null,
            "TimeTo": null,
            "HTTP": null,
            "Stars": "4*Boutique",
            "TimeIsEmpty": true,
            "NameLat": "Beim Theresianum",
            "Address": null,
            "IsCruise": 0,
            "Phone": null,
            "Code": null,
            "Type": "Hotel"
         },
                  {
            "Key": 709,
            "Country":             {
               "key": 90,
               "name": "Австрия",
               "Code": "AUS",
               "CitizenName": "Австрия",
               "CitizenNameLat": "AUSTRIA",
               "PassportMinDurCheckFrom": 0,
               "CheckINN": false,
               "PassportMinDur": null,
               "INNName": "ИНН",
               "Web": 1,
               "WebImage": "/pics/animate/austria.gif",
               "WebHTTP": "",
               "AnkLang": 0,
               "Type": "Country"
            },
            "City":             {
               "key": 35,
               "Country":                {
                  "key": 90,
                  "name": "Австрия",
                  "Code": "AUS",
                  "CitizenName": "Австрия",
                  "CitizenNameLat": "AUSTRIA",
                  "PassportMinDurCheckFrom": 0,
                  "CheckINN": false,
                  "PassportMinDur": null,
                  "INNName": "ИНН",
                  "Web": 1,
                  "WebImage": "/pics/animate/austria.gif",
                  "WebHTTP": "",
                  "AnkLang": 0,
                  "Type": "Country"
               },
               "name": "Вена",
               "Code": "VIE",
               "Web": 0,
               "RSKey": 0,
               "WebImage": null,
               "IsDeparture": 1,
               "Type": "City"
            },
            "Resort": null,
            "Name": "Am Brilliantengrund",
            "Category": null,
            "TimeFrom": null,
            "TimeTo": null,
            "HTTP": null,
            "Stars": "",
            "TimeIsEmpty": true,
            "NameLat": "Am Brilliantengrund",
            "Address": null,
            "IsCruise": 0,
            "Phone": null,
            "Code": null,
            "Type": "Hotel"
         }
      ],
      "Pansions":       [
                  {
            "Key": 46,
            "Code": "RO",
            "Name": "RO",
            "NameLat": null,
            "Type": "Pansion"
         },
                  {
            "Key": 4,
            "Code": "BB2",
            "Name": "Завтрак",
            "NameLat": null,
            "Type": "Pansion"
         },
                  {
            "Key": 2,
            "Code": "HB",
            "Name": "Полупансион",
            "NameLat": null,
            "Type": "Pansion"
         }
      ],
      "Airlines":       [
                  {
            "Key": 8,
            "Code": "BA7",
            "Name": "BRITISH  AIRWAYS",
            "NameLat": "en_BRITISH  AIRWAYS",
            "Type": "AirLine"
         },
                  {
            "Key": 3,
            "Code": "7U",
            "Name": "Авиаэнерго",
            "NameLat": "en_Авиаэнерго",
            "Type": "AirLine"
         }
      ],
      "FlightTariffs": [      {
         "Key": 89,
         "Code": "Y",
         "Name": "Экономический класс",
         "NameLat": "Coach economy",
         "Group": null,
         "Type": "AirService"
      }],
      "DepartureCities": [      {
         "key": 1,
         "Country":          {
            "key": 460,
            "name": "Россия",
            "Code": null,
            "CitizenName": "Россия",
            "CitizenNameLat": "Russia",
            "PassportMinDurCheckFrom": 0,
            "CheckINN": true,
            "PassportMinDur": null,
            "INNName": "ИНН",
            "Web": 0,
            "WebImage": "",
            "WebHTTP": "",
            "AnkLang": 0,
            "Type": "Country"
         },
         "name": "Москва",
         "Code": "MOW",
         "Web": 0,
         "RSKey": 0,
         "WebImage": null,
         "IsDeparture": 1,
         "Type": "City"
      }],
      "DepartureAirports": [      {
         "Key": 52,
         "Code": "SVO4",
         "Name": "Шереметьево-24",
         "NameLat": "Шереметьево-",
         "CityKey": 1,
         "CountryKey": 460,
         "Letter": "S",
         "Site": 0,
         "Type": "Airport"
      }],
      "ArrivalCities": [      {
         "key": 1,
         "Country":          {
            "key": 460,
            "name": "Россия",
            "Code": null,
            "CitizenName": "Россия",
            "CitizenNameLat": "Russia",
            "PassportMinDurCheckFrom": 0,
            "CheckINN": true,
            "PassportMinDur": null,
            "INNName": "ИНН",
            "Web": 0,
            "WebImage": "",
            "WebHTTP": "",
            "AnkLang": 0,
            "Type": "Country"
         },
         "name": "Москва",
         "Code": "MOW",
         "Web": 0,
         "RSKey": 0,
         "WebImage": null,
         "IsDeparture": 1,
         "Type": "City"
      }],
      "ArrivalAirports": [      {
         "Key": 12,
         "Code": "DME",
         "Name": "Домодедово",
         "NameLat": "Домодедово",
         "CityKey": 1,
         "CountryKey": 460,
         "Letter": "D",
         "Site": 0,
         "Type": "Airport"
      }],
      "HotelTypes":       [
                  {
            "key": 94,
            "name": "Молодежный отдых",
            "Type": "HotelType"
         },
                  {
            "key": 5,
            "name": "Рекомендуемые",
            "Type": "HotelType"
         }
      ]
   }
}