VOICEFEED / Документация
Главная / PMS-интеграция
Интеграция

PMS-интеграция

Подключите вашу PMS к Voicefeed — бронирования, заселения и выезды будут синхронизироваться автоматически. Проживания создаются без ручного ввода, напоминания срабатывают по расписанию.

Автоматически

Проживания создаются по факту заселения из PMS

Каждые 15 мин

Fallback-синхронизация если вебхуки недоступны

Зашифровано

API-ключи хранятся в зашифрованном виде (AES-256)

Поддерживаемые PMS

PMS-системы
B
Bnovo
REST API, Bearer Token

Популярная облачная PMS для отелей России. Поддержка бронирований, номерного фонда и вебхуков.

bnovo.ru
TL
TravelLine
REST API, Bearer Token

Система управления отелем с модулем бронирования, channel manager и аналитикой. Широко распространена в РФ.

travelline.ru
К
Контур.Отель
REST API, Партнёрский доступ

PMS от Контура для гостиниц. Управление бронированиями, номерным фондом, кассой и отчётностью.

kontur.ru/hotel
Ресторанная система
ı
iiko Cloud
REST API, API Login

Автоматическая передача заказов гостей в ресторанную систему iiko. Room service, минибар, ресторан.

iiko.ru

Перед подключением

PMS-интеграция доступна на тарифах Старт, Профи и Сеть

На бесплатном тарифе PMS-интеграция недоступна. Зарегистрируйтесь и выберите подходящий тариф.

Что вам понадобится

1
Аккаунт Voicefeed

Зарегистрируйтесь и создайте отель в кабинете.

2
Тариф Старт или выше

PMS-интеграция включена во все платные тарифы.

3
API-ключ из PMS

Генерируется в личном кабинете вашей PMS-системы.

4
Property ID (опционально)

Идентификатор вашего объекта в PMS. Обычно это числовой код.

Подключение Bnovo

Пошаговая инструкция по подключению Bnovo к Voicefeed.

1

Получите API-ключ в Bnovo

  1. Войдите в личный кабинет Bnovo
  2. Перейдите в раздел Настройки → Интеграции (или API)
  3. Нажмите «Создать API-ключ» или «Добавить интеграцию»
  4. Укажите название: Voicefeed
  5. Скопируйте сгенерированный API-ключ (Bearer Token)
⚠️

API-ключ показывается только один раз. Сохраните его в надёжном месте. Если потеряли — создайте новый.

2

Найдите Property ID

Property ID — это уникальный идентификатор вашего отеля в системе Bnovo.

Найти его можно:

  • В URL при входе в кабинет: app.bnovo.ru/properties/12345/...
  • В разделе Настройки → Объект — поле «ID объекта»
3

Подключите в Voicefeed

  1. Войдите в кабинет Voicefeed
  2. Перейдите в раздел PMS-интеграция в боковом меню
  3. Выберите Bnovo в поле «PMS-система»
  4. Вставьте API-ключ
  5. Укажите Property ID
  6. Нажмите «Подключить PMS»
4

Проверьте подключение

После сохранения нажмите кнопку «Проверить подключение». Если всё настроено верно — вы увидите сообщение об успешном подключении.

Затем нажмите «Синхронизировать сейчас» — система загрузит текущие бронирования.

Подключение TravelLine

Пошаговая инструкция по подключению TravelLine к Voicefeed.

1

Получите API-ключ в TravelLine

  1. Войдите в личный кабинет TravelLine
  2. Перейдите в Настройки → API / Интеграции
  3. Создайте новый API-ключ с доступом к бронированиям
  4. Укажите название: Voicefeed
  5. Скопируйте API-ключ и, если есть, API-секрет
2

Найдите Property ID

Property ID в TravelLine можно найти:

  • В разделе Настройки → Информация об объекте
  • В URL кабинета: extranet.travelline.ru/property/67890/...
3

Подключите в Voicefeed

  1. Войдите в кабинет Voicefeed
  2. Перейдите в PMS-интеграция
  3. Выберите TravelLine
  4. Вставьте API-ключ и API-секрет (если есть)
  5. Укажите Property ID
  6. Нажмите «Подключить PMS»
4

Проверьте и синхронизируйте

Нажмите «Проверить подключение», затем «Синхронизировать сейчас» для загрузки текущих бронирований.

Подключение Контур.Отель

Пошаговая инструкция по подключению Контур.Отель к Voicefeed.

1

Получите API-доступ в Контур.Отель

  1. Войдите в личный кабинет Контур.Отель
  2. Перейдите в раздел Настройки → Интеграции → API
  3. Запросите выпуск API-ключа для внешней интеграции
  4. Укажите название: Voicefeed
  5. Скопируйте API-ключ и Property ID (идентификатор объекта)

Если раздела API нет в кабинете, обратитесь в поддержку Контур.Отель для подключения внешних интеграций. API доступен на тарифах с расширенным функционалом.

2

Найдите Property ID

Property ID — уникальный идентификатор вашего объекта размещения в Контур.Отель.

  • В разделе Настройки → Информация об объекте
  • В URL кабинета: hotel.kontur.ru/property/12345/...
  • Уточните у поддержки Контур.Отель, если не можете найти
