Мастер-Тур(15):API для разработки отображения наличия мест на отели
Версия статьи от 7-06-2024.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Данный 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 – ключ страны
- Возвращаемый результат:
- 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 – ключ страны
- cityKey – ключ города
- Возвращаемый результат:
- 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 – ключ страны
- cityKey – ключ города
- hotelsKey – ключ отеля
- dateFirst – дата начала тура
- period – длительность тура
- Возвращаемый результат:
- CityName – название города
- HotelQuota – квота на отель
- HotelName – название отеля
- HotelQuotasInfoFew
- Key – ключ
- HotelKey – ключ отеля
- RoomKey – ключ номера
- RoomCategory – категория номера
- PartnerKey – ключ партнера
- LongMinMax – длительность
- Quota – квота
- Room – номер
- Key – ключ номера
- Value – название номера
- RoomCategory – категория номера
- Key – ключ категории номера
- Value – название категории номера
- HotelsKey – ключ отеля
- Key – ключ
- Value – название отеля
- Date – дата
- QuotaStatus – статус квоты
- PlacesStatus – статус мест
- FreePlaces – свободные места
- IsFewPlaces – наличие нескольких мест
- Duration – продолжительность
- LongMax – максимальная продолжительность
- LongMin – минимальная продолжительность
- PartnerKey – ключ партнера
- IsByCheckin –
- ReleasePeriod –
- CostId –
- Room – номер
- TourProgramKey – ключ тур программы
- 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
},
"Duration": 0,
"LongMax": 0,
"LongMin": 0,
"PartnerKey": 0,
"IsByCheckin": null,
"ReleasePeriod": 0,
"CostId": 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
},
"Duration": 0,
"LongMax": 0,
"LongMin": 0,
"PartnerKey": 0,
"IsByCheckin": null,
"ReleasePeriod": 0,
"CostId": 0
}
],
"TourProgramKey": null
}
]
}
]
}
]
|