Back to Project
Payments & Payouts
Booking → Hold → Settle → Split → Disburse
Payments & Payouts
Booking · Deposit Hold · Settle · Split · Disburse
1 · GUEST BOOKS A TABLE
Guest selects table · party size · arrival time · optional bottle pre-order
Mobile app gathers payment method · deposit-split computes hold amount
2 · PLATFORM HOLDS DEPOSIT
deposit-split
Edge Function
Computes club + promoter share
Authorization Hold
QorCommerce charge.create
capture=false · funds reserved
Booking pending
Postgres state machine
Realtime → Tonight cockpit
3 · DOOR CHECK-IN · TAB · SETTLE
guest-checkin-confirm
Booking → active
Host marks party arrived
Open tab · Bottle adds
Bottle server adds items
Modifiers · Comps · Discounts
settle-booking
Capture final amount
Tip + tax split logic
4 · WEBHOOK · NIGHTLY SPLIT · DISBURSE
payment-webhook
Idempotent dispatcher
charge.succeeded
charge.refunded
dispute.created
payout.paid
Updates booking · ledger
daily-club-payout
Cron · per-club schedule
Gross revenue
− platform commission
− promoter commissions
− refunds · chargebacks
= net club share
disburse-payouts
QorCommerce transfers
→ Club sub-merchant
→ Promoter sub-merchant
→ Platform fee account
Audit row per leg
Re-runnable + idempotent
All amounts stored as integer cents · Re-runnable nightly · Ledger-first design