feat: deposit release lock + billing fixes + centralized payment gateway
- Add releaseRequiresCheckout toggle in DepositSettingsPage (UI + payload) - Migration 066: release_requires_checkout column on hotel_deposit_settings - Migration 065: hotel_payment_gateways table for centralized YooKassa config - Block deposit release buttons when releaseRequiresCheckout && not checked_out - Fix billing calculation: use Number() to prevent PostgreSQL NUMERIC string concat - Fix minibar billing: show current price (JOIN minibar_items.price) not recorded price - Auto-poll deposit status every 5s while hold_created; clear QR message on confirmation - Add billing/folio tab in BookingDetailPanel (room charges + minibar + payments + balance) - PaymentSettingsPage: new "Онлайн-оплата (ЮКасса)" section with gateway CRUD - DepositSettingsPage: replace YooKassa fields with link to centralized payment settings - BookingWidgetPage: connect to real API, gateway status banner, async booking submission - New backend routes: paymentGateways, publicWidget - YooKassa service: add createCharge() for immediate payment (online bookings) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
3
backend/migrations/066_deposit_lock.sql
Normal file
3
backend/migrations/066_deposit_lock.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Setting: block deposit release until guest has checked out
|
||||
ALTER TABLE hotel_deposit_settings
|
||||
ADD COLUMN IF NOT EXISTS release_requires_checkout BOOLEAN NOT NULL DEFAULT false;
|
||||
Reference in New Issue
Block a user