3

Подключите в Voicefeed

  1. Войдите в кабинет Voicefeed
  2. Перейдите в раздел PMS-интеграция
  3. Выберите Контур.Отель в поле «PMS-система»
  4. Вставьте API-ключ
  5. Укажите Property ID
  6. Нажмите «Подключить PMS»
4

Проверьте и синхронизируйте

Нажмите «Проверить подключение», затем «Синхронизировать сейчас» для загрузки текущих бронирований.

iiko Cloud — Ресторан

Автоматическая передача заказов гостей из каталога услуг в ресторанную систему iiko.

Как это работает

Когда гость делает заказ через портал (room service, минибар, ресторан), Voicefeed автоматически отправляет его в iiko Cloud. Заказ появляется на терминале ресторана, кухня начинает готовить без ручного ввода.

1

Получите API Login в iiko Cloud

  1. Войдите в iiko Cloud API
  2. Перейдите в Настройки → API (или обратитесь к администратору iiko)
  3. Создайте API Login — это строка-идентификатор для машинного доступа
  4. Скопируйте API Login
⚠️

API Login iiko Cloud — это не ваш email или пароль. Это специальный ключ для машинного доступа, который генерируется в настройках iikoCloud.

2

Найдите Organization ID и Terminal Group ID

Organization ID — идентификатор вашей организации в iiko.

Terminal Group ID — идентификатор группы терминалов, куда будут отправляться заказы.

Оба ID можно получить через API:

Organization ID:
POST https://api-ru.iiko.services/api/1/organizations
Terminal Group ID:
POST https://api-ru.iiko.services/api/1/terminal_groups

Или запросите эти ID у администратора вашей iiko Cloud.

3

Подключите в Voicefeed

  1. Войдите в кабинет Voicefeed
  2. Перейдите в PMS-интеграция → прокрутите до секции iiko Cloud — Ресторан
  3. Заполните API Login
  4. Заполните Organization ID
  5. Заполните Terminal Group ID
  6. Включите флажок «Включить интеграцию с iiko»
  7. Нажмите «Сохранить»
4

Настройте каталог услуг

Чтобы заказы передавались в iiko, в каталоге услуг у каждого товара должен быть указан код (code) — это productId из номенклатуры iiko.

Категории, которые автоматически отправляются в iiko:

🍽 restaurant 🛎 room_service 🍫 minibar
5

Проверьте подключение

Нажмите «Проверить подключение к iiko». Если всё верно, система подтвердит успешное подключение к API iiko Cloud.

Как проходит заказ

1
Гость делает заказ

Через портал Voicefeed в каталоге услуг (room service, минибар, ресторан).

2
Voicefeed отправляет в iiko

POST-запрос к iiko Cloud API с товарами, количеством, номером комнаты и данными гостя.

3
Заказ на терминале

Заказ мгновенно появляется на терминале ресторана/кухни в iiko. Кухня начинает готовить.

4
Уведомление администратору

Параллельно отправляется Telegram-уведомление ответственному отделу отеля.

Настройка Webhook

Вебхуки позволяют получать события из PMS в реальном времени — без ожидания 15-минутной синхронизации.

Как настроить

  1. 1
    После подключения PMS в Voicefeed вы увидите блок «Webhook URL» с уникальной ссылкой.
  2. 2
    Скопируйте эту ссылку.
  3. 3
    В PMS-системе перейдите в настройки вебхуков / интеграций и вставьте URL. Укажите события: заселение (checkin), выезд (checkout), новое бронирование, отмена.

Формат Webhook URL

POST https://ваш-домен.ru/api/pms/webhook/{provider}/{hotel_id}

Где {provider} — это bnovo, travelline или kontur_hotel, а {hotel_id} — ID вашего отеля в Voicefeed.

Вебхуки — не обязательны

Если вы не настроите вебхук — ничего не сломается. Voicefeed автоматически опрашивает PMS каждые 15 минут. Вебхук просто ускоряет доставку событий до реального времени.

Как работает синхронизация

Входящее бронирование

PMS отправляет новое бронирование (или Voicefeed забирает при очередном опросе). Voicefeed сохраняет данные гостя, но проживание не создаётся — гость ещё не заехал.

Заселение (check-in)

Когда статус бронирования меняется на «заселён» — Voicefeed автоматически создаёт Проживание (Stay) с привязкой к номеру. Запускаются напоминания, если они настроены.

Выезд (check-out)

При выезде проживание закрывается, все активные напоминания отменяются. Данные сохраняются в истории.

Отмена бронирования

Если бронирование отменяется или гость не приехал (no-show) — проживание отменяется, напоминания снимаются.

Два канала синхронизации

Webhook (реальное время)

PMS отправляет событие сразу при изменении статуса. Задержка — секунды.

Polling (каждые 15 мин)

Fallback-механизм. Voicefeed сам запрашивает бронирования из PMS. Работает всегда, даже если вебхуки не настроены.

Синхронизируемые поля

Следующие поля автоматически импортируются из PMS в Voicefeed при каждой синхронизации.

