Шлюз поиска горящих туров (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=ht_minhotelprices&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 — параметры формы. |
| minHotelRating | Фильтр по минимальному рейтингу отеля (число с плавающей точкой). |
| beachLines | Фильтр по пляжной линии отеля (целые числа через запятую). |
| 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 и полями, содержащими данные об ошибке (см. описание в разделе «Методы»).