Шлюз поиска горящих туров (json)

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

Описание сервиса

Сервис позволит вам создать систему поиска горящих туров практически любой сложности. Используя его методы, вы сможете:

  • Загружать справочники городов вылета, стран, курортов, отелей, категорий отелей, видов питания;
  • Искать горящие туры, предварительно отобранные системой Слетать.ру по 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 при указании этих параметров будут применены фильтры, настраиваемые в Личном кабинете (подробности см. в описании соответствующих методов).

Работа сервиса не требует сессий, и методы не зависят друг от друга с точки зрения очередности вызова. Последняя диктуется реализуемым алгоритмом работы.

Передавать все параметры при вызове не обязательно. Обязательные параметры отмечены звёздочкой (*).

Логика работы

  1. Основная логика работы шлюза подразумевает, что методы работают в рамках шаблона, по которому отбираются горящие туры. Поэтому для начала методом GetTemplates запрашивается список доступных шаблонов.
  2. Методом GetDepartCities с использованием названия шаблона templateName, полученного в ответе метода GetTemplates, запрашивается описание города вылета, доступного в рамках используемого шаблона.
  3. В ответе метода GetShowcaseRewiew приходят данные о направлениях, доступных для города вылета: идентификатор и название страны, диапазон доступных параметров поиска, а также описание шаблона и самого дешёвого тура, найденного по нему.
  4. Методом GetTours запускается поиск туров, соответствующих параметрам шаблона.
  5. Методом ActualizePrice запрашивается текущее состояние тура у оператора: наличие билетов и мест в отеле, размеры топливных и визовых сборов.
  6. Метод 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

Значение по умолчанию для параметра наличия билетов. Возможные значения:

  • true — в выдачу должны попадать только туры, для которых есть авиабилеты;
  • false — в выдачу могут попадать все туры.

Полученное значение будет использовано в поиске, если в запросе метода 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

Возможные значения:

  • shared - возвращается список всех стандартных шаблонов горящих туров;
  • all - возвращается список всех стандартных шаблонов и ваш пользовательский шаблон;
  • если параметр не передан, возвращаются все шаблоны, используемые для шлюзов и модулей горящих туров, вне зависимости от того, активна ли лицензия.

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&currencyAlias=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

Сортировка выдачи. Возможные значения:

  • hotel – группировка по цене, начиная с минимальной; при одинаковой цене группировка по названию отеля; только слинкованные отели;
  • sortedHotels - группировка по названию отеля; туры в каждый отель отсортированы по цене, начиная с минимальной; только слинкованные отели;
  • so_price – сортировка по цене, начиная с минимальной.

Если параметр не передан, используется сортировка по цене, а максимальное количество туров в выдаче ограничивается тысячей (см. также параметр PageSize).

hiddenOperators

Список наименований операторов, которых следует исключить из выдачи, разделение запятой. Для корректной работы используйте URL-кодирование.

includeDescriptions

Описания типа питания и отеля. Возможные значения: «1» – запрашивать описания; «0» – не запрашивать.

includeOilTaxesAndVisa

Описания топливных и визовых сборов. Возможные значения:

  • «1» — запрашивать описания;
  • «0» — не запрашивать.

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 и полями, содержащими данные об ошибке (см. описание в разделе «Методы»).