Поле Описание Обязательное
Имя гостя Полное имя (имя + фамилия) Да
Телефон Контактный телефон гостя Нет
Email Электронная почта Нет
Язык гостя Определяется по стране гостя (ru/en) Нет
Номер комнаты Привязка к конкретному номеру Да
Категория номера Тип номера (стандарт, люкс и т.д.) Нет
Тарифный план Название тарифа из PMS Нет
Дата заселения Фактическая или плановая дата check-in Да
Дата выезда Фактическая или плановая дата check-out Да
Кол-во взрослых Число взрослых в бронировании Нет
Кол-во детей Число детей в бронировании Нет
Пожелания Особые просьбы гостя из бронирования Нет

Маппинг статусов

Как статусы бронирований из PMS преобразуются в статусы Voicefeed.

B
Bnovo

new / confirmed Ожидает заезда
checked_in Проживание создаётся
checked_out Выезд, напоминания отменяются
cancelled / no_show Отмена проживания

TL
TravelLine

New / Confirmed Ожидает заезда
CheckedIn Проживание создаётся
CheckedOut Выезд, напоминания отменяются
Cancelled / NoShow Отмена проживания

К
Контур.Отель

new / confirmed Ожидает заезда
checked_in Проживание создаётся
checked_out Выезд, напоминания отменяются
cancelled / no_show Отмена проживания

Безопасность

🔐
Шифрование API-ключей

Все API-ключи и секреты хранятся в базе данных в зашифрованном виде (AES-256-CBC через Laravel encrypted cast). Доступ к ключам невозможен даже при компрометации базы.

Верификация вебхуков

Каждое входящее webhook-сообщение проверяется по цифровой подписи (HMAC-SHA256). Запросы без валидной подписи отклоняются.

🔑
Уникальный Webhook Secret

При создании подключения автоматически генерируется 48-символьный секрет для верификации вебхуков. Он уникален для каждого отеля.

🛡
Идемпотентность

Повторная синхронизация того же бронирования обновляет существующую запись, а не создаёт дубликат. Защита от дублей встроена на уровне архитектуры.

📋
Полный аудит-лог

Каждая операция синхронизации записывается в журнал. Вы можете видеть: что синхронизировано, когда, с каким результатом. Последние 20 ошибок отображаются в кабинете.

Решение проблем

«Не удалось подключиться» при тесте

  • Убедитесь, что API-ключ скопирован полностью, без лишних пробелов.
  • Проверьте, что ключ имеет права на чтение бронирований.
  • Убедитесь, что Property ID указан верно.
  • Проверьте, что PMS-провайдер не заблокировал доступ по IP.

Бронирования не синхронизируются

  • Нажмите «Синхронизировать сейчас» и проверьте журнал ошибок.
  • Убедитесь, что в PMS есть бронирования за текущие и ближайшие даты.
  • Проверьте, что подключение активно (зелёная галочка в кабинете).

Проживания не создаются автоматически

  • Проживание создаётся только при статусе «заселён» (checked_in). Подтверждённые бронирования без check-in не создают проживания.
  • Проверьте, что в PMS у бронирования стоит статус заселения.

Вебхуки не приходят

  • Это нормально — Voicefeed всё равно синхронизирует данные каждые 15 минут.
  • Если хотите реальное время: убедитесь, что Webhook URL скопирован полностью и указан в настройках PMS.
  • Проверьте, что PMS отправляет события для нужных типов (checkin, checkout, cancel).

Частые вопросы

Можно ли подключить две PMS одновременно?

Нет. Один отель может быть подключён к одной PMS-системе. Если вы хотите сменить PMS — отключите текущую и подключите новую.

Данные из PMS заменяют ручной ввод?

Если проживание создано через PMS-синхронизацию (есть pms_booking_id), обновления из PMS перезаписывают данные. Если проживание создано вручную — PMS его не затронет.

Что будет, если отключить PMS?

Синхронизация остановится. Все ранее созданные проживания сохранятся. Новые бронирования не будут импортироваться. Можно подключить снова в любой момент.

Поддерживаете ли другие PMS (1С:Отель, Opera, Shelter)?

Пока мы поддерживаем Bnovo, TravelLine и Контур.Отель. Поддержка других систем планируется. Напишите нам — это ускорит приоритет.

Как часто происходит автоматическая синхронизация?

Каждые 15 минут. Если настроены вебхуки — события приходят в реальном времени (секунды). Также можно запустить синхронизацию вручную из кабинета.

Нужно ли платить дополнительно за PMS или iiko интеграцию?

Нет. PMS-интеграция и iiko Cloud включены во все платные тарифы (Старт, Профи, Сеть) без доплаты.

Как подключить iiko Cloud?

На странице PMS-интеграция найдите секцию «iiko Cloud — Ресторан». Укажите API Login, Organization ID и Terminal Group ID из вашего аккаунта iiko Cloud. Включите интеграцию и нажмите «Сохранить».

Готовы подключить PMS?

Создайте аккаунт, выберите тариф и подключите Bnovo, TravelLine, Контур.Отель или iiko Cloud за 2 минуты.