Add booking status field and merged checkin/checkout period in template output

This commit is contained in:
OpenClaw Assistant
2026-02-23 11:26:57 +00:00
parent bbfeb586b1
commit bdbaaa9435

View File

@@ -52,12 +52,16 @@ def _build_repl(data: dict) -> dict:
rest_num = max(0.0, total_num - prepay_num) rest_num = max(0.0, total_num - prepay_num)
status = data.get("booking_status", "Предварительное") status = data.get("booking_status", "Предварительное")
checkin = data.get("checkin", "")
checkout = data.get("checkout", "")
period = f"Заезд: {checkin} | Выезд: {checkout}".strip()
return { return {
"BKGNFIO": data.get("guest", ""), "BKGNFIO": data.get("guest", ""),
"BKGNNUMBER": data.get("booking_number", ""), "BKGNNUMBER": data.get("booking_number", ""),
"BKGNDATE": data.get("created_at", ""), "BKGNDATE": data.get("created_at", ""),
"BKGNBEGINDATE": data.get("checkin", ""), "BKGNBEGINDATE": period,
"BKGNENDDATE": data.get("checkout", ""), "BKGNENDDATE": status,
"BKGNCATEGORY": data.get("room", ""), "BKGNCATEGORY": data.get("room", ""),
"BKGNNPEOPLE": str(data.get("guests", "")), "BKGNNPEOPLE": str(data.get("guests", "")),
"BKGNCOSTFULL": data.get("total", ""), "BKGNCOSTFULL": data.get("total", ""),
@@ -90,9 +94,11 @@ def render_booking_rtf(template_path: Path, output_path: Path, data: dict) -> No
for k, v in repl.items(): for k, v in repl.items():
txt = txt.replace(k, rtf_escape(str(v))) txt = txt.replace(k, rtf_escape(str(v)))
# Явная пометка статуса в теле документа # Явная пометка статуса в теле документа и подписи полей
status = repl["BKGNSTATUS"] status = repl["BKGNSTATUS"]
txt = txt.replace("подтверждаем бронирование", f"оформляем {status} бронирование") txt = txt.replace("подтверждаем бронирование", f"оформляем {status} бронирование")
txt = txt.replace("Дата заезда:", "Период проживания:")
txt = txt.replace("Дата выезда:", "Статус брони:")
output_path.parent.mkdir(parents=True, exist_ok=True) output_path.parent.mkdir(parents=True, exist_ok=True)
output_path.write_text(txt, encoding="utf-8") output_path.write_text(txt, encoding="utf-8")
@@ -128,6 +134,8 @@ def render_booking_dotx(template_path: Path, output_path: Path, data: dict) -> N
status = repl["BKGNSTATUS"] status = repl["BKGNSTATUS"]
txt = txt.replace("подтверждаем бронирование", f"оформляем {status} бронирование") txt = txt.replace("подтверждаем бронирование", f"оформляем {status} бронирование")
txt = txt.replace("подтверждаем бронирование,", f"оформляем {status} бронирование,") txt = txt.replace("подтверждаем бронирование,", f"оформляем {status} бронирование,")
txt = txt.replace("Дата заезда:", "Период проживания:")
txt = txt.replace("Дата выезда:", "Статус брони:")
raw = txt.encode('utf-8') raw = txt.encode('utf-8')
except Exception: except Exception:
pass pass