|
|
| (не показано 17 промежуточных версий 1 участника) |
| Строка 1: |
Строка 1: |
| | [[Category:Подключение_туроператоров]] | | [[Category:Подключение_туроператоров]] |
| − | == Описание сервиса == | + | == SletatRu Provider API == |
| − | | + | Актуальная версия документации доступна по ссылке: https://static.sletat.ru/Files/api/SletatRu_Provider_API.pdf |
| − | Для интеграции со Слетать.ру нужно создать веб-сервис, который будет выполнять следующие задачи:
| + | |
| − | * Выгружать справочники: города вылета, страны, курорты, отели и т.д.
| + | |
| − | * Осуществлять параметризованный поиск цен
| + | |
| − | * Актуализировать выбранный тур по его идентификатору
| + | |
| − | | + | |
| − | '''Для упрощения, сервис можно представить веб-страничкой, которая принимает GET или POST параметры и выдаёт ответ в формате XML (не SOAP).'''
| + | |
| − | | + | |
| − | Для всех методов сервиса должен использоваться один адрес. Например, если вы реализуете сервис по адресу: http://mysite.com/services/sletatru.xml , то этот адрес должен быть общим для всех запросов.
| + | |
| − | | + | |
| − | Примеры:
| + | |
| − | * http://mysite.com/services/sletatru.xml?action=GetCountries – запрос списка стран
| + | |
| − | * http://mysite.com/services/sletatru.xml?action=GetDepartCities – запрос списка городов вылета
| + | |
| − | | + | |
| − | Выдача результатов должна быть в формате XML, для каждого метода описан формат.
| + | |
| − | | + | |
| − | Для корневого элемента в результате должен быть указан атрибут version с указанием версии протокола. Атрибут нужен для определения версии провайдера туров сервисом Слетать.ру.
| + | |
| − | | + | |
| − | Пример:
| + | |
| − | <getCountriesResult version="1.0">
| + | |
| − | ...
| + | |
| − | </getCountriesResult>
| + | |
| − | Данный документ описывает версию прокола 1.0.
| + | |
| − | | + | |
| − | Все методы должны возвращать XML в кодировке UTF-8.
| + | |
| − | | + | |
| − | Все параметры запросов, не помеченные как обязательные, являются необязательными только для стороны, формирующей запрос. '''Для серверной стороны обработка всех полученных параметров запроса обязательна.'''
| + | |
| − | | + | |
| − | Результат выполнения запросов (поискового в частности) должен строго соответствовать указанным параметрам. Если параметр не обязателен и не указан, запрос его не учитывает и возвращает все варианты.
| + | |
| − | | + | |
| − | Пул IP адресов, с которых сервис Слетать.ру будет обращаться к реализуемому провайдеру туров уточняется отдельно. Для его уточнения необходимо написать на support@sletat.ru
| + | |
| − | | + | |
| − | == Дополнительные требования к сервису ==
| + | |
| − | | + | |
| − | Максимально допустимое время при работе с любым методом сервиса не должно превышать 30 секунд. Рекомендуемая скорость ответов (в том числе для метода выдачи туров) до 5 секунд. Если какой-либо метод вернёт результат за период более 30 секунд, то сервис Слетать.ру не обработает эти данные.
| + | |
| − | | + | |
| − | Любой метод реализуемого сервиса может быть вызван одновременно различными потоками. Поэтому в реализации методов не должно быть блокировок, синхронизирующих доступ к методам. Метод выдачи туров должен поддерживать параллельное выполнение нескольких поисковых запросов.
| + | |
| − | | + | |
| − | Количество запросов в сутки к реализуемому сервису уточняется отдельно и зависит от следующих параметров:
| + | |
| − | * количества и популярности направлений туроператора
| + | |
| − | * количества городов вылета
| + | |
| − | * количества поисковых запросов в сервисе Слетать.ру
| + | |
| − | | + | |
| − | == Реализуемые методы ==
| + | |
| − | | + | |
| − | Для каждого метода указано назначение, список входящих параметров, формат выдачи, а также описание и типы данных в выдаче методов.
| + | |
| − | | + | |
| − | '''В методах используются следующие типы данных:'''
| + | |
| − | | + | |
| − | * Int32 – целое число (32 бита со знаком) от 2, 147, 483, 648 до 2, 147, 483, 647
| + | |
| − | * Int64 – целое число (64 бита со знаком)
| + | |
| − | * UInt64 – целое число (64 бита без знака)
| + | |
| − | * String - строка
| + | |
| − | | + | |
| − | === Выгрузка списка стран ===
| + | |
| − | | + | |
| − | Метод производит выгрузку всех направлений туроператора.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetCountries
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор страны (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getCountriesResult version="1.0">
| + | |
| − | <country id="{Int32}" name="{String}" />
| + | |
| − | ...
| + | |
| − | </getCountriesResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getCountriesResult''' содержит произвольное количество элементов '''country''', каждый из которых описывает направление атрибутами '''id''' (идентификатор страны) и '''name''' (название страны, язык рус/анг).
| + | |
| − | | + | |
| − | === Выгрузка списка городов вылета ===
| + | |
| − | | + | |
| − | Метод производит выгрузку всех доступных городов вылета, а также содержит данные о том, какие направления доступны из каждого города вылета. Сервис Слетать.ру периодически обращается к данному методу для обновления данных о доступных направлениях для каждого города вылета у туроператора.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetDepartCities
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор города вылета (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getDepartCitiesResult version="1.0">
| + | |
| − | <city id="{Int32}" name="{String}">
| + | |
| − | <countryTo id="{Int32}" />
| + | |
| − | ...
| + | |
| − | </city>...
| + | |
| − | </getDepartCitiesResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getDepartCitiesResult''' содержит произвольное количество элементов '''city''', каждый из которых описывает город вылета атрибутами '''id''' (идентификатор города) и '''name''' (название города, язык рус/анг). Каждый элемент '''city''' также должен содержать набор элементов '''countryTo''', каждый из которых описывает доступное направление из города вылета. Для элемента '''countryTo''' указывается атрибут '''id''' с идентификатором страны.
| + | |
| − | | + | |
| − | === Выгрузка списка курортов ===
| + | |
| − | | + | |
| − | Метод возвращает список всех доступных курортов.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetResorts
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор курорта (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getResortsResult version="1.0">
| + | |
| − | <resort id="{Int32}" name="{String}" countryId="{Int32}" />
| + | |
| − | ...
| + | |
| − | </getResortsResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getResortsResult''' содержит произвольное количество элементов '''resort''', каждый из которых описывает курорт атрибутами '''id''' (идентификатор курорта), '''name''' (название курорта, язык рус/анг) и '''countryId''' (идентификатор страны в котором расположен курорт).
| + | |
| − | | + | |
| − | === Выгрузка списка категорий отелей ===
| + | |
| − | | + | |
| − | Метод возвращает список категорий отелей (примеры: 3*, 4*, Apts и т.д.).
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetHotelCategories
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор категории отеля (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getHotelCategoriesResult version="1.0">
| + | |
| − | <hotelCategory id="{Int32}" name="{String}" />
| + | |
| − | ...
| + | |
| − | </getHotelCategoriesResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getHotelCategoriesResult''' содержит произвольное количество элементов '''hotelCategory''', каждый из которых описывает категорию отеля атрибутами '''id''' (идентификар) и '''name''' (название).
| + | |
| − | | + | |
| − | === Выгрузка списка отелей ===
| + | |
| − | | + | |
| − | Метод возвращает список всех доступных отелей. В данном методе желательно возвращать только те отели, по которым в базе туроператора есть актуальные цены.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetHotels
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор отеля (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getHotelsResult version="1.0">
| + | |
| − | <hotel id="{Int32}" name="{String}" hotelCategoryId="{Int32}" resortId="{Int32}" />
| + | |
| − | ...
| + | |
| − | </getHotelsResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getHotelsResult''' содержит произвольное количество элементов '''hotel''', каждый из которых описывает отель атрибутами '''id''' (идентификатор), '''name''' (название отеля), '''hotelCategoryId''' (идентификатор категории отеля) и '''resortId''' (идентификатор курорта в котором расположен отель).
| + | |
| − | | + | |
| − | === Выгрузка видов питания ===
| + | |
| − | | + | |
| − | Метод возвращает список видов питания (примеры: HB, BB, без питания и т.д.).
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetMeals
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | * id – идентификатор вида питания (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getMealsResult version="1.0">
| + | |
| − | <meal id="{Int32}" name="{String}" />
| + | |
| − | ...
| + | |
| − | </getMealsResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getMealsResult''' содержит произвольное количество элементов '''meal''', каждый из которых описывает вид питания атрибутами '''id''' (идентификатор) и '''name''' (название).
| + | |
| − | | + | |
| − | === Выгрузка списка валют ===
| + | |
| − | | + | |
| − | Метод возвращает список используемых валют. Список обязательно должен содержать рубли, доллары и евро.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetCurrencies
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − |
| + | |
| − | * id – идентификатор валюты (опциональный; если указан, то запрашивается только одна запись)
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getCurrenciesResult version="1.0">
| + | |
| − | <currency id="{Int32}" name="{String}" />
| + | |
| − | ...
| + | |
| − | </getCurrenciesResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getCurrenciesResult''' содержит произвольное количество элементов '''currency''', каждый из которых описывает валюту атрибутами '''id''' (идентификатор) и '''name''' (название).
| + | |
| − | | + | |
| − | === Поиск туров ===
| + | |
| − | | + | |
| − | Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод лишь должен возвращать наиболее дешевые предложения, найденные по предоставленным параметрам. Количество туров в выдаче регулируется параметром '''count'''.
| + | |
| − | | + | |
| − | '''Формат запроса:''' ?action=GetTours
| + | |
| − | | + | |
| − | '''Параметры:'''
| + | |
| − | | + | |
| − | {| class="wikitable"
| + | |
| − | |Параметр; '''обязательный'''
| + | |
| − | |Тип данных
| + | |
| − | |Описание
| + | |
| − | |-
| + | |
| − | |offerId
| + | |
| − | |Int64
| + | |
| − | |Уникальный идентификатор ранее найденного предложения. В случае, если данный параметр задан, все остальные параметры не обязательны и не должны приниматься в расчет. Метод должен возвращать одну запись.
| + | |
| − | |-
| + | |
| − | |'''count'''
| + | |
| − | |Int32
| + | |
| − | |Максимальное количество предложений в выдаче.
| + | |
| − | |-
| + | |
| − | |'''countryId'''
| + | |
| − | |Int32
| + | |
| − | |Идентификатор страны.
| + | |
| − | |-
| + | |
| − | |'''departCityId'''
| + | |
| − | |Int32
| + | |
| − | |Идентификатор города вылета.
| + | |
| − | |-
| + | |
| − | |'''dateFrom'''
| + | |
| − | |String
| + | |
| − | |Начальная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2015).
| + | |
| − | |-
| + | |
| − | |'''dateTo'''
| + | |
| − | |String
| + | |
| − | |Конечная дата в диапазоне дат вылета в формате dd.MM.yyyy (пример: 31.12.2015).
| + | |
| − | |-
| + | |
| − | |'''adults'''
| + | |
| − | |Int32
| + | |
| − | |Количество взрослых.
| + | |
| − | |-
| + | |
| − | |'''kids'''
| + | |
| − | |Int32
| + | |
| − | |Количество детей.
| + | |
| − | |-
| + | |
| − | |kidsAges
| + | |
| − | |String
| + | |
| − | |Количество полных лет каждому ребёнку. Передаётся в виде строки, перечисление через запятую (пример: 3,6). Значения 0 или 1 используются для обозначения инфантов.
| + | |
| − | |-
| + | |
| − | |'''nightsMin'''
| + | |
| − | |Int32
| + | |
| − | |Минимальное количество ночей в туре.
| + | |
| − | |-
| + | |
| − | |'''nightsMax'''
| + | |
| − | |Int32
| + | |
| − | |Максимальное количество ночей в туре.
| + | |
| − | |-
| + | |
| − | |resorts
| + | |
| − | |String
| + | |
| − | |Идентификаторы курортов, перечисление через запятую.
| + | |
| − | |-
| + | |
| − | |hotelCategories
| + | |
| − | |String
| + | |
| − | |Идентификаторы категорий отелей, перечисление через запятую.
| + | |
| − | |-
| + | |
| − | |hotels
| + | |
| − | |String
| + | |
| − | |Идентификаторы отелей, перечисление через запятую.
| + | |
| − | |-
| + | |
| − | |meals
| + | |
| − | |String
| + | |
| − | |Идентификаторы видов питания, перечисление через запятую.
| + | |
| − | |-
| + | |
| − | |'''currencyId'''
| + | |
| − | |Int32
| + | |
| − | |Валюта, в которой должны быть выданы цены, а также валюта для входящих параметров priceMin и priceMax (если они есть).
| + | |
| − | |-
| + | |
| − | |priceMin
| + | |
| − | |Int32
| + | |
| − | |Цена тура от.
| + | |
| − | |-
| + | |
| − | |priceMax
| + | |
| − | |Int32
| + | |
| − | |Цена тура до.
| + | |
| − | |-
| + | |
| − | |hotelIsNotInStop
| + | |
| − | |Int32
| + | |
| − | |При значении "1" - в результатах не должно быть отелей в стопе (отели со статусом «под запрос» допустимы). При значении "0" в результат должны попадать как отели в стопе, так и отели с наличием мест и с местами по запросу.
| + | |
| − | |-
| + | |
| − | |ticketsIncluded
| + | |
| − | |Int32
| + | |
| − | |При значении "1" в результатах должны быть только туры с включенной стоимостью перелёта («только отель» - недопустимы). При значении "0" в результат должны попадать как туры без перелета, так и туры с перелетом.
| + | |
| − | |-
| + | |
| − | |hasTickets
| + | |
| − | |Int32
| + | |
| − | |При значении "1" в результатах должны быть туры только с реальным наличием билетов в перелёте. Не должно быть туров со стопом на перелёте, перелёты со статусом «под запрос» недопустимы. При значении "0" в результат должны попадать как туры без билетов на рейс, так и туры с наличием билетов и с билетами по запросу.
| + | |
| − | |-
| + | |
| − | |excludeUsualTours
| + | |
| − | |Int32
| + | |
| − | |При значении "1" из результатов должны быть исключены туры, являющиеся обычными турами (не являющиеся комбинированными, экскурсионными или шоп-турами). При значении "0" или отсутствии данного параметра, такие туры должны быть включены в результат.
| + | |
| − | |-
| + | |
| − | |excludeCombined
| + | |
| − | |Int32
| + | |
| − | |При значении "1" из результатов должны быть исключены туры, являющиеся комбинированными (в рамках которых турист посещает несколько курортов). При значении "0" или отсутствии данного параметра, такие туры должны быть включены в результат.
| + | |
| − | |-
| + | |
| − | |excludeShopTours
| + | |
| − | |Int32
| + | |
| − | |При значении "1" из результатов должны быть исключены шоп-туры и туры с обязательствами. При значении "0" или отсутствии данного параметра, такие туры должны быть включены в результат.
| + | |
| − | |-
| + | |
| − | |excludeExcursionTours
| + | |
| − | |Int32
| + | |
| − | |При значении "1" из результатов должны быть исключены экскурсионные туры. При значении "0" или отсутствии данного параметра, такие туры должны быть включены в результат.
| + | |
| − | |-
| + | |
| − | |}
| + | |
| − | | + | |
| − | '''Формат выдачи:'''
| + | |
| − | | + | |
| − | <getToursResult version="1.0">
| + | |
| − | <tour
| + | |
| − | offerId="{Int64}"
| + | |
| − | tourName="{String}"
| + | |
| − | hotelId="{Int32}"
| + | |
| − | hotelUrl="{String}"
| + | |
| − | resortId="{Int32}"
| + | |
| − | hotelCategoryId="{Int32}"
| + | |
| − | mealId="{Int32}"
| + | |
| − | htPlaceName="{String}"
| + | |
| − | roomTypeName="{String}"
| + | |
| − | tourDate="{String}"
| + | |
| − | nights="{Int32}"
| + | |
| − | price="{Int32}"
| + | |
| − | hotelIsInStop="{Int32}"
| + | |
| − | ticketsIncluded="{Int32}"
| + | |
| − | hasEconomTicketsDpt="{Int32}"
| + | |
| − | hasEconomTicketsRtn="{Int32}"
| + | |
| − | hasBusinessTicketsDpt="{Int32}"
| + | |
| − | hasBusinessTicketsRtn="{Int32}"
| + | |
| − | tourUrl="{String}"
| + | |
| − | spoUrl="{String}"
| + | |
| − | fewPlacesInHotel="{Int32}"
| + | |
| − | fewTicketsDptY="{Int32}"
| + | |
| − | fewTicketsRtnY="{Int32}"
| + | |
| − | fewTicketsDptB="{Int32}"
| + | |
| − | fewTicketsRtnB="{Int32}"
| + | |
| − | flags="{UInt64}"
| + | |
| − | description="{String}"
| + | |
| − | receivingParty="{String}"
| + | |
| − | earlyBookingValidTill="{String}"
| + | |
| − | />
| + | |
| − | ...
| + | |
| − | </getToursResult>
| + | |
| − | | + | |
| − | Корневой элемент '''getToursResult''' содержит произвольное количество элементов '''tour''' (от 0 элементов, но не более количества указанного в параметре '''count'''), каждый из которых описывает тур следующими атрибутами:
| + | |
| − | | + | |
| − | {| class="wikitable"
| + | |
| − | |Параметр; '''обязательный'''
| + | |
| − | |Описание
| + | |
| − | |-
| + | |
| − | |'''offerId'''
| + | |
| − | |Уникальный идентификатор предложения, по которому в дальнейшем можно провести актуализацию тура или бронирование.
| + | |
| − | |-
| + | |
| − | |'''tourName'''
| + | |
| − | |Произвольное название тура.
| + | |
| − | |-
| + | |
| − | |'''hotelId'''
| + | |
| − | |Идентификатор отеля.
| + | |
| − | |-
| + | |
| − | |hotelUrl
| + | |
| − | |Ссылка на страницу с описанием отеля.
| + | |
| − | |-
| + | |
| − | |'''resortId'''
| + | |
| − | |Идентификатор курорта, в котором расположен отель.
| + | |
| − | |-
| + | |
| − | |'''hotelCategoryId'''
| + | |
| − | |Идентификатор категории отеля.
| + | |
| − | |-
| + | |
| − | |'''mealId'''
| + | |
| − | |Идентификатор вида питания.
| + | |
| − | |-
| + | |
| − | |'''htPlaceName'''
| + | |
| − | |Произвольное название размещения в номере (примеры: DBL, TRP, 2 ADL + 1 CH (212), 2 ADL + INF). Название должно отображать допустимые возрасты детей (если поиск был с указанием количества детей более 0) или то, что размещение с учетом инфанта (+ INF), в соответствующем случае.
| + | |
| − | |-
| + | |
| − | |roomTypeName
| + | |
| − | |Название типа номера (примеры: standard, deluxe, family, deluxe super ocean view).
| + | |
| − | |-
| + | |
| − | |'''tourDate'''
| + | |
| − | |Дата начала тура в формате dd.MM.yyyy (пример: 31.12.2015).
| + | |
| − | |-
| + | |
| − | |tourEndDate
| + | |
| − | |Дата окончания тура (дата прилета) в формате dd.MM.yyyy (пример: 31.12.2015).
| + | |
| − | |-
| + | |
| − | |'''nights'''
| + | |
| − | |Количество ночей в туре.
| + | |
| − | |-
| + | |
| − | |'''price'''
| + | |
| − | |Цена тура в валюте, которая была указана во входном параметре '''currencyId'''.
| + | |
| − | |-
| + | |
| − | |'''hotelIsInStop'''
| + | |
| − | |Наличие мест в отеле, допустимы значения: 0 – есть места, 1 – нет мест, 2 – запрос.
| + | |
| − | |-
| + | |
| − | |'''ticketsIncluded'''
| + | |
| − | |Включена ли стоимость билетов в стоимость тура, допустимы значения: 0 – не включена (тур только отель), 1 – включена (пакетный тур).
| + | |
| − | |-
| + | |
| − | |'''hasEconomTicketsDpt'''
| + | |
| − | |Наличие билетов эконом класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
| + | |
| − | |-
| + | |
| − | |'''hasEconomTicketsRtn'''
| + | |
| − | |Наличие обратных билетов эконом класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
| + | |
| − | |-
| + | |
| − | |'''hasBusinessTicketsDpt'''
| + | |
| − | |Наличие билетов бизнес класса на место отдыха, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
| + | |
| − | |-
| + | |
| − | |'''hasBusinessTicketsRtn'''
| + | |
| − | |Наличие обратных билетов бизнес класса, допустимы значения: 0 – нет мест, 1 есть места, 2 – запрос. При значении атрибута ticketsIncluded = 0 значение данного параметра будет проигнорировано.
| + | |
| − | |-
| + | |
| − | |'''tourUrl'''
| + | |
| − | |Ссылка, при переходе по которой можно забронировать тур (ссылка может вести на страницу авторизации, но после авторизации должны автоматически попасть на страницу бронирования тура).
| + | |
| − | |-
| + | |
| − | |spoUrl
| + | |
| − | |Ссылка на описание тура, его программы (если есть).
| + | |
| − | |-
| + | |
| − | |fewPlacesInHotel
| + | |
| − | |Поле заполняется, если есть указание на то, что мест в отеле мало. Если нельзя указать точное количество оставшихся мест, то заполняется значением -1, иначе указывается точное количество оставшихся мест.
| + | |
| − | |-
| + | |
| − | |fewTicketsDptY
| + | |
| − | |Поле заполняется, если есть указание на то, что мест эконом класса туда мало. Если нельзя указать точное количество оставшихся мест, то заполняется значением -1, иначе указывается точное количество оставшихся мест.
| + | |
| − | |-
| + | |
| − | |fewTicketsRtnY
| + | |
| − | |Поле заполняется, если есть указание на то, что мест эконом класса обратно мало. Если нельзя указать точное количество оставшихся мест, то заполняется значением -1, иначе указывается точное количество оставшихся мест.
| + | |
| − | |-
| + | |
| − | |fewTicketsDptB
| + | |
| − | |Поле заполняется, если есть указание на то, что мест бизнес класса туда мало. Если нельзя указать точное количество оставшихся мест, то заполняется значением -1, иначе указывается точное количество оставшихся мест.
| + | |
| − | |-
| + | |
| − | |fewTicketsRtnB
| + | |
| − | |Поле заполняется, если есть указание на то, что мест бизнес класса обратно мало. Если нельзя указать точное количество оставшихся мест, то заполняется значением -1, иначе указывается точное количество оставшихся мест.
| + | |
| − | |-
| + | |
| − | |flags
| + | |
| − | |Набор битовых флагов тура. Тур может иметь несколько установленных флагов одновременно, данное значение является их суммой. Возможные флаги тура:
| + | |
| − | * 1 – туроператор рекомендует данный тур;
| + | |
| − | * 2 – доступно мгновенное подтверждение;
| + | |
| − | * 4 – туроператор считает данный тур лучшим предложением;
| + | |
| − | * 8 – тур раннего бронирования;
| + | |
| − | * 16 – тур позднего бронирования;
| + | |
| − | * 32 – туроператор предоставляет скидку на данный тур;
| + | |
| − | * 64 – VIP предложение;
| + | |
| − | * 128 – тур доступен в кредит;
| + | |
| − | * 256 – тур является эксклюзивным предложением туроператора;
| + | |
| − | * 512 – при покупке тура туристу подарок;
| + | |
| − | * 1024 – тур является комбинированным (турист посещает несколько курортов);
| + | |
| − | * 2048 – тур с обязательством (шоп - тур);
| + | |
| − | * 4096 – зарезервировано для использования системой;
| + | |
| − | * 8192 – экскурсионный тур;
| + | |
| − | |-
| + | |
| − | |description
| + | |
| − | |Дополнительная информация по туру, например, для комбинированных туров может содержать информацию о проживании в отелях.
| + | |
| − | |-
| + | |
| − | |receivingParty
| + | |
| − | |Принимающая сторона.
| + | |
| − | |-
| + | |
| − | |earlyBookingValidTill
| + | |
| − | |Если тур является туром раннего бронирования и известна последняя дата ранней брони, то в данном поле должна быть указана эта дата.
| + | |
| − | |-
| + | |
| − | |}
| + | |