Отель: номера, PMS и гостевой сервис
Cenaly объединяет собственную PMS и гостевой сервис: номерной фонд, бронирование, тарифы, заселение, счёт гостя, уборку и питание. Тип бизнеса «Отель» задаёт гостиничную терминологию и стартовые разделы; доступность интеграций и новых модулей проверяется отдельно.
Открыть: Админ-панель → Номера (тот же раздел, что «Схема зала» у ресторана — admin.cenaly.com/tables, для отеля переименован). Раздел открывается в редакторе плана; рабочий борд номеров включается кнопкой «🛏️ Номера» в шапке — ею же переключаются обратно к схеме. Рядом живут кнопки «Типы номеров», «Тарифы», «🔌 PMS» и — у российских локаций, если не отключено расширение «Миграционный учёт», — «🛂 Миграционный учёт».
Этажи и номера#
Редактор схемы работает как обычно (Схема зала), только залы называются этажами, а вместо столов — элементы «Номер» и «Кровать» (для хостелов и общих спален). У каждого номера — подпись (нумерация с 101), и, как у стола, можно привязать QR-код камерой. Кровать, поставленная в номер, дальше двигается только по этому номеру: его стены держат её так же, как стены зала, а положить кровать поперёк стены или наполовину в коридор редактор не даст — она подсветится красным и вернётся назад. Кровати в общей спальне без нарисованных номеров это не мешает.
Заводить номера по одному не обязательно — кнопка «+ Добавить номера» открывает форму массового создания: диапазон (например, 201–230, максимум 500 номеров за раз), необязательный префикс, живой предпросчёт «будет создано N · этажей M», строка с номерами, которые уже существуют и будут пропущены. Тот же шаг доступен прямо в мастере онбординга при выборе вертикали «отель».
QR на номер привязывается кнопкой «Создать QR и привязать» в карточке номера, а массово — кнопкой «Создать QR для всех без кода (N)», которая проходит по всем номерам локации сразу. Печатать можно поштучно (SVG из карточки) или всё разом — листами A4.
Типы номеров и тарифы#
Кнопка «Типы номеров» открывает справочник: название (Standard/Deluxe/…), базовый тариф за ночь и вместимость. Тип назначается номеру или кровати в панели свойств на схеме — тариф оттуда автоматически подставляется в форму заселения (можно переопределить вручную на конкретном заезде).
Простейший уровень цен — сезонность: для типа номера или для всех номеров сразу задаются периоды с отдельной ценой.
Кто продаёт всерьёз, ведёт тарифные планы — отдельный менеджер рядом со справочником типов. В плане настраиваются питание (только номер, завтрак, полупансион, всё включено), производные тарифы (например, «завтрак = базовый +15 %»), цена по числу гостей с детскими возрастными корзинами и доп. местом, надбавки по дням недели, ограничения продажи (минимум и максимум ночей, окно бронирования, запрет заезда/выезда в определённые дни), политика отмены (гибкая, невозвратный, штраф в первую ночь, процент или фиксированная сумма), каналы продажи (все / только прямые / только OTA) и корпоративный код доступа. Там же — календарь цен и ограничений: цена и стоп-продажа на конкретные даты, массовая правка «тариф × период» и предпросмотр итоговой цены.
Цена ночи собирается по приоритету: календарь цен → производный тариф → собственная цена тарифного плана → сезон типа → сезон «для всех» → цена, зафиксированная при заселении → базовый тариф типа. Важно понимать две вещи: календарь сильнее договорной цены, введённой на ресепшне (отель, который ведёт календарь, ожидает именно этого), а у тарифного плана с собственной ценой сезоны не применяются вовсе — сезоны работают как запасной вариант для тех, кто планами не пользуется.
В настройках локации можно включить туристический налог — процент от тарифа с минимальной суммой за ночь, либо фиксированная сумма за ночь; налог начисляется на фолио отдельной строкой.
Заселение и выселение#
Борд номеров — рабочий экран ресепшна и службы уборки: карточка на каждый номер со статусом, балансом фолио, числом ночей, запросами гостя и кнопкой «Дозаказ», которая уводит в кассу с уже выбранным номером. Статус номера проходит по цепочке:
| Статус | Значение |
|---|---|
| Свободен | готов к заселению |
| Занят | гость проживает |
| Требует уборки | после выезда, ждёт горничную |
| Уборка | горничная убирает |
| Проверен | убран и проверен, ждёт перевода в «Свободен» |
| Не работает | выведен из эксплуатации (ремонт) |
Будущие заезды статусом номера не отображаются — они живут бронями и видны на шахматке: так номер, забронированный на следующую неделю, сегодня остаётся продаваемым.
Заселение открывает форму: тарифный план и цена за ночь (предзаполнены из типа номера) и карточка гостя — телефон, e-mail, документ, гражданство, дата рождения, заметки. Дата выезда на этом шаге не требуется: мгновенное заселение открыто «до выселения», а даты заезда-выезда есть у брони. Если гость уже останавливался раньше (совпадение по телефону или e-mail), система показывает плашку «постоянный гость» и увеличивает счётчик визитов; в карточке гостя копятся теги, аллергии, предпочтения, заметки и число неявок, а по всей базе гостей работает поиск.
При заселении открывается фолио номера, и с этого момента заказы по комнатному QR становятся возможны.
Выселение закрывает фолио одним расчётом и переводит номер в «Требует уборки»; на доске задач смены при этом появляется задача «Уборка номера N после выезда». Обратите внимание: комнатный счёт закрывает именно ресепшн при выселении — с кассы его закрыть нельзя, кнопка закрытия у комнатных счетов не показывается.
Кроме дневного борда есть шахматка (календарь на 21 день) — переключатель вида на той же странице: полосы броней и текущих заездов по номерам, видно наперёд, что свободно и когда заезжает следующий гость.
Фолио и начисления#
Фолио — лицевой счёт номера, открывается при заселении и живёт до выезда:
- каждую ночь автоматически начисляется плата за проживание — сервер проверяет отели раз в час и начисляет ночь в первый тик после 03:00 по времени локации, так что многодневное проживание копится само, без ручных действий (день заезда при этом не начисляется дважды);
- начисляется туристический налог, если включён;
- заказы, оформленные гостем из номера (room service), автоматически ложатся на фолио — привязка происходит на сервере в момент оформления заказа, сотруднику ничего вручную привязывать не нужно. Правило узкое и намеренное: на фолио попадают заказы, сделанные именно с комнатного QR-кода; пробитое на кассе, в киоске или пришедшее из агрегатора туда не уедет;
- на кассе по счёту номера доступны ручные операции: начисление, сервисный сбор, скидка, депозит и перенос позиций между счетами;
- баланс виден на карточке номера в борде и на кассе — в списке открытых счетов (в интерфейсе кассы это «счёт», термин «фолио» там не используется).
При выезде фолио закрывается одним расчётным сигналом со всеми начислениями и оплатой.
Если у отеля уже есть внешняя PMS, фолио можно не вести у нас: кнопка «🔌 PMS» переключает контур в режим внешней системы — с журналом начислений и статусами «проведено / сторно». Тогда «На счёт номера» уходит в вашу систему, а не в наш фолио.
Оговорка про адаптеры: сейчас в списке доступен только демонстрационный адаптер «Mock (демо)» — он нужен, чтобы проверить сам контур, поля подключения при нём не используются. Живые коннекторы к внешним PMS в разработке; переключаться на режим внешней системы на боевом отеле пока рано.
Room service — заказ гостя по QR#
Гость сканирует QR в номере и заказывает из меню так же, как за столиком в ресторане. Два серверных правила защищают от заказов «в никуда»:
- заказ из незаселённого номера блокируется — если по QR номера ещё нет открытого заезда, заказ автоматически отменяется с причиной «номер не заселён», а гость видит предупреждение в чек-ауте ещё до отправки заказа;
- при оформлении в занятом номере доступен способ оплаты «На счёт номера» — сумма добавляется к фолио и оплачивается при выезде вместе со всем проживанием; гость видит текст согласия с точной суммой и номером комнаты перед подтверждением.
Заявки гостя и панель приборки#
Помимо заказа еды у гостя есть кнопка сервисных заявок: полотенца, уборка, не беспокоить, побудка (с выбором времени), техническая проблема, другое. В отеле она занимает место кнопки вызова персонала — и, как и та, показывается только при включённом «вызове персонала» в настройках локации. Заявка подчиняется гейту по заселению: из свободного номера её не оформить.
На стороне персонала — блок «Запросы гостей» прямо в карточке номера на борде: счётчик активных заявок, список с типом, комментарием и временем побудки, действия «В работу» и «Готово». Обновления приходят в реальном времени.
«Мой счёт» у гостя#
В меню гостя (пункт настроек рядом с бронью и вызовом персонала) есть «Мой счёт» — гость видит список начислений (по убыванию времени) и оплат по своему фолио и итоговый баланс, без привязки к персоналу заведения. До заселения показывается пустое состояние («счёт появится после заселения»), после расчёта — отметка «Оплачено».
Брони, каналы продаж и отчёты#
Помимо мгновенного заселения у отеля есть полноценные брони с датами заезда/выезда — они видны на шахматке как отдельные полосы и переводятся в заезд одним действием на дату заезда. У брони есть источник (walk-in/админка, телефон, прямая от гостя, сайт, OTA), отмена с причиной и отметка «не приехал»; при накладке и слишком раннем заезде панель предупреждает.
Завести бронь можно из двух мест, и форма одна и та же: клик по пустой клетке шахматки и — прямо на схеме этажей — свойства выбранного номера, блок «Брони номера» (ближайшие заезды датами и числом ночей плюс кнопка «📅 Забронировать номер»); её же предлагает правый клик по номеру. Бронь номера — это всегда пара дат, минимум одна ночь: почасовой брони, как у столика ресторана, у номера нет — номера не появляются в списке столов ни в форме брони на «Схеме зала», ни в панели зала на кассе. А «Заселить» везде, где оно есть, — это настоящее заселение (счёт, статус номера, регистрация гостя): и на борде номеров, и у брони в списке броней, и в панели зала на кассе кнопка открывает одно и то же окно заселения. Если в отеле есть ресторан, его столы бронируются по-прежнему на часы — Брони столов.
Ранний заезд и поздний выезд. Обычное время заезда и выезда и платные ранний заезд с поздним выездом задаются в «Типы номеров» → «Заезд и выезд»: «Заезд с» и «Выезд до» (по умолчанию 14:00 и 12:00 — это время видит гость на странице бронирования и в письме-подтверждении), тумблеры «Продавать ранний заезд» и «Продавать поздний выезд», цена — фиксированная сумма или процент от цены ночи (первой ночи — для раннего заезда, последней — для позднего выезда; тариф может задать свою цену) и предел «Не раньше» / «Не позже». Включённые услуги предлагает сама форма брони номера — и на шахматке, и по кнопке «📅 Забронировать номер» на схеме: отметьте услугу и выберите время — после создания брони она оформится на ней с ценой. Время вне разрешённого окна форма не примет; если услуга почему-то не оформилась, бронь всё равно создана, и окно скажет, что услугу нужно добавить в карточке брони. Уже созданной брони ранний заезд и поздний выезд добавляют или снимают в её карточке. В счёт проживания строка попадает при заселении, а если гость уже живёт — сразу. В блоке «Брони номера» на схеме у брони видно «ранний заезд с …» и «поздний выезд до …». Пока услуги не включены, форма брони показывает обычное время отеля и подсказывает, где их включить.
Продавать можно не только конкретный номер, но и тип номера: такие брони живут неназначенными и держат квоту (сколько номеров этого типа продано на дату), а физический номер подбирается кнопкой назначения — вручную или автоматически. Блок неназначенных броней висит прямо над шахматкой, чтобы про них не забыли.
С сайта заведения гость может забронировать номер сам: выбрать даты и тариф, увидеть расчёт стоимости по сезонам и тарифному плану (с проверкой ограничений — минимума ночей, окна бронирования, стоп-продажи; максимум одной брони — 30 ночей) и получить код брони. После обработки заявки система либо закрепляет свободный номер, либо сообщает причину отказа. Контакт гость подтверждает по отправленной ссылке. Если тариф требует депозит, предоплату или гарантию картой, форма предлагает защищённую страницу Stripe — при подключённом провайдере отеля; без него такой тариф забронировать нельзя. Срок подтверждения и оплаты указан в форме. Telegram-напоминание доступно для брони из Mini App подключённого бота.
Каналы продаж (channel manager). Есть оба направления обмена с OTA:
- Импорт iCal — в настройках номеров вставляется ссылка экспорта из Booking.com, Airbnb или другого сервиса; внешние брони автоматически блокируют эти даты у вас, синхронизация примерно каждые 15 минут, а спорные наложения собираются в список конфликтов «разберите вручную»;
- Экспорт iCal — у каждого номера есть собственный фид (
ical-*.ics), если включена публикация занятости: ссылку добавляют календарём на стороне канала; - Двусторонний канал-менеджер (через Channex.io) — цены, ограничения и свободные номера уезжают в каналы автоматически при каждом изменении, а брони приходят обратно (неназначенными, их распределяет ресепшн). В панели подключений настраивается соответствие «тип номера × тариф» внешним, есть журнал синхронизации и кнопка «Синхронизировать сейчас», плюс ночная полная пересинхронизация.
Письма гостю. Отель отправляет напоминание тем, кто заезжает завтра, и «спасибо за визит» тем, кто выехал вчера. Письмо уходит на языке брони, а если он не указан — на языке локации. Система запоминает отправленные письма и повторяет неудачные попытки доставки; при сбое после принятия письма почтовым сервисом гость может получить повтор.
Отчёты. На борде номеров есть вкладка отчётов за период: загрузка (Occupancy), средняя цена (ADR) и доход на номер (RevPAR), а также выручка всего и отдельно по еде и напиткам, число заказов и подневная таблица «занято номеров · проживание · заказы · итого» с разбивкой по валютам.
Даты отчёта считаются в часовом поясе отеля; ночное начисление относится к дате проживания, в том числе при поздней обработке. Занятость считается не по начислениям, а по журналу проживаний: система записывает каждое заселение, выезд, переселение и вывод номера из продажи, а каждую ночь фиксирует снимок — сколько номеров было занято и сколько доступно в 03:00 следующего утра по времени отеля. Номера на ремонте (out-of-order) из доступного фонда исключаются, а число номеров запоминается в снимке на день, поэтому добавление или удаление номеров сегодня не меняет показатели прошлых месяцев. ADR и RevPAR считаются в валюте локации по фактическим начислениям счетов. Дни, за которые снимка ещё нет (до включения журнала), показываются как «нет данных» и в средние не входят — отчёт не додумывает прошлое.
Миграционный учёт (Россия)#
Для российских гостиниц есть отдельный контур подготовки миграционного учёта гостей — кнопка «🛂 Миграционный учёт» на борде номеров. Запись заводится при заселении; в журнале видны сроки («подать до…», «просрочено») и статусы подачи. При выезде система фиксирует убытие и необходимость соответствующего уведомления. Подачу и её результат сотрудник отмечает отдельно: автоматической отправки в МВД здесь нет. Из журнала печатаются формы уведомлений и выгружается CSV, а реквизиты принимающей стороны заполняются один раз в настройках.
Расширенные гостиничные сценарии#
PMS развивается за пределы бронирования номеров. У следующих сценариев уже есть серверная или интерфейсная реализация; они вводятся поэтапно. Перед использованием проверьте доступность экрана и подключения у вашего отеля.
| Сценарий | Что добавляет | Что проверить перед работой |
|---|---|---|
| Оплата и гарантия | Депозиты, холды, план списаний и штраф неявки | Провайдер должен поддерживать именно эту операцию: поддержка платежа не означает поддержку холда |
| Предзаезд | Данные гостя до приезда, опции документов и подписи | Нужные поля и сроки хранения; информацию всё равно проверяет стойка |
| Ночной аудит | Отчёт бизнес-дня и закрытие периода | Незавершённые начисления; исправления закрытого дня идут предусмотренными корректировками |
| Расчёт с компанией | Перенос долга гостя на организацию и деловые документы | Плательщика, реквизиты и условия расчётов |
| Уборка и обслуживание | Задачи, проверка уборки, мини-бар и ремонт | Роли сотрудников и порядок работы отеля |
| Электронные замки | Доступ гостя, связанный с проживанием | Поддерживаемые устройство и аккаунт вендора, завершённое подключение |
Обмен iCal поддерживается в обоих контурах и переносит занятые даты, но не цены. Channex пока использует тестовое окружение; живое распространение номеров на OTA требует отдельного подключения. Демонстрационный адаптер внешней PMS не означает готовую интеграцию с любой гостиничной системой.
Регистрация гостей зависит от страны и конкретного подключения. Для России описанный сценарий — журнал, печать/выгрузка форм и отметка сотрудника о подаче. Автоматической отправки в ведомство он не выполняет.
Связанные разделы#
- Схема зала — общий редактор этажей/номеров, QR-привязка
- Брони столов — тот же механизм бронирования, применённый к столикам
- Касса (POS) — вкладки фолио на кассе
- Сотрудники и смены — задачи приборки и назначение исполнителей
- Записи на услуги — похожая логика бронирования для салонов красоты
Частые вопросы#
Что если гость закажет из номера, в котором ещё никто не заселён?#
Заказ автоматически отменяется с пометкой «номер не заселён» — сервер проверяет статус заселения по каждому заказу с комнатного QR, независимо от того, что показывает клиент.
Как гость платит за room service — сразу или при выезде?#
На выбор: обычная оплата (наличные/карта на месте) или «На счёт номера» — тогда сумма попадает в фолио и оплачивается одним расчётом при выезде вместе со всем проживанием.
Можно ли синхронизировать календарь номера с Booking.com?#
Да, в обе стороны. Экспорт — iCal-ссылка номера, её добавляют календарём на стороне канала. Импорт — вставьте в настройках ссылку экспорта из Booking.com или Airbnb: внешние брони начнут блокировать даты у вас (обновление примерно каждые 15 минут). Это и есть рабочий сегодня путь. Двусторонний канал-менеджер (обмен ценами и остатками) написан, но ждёт партнёрского аккаунта у провайдера — пока он работает на тестовой площадке.
Что делает ночное начисление и можно ли его не ждать?#
Оно автоматически начисляет плату за прожитую ночь на фолио каждого заселённого номера — вручную запускать не нужно. Сервер проверяет отели раз в час и начисляет ночь сразу после 03:00 по времени вашей локации.
Пробивается ли при выселении фискальный чек?#
Нет. Выселение закрывает фолио расчётом и переводит номер в уборку; фискализация в этот путь не встроена, чек при необходимости пробивается отдельно на кассе.
Самообслуживание гостя до заезда#
Из приватной ссылки в письме или SMS гость подтверждает контакт, отменяет бронь по условиям тарифа или меняет даты и число гостей с подтверждением новой стоимости. Для брони с оплатой или гарантией изменение проживания выполняется через отмену и новую бронь либо обращение в отель.
До дня заезда гость может передать имя, телефон или email и ожидаемое время приезда кнопкой «Подготовиться к заезду». Страница сообщает, когда анкета получена; при сбое предлагает проверить статус или повторить отправку. Для исправления принятой анкеты нужно обратиться в отель. Документы проверяются при заселении. При отмене или неявке анкета хранится 30 дней; при заселении контакты переходят в карточку гостя. Черновик не сохраняется после закрытия страницы.