API Сервис Ostrovok — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][непроверенная версия]
(Получение статуса заявки (status))
Строка 1: Строка 1:
 
==Введение==
 
==Введение==
Сервис отдает запросы посредством API.
+
Сервис отдает запросы посредством API.<br />
Сервис позволяет получать информацию об отелях, типах питания, вариантах размещения, бронирования, аннуляции и получения статусов заявок.
+
Сервис позволяет получать информацию об отелях, типах питания, вариантах размещения, бронирования, аннуляции и получения статусов заявок.<br />
Для работы сервиса необходимо установить службу Windows.
+
Для работы сервиса необходимо установить службу Windows.<br />
  
 
==Описание методов==
 
==Описание методов==
 
===Получение информации обо всех отелях (Hotels)===
 
===Получение информации обо всех отелях (Hotels)===
Метод возвращает список отелей в формате ndjson в сжатом виде. Формат каждого отеля в результате идентичен результату запроса одного отеля..<br />
+
Метод возвращает список отелей в формате ndjson в сжатом виде. Формат каждого отеля в результате идентичен результату запроса одного отеля.<br />
 
* Формат запроса:
 
* Формат запроса:
 
** GET .../ostrovok/v1/hotels
 
** GET .../ostrovok/v1/hotels
Строка 16: Строка 16:
 
** '''region_id''' – идентификатор региона отеля
 
** '''region_id''' – идентификатор региона отеля
 
** '''geo_coordinates *''' – координаты отеля
 
** '''geo_coordinates *''' – координаты отеля
** '''atitude *''' – широта, 35.346193
+
** '''atitude *''' – широта (например, 35.346193)
** '''longitude *''' – долгота, 33.191205
+
** '''longitude *''' – долгота (например, 33.191205)
** '''address *''' – адрес отеля, «Bademli Sok. No: 1, Alsancak, Cyprus»
+
** '''address *''' – адрес отеля
 
** '''postal_code''' – почтовый индекс
 
** '''postal_code''' – почтовый индекс
 
** '''contacts''' – контактная информация
 
** '''contacts''' – контактная информация
Строка 31: Строка 31:
 
** '''important_info''' – важная информация по отелю для гостей
 
** '''important_info''' – важная информация по отелю для гостей
 
** '''check_in_instructions''' – информация по заезду
 
** '''check_in_instructions''' – информация по заезду
** '''check_in_time''' – время заезда, 14:00
+
** '''check_in_time''' – время заезда (например, 14:00)
** '''check_in_before_time''' – время окончания заезда, 18:00
+
** '''check_in_before_time''' – время окончания заезда (например, 18:00)
** '''check_out_time''' – время выезда, 12:00
+
** '''check_out_time''' – время выезда
 
** '''images''' – список фотографий отеля
 
** '''images''' – список фотографий отеля
** '''category''' – категория фотографии, «Холл»
+
** '''category''' – категория фотографии
 
** '''url *''' – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
 
** '''url *''' – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
** '''amenities''' – список наименований удобств, "Beach/pool towels", "Airport transportation"
+
** '''amenities''' – список наименований удобств (например, "Beach/pool towels", "Airport transportation")
 
** '''rooms''' – список комнат
 
** '''rooms''' – список комнат
 
** '''name *''' – наименование комнаты (тип) (например, «Deluxe Room»)
 
** '''name *''' – наименование комнаты (тип) (например, «Deluxe Room»)
Строка 50: Строка 50:
 
** '''quantity''' – количество мест
 
** '''quantity''' – количество мест
 
** '''images''' – список фотографий комнаты, аналогично с фотографиями отеля
 
** '''images''' – список фотографий комнаты, аналогично с фотографиями отеля
** '''category''' – категория фотографии, «Ванная комната»
+
** '''category''' – категория фотографии (например, «Ванная комната»)
 
** '''url *''' – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
 
** '''url *''' – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
  
Строка 142: Строка 142:
 
** '''region_id''' – идентификатор региона отеля
 
** '''region_id''' – идентификатор региона отеля
 
** '''geo_coordinates *''' – координаты отеля
 
** '''geo_coordinates *''' – координаты отеля
** '''atitude *''' – широта, 35.346193
+
** '''atitude *''' – широта (например, 35.346193)
** '''longitude *''' – долгота, 33.191205
+
** '''longitude *''' – долгота (например, 33.191205)
** '''address *''' – адрес отеля, «Bademli Sok. No: 1, Alsancak, Cyprus»
+
** '''address *''' – адрес отеля (например, «Bademli Sok. No: 1, Alsancak, Cyprus»)
 
** '''postal_code''' – почтовый индекс
 
** '''postal_code''' – почтовый индекс
 
** '''contacts''' – контактная информация
 
** '''contacts''' – контактная информация
Строка 157: Строка 157:
 
** '''important_info''' – важная информация по отелю для гостей
 
** '''important_info''' – важная информация по отелю для гостей
 
** '''check_in_instructions''' – информация по заезду
 
** '''check_in_instructions''' – информация по заезду
** '''check_in_time''' – время заезда, 14:00
+
** '''check_in_time''' – время заезда (например, 14:00)
** '''check_in_before_time''' – время окончания заезда, 18:00
+
** '''check_in_before_time''' – время окончания заезда (например, 18:00)
** '''check_out_time''' – время выезда, 12:00
+
** '''check_out_time''' – время выезда (например, 12:00)
 
** '''images''' – список фотографий отеля
 
