Как изменить даты проживания в брони
Перенести заезд, продлить выезд, сократить пребывание. Правила для разных статусов брони + защита от ошибок и овербукинга.
Когда нужно менять даты
Классические сценарии:
- Гость попросил продлить проживание на 2 дня → меняем checkOut
- Гость хочет уехать раньше (плохая погода, дела) → меняем checkOut
- Гость перенёс приезд на другой день → меняем checkIn (если ещё не заселился)
- Командировка отменилась — нужно сократить с 5 дней до 3 → меняем checkOut
Шаг 1. Откройте бронь и нажмите «Редактировать»
- Найдите бронь в шахматке или в списке «Бронирования»
- Кликните → откроется панель деталей
- Нажмите «Редактировать»
- Откроется форма со всеми полями брони
Шаг 2. Измените даты
В блоке «Основные параметры» найдите поля «Дата заезда» и «Дата выезда». Измените на нужные.
При сохранении система автоматически:
- Проверит что выезд позже заезда
- Проверит нет ли конфликта с другими бронями на эти даты в этом же номере (овербукинг)
- Применит правила по статусу (см. ниже)
Если есть конфликт — увидите ошибку «Номер уже занят в эти даты (бронь BK-…)» → выберите другие даты или сначала перенесите конфликтующую бронь.
Правила по статусам брони
В Hotel OS2 действуют те же правила, что и в :
🟡 PENDING / 🟦 CONFIRMED (ожидает / подтверждена)
- ✅ Можно менять обе даты (заезд + выезд)
- ✅ Можно менять номер, тариф, гостей, цену
🟩 CHECKED_IN (гость заселён)
- ✅ Можно менять только дату выезда (продление пребывания)
- ❌ Нельзя менять дату заезда — гость уже физически в номере
- 💡 Если нужно сдвинуть заезд → сначала отмените заселение (вернуть статус в CONFIRMED), измените дату, заселите снова
Это защита от ошибок: представьте что администратор случайно поменял дату заезда у уже живущего гостя — сломаются счета, миграционные карты, отчёты Росстата.
⬜ CHECKED_OUT (гость выписался)
- ❌ Нельзя ничего менять (только заметки)
- 💡 Если нужно — отмените выписку, измените, выпишите снова
🟥 CANCELLED (отменена) / 🟧 NO_SHOW (не явился)
- ❌ Нельзя менять даты/номер/цену (только заметки)
- 💡 Если бронь нужна заново — создайте новую
Альтернатива: drag&drop в шахматке
Если нужно просто сдвинуть бронь на другую дату (с сохранением длительности) — удобнее перетащить её на шахматке.
- В шахматке нажмите кнопку «Перемещение» (защита от случайных перетаскиваний)
- Зажмите бронь левой кнопкой мыши
- Перетащите на новую дату или на другой номер
- Подтвердите в модалке
Подробнее: «Как быстро переместить бронь».
Важно: drag&drop сохраняет длительность (3 ночи останутся 3 ночами). Для изменения длительности — используйте «Редактировать» в карточке.
Что произойдёт после изменения дат
Автоматически:
- ✅ Обновляется запись в БД (атомарно через транзакцию)
- ✅ Запись в журнале активности (кто, когда, что изменил)
- ✅ Если бронь была привязана к счёту — счёт пересчитывается
- ✅ Если есть услуги по дням — система проверяет, не выходят ли они за новые даты
- ⚠️ Цена проживания не пересчитывается автоматически — если поменялся срок, нажмите «Пересчитать» в карточке
Что НЕ реализовано
у нас пока нет:
- Автоматический пересчёт стоимости при изменении дат
- Подсказки «свободно/занято» прямо в форме при выборе даты (пока узнаём только при попытке сохранить)
- Перенос привязанных услуг при сильном сдвиге дат
Это в следующих итерациях работы с бронями.
Эта статья была полезна?