API Сервис Ostrovok — различия между версиями
[непроверенная версия] | [непроверенная версия] |
Aefremov (обсуждение | вклад) (→Описание методов) |
Aefremov (обсуждение | вклад) (→Получение статуса заявки (status)) |
||
Строка 753: | Строка 753: | ||
** POST .../ostrovok/v1/status | ** POST .../ostrovok/v1/status | ||
* Принимаемые параметры: | * Принимаемые параметры: | ||
− | ** '''reservation_id''' – идентификатор заявки в базе данных | + | ** '''reservation_id''' – идентификатор заявки в базе данных |
− | ** '''client_reference_id *''' – идентификатор заявки, назначенный провайдером | + | ** '''client_reference_id *''' – идентификатор заявки, назначенный провайдером |
* Возвращаемый результат: | * Возвращаемый результат: | ||
Строка 797: | Строка 797: | ||
Вызов метода status | Вызов метода status | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
− | |||
POST http://localhost:7700/ostrovok/v1/ status | POST http://localhost:7700/ostrovok/v1/ status | ||
{ | { | ||
Строка 809: | Строка 808: | ||
"client_reference_id": "ca115bce-5746-4418-9bba-7715d3751dc9", | "client_reference_id": "ca115bce-5746-4418-9bba-7715d3751dc9", | ||
"status": "pending" | "status": "pending" | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
+ | ===Аннуляция заявки (cancel)=== | ||
+ | Метод аннулирует заявку.<br /> | ||
+ | * Формат запроса: | ||
+ | ** POST .../ostrovok/v1/cancel | ||
+ | * Принимаемые параметры: | ||
+ | ** '''reservation_id''' – идентификатор заявки в базе данных | ||
+ | ** '''client_reference_id *''' – идентификатор заявки, назначенный провайдером | ||
+ | |||
+ | * Возвращаемый результат: | ||
+ | ** '''reservation_id *''' – идентификатор заявки в базе данных | ||
+ | ** '''client_reference_id *''' – идентификатор заявки, назначенный провайдером | ||
+ | ** '''status *''' – статус заявки (принята, аннулирована, ожидает) | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
+ | Вызов метода cancel | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | POST http://localhost:7700/ostrovok/v1/cancel | ||
+ | { | ||
+ | "client_reference_id": " ca115bce-5746-4418-9bba-7715d3751dc9" | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода cancel | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | { | ||
+ | "reservation_id": "155234", | ||
+ | "client_reference_id": "ca115bce-5746-4418-9bba-7715d3751dc9", | ||
+ | "status": "cancelled" | ||
} | } | ||
Версия 16:09, 26 июня 2023
Содержание
[убрать]- 1 Введение
- 2 Описание методов
- 2.1 Получение информации обо всех отелях (Hotels)
- 2.2 Получение информации об отеле по его ключу (Hotels)
- 2.3 Получение информации о типах питания (Meals)
- 2.4 Получение информации о типах размещений по отелям или региону с учетом цен (Search)
- 2.5 Получение информации о вариантах размещений по конкретному отелю (Search)
- 2.6 Бронирование (book)
- 2.7 Получение статуса заявки (status)
- 2.8 Аннуляция заявки (cancel)
Введение
Сервис отдает запросы посредством API. Сервис позволяет получать информацию об отелях, типах питания, вариантах размещения, бронирования, аннуляции и получения статусов заявок. Для работы сервиса необходимо установить службу Windows.
Описание методов
Получение информации обо всех отелях (Hotels)
Метод возвращает список отелей в формате ndjson в сжатом виде. Формат каждого отеля в результате идентичен результату запроса одного отеля..
- Формат запроса:
- GET .../ostrovok/v1/hotels
- Принимаемые параметры: отсутствуют
- Возвращаемый результат:
- id * – идентификатор отеля
- name * – название отеля
- description – описание отеля
- region_id – идентификатор региона отеля
- geo_coordinates * – координаты отеля
- atitude * – широта, 35.346193
- longitude * – долгота, 33.191205
- address * – адрес отеля, «Bademli Sok. No: 1, Alsancak, Cyprus»
- postal_code – почтовый индекс
- contacts – контактная информация
- phone – телефонный номер
- email – адрес электронной почты
- webpage – сайт
- currency – валюта
- stars – звездность отеля
- rating_certificate_info – подтверждение рейтинга (звездности) отеля
- id – номер документа
- expiration_date * – срок действия
- important_info – важная информация по отелю для гостей
- check_in_instructions – информация по заезду
- check_in_time – время заезда, 14:00
- check_in_before_time – время окончания заезда, 18:00
- check_out_time – время выезда, 12:00
- images – список фотографий отеля
- category – категория фотографии, «Холл»
- url * – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
- amenities – список наименований удобств, "Beach/pool towels", "Airport transportation"
- rooms – список комнат
- name * – наименование комнаты (тип) (например, «Deluxe Room»)
- description – описание комнаты
- occupancy – максимальное количество человек
- area – площадь комнаты
- bed_groups – список групп размещений
- id * – идентификатор размещения
- name – наименование размещения (например, «double + twin»)
- bed_types – список вариантов спальных мест
- name * – наименование (например, «double»)
- quantity – количество мест
- images – список фотографий комнаты, аналогично с фотографиями отеля
- category – категория фотографии, «Ванная комната»
- url * – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
Получение информации об отеле по его ключу (Hotels)
Метод возвращает информацию по отелю по ключу отеля в формате ndjson в сжатом виде. Формат каждого отеля в результате идентичен результату запроса одного отеля..
- Формат запроса:
- GET .../ostrovok/v1/hotels/hotel_id
- Принимаемые параметры: отсутствуют
- hotel_id * – идентификатор отеля (ключ)
- Возвращаемый результат:
- id * – идентификатор отеля
- name * – название отеля
- description – описание отеля
- region_id – идентификатор региона отеля
- geo_coordinates * – координаты отеля
- atitude * – широта, 35.346193
- longitude * – долгота, 33.191205
- address * – адрес отеля, «Bademli Sok. No: 1, Alsancak, Cyprus»
- postal_code – почтовый индекс
- contacts – контактная информация
- phone – телефонный номер
- email – адрес электронной почты
- webpage – сайт
- currency – валюта
- stars – звездность отеля
- rating_certificate_info – подтверждение рейтинга (звездности) отеля
- id – номер документа
- expiration_date * – срок действия
- important_info – важная информация по отелю для гостей
- check_in_instructions – информация по заезду
- check_in_time – время заезда, 14:00
- check_in_before_time – время окончания заезда, 18:00
- check_out_time – время выезда, 12:00
- images – список фотографий отеля
- category – категория фотографии, «Холл»
- url * – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
- amenities – список наименований удобств, "Beach/pool towels", "Airport transportation"
- rooms – список комнат
- name * – наименование комнаты (тип) (например, «Deluxe Room»)
- description – описание комнаты
- occupancy – максимальное количество человек
- area – площадь комнаты
- bed_groups – список групп размещений
- id * – идентификатор размещения
- name – наименование размещения (например, «double + twin»)
- bed_types – список вариантов спальных мест
- name * – наименование (например, «double»)
- quantity – количество мест
- images – список фотографий комнаты, аналогично с фотографиями отеля
- category – категория фотографии, «Ванная комната»
- url * – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
Получение информации о типах питания (Meals)
Метод возвращает список типов питания в формате ndjson в сжатом виде.
- Формат запроса:
- GET .../ostrovok/v1/meals
- Принимаемые параметры: отсутствуют
- Возвращаемый результат:
- id * – идентификатор типа питания
- name * – наименование типа питания
Получение информации о типах размещений по отелям или региону с учетом цен (Search)
Метод возвращает список типов размещений по отелям или региону с учетом цен.
- Формат запроса:
- POST .../ostrovok/v1/search
- Принимаемые параметры:
- check_in * – дата планируемого заезда
- check_out * – дата выезда
- residency * – страна (рынок)
- guests_groups * – список групп гостей для отбора размещений
- adults – взрослых
- children_ages – список возрастов детей
- region_id – поиск по региону, если задан, то не учитываются ключи отелей
- hotel_ids – ключи отелей для поиска
- Возвращаемый результат:
- hotel_id * – идентификатор отеля
- rates – список вариантов размещения
- id * – идентификатор размещения, формируется сервисом
- price * – цена
- commission – комиссия
- payment_type * – тип платежа (предоплата или по заезду)
- currency * – валюта
- meals – список типов питания
- id * – идентификатор питания
- name * – наименование питания,
- cancellation_policies – список штрафов
- from * – начало действия штрафа
- amount * – величина штрафа
- rooms * – список комнат
- id * – идентификатор, генерируемый системой
- name * – наименование комнаты (например, «Deluxe Room»)
- bed_groups – список групп размещений
- id * – идентификатор размещения
- name – наименование размещения (например, «double + twin»)
- bed_types – список вариантов спальных мест
- name * – наименование (например, «double»)
- quantity – количество мест
Получение информации о вариантах размещений по конкретному отелю (Search)
Метод возвращает список типов размещений по отелям или региону с учетом цен.
- Формат запроса:
- POST .../ostrovok/v1/search/hotel_id
- Принимаемые параметры:
- hotel_id * – ключ отеля
- check_in * – дата планируемого заезда
- check_out * – дата выезда
- guests_groups * – список групп гостей для отбора размещений
- adults – взрослых
- children_ages – список возрастов детей
- Возвращаемый результат:
- hotel_id * – идентификатор отеля
- rates – список вариантов размещения
- id * – идентификатор размещения, формируется сервисом
- price * – цена
- commission – комиссия
- payment_type * – тип платежа (предоплата или по заезду)
- currency * – валюта
- meals – список типов питания
- id * – идентификатор питания
- name * – наименование питания,
- cancellation_policies – список штрафов
- from * – начало действия штрафа
- amount * – величина штрафа
- rooms * – список комнат
- id * – идентификатор, генерируемый системой
- name * – наименование комнаты (например, «Deluxe Room»)
- bed_groups – список групп размещений
- id * – идентификатор размещения
- name – наименование размещения (например, «double + twin»)
- bed_types – список вариантов спальных мест
- name * – наименование (например, «double»)
- quantity – количество мест
Бронирование (book)
Метод возвращает список типов размещений по отелям или региону с учетом цен.
- Формат запроса:
- POST .../ostrovok/v1/book
- Принимаемые параметры:
- hotel_id * – ключ отеля
- rate_id * – идентификатор размещения из результатов запроса search
- client_reference_id * – ключ бронирования, сгенерированный провайдером
- reservation_holder * – лицо, бронирующее номер
- first_name * – имя
- last_name * – фамилия
- contact_info * – контактные данные бронирующего
- email * – электронная почта
- phone * – телефон
- price * – цена, по которой бронируют
- rooms * – список, комнаты из результата search, выбранные для бронирования [
- id * – идентификатор комнаты из результатов search
- guests * – список гостей – параметры туристов в комнате
- first_name * – имя гостя
- last_name * – фамилия гостя
- is_child * – ребенок или нет
- comments – комментарии к заезду
- Возвращаемый результат:
- reservation_id * – идентификатор заявки в базе данных
- client_reference_id * – идентификатор заявки, назначенный провайдером
- status * – статус заявки (принята, аннулирована, ожидает)
Получение статуса заявки (status)
Метод возвращает статус заявки.
- Формат запроса:
- POST .../ostrovok/v1/status
- Принимаемые параметры:
- reservation_id – идентификатор заявки в базе данных
- client_reference_id * – идентификатор заявки, назначенный провайдером
- Возвращаемый результат:
- reservation_id * – идентификатор заявки в базе данных
- client_reference_id * – идентификатор заявки, назначенный провайдером
- status * – статус заявки (принята, аннулирована, ожидает)
- check_in * – дата планируемого заезда
- check_out * – дата выезда
- reservation_holder * – лицо, бронирующее номер
- first_name * – имя
- last_name * – фамилия
- contact_info * – контактные данные бронирующего
- email * – электронная почта
- phone * – телефон
- hotel_id * – ключ отеля
- hotel_name * – название отеля
- rate – вариант размещения
- id * – идентификатор размещения, формируется сервисом
- price * – цена
- commission – комиссия
- payment_type * – тип платежа, предоплата или по заезду
- currency * – валюта
- meals - список типов питания в формате:
- id * – идентификатор питания (pansion)
- name * – наименование питания,
- cancellation_policies – список штрафов
- from * – начало действия штрафа
- amount * – величина штрафа
- rooms * – список комнат
- id * – идентификатор, генерируемый системой
- name * – наименование комнаты (тип), «Deluxe Room»
- bed_groups – список групп размещений
- id * – идентификатор размещения
- name – наименование размещения, «double + twin»
- bed_types – список вариантов спальных мест
- name * – наименование, «double»
- quantity – количество мест
Аннуляция заявки (cancel)
Метод аннулирует заявку.
- Формат запроса:
- POST .../ostrovok/v1/cancel
- Принимаемые параметры:
- reservation_id – идентификатор заявки в базе данных
- client_reference_id * – идентификатор заявки, назначенный провайдером
- Возвращаемый результат:
- reservation_id * – идентификатор заявки в базе данных
- client_reference_id * – идентификатор заявки, назначенный провайдером
- status * – статус заявки (принята, аннулирована, ожидает)