Шлюз поиска горящих туров (json)
Содержание
Описание сервиса
Сервис позволит вам создать систему поиска горящих туров практически любой сложности. Используя его методы, вы сможете:
- Загружать справочники городов вылета, стран, курортов, отелей, категорий отелей, видов питания;
- Искать горящие туры, предварительно отобранные системой Слетать.ру по 70 различным шаблонам (в том числе по уникальному шаблону, который вы можете настроить самостоятельно).
Внимание! Настройка уникального шаблона поиска горящих туров ограничена лицензией. По всем вопросам обращайтесь по электронной почте info@sletat.ru. |
Внимание! В настоящем руководстве описаны методы и параметры запросов, являющиеся актуальными на текущий момент. Обращение к неописанным методам и параметрам может привести к некорректной работе сервиса. |
Подключение к сервису
Все методы веб-сервиса располагаются по адресу:
https://module.sletat.ru/Main.svc?singlewsdl
Вызов любого метода должен иметь следующий синтаксис:
https://module.sletat.ru/Main.svc/{ИмяМетода}?{параметр1}={значение1}&{параметр2}={значение2}...
Пример вызова:
https://module.sletat.ru/Main.svc/GetTemplates?templatesList=all&login=XXX&password=YYY
Внимание! Для корректной работы с методами поиска требуется авторизация. Каждый запрос должен содержать пару параметров login и password – ваши учетные данные на сайте sletat.ru. Требование не распространяется на получение справочников, однако к данным справочников GetDepartCities и GetCountries при указании этих параметров будут применены фильтры, настраиваемые в Личном кабинете (подробности см. в описании соответствующих методов). |
Работа сервиса не требует сессий, и методы не зависят друг от друга с точки зрения очередности вызова. Последняя диктуется реализуемым алгоритмом работы.
Передавать все параметры при вызове не обязательно. Обязательные параметры отмечены звёздочкой (*).
Логика работы
- Основная логика работы шлюза подразумевает, что методы работают в рамках шаблона, по которому отбираются горящие туры. Поэтому для начала методом GetTemplates запрашивается список доступных шаблонов.
- Методом GetDepartCities с использованием названия шаблона templateName, полученного в ответе метода GetTemplates, запрашивается описание города вылета, доступного в рамках используемого шаблона.
- В ответе метода GetShowcaseRewiew приходят данные о направлениях, доступных для города вылета: идентификатор и название страны, диапазон доступных параметров поиска, а также описание шаблона и самого дешёвого тура, найденного по нему.
- Методом GetTours запускается поиск туров, соответствующих параметрам шаблона.
- Методом ActualizePrice запрашивается текущее состояние тура у оператора: наличие билетов и мест в отеле, размеры топливных и визовых сборов.
- Метод SaveTourOrder передаёт данные о заказе в систему Слетать.ру. Список заказов, а также вся сопутствующая статистика, отображаются в вашем Личном кабинете. Все данные можно выгрузить в формате XML.
Методы
На страницах этого руководства описаны как методы, используемые непосредственно при создании системы поиска горящих туров, так и методы получения справочников.
Вы можете работать с сервисом и без обращения к справочникам – все необходимые данные приходят в ответах методов GetDepartCities и GetShowcaseReview. Однако знание структуры справочников поможет вам глубже понять устройство сервиса и реализовать более широкий функционал, нежели тот, который был бы доступен при использовании одних только методов поиска горящих туров.
Ответ каждого метода содержит поле Data – массив данных, запрашиваемых методов, а также следующие технические поля:
Поле |
Тип |
Описание |
ErrorMessage |
str |
Текст сообщения об ошибке. Поле принимает значение «null», если значение поля IsError = false. |
ExecutionTimeMs |
int |
Время обработки запроса в миллисекундах. |
IsError |
bool |
Сообщение об ошибке. Если при обработке запроса произошла ошибка, поле принимает значение «true»; в противном случае оно остаётся равным «false». |
Для удобства чтения из примеров, приводимых в настоящем руководстве, эти поля изъяты.
Методы получения справочников
Наиболее полный справочник доступен по ссылке:
https://module.sletat.ru/Dictionaries.xml
GetDepartCities
Метод GetDepartCities возвращает список всех городов вылета, который вы можете отредактировать в личном кабинете на сайте sletat.ru.
Пример запроса:
https://module.sletat.ru/Main.svc/GetDepartCities?templateName=%D0%93%D0%BE%D1%80%D1%8F%D1%89%D0%B8%D0%B5+%D1%82%D1%83%D1%80%D1%8B+(%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0)&showcase=1&login=XXX&password=YYY
Параметры запроса:
Параметр |
Описание |
templateName |
Название шаблона, полученное в поле name структуры GetTemplatesResult.Data.templates[]. Если параметр передан, возвращаются данные о городе вылета, доступном для данного шаблона; в противном случае возвращается описание города для шаблона, используемого по умолчанию в Личном кабинете на сайте sletat.ru. Требует передачи параметра showcase. |
showcase |
Режим поиска горящих туров. Возможные значения «1» — включён. Требует передачи параметров login и password. |
Внимание! Если на вашу учётную запись выписана активная лицензия на шлюз поиска туров и при обращении к методу вы передаёте параметры login и password без параметра showcase, список городов вылета будет отфильтрован в соответствии с настройками для шлюза поиска туров (раздел «Настройки модулей => XML-шлюз поиска туров => Направления и города вылета»). |
Пример ответа:
{ "GetDepartCitiesResult":{ "Data":[ { "Id": 832, "Name": "Москва", "CountryId": 150, "Default": true, "DescriptionUrl": null, "IsPopular": true, "ParentId": null }, ... ], } }
В ответ возвращается массив GetDepartCitiesResult.Data, каждый объект которого имеет следующие поля:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор города вылета. |
Name |
str |
Город вылета. |
CountryId |
int |
Идентификатор страны. |
Default |
bool |
Если город используется для поиска туров по умолчанию, поле принимает значение true, в противном случае – false. |
DescriptonUrl |
str |
Ссылка на описание города. Поле принимает значение null, если данные не слинкованы. |
IsPopular |
bool |
Если по данным аналитики Слетать.ру, город является популярным, поле принимает значение true; в противном случае – false. |
ParentId |
int |
Идентификатор родительского города (см. поле ParentId в описании ответа метода GetCities). Поле может иметь значение null, если город вылета не имеет родительского города. |
GetCountries
Метод GetCountries возвращает список доступных направлений перелета (стран) для любого данного города вылета.
Пример запроса:
https://module.sletat.ru/Main.svc/GetCountries?townFromId=1264&showcase=1&login=XXX&password=YYY
Запрашивается справочник направлений, доступных для вылета из Санкт-Петербурга.
Параметры запроса:
Параметр |
Описание |
townFromId |
Идентификатор города вылета, полученный методом GetDepartCities. |
showcase | Режим
поиска горящих туров. Возможные значения «1» — включён. Требует передачи параметров login и password. Если режим включён, список стран будет отфильтрован в соответствии с настройками вашего Личного кабинета (раздел «Настройки модулей => XML-шлюз поиска туров => Направления»). |
templateName | Имя шаблона горящих туров |
Внимание! Если на вашу учётную запись выписана активная лицензия на шлюз поиска туров и при обращении к методу вы передаёте параметры login и password без параметра showcase, список стран будет отфильтрован в соответствии с настройками для шлюза поиска туров (раздел «Настройки модулей => XML-шлюз поиска туров => Направления и города вылета»). |
Пример ответа:
{ "GetCountriesResult":{ "Data":[ { "Id":1, "Name":"Абхазия", "Alias":"NIL", "HasTickets":true, "HotelIsNotInStop":true, "Rank":2, "TicketsIncluded":false }, ... ], } }
В ответ возвращается массив GetCountriesResult.Data, каждый из объектов которого содержит данные о направлениях, доступных для указанного города вылета:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор страны (направления перелета). |
Name | str | Наименование страны (направления перелета). |
Alias | str |
Текстовый код страны (направления перелета). |
HasTickets |
bool |
Значение по умолчанию для параметра наличия билетов. Возможные значения:
Полученное значение будет использовано в поиске, если в запросе метода GetTours не передан соответствующий параметр. |
HotelIsNotInStop |
bool |
Значение по умолчанию для параметра наличия мест в отеле. Возможные значения: true — в выдачу должны попадать только туры, для которых есть места в отеле; false — в выдачу могут попадать все туры. Полученное значение будет использовано в поиске, если в запросе метода GetTours не передан соответствующий параметр. |
Rank |
int |
Рейтинг страны (0 — самый высокий). |
TicketsIncluded | bool | Значение по умолчанию для параметра включения перелёта в стоимость тура. Возможные значения: true — в выдачу должны попадать только туры, в
стоимость которых включён перелёт; false — в выдачу могут попадать все туры. Полученное значение будет использовано в поиске, если в запросе метода GetTours не передан соответствующий параметр. |
IsVisa | bool | Требуется ли виза гражданам РФ для въезда. Возможные значения: «false» — не требуется, «true» — требуется. |
Flags | byte | Дополнительные параметры страны (направления вылета). Возможные значения: 0 = None, Exotic = 1 (экзотическая страна), SeaShore = 2 (Подходит для отдыха на море), Schengen = 4 (Является страной шенгенского соглашения). |
GetCities
Метод GetCities возвращает список курортов для выбранного направления.
Пример запроса:
https://module.sletat.ru/Main.svc/GetCities?countryId=40
Параметры запроса:
Параметр |
Тип |
Описание |
countryId * |
Int32 |
Идентификатор направления, полученный методом GetCountries. |
lang | String | Язык возвращаемого названия курорта. Возможные варианты: ru-Ru (по умолчанию), en-En. |
top | String |
Запрашивается справочник курортов Египта.
Пример ответа:
{ "GetCitiesResult":{ "Data":[ { "Id":3769, "Name":"Адабия", "Default":false, "DescriptionUrl":"", "IsPopular":false, "ParentId":null }, ... ], } }
В ответ возвращается массив GetCitiesResult.Data, каждый из объектов которого содержит описание курорта запрошенной страны:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор курорта. |
Name |
str |
Название курорта. |
CountryId | int | Идентификатор страны |
Default |
bool |
Принимает значение true, если курорт используется для поиска туров по умолчанию; в противном случае – false. |
DescriptionUrl |
str |
Ссылка на описание курорта. Поле может быть пустым, если курорт не имеет описания. |
IsPopular |
bool |
Принимает значение true, если курорт был признан популярным на основе статистики поисковых запросов, сделанных на сайте sletat.ru и сайтах партнёров; в противном случае — false. |
ParentId |
int |
Идентификатор родительского курорта. Например, для греческих курортов Ираклиона, Лассити и Ретимно идентификатором родительского курорта будет 3071 - идентификатор о. Крит. Поле может быть пустым, если курорт не имеет родительской записи. |
GetHotelStars
Метод GetHotelStars возвращает список доступных категорий отелей в выбранных курортах.
Пример запроса:
https://module.sletat.ru/Main.svc/GetHotelStars?countryId=40&towns=372,1592,1642
Запрашиваются справочники категорий отелей для Шарм-эль-Шейха, Хургады и Дахаба (Египет).
Параметры запроса:
Параметр |
Описание |
countryId * |
Идентификатор страны. |
towns |
Идентификаторы курортов, разделённые запятой. |
Пример ответа:
{ "GetHotelStarsResult":{ "Data":[ { "Id":401, "Name":"2*" }, ... ], } }
В ответ возвращается массив GetHotelStarsResult.Data, каждый объект которого содержит описание категории отеля:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор категории отеля. |
Name |
str |
Категория отеля. |
GetHotels
Метод GetHotels возвращает список доступных отелей в выбранной стране. Список отелей может быть отфильтрован по массиву курортов и категорий отелей, а также по названию самого отеля.
Пример запроса:
https://module.sletat.ru/Main.svc/GetHotels?countryId=40&towns=1642&stars=404&all=-1
Запрашивается справочник по пятизвёздочным отелям Шарм-эль-Шейха (Египет).
Параметры запроса:
Параметр |
Описание |
all |
Количество отелей в выдаче. Возможные значения: “-1” – в выдачу попадают все отели; любое положительное целое число – точное количество отелей. |
countryId |
Идентификатор направления. |
filter |
Фильтрация по названию отеля. |
id |
Идентификатор отеля. |
page |
Номер страницы. |
pageSize |
Количество отелей в ответе. |
stars |
Идентификаторы категорий отелей, разделённые запятыми. |
towns |
Идентификаторы курортов, разделённые запятыми. |
Пример ответа:
{ "GetHotelsResult":{ "Data":[ { "Id":2153, "Name":"Amwaj Oyoun Hotel & Resort", "CommonRate":6.21481466, "IsInBonusProgram":false, "PhotosCount":12, "Rate":3.92, "StarId":404, "StarName":"5*", "TownId":1642 }, ... ], "Count":94 } }
Поля структуры GetHotelsResult:
Поле |
Тип |
Описание |
Data |
arr[] |
Массив описаний отелей. |
Count |
int |
Количество записей об отелях. |
Каждый объект массива Data содержит данные об отеле:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор отеля. |
Name |
str |
Название отеля. |
CommonRate |
float |
Рейтинг отеля. На момент написания настоящего руководства параметр не используется, и данные не обновляются. |
IsInBonusProgram |
bool |
Флаг участия в бонусной программе Слетать.ру. Так как программа закрыта, значение не используется. |
PhotosCount |
int |
Общее количество фотографий отеля. |
Rate |
float |
Рейтинг отеля, определяемый голосованием пользователей на сайте sletat.ru, а также рейтингами компаний ТурПравда, Booking.com, TripAdvisor и HotelsCombined. |
StarId |
int |
Идентификатор категории отеля. |
StarName |
str |
Категория отеля |
TownId |
int |
Идентификатор курорта. |
GetMeals
Метод GetMeals возвращает список типов питания.
Пример запроса:
https://module.sletat.ru/Main.svc/GetMeals?
Параметры отсутствуют.
Пример ответа:
{ "GetMealsResult":{ "Data":[ { "Id":115, "Name":"AI" }, ... ], } }
В ответ возвращается массив GetMealsResult.Data, каждый объект которого содержит описание типа питания:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор типа питания. |
Name |
str |
Тип питания. |
GetTourOperators
Метод GetTourOperators возвращает список доступных туроператоров. Последний может быть ограничен лицензией. Кроме того, вы можете настроить фильтрацию туроператоров в личном кабинете на сайте sletat.ru. Метод всегда возвращает полный список туроператоров, отмечая тех, которые работают по указанной паре «город вылета — направление».
Пример запроса:
https://module.sletat.ru/Main.svc/GetTourOperators?townFromId=1264&countryId=40
Запрашивается справочник туроператоров, предлагающих туры из Санкт-Петербурга в Египет.
Параметры запроса:
Параметр |
Описание |
townFromId * |
Идентификатор города вылета. |
countryId * |
Идентификатор направления. |
Пример ответа:
{ "GetTourOperatorsResult":{ "Data":[ { "Id":19, "Name":"Anex", "Enabled":true }, ... ], } }
В ответ возвращается массив GetTourOperatorsResult.Data, каждый объект которого содержит описание туроператора:
Поле |
Тип |
Описание |
Id |
int |
Идентификатор туроператора. |
Name |
str |
Наименование туроператора. |
Enabled |
bool |
Флаг наличия туров по указанной паре townFromId-countryId. Если туроператор работает, поле принимает значение true; в противном случае – false. |
Методы поиска горящих туров
GetTemplates
Метод GetTemplates возвращает список шаблонов, по которым Слетать.ру отбирает горящие туры.
Пример запроса:
https://module.sletat.ru/Main.svc/GetTemplates?templatesList=all&login=XXX&password=YYY
Параметры запроса:
Параметр |
Описание |
templatesList |
Возможные значения:
|
type |
Если параметр имеет значение «1», возвращаются шаблоны сезонных туров; если «0» - горящих туров. Кроме того, если параметр templateList имеет значение all, возвращается пользовательский шаблон. Если параметр не передан, возвращается список шаблонов горящих туров. |
Данные возвращаемые при всех возможных сочетаниях значений templaеsList и type, приведены в таблице:
Значения параметров |
Шаблоны |
Без параметров |
Шаблон, выбранный в настройках Личного кабинета, и пользовательский шаблон. |
templatesList=shared; type=1 |
Все стандартные шаблоны сезонных туров. |
templatesList=shared; type=0 |
Все стандартные шаблоны горящих туров. |
templatesList=all; type=1 |
Все стандартные шаблоны сезонных туров и пользовательский шаблон. |
templatesList=all; type=0 |
Все стандартные шаблоны горящих туров и пользовательский шаблон. |
Пример ответа:
{ "GetTemplatesResult":{ "Data":{ "templates":[ { "departureCity": "Санкт-Петербург", "id": 1, "name": "Горящие туры (СПб)" }, ... ] }, } }
Каждый объект массива GetTemplatesResult.Data.templates содержит описание шаблона:
Поле |
Тип |
Описание |
departureCity |
str |
Город вылета. |
id |
int |
Идентификатор шаблона. |
name |
str |
Название шаблона. |
GetShowcaseReview
Метод GetShowcaseRewiew возвращает данные о направлениях, доступных для города вылета: идентификатор и название страны, диапазон доступных параметров поиска, а также описание самых дешёвых туров (по одному на направление), найденных по шаблону.
Внимание! В зависимости от города вылета для поиска туров по отдельным направлениям могут использоваться настройки, отличные от общего шаблона. Данные об использованном шаблоне передаются после каждого описания направления. |
Пример вызова:
https://module.sletat.ru/Main.svc/GetShowcaseReview?templateName=%D0%93%D0%BE%D1%80%D1%8F%D1%89%D0%B8%D0%B5+%D1%82%D1%83%D1%80%D1%8B+(%D0%A1%D0%9F%D0%B1)&login=XXX&password=YYY
Параметры запроса:
Параметр |
Описание |
templateName |
Название шаблона, полученное в поле name структуры GetTemplatesResult.Data.templates[]. Если параметр не передан, метод возвращает данные обо всех направлениях, доступных для шаблона, используемого по умолчанию. |
includeResorts | Включить в ответ идентификаторы и названия отелей, найденных по данному шаблону. Возможные значения: 1 – включать данные; 0 – не включать. |
countryToursCount | Максимальное количество туров в одну страну. По умолчанию 1. |
currencyAlias | Название валюты (USD, EUR, RUB, BYR, UAH) |
Пример ответа:
{ "GetShowcaseReviewResult":{ "Data":[ { "AvailableMealIds": [112, 113, 114, 115, 117], "AvailableMealNames": ["FB", "HB", "BB", "AI", "RO"], "AvailableNights": [3, 6, 7, 10, 14], "AvailableResortsIds": null, "AvailableResortsNames": null, "AvailableStarIds": [401, 402, 403, 404, 405], "AvailableStarNames": ["2*", "3*", "4*", "5*", "Apts"], "CapitalWeather": null, "CountryId": 3, "CountryImageUrl": "http:\/\/static.sletat.ru\/images\/countries\/3.jpg", "CountryName": "Австрия", "HotelId": "1775", "HotelName": "Hotel am Konzerthaus - MGallery Collection", "HotelUrl": "http:\/\/hotels.sletat.ru\/?id=1775", "HtPlaceName": "1\/2 DBL", "MealName": "BB", "MinPrice": "20987 RUB", "MinPriceDate": "09\/08\/2014", "Nights": 3, "OfferId": 865285531, "ResortName": "Вена", "SourceId": 352723657, "StarName": "4*", "Template":{ "adults": 2, "checkInFrom": "08\/08\/2014", "checkInTo": "14\/08\/2014", "hasTickets": true, "hotelIsNotInStop": true, "kids": 0, "lastPricePercent": 0, "meals": [], "nightsMax": 14, "nightsMin": 3, "priceMax": null, "priceMin": null, "stars": [402, 403, 404, 410, 411], "ticketsIncluded": true, "townFromId": 1264, "useRandomPricePercent": false } }, ... ], } }
В ответ возвращается массив GetShowcaseReviewResult.Data, каждый объект которого содержит описания направления, по которому найдены туры, соответствующие шаблону поиска, с перечислением доступных параметров поиска и описанием самого дешёвого тура, найденного по направлению:
Поле |
Тип |
Описание |
AvailableMealIds |
arr[] |
Список идентификаторов типов питания, найденных по данному шаблону. |
AvailableMealNames |
arr[] |
Список типов питания, найденных по данному шаблону. |
AvailableNights |
arr[] |
Список продолжительностей туров (в ночах), найденных по данному шаблону. |
AvailableResortsIds |
arr[] |
Идентификаторы отелей, найденных по данному шаблону. Передаётся при includeResorts=1. |
AvailableResortsNames |
arr[] |
Названия отелей, найденных по данному шаблону. Передаётся при includeResorts=1. |
AvailableStarsIds |
arr[] |
Идентификаторы категорий отелей, найденных по данному шаблону. |
AvailableStarsNames |
arr[] |
Список категорий отелей, найденных по данному шаблону. |
CapitalWeather |
Данные о погоде в столице. | |
CountryId |
int |
Идентификатор страны. |
CountryImageUrl |
str |
Ссылка на изображение флага страны. |
CountryName |
str |
Название страны. |
HotelId |
str |
Идентификатор отеля в самом дешёвом найденном турпакете. |
HotelName |
str |
Название отеля в самом дешёвом найденном турпакете. |
HotelUrl |
str |
Ссылка на описание отеля в самом дешёвом найденном турпакете. Принимает значение “null”, если данные не слинкованы. |
HtPlaceName |
str |
Тип размещения для предложения с минимальной ценой. |
MealName |
str |
Тип питания для предложения с минимальной ценой. |
MinPrice |
str |
Минимальная цена тура, найденная по шаблону. |
MinPriceData |
str |
Дата заезда для предложения с минимальной ценой. |
Nights |
int |
Продолжительность тура с минимальной ценой. |
OfferId |
int |
Идентификатор ценового предложения. |
ResortName |
str |
Курорт для предложения с минимальной ценой. |
SourceId |
int |
Идентификатор туроператора. При отсутствии расширенной лицензии на шлюз значение поля шифруется. За подробностями обращайтесь по электронной почте info@sletat.ru. |
StarName |
str |
Категория отеля для предложения с минимальной ценой. |
Template |
obj |
Описание шаблона, по которому отбирались туры. |
Поля объекта Template:
Поле |
Тип |
Описание |
adults |
int |
Количество туристов (взрослых). |
checkInFrom |
str |
Начальная дата интервала дат вылета в формате DD/MM/YYYY. |
checkInTo |
str |
Конечная дата интервала дат вылета в формате DD/MM/YYYY. |
hasTickets |
bool |
Наличие билетов. Принимает значение “true”, если билеты есть. В противном случае – “false”. |
hotelIsNotInStop |
bool |
Принимает значение “true”, если места есть; в противном случае – “false”. |
kids |
int |
Количество туристов (детей). Всегда возвращается «0». |
lastPricePercent |
Int |
Размер псевдоскидки. |
meals |
arr[] |
Идентификаторы типов питания. |
nightsMax |
int |
Максимальная продолжительность тура (ночей). |
nightsMin |
int |
Минимальная продолжительность тура (ночей). |
priceMax |
int |
Максимальная цена тура. |
priceMin |
int |
Минимальная цена тура. |
stars |
arr[] |
Идентификаторы категорий отеля. |
ticketsIncluded |
bool |
Состав турпакета. Принимает значение “true”, если перелёт включён в стоимость. В противном случае – “false”. |
townFromId |
int |
Идентификатор города вылета. |
useRandomPricePercent |
bool |
Случайный размер псевдоскидки. |
GetTours
Пример вызова:
https://module.sletat.ru/Main.svc/GetTours?groupBy=hotel&countryId=40&cityFromId=832¤cyAlias=RUB&pageSize=4&pageNumber=1&s_nightsMin=3&s_nightsMax=14&s_showcase=true&includeOilTaxesAndVisa=1&login=XXX&password=YYY
Параметры запроса:
Параметр |
Описание |
cityFromId * |
Идентификатор города вылета. |
countryId * |
Идентификатор страны. |
s_showcase * |
Всегда передавать true. |
cities |
Список курортов, разделение запятой. |
currencyAlias |
Валюта. Возможные значения: USD, EUR, RUB, BYR, UAH |
fake |
Симулировать выдачу. |
hotels | Для Горящих туров параметр игнорируется. |
groupBy |
Сортировка выдачи. Возможные значения:
Если параметр не передан, используется сортировка по цене, а максимальное количество туров в выдаче ограничивается тысячей (см. также параметр PageSize). |
hiddenOperators |
Список наименований операторов, которых следует исключить из выдачи, разделение запятой. Для корректной работы используйте URL-кодирование. |
includeDescriptions |
Описания типа питания и отеля. Возможные значения: «1» – запрашивать описания; «0» – не запрашивать. |
includeOilTaxesAndVisa |
Описания топливных и визовых сборов. Возможные значения:
|
meals |
Список идентификаторов типов питания, разделенных запятой. |
pageNumber |
Номер страницы. |
pageSize |
Количество туров в выдаче. Если параметр не передан, максимальное количество ограничено двадцатью. |
s_nightsMax |
Максимальная продолжительность тура, ночей. |
s_nightsMin |
Минимальная продолжительность тура, ночей. |
stars |
Список идентификаторов категорий отеля, разделенных запятой. |
visibleOperators | Список идентификаторов операторов, которых следует включить в выдачу (остальные будут исключены), разделение запятой. |
economOnly | Поиск только туров с перелётом в эконом классе. Возможные значения: 0 или 1. |
hideShopTours | Скрыть шоп туры. Возможные значения: 0 или 1. |
siteSessionId | Идентификатор сессии на сайте Слетать.ру для отображения статистики. |
useAccount | Использовать параметры для стопов из Личного кабинета Слетать.ру вместо пришедших из формы. Возможные значения: 1 — использовать параметры ЛК; 0 — параметры формы. |
TemplateName | Название шаблона горящих туров. |
Пример ответа:
{ "GetToursResult":{ "Data":{ "aaData":[ [ "727267006", 359789733, "http:\/\/hotels.sletat.ru\/?id=12755", 12755, "", 1592, "MOSCOW HURGHADA HURG-8967", "El Tabia", "2*", "Standard", "HB", "1\/2 DBL", "13.08.2014", "19.08.2014", 6, "11754 RUB", 2, 0, "", "Хургада", [""], "2", "1", "1", "1", "0", "0", "Ср.", "19.08", "http:\/\/hotels.sletat.ru\/i\/p\/12755_0.jpg", 40, "Египет", 832, "Москва", "", "4.98", "", "", "", 13103, false, 113, 11754, "RUB", 5283, 401, 7, "", "El Tabia", "2*", "Хургада", "HB", "DBL", "Standard", "", "", "", "", "", 0, null, null, null, null, null, null, 401, 0, "FkX90fD3oBh90q8uytsEzA==", "", "", "", "", "", "", "", "", "", "", "8gJsOSQg\/R7Z+oA5Bcp5gA==", 0, null, -1, False ], ... ], "cacheIsEmpty": false, "countryCurrencyId": "2", "hotelsCount": 386, "iTotalDisplayRecords": 386, "iTotalRecords": 386, "isInTheBasket": 0, "loadState": [], "oilTaxes":[ [ "361683864", "03.04.2014", "31.12.2014", 40, "USD", null, null, null, null, null, null, 832 ], ... ], "requestId": 739707152, "visa": null, "visaRange":[ "USD",[ [ 361683864, 0, 25 ], ... ] }, } }
Поля объекта GetToursResult.Data:
Поле |
Тип |
Описание |
aaData |
arr[] |
Массив записей о найденных турах. |
cacheIsEmpty |
bool |
Состояние кеша. Принимает значение true, если кеш пуст. Поскольку сервис поиска горящих туров обращается исключительно к кешу, значение этого поля всегда будет равно false. |
countryCurrencyId |
str |
Идентификатор валюты, используемой в стране. |
hotelsCount |
int |
Количество отелей в выдаче. |
iTotalDisplayRecords |
Int |
Количество туров в выдаче. Если >2500 выведет 2500. |
iTotalRecords |
int |
Количество туров в выдаче. Поле идентично iTotalDisplayRecords. |
isInTheBasket |
int |
Технический параметр. Используется только на сайте sletat.ru |
loadState |
arr[] |
Состояние получения данных от туроператора. В поиске горящих туров не используются, поскольку все данные получаются из кеша системы поиска Слетать.ру. |
oilTaxes |
arr[] |
Массив записей о топливных сборах. Возвращается, если параметр includeOilTaxesAndVisa был передан со значением 1. |
requestId |
int |
Идентификатор поискового запроса. |
visa |
arr[] |
На момент написания настоящего руководства поле не используется. |
visaRange |
arr[] |
Массив записей о визовых сборах. Возвращается, если параметр includeOilTaxesAndVisa был передан со значением 1. |
Каждый элемент массива GetToursResult.Data.aaData содержит описание найденного тура:
Поле |
Тип |
Описание |
aaData[0] |
int |
Идентификатор ценового предложения (тура). |
aaData[1] |
int |
Идентификатор туроператора. При отсутствии расширенной лицензии на шлюз значение поля шифруется. За подробностями обращайтесь по электронной почте info@sletat.ru |
aaData[2] |
str |
Ссылка на описание отеля. |
aaData[3] |
int |
Идентификатор отеля. |
aaData[4] |
str |
Ссылка на описание курорта. Поле может быть пустым, если данные не слинкованы. |
aaData[5] |
int |
Идентификатор курорта. |
aaData[6] |
str |
Название тура. |
aaData[7] |
str |
Название отеля. |
aaData[8] |
str |
Категория отеля. |
aaData[9] |
str |
Тип номера. |
aaData[10] |
str |
Тип питания. |
aaData[11] |
str |
Тип размещения. |
aaData[12] |
str |
Дата вылета (туда) в формате DD.MM.YYYY. |
aaData[13] |
str |
Дата вылета (обратно) в формате DD.MM.YYYY. |
aaData[14] |
int |
Продолжительность тура, ночей. |
aaData[15] |
str |
Цена тура с указанием валюты. |
aaData[16] |
int |
Количество туристов (взрослых). |
aaData[17] |
int |
Количество туристов (детей). |
aaData[18] |
str |
Наименование туроператора. Доступ к данным может быть ограничен лицензией. По всем вопросам обращайтесь по электронной почте info@sletat.ru. |
aaData[19] |
str |
Курорт. |
aaData[20] |
arr[] |
Ссылка на поиск тура в системе туроператора. Доступ к данным может быть ограничен лицензией. По всем вопросам обращайтесь по электронной почте info@sletat.ru. |
aaData[21] |
str |
Количество мест в отеле. Возможные значения: 0 – есть места; 1 – нет мест; 2 – по запросу. |
aaData[22] |
str |
Билеты включены в цену. |
aaData[23] |
int |
Наличие билетов эконом-класса (туда). Возможные значения: 0 — нет, 1 — есть, 2 — по запросу. |
aaData[24] |
int |
Наличие билетов эконом-класса (обратно). Возможные значения: 0 — нет, 1 — есть, 2 — по запросу. |
aaData[25] |
int |
Наличие билетов бизнес-класса (туда). Возможные значения: 0 — нет, 1 — есть, 2 — по запросу. |
aaData[26] |
int |
Наличие билетов бизнес-класса (обратно). Возможные значения: 0 — нет, 1 — есть, 2 — по запросу. |
aaData[27] |
str |
День начала тура. Используется только в текстовом представлении. Возможные значения: Пн. Вт. Ср. Чт. Пн. Сб. Вс. |
aaData[28] |
str |
Дата окончания тура. Используется только в текстовом представлении. |
aaData[29] |
str |
Ссылка на изображение отеля. Поле может быть пустым, если данные не слинкованы. |
aaData[30] |
int |
Идентификатор направления. |
aaData[31] |
str |
Направление. |
aaData[32] |
int |
Идентификатор города вылета. |
aaData[33] |
str |
Город вылета. |
aaData[34] |
str |
Ссылка на логотип туроператора. Предоставляется при наличии расширенной лицензии на шлюз. За подробностями обращайтесь по электронной почте info@sletat.ru. |
aaData[35] |
float |
Рейтинг отеля по десятибалльной шкале. |
aaData[36] |
int |
Описание типа питания. Возвращается, если параметр includeDescriptions был передан со значением 1. |
aaData[37] |
int |
Описание типа размещения. Передаётся, если параметр includeDescriptions был передан со значением 1. |
aaData[38] |
int |
Описание отеля. Передаётся, если значение параметр includeDescriptions был передан со значением 1. |
aaData[39] |
int |
Системный идентификатор типа размещения (поле может быть пустым, если данные не слинкованы). |
aaData[40] |
bool |
Флаг демо-режима. Если шлюз работает в демо-режиме, поле принимает значение true; в противном случае – false. |
aaData[41] |
int |
Системный идентификатор типа питания (поле может быть пустым, если данные не слинкованы). |
aaData[42] |
int |
Цена тура в виде числа без указания валюты. |
aaData[43] |
int |
Валюта поля aaData[42]. |
aaData[44] |
int |
Системный идентификатор типа номера. Поле может быть пустым, если данные не слинкованы. |
aaData[45] |
int |
Системный идентификатор категории отеля. Поле может быть пустым, если данные не слинкованы. |
aaData[46] |
int |
Количество фотографий отеля. Поле может быть пустым, если данные не слинкованы. |
aaData[47] |
str |
Ссылка на личный кабинет туроператора. Предоставляется при наличии расширенной лицензии на шлюз. За подробностями обращайтесь по электронной почте info@sletat.ru. |
aaData[48] |
str |
Название отеля в системе оператора. |
aaData[49] |
str |
Категория отеля в системе оператора. |
aaData[50] |
str |
Название курорта в системе оператора. |
aaData[51] |
str |
Тип питания в системе оператора. |
aaData[52] |
str |
Тип размещения в системе оператора. |
aaData[53] |
str |
Тип номера в системе оператора. |
aaData[54] |
str |
|
aaData[55] |
int |
Количество билетов эконом-класса (туда). Возможные значения: «-1» — нет данных; целое число, меньшее или равное нулю — точное количество билетов; пустое значение — билетов много. |
aaData[56] |
int |
Количество билетов эконом-класса (обратно). Возможные значения: «-1» — нет данных; целое число, меньшее или равное нулю — точное количество билетов; пустое значение — билетов много. |
aaData[57] |
int |
Количество билетов бизнес-класса (туда). Возможные значения: «-1» — нет данных; целое число, меньшее или равное нулю — точное количество билетов; пустое значение — билетов много. |
aaData[58] |
int |
Количество билетов бизнес-класса (обратно). Возможные значения: «-1» — нет данных; целое число, меньшее или равное нулю — точное количество билетов; пустое значение — билетов много. |
aaData[59] |
int |
Флаг тура с обязательствами (тур, спонсируемый коммерческой компанией, которая в обмен обязует туриста приобрести её продукт). Возможные значения: 0 – обычный тур; 1 – тур с обязательствами. |
aaData[60] |
||
aaData[61] |
||
aaData[62] |
||
aaData[63] |
||
aaData[64] |
||
aaData[65] |
||
aaData[66] |
int |
Идентификатор категории отеля. |
aaData[67] |
||
aaData[68] |
||
aaData[69] |
||
aaData[70] |
||
aaData[71] |
||
aaData[72] |
||
aaData[73] |
||
aaData[74] |
||
aaData[75] |
||
aaData[76] |
||
aaData[77] |
||
aaData[78] |
||
aaData[79] |
||
aaData[80] |
||
aaData[81] |
||
aaData[82] |
||
aaData[83] |
||
aaData[84] |
||
aaData[85] |
Каждый элемент массива oilTaxes (передаётся при includeOilTaxesAndVisa=1) содержит описание топливного сбора:
Поле |
Тип |
Описание |
oilTaxes[0] |
int |
Идентификатор туроператора. При отсутствии расширенной лицензии на шлюз значение поля шифруется. За подробностями обращайтесь по электронной почте info@sletat.ru. |
oilTaxes[1] |
str |
Дата начала действия топливного сбора. |
oilTaxes[2] |
str |
Дата окончания действия топливного сбора. |
oilTaxes[3] |
int |
Размер топливного сбора. |
oilTaxes[4] |
str |
Валюта поля oilTaxes[3]. |
oilTaxes[5] |
str |
Наименование авиакомпании. |
oilTaxes[6] |
str |
Наименование принимающей стороны. |
oilTaxes[7] |
str |
Название курорта. |
oilTaxes[8] |
str |
Название аэропорта прибытия. |
oilTaxes[9] |
int? |
Идентификатор курорта. |
oilTaxes[10] |
int? |
Номер рейса. |
oilTaxes[11] |
int |
Идентификатор города вылета. |
Каждый массив visaRange (передаётся при includeOilTaxesAndVisa=1) содержит описание визового сбора:
Поле |
Тип |
Описание |
visaRange[0] |
str |
Валюта полей visaRange[1][1] и visaRange[1][2]. |
visaRange[1][0] |
int |
Идентификатор туроператора. При отсутствии расширенной лицензии на шлюз значение поля шифруется. За подробностями обращайтесь по электронной почте info@sletat.ru. |
visaRange[1][1] |
int |
Минимальный размер визового сбора. |
visaRange[1][2] |
int |
Максимальный размер визового сбора. |
Методы работы с заказом
ActualizePrice
Метод ActualizePrice необходим для актуализации предложений туроператоров. Он позволяет проверить наличие билетов и мест в отеле, топливных и визовых сборов, а также других обязательных доплат.
Пример запроса:
https://module.sletat.ru/Main.svc/ActualizePrice?requestId=745227237&offerId=131755672&sourceId=163&showcase=1&login=XXX&password=YYY
Запрашиваются актуальные данные по туру №131755672 от туроператора №163, найденному по запросу №745227237.
Параметры запроса:
Параметр |
Описание |
sourceId * |
Идентификатор туроператора, полученный методом GetTours (значение поля aaData[1]). При отсутствии расширенной лицензии на шлюз возможна передача шифрованного значения. |
offerId * |
Идентификатор ценового предложения, полученный методом GetTours (значение поля aaData[0]). |
showcase * |
Всегда передавать 1. |
requestId * |
Идентификатор поискового запроса, полученный методом GetTours (значение поля requestId). |
Пример ответа:
{ "ActualizePriceResult":{ "Data":{ "actualizationSessionId": "PiwGlGdaIUC\/3Kje1v69WA==", "data":[ "Египет", "Москва", "Хургада", "Хургада - TARIFF-117174", "20.08.2014", "3", "TRITON EMPIRE HOTEL", "745227237", "3*", "Standard room", "23.08.2014", "HB", "True", "0", "1", "1", "0", "0", "11649", "11649", "", "RUR", "1\/2 DBL", "RUB", "163", "GoldTravel", "40", "Египет", "832", "Москва", "1592", "Хургада", "42896", "Three Corners Triton Empire Hotel", "402", "3*", "5283", "Standard", "113", "HB", "13103", "DBL", "http:\/\/www.goldtravel.ru\/main\/search_tour.view", "http:\/\/hotels.sletat.ru\/?id=42896", "http:\/\/hotels.sletat.ru\/i\/p\/42896_0.jpg", 30, "http:\/\/sletat.ru\/book\/GoldTravel\/MTYzfDEwIOxNTODfDcTyNINw%3d%3d", "5", "8.4", "Завтрак, ужин (или иногда обед на выбор)", "двухместный номер", "Отель входит в систему TRITON HOTELS вместе с отелями TRITON EMPIRE BEACH RESORT 3* (1-линия) и TRITON EMPIRE INN 2* (2-линия). Гости всех трех отелей могут пользоваться всеми услугами каждого отеля кроме ресторанов во время ужина. Отдельный комплекс состоит из 6-этажных корпусов. Этот экономичный отель построен практически в центре Старой Хургады. Последний ремонт осуществлялся в 2005 году.", "1032490153", "2", "0", "VO8awcPXWXrGUsF8KgBdqQ==", "40F144D46805DB45C83D64AD2EB1AF99" ], "errorMessage": null, "isCompleted": true, "isDetailedExists": false, "isError": false, "isFound": true, "nextPossibleCommands": null, "oilTaxes":[ [ 40, "USD", null, "GoldTravel", null, "03.04.2014", "31.12.2014", null, null, null, 832 ] ], "randomNumber": 4319, "resourceData": [], "resources": [], "visa": [25, "USD"], "visaExtendedInfo":[ { "AgeFrom": null, "AgeTo": 12, "CitizenshipName": "Россия", "CurrencyName": "USD", "HostName": "", "IsExpress": false, "IssueDaysFrom": null, "IssueDaysTo": null, "IssueOnArrival": true, "IssueTownName": "По прибытии", "PassportType": false, "Price": 0, "SourceId": null }, ... ] }, } }
Поля объекта ActualizePriceResult.Data:
Поле |
Тип |
Описание |
actualizationSessionId |
str |
Идентификатор сессии актуализации. |
data |
arr[] |
Массив данных о туре. |
errorMessage |
str |
Текст ошибки. Выводится, если поле isError принимает значение true. |
isCompleted |
bool |
Если актуализация выполнена, поле принимает значение true; в противном случае – false. |
IsDetailedExists |
bool |
Если была проведена детальная актуализация, поле принимает значение true; в противном случае – false. |
isError |
bool |
Если в процессе обработки запроса произошла ошибка, поле принимает значение true, в противном случае – false. |
isFound |
bool |
Если тур был найден в системе оператора, поле принимает значение true; в противном случае – false. |
nextPossibleCommands |
arr[] |
На момент написания настоящего руководства поле не используется. Всегда возвращается null. |
oilTaxes |
arr[] |
Массив записей о визовых сборах. |
randomNumber |
int |
Случайный номер тура в рамках запроса. Используется методом ActualizePriceByCode. |
resourceData |
На момент написания настоящего руководства поле не используется. Всегда возвращается null. | |
recources |
На момент написания настоящего руководства поле не используется. Всегда возвращается null. | |
visa[0] |
int |
Размер визового сбора. |
visa[1] |
str |
Валюта поля visa[0]. |
visaExtendedInfo |
arr[] |
Массив записей о визовых сборах. |
Поля массива data:
Поле |
Тип |
Описание |
data[0] |
str |
Направление. |
data[1] |
str |
Город вылета. |
data[2] |
str |
Курорт. |
data[3] |
str |
Название программы. |
data[4] |
str |
Дата вылета в формате DD.MM.YYYY. |
data[5] |
int |
Продолжительность тура, ночей. |
data[6] |
str |
Название отеля. |
data[7] |
str |
Идентификатор поискового запроса. |
data[8] |
str |
Категория отеля. |
data[9] |
str |
Тип номера. |
data[10] |
str |
Дата выезда в формате DD.MM.YYYY. |
data[11] |
str |
Тип питания. |
data[12] |
bool |
Объём турпакета. Если перелёт включён в стоимость тура, поле принимает значение true, в противном случае – false. |
data[13] |
int |
Наличие мест в отеле. Возможные значения: 0 – есть места; 1 – нет мест; 2 – по запросу. |
data[14] |
int |
Билеты эконом-класса (туда). Возможные значения: 0 – нет билетов; 1 – есть билеты; 2 – по запросу. |
data[15] |
int |
Билеты эконом-класса (обратно). Возможные значения: 0 – нет билетов; 1 – есть билеты; 2 – по запросу. |
data[16] |
int |
Билеты бизнес-класса (туда). Возможные значения: 0 – нет билетов; 1 – есть билеты; 2 – по запросу. |
data[17] |
int |
Билеты бизнес-класса (обратно). Возможные значения: 0 – нет билетов; 1 – есть билеты; 2 – по запросу. |
data[18] |
int |
Оригинальная цена в пересчёте на человека. |
data[19] |
int |
Цена в запрошенной валюте в пересчёте на человека. |
data[20] |
str |
Дополнительное описание тура. |
data[21] |
str |
Валюта полей data[18] и data[19]. |
data[22] |
str |
Тип размещения. |
data[23] |
str |
Системное наименование валюты. |
data[24] |
str |
Идентификатор туроператора. Не поддерживается в шлюзе горящих туров. |
data[25] |
str |
Наименование туроператора. Не поддерживается в шлюзе горящих туров. |
data[26] |
str |
Идентификатор направления. Поле может быть пустым, если данные не слинкованы. |
data[27] |
str |
Направление. Поле может быть пустым, если данные не слинкованы. |
data[28] |
str |
Идентификатор города вылета. Поле может быть пустым, если данные не слинкованы. |
data[29] |
str |
Город вылета. Поле может быть пустым, если данные не слинкованы. |
data[30] |
str |
Идентификатор курорта. Поле может быть пустым, если данные не слинкованы. |
data[31] |
str |
Курорт. Поле может быть пустым, если данные не слинкованы. |
data[32] |
str |
Идентификатор отеля. Поле может быть пустым, если данные не слинкованы. |
data[33] |
str |
Отель. Поле может быть пустым, если данные не слинкованы. |
data[34] |
str |
Идентификатор категории отеля. Поле может быть пустым, если данные не слинкованы. |
data[35] |
str |
Категория отеля. Поле может быть пустым, если данные не слинкованы. |
data[36] |
str |
Идентификатор типа номера. Поле может быть пустым, если данные не слинкованы. |
data[37] |
str |
Тип номера. Поле может быть пустым, если данные не слинкованы. |
data[38] |
str |
Идентификатор типа питания. Поле может быть пустым, если данные не слинкованы. |
data[39] |
str |
Тип питания. Поле может быть пустым, если данные не слинкованы. |
data[40] |
str |
Идентификатор типа размещения. Поле может быть пустым, если данные не слинкованы. |
data[41] |
str |
Тип размещения. Поле может быть пустым, если данные не слинкованы. |
data[42] |
str |
Ссылка на туроператора. При отсутствии расширенной лицензии на шлюз поле может быть пустым. За подробностями обращайтесь по электронной почте info@sletat.ru. |
data[43] |
str |
Ссылка на описание отеля в системе Слетать.ру. |
data[44] |
str |
Ссылка на первую фотографию отеля. |
data[45] |
int |
Количество доступных фотографий отеля. |
data[46] |
str |
Ссылка на систему бронирования туроператора. При отсутствии расширенной лицензии на шлюз поле может быть пустым. За подробностями обращайтесь по электронной почте info@sletat.ru. |
data[47] |
str |
|
data[48] |
str |
Рейтинг отеля по десятибалльной шкале. |
data[49] |
str |
Описание типа питания. |
data[50] |
str |
Описание типа размещения. |
data[51] |
str |
Описание отеля. |
data[52] |
str |
Идентификатор ценового предложения (тура). |
data[53] |
str |
Количество туристов (взрослых). Всегда передаётся «2». |
data[54] |
str |
Количество туристов (детей). Всегда передаётся «0». |
data[55] |
str |
Техническое поле. Используется только сайтом sletat.ru. |
data[56] |
str |
Техническое поле. Используется только сайтом sletat.ru. |
Каждый элемент массива oilTaxes содержит данные о топливном сборе:
Поле |
Тип |
Описание |
oilTaxes[0] |
int |
Размер топливного сбора. |
oilTaxes[1] |
str |
Валюта поля oilTaxes[0]. |
oilTaxes[2] |
str |
Наименование авиакомпании. Поле может быть пустым, если сбор не зависит от авиакомпании. |
oilTaxes[3] |
str |
Наименование туроператора. При отсутствии расширенной лицензии на шлюз поле может быть пустым. За подробностями обращайтесь по электронной почте info@sletat.ru. |
oilTaxes[4] |
str |
Курорт. Поле может быть пустым, если сбор не зависит от курорта. |
oilTaxes[5] |
str |
Дата начала действия. |
oilTaxes[6] |
str |
Дата окончания действия. |
oilTaxes[7] |
str |
Наименование принимающей стороны. Поле может быть пустым, если сбор не зависит от принимающей стороны. |
oilTaxes[8] |
str |
Аэропорт прибытия Поле может быть пустым, если сбор не зависит от аэропорта прибытия. |
oilTaxes[9] |
int? |
Номер рейса. Поле может быть пустым, если сбор не зависит от номера рейса. |
oilTaxes[10] |
int |
Идентификатор города вылета. |
Каждый объект массива visaExtendedInfo содержит данные о визовом сборе:
Поле |
Тип |
Описание |
AgeFrom |
int |
Нижняя возрастная граница для выдачи визы. |
AgeTo |
int |
Верхняя возрастная граница для выдачи визы. |
CitizenshipName |
str |
Гражданство получателя визы. |
CurrencyName |
str |
Валюта поля Price. |
HostName |
str |
Наименование принимающей стороны. Если поле заполнено, визовый сбор действителен только для туров с указанной принимающей стороной. |
IsExpress |
bool |
Если сбор взимается за экспресс-оформление, поле принимает значение true; в противном случае – false. Поле принимает значение null, если размер сбора не зависит от срочности оформления. |
IssueDaysFrom |
int |
Минимальный срок оформления. |
IssueDaysTo |
int |
Максимальный срок оформления. |
IssueOnArrival |
bool |
Если виза выдаётся по прибытии, поле принимает значение true; в противном случае – false. |
IssueTownName |
str |
Город выдачи визы (или «По прибытии», если поле IssueOnArrival имеет значение true). |
PassportType |
bool |
Поле принимает значение true, если турист имеет свой паспорт, и false, если данные о нём вписаны в паспорт другого туриста. |
Price |
int |
Размер сбора. |
SourceId |
Идентификатор туроператора. |
ActualizePriceByCode
Метод ActualizePriceByCode необходим для актуализации предложений туроператоров. Ответ полностью идентичен методу ActualizePrice, но в запросе используется случайный номер, который присваивается всем турам, найденным в Системе Слетать.ру, при первой актуализации.
Пример запроса:
https://module.sletat.ru/Main.svc/ActualizePriceByCode?code=7406&showcase=true&login=XXX&password=YYY
Параметры запроса:
Параметр |
Описание |
code * |
Случайный номер тура, полученный при первой актуализации (поле randomNumber структуры ActualizePriceResult.Data). |
showcase * |
Режим горящих туров. Всегда передавать 1. |
Внимание! Случайный номер хранится в Системе Слетать.ру в течение суток. |
Пример и описание ответа – см. метод ActualizePrice.
SaveTourOrder
Метод SaveTourOrder добавляет заказ тура в систему Слетать.ру. В вашем личном кабинете на сайте sletat.ru вы можете настроить SMS- и email-уведомления о новых заказах. Приложение SletatRu Agent для Windows также отслеживает новые заказы и присылает вам оповещения.
Пример запроса:
https://module.sletat.ru/Main.svc/SaveTourOrder?searchRequestId=575366173&offerId=12242442&sourceId=1922198339&user=%D0%98%D0%B2%D0%B0%D0%BD+%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87+%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9&email=test%40mail.ru&phone=%2B71111111111&login=XXX&password=YYY
Передаются данные о заказе тура №12242442 от туроператора №1922198339, найденного по запросу №575366173: ФИО, телефон, e-mail.
Параметры запроса:
Параметр |
Описание |
searchRequestId * |
Идентификатор поискового запроса, полученный методом GetTours (значение поля requestId). |
sourceId * |
Идентификатор туроператора, полученный методом GetTours (значение поля aaData[1]). При отсутствии расширенной лицензии на шлюз возможна передача шифрованного значения. |
offerId * |
Идентификатор ценового предложения, полученный методом GetTours (значение поля aaData[0]). |
user |
Имя заказчика. |
email * |
Электронная почта заказчика. |
phone * |
Телефон заказчика. |
info | Комментарий заказчика. |
countryName | Наименование страны. |
cityFromName | Наименование города вылета. |
currencyAlias | Валюта (USD, EUR, RUB, UAH или BYR). |
officeId | Идентификатор офиса (при использовании «многоофисности») |
moduleTpl | Идентификатор поискового модуля (для версии 3.0 генерируется отдельный идентификатор для каждого модуля). |
orderReferrer | Полный URL, с которого делался заказ. |
sendMeCopy | Флаг для отправки туристу уведомления о создании заказа. Возможные значения: true или false. |
Внимание! При обращении к методу обязательно передавать один из параметров email или phone (т. е. передача одного параметра делает необязательной передачу другого). |
Пример ответа:
{ "SaveTourOrderResult":{ "Data":0, "ErrorMessage":null, "ExecutionTimeMs":117, "IsError":false } }
В ответ возвращается объект SaveTourOrderRequest, с пустым свойством Data и полями, содержащими данные об ошибке (см. описание в разделе «Методы»).