Enforce always writing DB bookings in manual-visible format
This commit is contained in:
1
USER.md
1
USER.md
@@ -28,6 +28,7 @@ _Learn about the person you're helping. Update this as you go._
|
|||||||
- Когда Виталий сообщает о факте внесения предоплаты: внести изменения в БД и файл броней, обновить/пересоздать лист брони со статусом «Забронировано», указать сумму внесённой предоплаты, пересчитать и проверить бронь, затем отправить лист брони гостю в VK и отправить уведомление Виталию в Telegram.
|
- Когда Виталий сообщает о факте внесения предоплаты: внести изменения в БД и файл броней, обновить/пересоздать лист брони со статусом «Забронировано», указать сумму внесённой предоплаты, пересчитать и проверить бронь, затем отправить лист брони гостю в VK и отправить уведомление Виталию в Telegram.
|
||||||
- Никогда не просить гостя прислать чек в чат. Всегда писать: «Отправьте, пожалуйста, чек на e-mail keeper78@inbox.ru с прикреплённым чеком и номером бронирования».
|
- Никогда не просить гостя прислать чек в чат. Всегда писать: «Отправьте, пожалуйста, чек на e-mail keeper78@inbox.ru с прикреплённым чеком и номером бронирования».
|
||||||
- При внесении брони напрямую в БД повторять ручной сценарий полностью: hotel_booking + hotel_liver_booking_link + main_log в testDB.sqlite и log в sync.sqlite, с обязательным бэкапом перед изменением.
|
- При внесении брони напрямую в БД повторять ручной сценарий полностью: hotel_booking + hotel_liver_booking_link + main_log в testDB.sqlite и log в sync.sqlite, с обязательным бэкапом перед изменением.
|
||||||
|
- Вносить бронь в формате, видимом для программы (как ручное внесение): активный статус `status=0`, отображаемый label по ФИО гостя, с привязкой номера брони в комментарии/логах.
|
||||||
- Рабочая логика бронирования: сначала проверка занятости дат/номеров в БД, затем подтверждение брони. При фиксации на 24 часа (неоплаченной) в БД и текстовые журналы бронь не вносить — только hold. Если даты заняты, предлагать ближайшие свободные даты или другие свободные номера.
|
- Рабочая логика бронирования: сначала проверка занятости дат/номеров в БД, затем подтверждение брони. При фиксации на 24 часа (неоплаченной) в БД и текстовые журналы бронь не вносить — только hold. Если даты заняты, предлагать ближайшие свободные даты или другие свободные номера.
|
||||||
- Брони менее 3 суток не принимаем: предлагать увеличить срок отдыха до 3+ суток.
|
- Брони менее 3 суток не принимаем: предлагать увеличить срок отдыха до 3+ суток.
|
||||||
- Никогда не спрашивать у гостя бюджет на отдых: сразу считать и предлагать подходящие варианты проживания.
|
- Никогда не спрашивать у гостя бюджет на отдых: сразу считать и предлагать подходящие варианты проживания.
|
||||||
|
|||||||
@@ -277,6 +277,10 @@ python3 {baseDir}/scripts/save_booking.py \
|
|||||||
- `main_log`
|
- `main_log`
|
||||||
2. `sync.sqlite`:
|
2. `sync.sqlite`:
|
||||||
- `log` (операция синхронизации с комментарием о создании/изменении брони)
|
- `log` (операция синхронизации с комментарием о создании/изменении брони)
|
||||||
|
3. Формат записи должен быть видимым для основной программы (как при ручном внесении):
|
||||||
|
- `status=0` для активной брони;
|
||||||
|
- `label` — отображаемое имя гостя (ФИО);
|
||||||
|
- номер брони (`PDZ-...`) сохранять в комментарии/логах для трассировки.
|
||||||
|
|
||||||
Перед любыми изменениями делать бэкап в `{baseDir}/db/backups/`.
|
Перед любыми изменениями делать бэкап в `{baseDir}/db/backups/`.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user