Мастер-Тур(15):API для разработки отображения наличия мест на отели
Версия статьи от 14-10-2025.
|
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Данный web-сервис предназначен для разработки отображения наличия мест на отели на основе API.
Установка
Для работы с web-сервисом необходимо на отдающей стороне установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Выгрузка настроек службы поиска (Setting)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- GET .../TourSearchOwin/Setting?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- seatsQuotaDescription - текст, отображаемый на вкладке «Наличие мест» при поиске для значения «Есть»
- noSeatsQuotaDescription - текст, отображаемый на вкладке «Наличие мест» при поиске для значения «Нет»
- reqSeatsQuotaDescription - текст, отображаемый на вкладке «Наличие мест» при поиске для значения «Запрос»
- fewSeatsQuotaDescription - текст, отображаемый на вкладке «Наличие мест» при поиске для значения «Мало»
Значение текста изменяется по настройке Меню → Администрирование → Настройки → Настройки квотирования
|
Вызов метода Setting GET http://localhost:9000/TourSearchOwin/QuotedHotels/Setting
Возвращаемый результат метода Setting (в формате JSON) {
"seatsQuotaDescription": "+",
"noSeatsQuotaDescription": "-",
"reqSeatsQuotaDescription": "?",
"fewSeatsQuotaDescription": "+-"
}
|
Выгрузка списка стран (GetCountry)
Метод производит выгрузку доступных стран для экрана Наличие мест на отели.
- Формат запроса:
- GET .../TourSearchOwin/QuotedHotels/GetCountry?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Country – страна
- Key – ключ страны
- Name – название страны
- Country – страна
|
Вызов метода GetCountry http://localhost:9000/TourSearchOwin/QuotedHotels/GetCountry
Возвращаемый результат метода GetCountry (в формате JSON) [
{
"Country": {
"Key": 6279,
"Name": "Belarusia"
}
},
{
"Country": {
"Key": 6259,
"Name": "Russia"
}
},
{
"Country": {
"Key": 90,
"Name": "Австрия"
}
},
{
"Country": {
"Key": 222,
"Name": "Англия"
}
},
{
"Country": {
"Key": 6394,
"Name": "Бахрейн"
}
},
{
"Country": {
"Key": 375,
"Name": "Беларусь"
}
},
{
"Country": {
"Key": 6305,
"Name": "Бельгия"
}
},
{
"Country": {
"Key": 359,
"Name": "Болгария"
}
},
{
"Country": {
"Key": 40,
"Name": "Германия"
}
},
{
"Country": {
"Key": 1,
"Name": "Голландияя"
}
},
{
"Country": {
"Key": 29,
"Name": "Греция"
}
},
{
"Country": {
"Key": 6251,
"Name": "Грузия"
}
},
{
"Country": {
"Key": 9,
"Name": "Египет"
}
},
{
"Country": {
"Key": 729,
"Name": "Израиль"
}
},
{
"Country": {
"Key": 6288,
"Name": "Ирландия"
}
},
{
"Country": {
"Key": 80,
"Name": "Италия"
}
},
{
"Country": {
"Key": 3272,
"Name": "Казахстан"
}
},
{
"Country": {
"Key": 10,
"Name": "Кипр"
}
},
{
"Country": {
"Key": 6243,
"Name": "Куба"
}
},
{
"Country": {
"Key": 603,
"Name": "Малайзия"
}
},
{
"Country": {
"Key": 960,
"Name": "Мальдивы"
}
},
{
"Country": {
"Key": 77,
"Name": "Мексика"
}
}
]
|
Выгрузка списка городов (GetCity)
Метод производит выгрузку доступных городов в экране Наличие мест на отели.
- Формат запроса:
- GET .../TourSearchOwin/QuotedHotels/GetCity?
- Принимаемые параметры:
- countryKey – ключ страны из метода /TourSearchOwin/QuotedHotels/GetCountry?
- Возвращаемый результат:
- City – город
- Key – ключ города
- Name – название города
- City – город
|
Вызов метода GetCity http://localhost:9000/TourSearchOwin/QuotedHotels/GetCity?countryKey=90
Возвращаемый результат метода GetCity (в формате JSON) [
{
"City": {
"Key": -1,
"Name": "Все"
}
},
{
"City": {
"Key": 275,
"Name": "Арльберг"
}
},
{
"City": {
"Key": 1283,
"Name": "Вега"
}
},
{
"City": {
"Key": 35,
"Name": "Вена"
}
},
{
"City": {
"Key": 440,
"Name": "Зельден"
}
},
{
"City": {
"Key": 277,
"Name": "Майерхoфен"
}
},
{
"City": {
"Key": 281,
"Name": "Фильцмоос"
}
},
{
"City": {
"Key": 578,
"Name": "Хиппах"
}
},
{
"City": {
"Key": 102,
"Name": "Цель ам Зе"
}
]
}
|
Выгрузка списка отелей (GetHotels)
Метод производит выгрузку всех доступных отелей с наличием мест.
- Формат запроса:
- GET .../TourSearchOwin/QuotedHotels/GetHotels?
- Принимаемые параметры:
- countryKey – ключ страны из метода /TourSearchOwin/QuotedHotels/GetCountry?
- cityKey – ключ города из метода /TourSearchOwin/QuotedHotels/GetCity?
- Возвращаемый результат:
- Category – категория отеля
- Key – ключ категории отеля
- Name – название категории отеля
- Hotel – отель
- Key – ключ отеля
- Name – название отеля
- Category – категория отеля
|
Вызов метода GetHotels http://localhost:9000/TourSearchOwin/QuotedHotels/GetHotels?countryKey=90&cityKey=-1
Возвращаемый результат метода GetHotels (в формате JSON) [
{
"Category": {
"Key": 964,
"Name": "!!"
},
"Hotel": {
"Key": 111884,
"Name": "1"
}
},
{
"Category": {
"Key": 23,
"Name": "1*++"
},
"Hotel": {
"Key": 12584,
"Name": "151515"
}
},
{
"Category": {
"Key": 964,
"Name": "!!"
},
"Hotel": {
"Key": 111885,
"Name": "2"
}
},
{
"Category": {
"Key": 964,
"Name": "!!"
},
"Hotel": {
"Key": 111887,
"Name": "4"
}
]
}
|
Поиск наличия мест в отелях (Search)
Метод возвращает наличие мест в определенном отеле на определенный период
- Формат запроса:
- GET .../TourSearchOwin/QuotedHotels/search?
- Принимаемые параметры:
- countryKey – ключ страны из метода /TourSearchOwin/QuotedHotels/GetCountry?
- cityKey – ключ города из метода /TourSearchOwin/QuotedHotels/GetCity?
- hotelsKey – ключ отеля из метода /TourSearchOwin/QuotedHotels/GetHotels?
- dateFirst – начальная дата просмотра наличия мест на отели, от которой вычисляется период просмотра
- period – период просмотра в днях
- Возвращаемый результат:
- CityName – название города
- HotelQuota – массив данных о наличии мест на отели
- HotelName – название отеля
- HotelQuotasInfoFew - массив данных о наличии мест в конкретном отеле
- Key – массив данных с указанием информации об объекте квотирования
- HotelKey – ключ отеля
- RoomKey – ключ типа номера
- RoomCategory – ключ категории номера
- PartnerKey – ключ партнера, предоставляющего объект квотирования
- LongMinMax – продолжительность проживания по квоте (только для квот на заезд)
- Quota – подробная информация по объекту квотирования
- Room – массив данных о типе номера
- Key – ключ типа номера
- Value – название типа номера
- RoomCategory – массив данных о категории номера
- Key – ключ категории номера
- Value – название категории номера
- HotelsKey – массив данных об отеле
- Key – ключ отеля
- Value – название отеля
- Date – дата предоставления объекта квотирования в формате YYYY-MMM-DDT00:00:00
- QuotaStatus – статус объекта квотирования
- PlacesStatus – результат проверки квоты по услуге: 1 – места есть, 2 - нет мест, 4 - запрос
- FreePlaces – количество мест на квоте, заполняется только, если IsFewPlaces = true
- IsFewPlaces – обозначение для статуса мест "Мало", true - количество мест в квоте указывается, false - количество мест в квоте не указывается
- LongMax – максимальная продолжительность проживания (только для квоты по заезду)
- LongMin – минимальная продолжительность проживания (только для квоты по заезду)
- PartnerKey – ключ партнера, предоставляющего объект квотирования
- IsByCheckin – 1 - квота на заезд, 0 - квота на период
- ReleasePeriod – релиз-период для квоты
- Room – массив данных о типе номера
- Key – массив данных с указанием информации об объекте квотирования
|
Вызов метода Search GET http://supp-08.megatec.ru:9000/TourSearchOwin/QuotedHotels/search?countryKey=90&cityKey=-1&hotelsKey=8540&dateFirst=13.06.2024&period=30
Возвращаемый результат метода Search (в формате JSON) [
{
"CityName": "Вена",
"HotelQuota": [
{
"HotelName": "ALBATROS AQUA BLU",
"HotelQuotasInfoFew": [
{
"Key": {
"HotelKey": 8540,
"RoomKey": 140,
"RoomCategory": 10980,
"PartnerKey": 0,
"LongMinMax": ""
},
"Quota": [
{
"Room": {
"Key": 140,
"Value": "1AD"
},
"RoomCategory": {
"Key": 10980,
"Value": "1 B/R"
},
"HotelsKey": {
"Key": 8540,
"Value": "ALBATROS AQUA BLU"
},
"Date": "2024-06-13T00:00:00",
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"LongMax": 0,
"LongMin": 0,
"PartnerKey": 0,
"IsByCheckin": null,
"ReleasePeriod": 0,
},
{
"Room": {
"Key": 140,
"Value": "1AD"
},
"RoomCategory": {
"Key": 10980,
"Value": "1 B/R"
},
"HotelsKey": {
"Key": 8540,
"Value": "ALBATROS AQUA BLU"
},
"Date": "2024-06-14T00:00:00",
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"LongMax": 0,
"LongMin": 0,
"PartnerKey": 0,
"IsByCheckin": null,
"ReleasePeriod": 0,
}
],
}
]
}
]
}
]
|