** '''images''' – список фотографий отеля
** '''category''' – категория фотографии, «Холл»
+
** '''category''' – категория фотографии
 
** '''url *''' – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
 
** '''url *''' – сетевой путь к файлу фотографии (например, https://www.test.com/almond/almond-holiday-village-mp-500x249.jpgImage)
** '''amenities''' – список наименований удобств, "Beach/pool towels", "Airport transportation"
+
** '''amenities''' – список наименований удобств (например, "Beach/pool towels", "Airport transportation")
 
** '''rooms''' – список комнат
 
** '''rooms''' – список комнат
 
** '''name *''' – наименование комнаты (тип) (например, «Deluxe Room»)
 
** '''name *''' – наименование комнаты (тип) (например, «Deluxe Room»)
Строка 176: Строка 176:
 
** '''quantity''' – количество мест
 
** '''quantity''' – количество мест
 
** '''images''' – список фотографий комнаты, аналогично с фотографиями отеля
 
** '''images''' – список фотографий комнаты, аналогично с фотографиями отеля
** '''category''' – категория фотографии, «Ванная комната»
+
** '''category''' – категория фотографии (например, «Ванная комната»)
 
** '''url *''' – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
 
** '''url *''' – путь к файлу фотографии amenities (список наименований удобств, "shower", "tv", "soundproofing")
  
Строка 494: Строка 494:
 
*** '''meals''' – список типов питания
 
*** '''meals''' – список типов питания
 
**** '''id *''' – идентификатор питания  
 
**** '''id *''' – идентификатор питания  
**** '''name *''' – наименование питания,
+
**** '''name *''' – наименование питания  
 
*** '''cancellation_policies''' – список штрафов
 
*** '''cancellation_policies''' – список штрафов
 
**** '''from *''' – начало действия штрафа
 
**** '''from *''' – начало действия штрафа
Строка 671: Строка 671:
 
*** '''phone *''' – телефон
 
*** '''phone *''' – телефон
 
** '''price *''' – цена, по которой бронируют
 
** '''price *''' – цена, по которой бронируют
** '''rooms *''' – список, комнаты из результата search, выбранные для бронирования [
+
** '''rooms *''' – список, комнаты из результата search, выбранные для бронирования
 
** '''id *''' – идентификатор комнаты из результатов search
 
** '''id *''' – идентификатор комнаты из результатов search
 
** '''guests *''' – список гостей – параметры туристов в комнате
 
** '''guests *''' – список гостей – параметры туристов в комнате
Строка 774: Строка 774:
 
*** '''price *''' – цена
 
*** '''price *''' – цена
 
*** '''commission''' – комиссия
 
*** '''commission''' – комиссия
*** '''payment_type *''' – тип платежа, предоплата или по заезду
+
*** '''payment_type *''' – тип платежа (предоплата или по заезду)
 
*** '''currency *''' – валюта
 
*** '''currency *''' – валюта
 
*** '''meals - список типов питания в формате:
 
*** '''meals - список типов питания в формате:
**** '''id *''' – идентификатор питания (pansion)
+
**** '''id *''' – идентификатор питания
**** '''name *''' – наименование питания,
+
**** '''name *''' – наименование питания
 
*** '''cancellation_policies''' – список штрафов
 
*** '''cancellation_policies''' – список штрафов
 
**** '''from *''' – начало действия штрафа
 
**** '''from *''' – начало действия штрафа
Строка 784: Строка 784:
 
*** '''rooms *''' – список комнат
 
*** '''rooms *''' – список комнат
 
**** '''id *''' – идентификатор, генерируемый системой
 
**** '''id *''' – идентификатор, генерируемый системой
**** '''name *''' – наименование комнаты (тип), «Deluxe Room»
+
**** '''name *''' – наименование комнаты (тип) (например, «Deluxe Room»)
 
**** '''bed_groups''' – список групп размещений
 
**** '''bed_groups''' – список групп размещений
 
***** '''id *''' – идентификатор размещения
 
***** '''id *''' – идентификатор размещения
***** '''name''' – наименование размещения, «double + twin»
+
***** '''name''' – наименование размещения (например, «double + twin»)
 
***** '''bed_types''' – список вариантов спальных мест
 
***** '''bed_types''' – список вариантов спальных мест
****** '''name *''' – наименование, «double»
+
****** '''name *''' – наименование (например, «double»)
 
****** '''quantity''' – количество мест
 
****** '''quantity''' – количество мест
  

Версия 16:19, 26 июня 2023

Введение

Сервис отдает запросы посредством API.
Сервис позволяет получать информацию об отелях, типах питания, вариантах размещения, бронирования, аннуляции и получения статусов заявок.
Для работы сервиса необходимо установить службу Windows.

Описание методов

Получение информации обо всех отелях (Hotels)

Метод возвращает список отелей в формате ndjson в сжатом виде. Формат каждого отеля в результате идентичен результату запроса одного отеля.

  • Формат запроса:
    • GET .../ostrovok/v1/hotels
  • Принимаемые параметры: отсутствуют
  • Возвращаемый результат:
    • id * – идентификатор отеля
    • name * – название отеля
    • description – описание отеля
    • region_id – идентификатор региона отеля
    • geo_coordinates * – координаты отеля
    • atitude * – широта (например, 35.346193)
    • longitude * – долгота (например, 33.191205)
    • address * – адрес отеля
    • 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 – время выезда
    • 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 * – идентификатор питания
        • 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 * – статус заявки (принята, аннулирована, ожидает)
развернутьПример