Update booking workflow: availability-first, hold-only without DB writes

This commit is contained in:
OpenClaw Assistant
2026-02-23 13:00:38 +00:00
parent ce7b652c87
commit ec13dac0eb
2 changed files with 21 additions and 2 deletions

View File

@@ -14,7 +14,11 @@ description: Отвечать клиентам в VK по стоимости о
- число гостей
- при наличии: тип номера
- важно: в «Парадиз» питание не предоставляется, не предлагать тарифы с питанием
2. Посчитать стоимость через скрипт:
2. Перед подтверждением брони обязательно проверить занятость в БД:
- не допускать бронирование одного и того же номера на пересекающиеся даты;
- если даты заняты, предложить ближайшие свободные даты;
- если по датам нет мест в выбранном номере, предложить другие номера со свободными датами.
3. После успешной проверки посчитать стоимость через скрипт:
```bash
python3 {baseDir}/scripts/calc_quote.py \
@@ -109,7 +113,14 @@ python3 {baseDir}/scripts/calc_quote.py \
Комментарий клиента — обязательное поле. Если комментарий есть, сохранять его в журнал брони (`bookings.txt` и `bookings.jsonl`) и в Telegram-уведомление, не терять.
Если клиент просит «подержать номер», создавай запись удержания (максимум 24 часа) в отдельном файле `{baseDir}/data/holds.jsonl`:
Если клиент просит «подержать номер», создавай запись удержания (максимум 24 часа) в отдельном файле `{baseDir}/data/holds.jsonl`.
Важно для hold (фиксации на сутки):
- это предварительная неоплаченная фиксация;
- в `testDB.sqlite` и `sync.sqlite` запись НЕ вносить;
- в `bookings.txt` и `bookings.jsonl` запись НЕ вносить.
Команда для hold:
```bash
python3 {baseDir}/scripts/manage_holds.py add \
@@ -152,6 +163,13 @@ python3 {baseDir}/scripts/manage_holds.py cleanup
`Спасибо за бронирование 🤍 Ваша бронь подтверждена.`
`За 35 дней до заезда я напомню вам о деталях.`
После подтверждённой брони (не hold) обязательно выполнить полный цикл:
1) внести запись в БД,
2) внести запись в текстовые журналы,
3) сформировать файл брони,
4) отправить файл гостю в VK,
5) отправить уведомление в Telegram.
После подтверждения/фиксации брони обязательно сохранить запись, отправить уведомление в Telegram и отправить гостю в VK файл брони:
```bash