API Сервис Ostrovok

Материал из Megatec
Перейти к: навигация, поиск

Введение

Сервис отдает запросы посредством 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 * – статус заявки (принята, аннулирована, ожидает)
развернутьПример