Partial Payments

In Indian hospitality, asking for full payment up-front kills conversions. Most properties collect a 30–50 % advance to confirm and the balance at check-in. ABc bakes this in as a configurable policy, not a workaround.

Configuration — who decides what

SettingSet byDefault
Allow partial paymentsOwner (per property)Yes
Min advance %Owner (per property or rate plan)30 %
Balance due relative to check-inOwnerAt check-in (T)
Send reminder before due dateOwnerT − 1 day, 09:00 local
Auto-cancel if balance unpaidOwnerT + 48 h grace, then cancel

Where partial payments show up

Public checkout

If the rate plan allows partial, guest sees two radio options: "Pay full now" or "Pay 30 % advance, balance at check-in".

Manual booking

Front-desk agent can split however they like — e.g. ₹10,000 cash now and the rest by UPI later. Subject to per-property minimum.

OTA-collected

If the OTA already collected payment in full, partial logic doesn't apply. If OTA model is "pay-at-hotel", we treat it as 100 % balance.

Public checkout UI — advance toggle

abc.com/checkout
Choose how to pay
Total: ₹22,230 · 3 nights, Deluxe King

Payment plan model

Internally, every partial-paid booking has a small payment_plan attached:

payment_plans
  • iduuid
  • booking_id→ bookings
  • total_amountmoney
  • strategyadvance_then_balance | installments
  • statusactive | complete | defaulted
payment_plan_items
  • iduuid
  • plan_id→ payment_plans
  • seqint
  • amountmoney
  • due_ondate
  • statusdue | paid | overdue
  • payment_id→ payments (when paid)

Reminder schedule

Advance paid · booking confirmed
T−7d: gentle reminder email
T−1d: due-tomorrow email + SMS
T+0d: due-today push
T+2d: auto-cancel + refund advance per policy

Owner dashboard — outstanding balances

app.abc.com/finance/outstanding
Outstanding balances
12 bookings · ₹1,42,300 receivable
BookingGuestStayPaid / TotalBalanceDue
ABC-24806 Ramesh Kumar 15–18 Jun ₹10,000 / ₹25,200 ₹15,200 in 21 days
ABC-24788 Aditi Joshi 02–04 Jun ₹3,500 / ₹8,500 ₹5,000 in 8 days
ABC-24769 Vivek Rao 20–22 May (today) ₹5,000 / ₹14,000 ₹9,000 Overdue · 2 days

What happens when balance isn't paid

Days past dueAction
0Due-today email + SMS to guest. Owner sees the booking flagged in dashboard.
+1Second reminder. Owner can choose to wait or accept partial check-in.
+2 (default cutoff)System auto-cancels per policy. Refund of advance computed per cancellation rule (may be 0 % if non-refundable).
OverrideOwner can manually mark "balance accepted at hotel" — common when the guest has already arrived.

Edge cases

Rate change after advance

If owner edits the booking dates or room, recompute the total. Balance line item adjusts. If new total < advance paid, schedule a refund.

Multiple partial payments

A single booking can have N payments. e.g. ₹5k cash on booking + ₹3k UPI a week later + ₹2k card at check-in. Each one a distinct row.

Partial refund of advance

Guest cancels after advance paid. We refund per policy (e.g. 50 %). Two payment rows: original credit + a debit refund.

Over-payment

Guest pays more than balance (e.g. UPI typo). System detects, creates a refund queue task, alerts owner.