Как создать сайт бронирования отелей: номера, тарифы, доступность и оплата
Сайт бронирования отеля позволяет гостям выбрать даты, увидеть, какие номера свободны на каждую ночь проживания, посмотреть итоговую цену и оплатить или внести депозит — без переписки по электронной почте. Чтобы его построить, нужны типы номеров с количеством комнат каждого типа, модель доступности по ночам, тарифы, которые могут меняться по датам, процесс бронирования, который заново проверяет доступность при сохранении, и админка для стойки регистрации. Сложная часть — не красивые страницы, а гарантия того, что номер никогда не продан дважды, особенно если вы продаёте и на сайтах бронирования.
Что нужно сайту
Страницы
- Публичные: главная, номера (фото, кровати, площадь, удобства, максимум гостей), поиск по датам и количеству гостей, результаты с полной ценой по типам номеров, форма бронирования, оплата и страница подтверждения со ссылкой на управление бронью.
- Вспомогательные: местоположение и как добраться, правила (время заезда и выезда, отмена, дети, животные), FAQ, контакты.
- Закрытые (для персонала): заезды и выезды на сегодня, календарная сетка номеров по ночам, список броней, заблокированные даты, тарифы и настройки номеров.
Данные
| Таблица | Ключевые поля |
|---|---|
| Типы номеров | Название, описание, макс. взрослых и детей, базовый тариф, фото |
| Номера | Тип номера, номер или название, активен да/нет |
| Тарифы | Тип номера, дата или диапазон дат, цена за ночь, минимальный срок проживания |
| Брони | Гость, тип номера, назначенный номер, заезд, выезд, число гостей, итог, оплаченный депозит, статус, источник (прямой, OTA) |
| Гости | Имя, email, телефон, страна, заметки |
| Блокировки | Номер, диапазон дат, причина (ремонт, личное использование владельцем) |
Храните заезд и выезд как даты, а не как время, и считайте выезд исключающим: проживание с 10-го по 12-е включает ночи 10-го и 11-го. Ошибка здесь вызывает самую частую проблему с доступностью.
Права доступа
Гости видят цены и то, свободен ли тип номера, но никогда — кто ещё живёт в отеле. Сотрудники стойки видят брони и данные гостей; только владелец меняет тарифы и правила. Значит, нужен вход для персонала как минимум с двумя ролями.
Решения и компромиссы
Запрос на бронирование или мгновенное бронирование
Запрос на бронирование — гость присылает даты и данные, вы подтверждаете по email — гораздо проще и вполне подходит маленькому гостевому дому. Мгновенное бронирование требует безупречной проверки доступности и обработки платежей, зато лучше конвертирует. Многие объекты начинают с запросов и позже переходят на мгновенное бронирование.
Продавать типы номеров или конкретные номера
Гости обычно бронируют тип номера («двухместный с видом на море»), а персонал назначает конкретный номер позже. Продажа конкретных номеров проще в реализации, но календарь заполнять труднее.
Тарифы
Начните с одной цены за ночь для каждого типа номера с необязательными исключениями для диапазонов дат (высокий сезон, праздники) и минимальным сроком проживания. Динамическое ценообразование, промокоды и пакеты оставьте на потом.
Оплата
Варианты по возрастанию сложности: оплата при заезде; депозит через защищённую платёжную форму, например Stripe Checkout; полная предоплата для невозвратного тарифа; или сохранение карты с последующим списанием. Правила оплаты, налоги и местные сборы для туристов различаются по странам — уточняйте местные правила или проконсультируйтесь со специалистом. Механика описана в нашем руководстве по платежам.
Другие каналы
Если номера также размещены на онлайн-агентствах путешествий или платформах краткосрочной аренды, календари нужно держать синхронизированными. Многие такие платформы умеют экспортировать и импортировать календари по ссылкам iCal; для небольших объектов такая синхронизация распространена, но происходит с задержкой, а не мгновенно. Профессиональный ответ — channel manager.
Первый промпт, который работает
Создай сайт прямого бронирования для Harbour House, гостевого дома на 9 номеров в Тобермори, Шотландия. Типы номеров: двухместный (4 номера, 2 гостя, £120 за ночь), twin (3 номера, 2 гостя, £115), семейный (2 номера, 2 взрослых + 2 детей, £165). Гости ищут по дате заезда, дате выезда и количеству гостей и видят только типы номеров, где есть свободный номер на каждую ночь проживания, с итоговой ценой. Выезд исключающий. Минимальный срок проживания 2 ночи в июле и августе. Форма бронирования собирает имя, email, телефон и время прибытия; сохраняй как «ожидает» и заново проверяй доступность на сервере перед сохранением. Зона персонала со входом: заезды и выезды на сегодня, календарная сетка номеров по ночам, список броней со статусом и возможность заблокировать даты. На каждой странице бронирования показывай заезд с 15:00 до 20:00, выезд до 10:00 и условия отмены (бесплатно до 7 дней до заезда). Спокойный прибрежный дизайн, сначала для телефонов.
Пошаговая сборка
- Сначала смоделируйте номера и ночи. Типы номеров, номера, тарифы и проверка доступности. Протестируйте это до любой работы над дизайном.
- Поиск и результаты. Выбор дат, количество гостей, полная цена за проживание, понятные состояния «нет мест».
- Процесс бронирования. Форма → повторная проверка доступности на сервере → бронь «ожидает» → страница подтверждения со ссылкой на управление.
- Зона персонала со входом: заезды, выезды, календарная сетка, блокировка дат.
- Письмо-подтверждение через вашего провайдера, с датами, итогом, адресом и правилами. См. отправка писем.
- Депозиты в тестовом режиме Stripe, подтверждая бронь только при успешной оплате. Вебхуку платежа нужно, чтобы приложение было опубликовано по публичному URL.
- Синхронизация календаря с другими каналами, если вы их используете, плюс ежедневная ручная проверка в первое время.
- Проверьте пограничные случаи: два браузера бронируют последний номер одновременно, проживание пересекает смену тарифа, отмена освобождает ночи, однодневное проживание в период минимального срока.
- Опубликуйте и сделайте реальную бронь самостоятельно, прежде чем отказаться от старого процесса.
Частые ошибки
- Проверка доступности только в браузере. Двое гостей рано или поздно забронируют последний номер в одну секунду.
- Ночь выезда учитывается как занятая (или ночь заезда не учитывается). Напишите тест для двухночного проживания.
- Одна плоская цена. Большинству объектов нужны хотя бы сезонные исключения.
- Итог скрыт до последнего шага. Показывайте полную стоимость проживания, включая известные вам сборы, уже в результатах поиска.
- Правила спрятаны в подвале сайта. Условия отмены показывайте рядом с кнопкой оплаты.
- Считать синхронизацию iCal мгновенной. Это не так; при почти полной загрузке закрывайте даты вручную.
Когда лучше готовый продукт
Если у вас больше нескольких номеров, вы продаёте через несколько онлайн-агентств или нужны хозяйственные услуги, счета и отчёты, обычно правильнее выбрать систему управления объектом со встроенным движком бронирования и channel manager. Такие продукты созданы для того, чтобы решать проблему овербукинга между каналами, и воспроизвести это хорошо — дорого.
Собственный сайт имеет смысл для небольших объектов, которые в основном принимают прямые брони, для нестандартного инвентаря (глэмпинг-площадки, домики с общими удобствами, номера с включёнными активностями) или когда вы хотите собственный дизайн и опыт гостя без ежемесячной платы за номер. Некоторые владельцы сочетают собственный сайт со встроенным движком бронирования на нём — часто это лучший из обоих миров.
Как это сделать в Mythex
В Mythex вы описываете объект в чате, проверяете сайт в живом превью (включая фрейм телефона) и публикуете, когда всё работает. Брони, номера и тарифы хранятся в базе данных Postgres, которую агент добавляет, когда приложению нужно сохранять данные; она засыпает без активности и просыпается при следующем запросе. Вход для персонала, письма-подтверждения и депозиты подключаются к вашим провайдерам и ключам: у Mythex нет встроенного продукта для входа конечных пользователей, email или платежей, поэтому перед добавлением депозитов прочитайте рецепт Stripe. Команда /test позволит агенту пройти поиск и бронирование, а чекпоинты помогут откатить изменение, которое сломало доступность.
За стартовым промптом посмотрите конструктор системы бронирования отеля, конструктор системы бронирования гостевого дома или шаблон сайт бронирования глэмпинга. Для почасового или записи на приём вместо ночей см. руководство по приложению для записи.
Вопросы
Чем бронирование отеля отличается от записи на приём?
Отели продают ночи, а не временные слоты. Вы отслеживаете, сколько номеров каждого типа свободно в каждую ночь, проживание длится несколько ночей, а цена может меняться от ночи к ночи.
Как избежать овербукинга, если я продаю номера и на сайтах бронирования?
Все каналы должны опираться на один источник доступности. Небольшие объекты часто синхронизируют календари через ссылки iCal, а это происходит не мгновенно, поэтому держите запас или быстро закрывайте даты. Крупные объекты используют channel manager, который обновляет все каналы почти в реальном времени.
Должны ли гости платить полностью при бронировании?
Это зависит от вашей политики. Частые варианты: депозит при бронировании, полная предоплата для невозвратных тарифов или сохранение карты с последующим списанием. Что бы вы ни выбрали, показывайте условия отмены до оплаты.
Стоит ли небольшому объекту делать собственный сайт бронирования?
Для маленькой гостиницы или гостевого дома собственный сайт с запросом на бронирование или простым мгновенным бронированием может работать отлично. Когда вы продаёте через несколько онлайн-агентств или управляете многими номерами, система управления объектом (PMS) с движком бронирования и channel manager обычно окупает свою стоимость.