Require explicit manager confirmation before recording prepayment

This commit is contained in:
OpenClaw Assistant
2026-02-23 11:54:36 +00:00
parent a169cbc446
commit de53a1f8c1
3 changed files with 9 additions and 2 deletions

View File

@@ -195,6 +195,7 @@ def main():
p.add_argument("--room", required=True, help="Категория номера")
p.add_argument("--total", required=True, help="Итоговая сумма")
p.add_argument("--prepay", required=True, help="Сумма предоплаты")
p.add_argument("--payment-confirmed-by-manager", action="store_true", help="Явное подтверждение менеджера на внесение предоплаты")
p.add_argument("--notes", default="", help="Комментарий")
p.add_argument("--file", default="/home/openclaw/.openclaw/workspace/skills/paradiz/data/bookings.txt")
p.add_argument("--notify", action="store_true", help="Отправить Telegram-уведомление")
@@ -214,9 +215,12 @@ def main():
day_price = f"{(total_num / nights):,.0f}".replace(",", " ") if nights else ""
# Жёсткое правило по бизнес-логике:
# - если предоплаты нет (<= 0) -> Предварительное
# - если предоплата есть (> 0) -> Забронировано
# - предоплату можно вносить только после явного подтверждения менеджера
# - если подтверждения нет, предоплата считается 0 и статус "Предварительное"
prepay_num = _extract_amount(args.prepay)
if prepay_num > 0 and not args.payment_confirmed_by_manager:
raise SystemExit("Предоплата > 0 запрещена без флага --payment-confirmed-by-manager")
booking_status = "Забронировано" if prepay_num > 0 else "Предварительное"
entry = {