A 2,000 USD retreat is a hard ask up front. Installments let bookers commit with a smaller first charge and pay the rest on a schedule tied to the retreat start date. The platform handles the off-session charges automatically.
Premium plan only. Stripe-card bookings only (off-platform methods can't be charged off-session).
How it works
You define a template once when creating the retreat. Each booker who opts in gets their own ledger of installments resolved from that template.
The template is a list of steps. Each step has:
offsetDays: when to charge, relative to the retreat start date. Negative means before (e.g. -30 = thirty days before the start). 0 = at signup.percentageBps: the percent in basis points (5000 = 50%, 3333 = 33.33%).
The percentages must sum to exactly 10000 (= 100%). The first step's offset must be <= 0 so the booker pays at checkout.
Three common shapes
Two-step, 50/50:
- Step 1: offsetDays 0, 50%
- Step 2: offsetDays -30, 50%
Three-step, 50/25/25:
- Step 1: offsetDays 0, 50%
- Step 2: offsetDays -60, 25%
- Step 3: offsetDays -14, 25%
Four-step, even quarters:
- 25% at signup, 25% at -90, 25% at -60, 25% at -14.
What happens at checkout
The booker picks "Pay in installments" on the booking page. We charge installment #1 immediately via Stripe and save their card for the future steps (Stripe's setup_future_usage: off_session).
What happens after
A daily cron at 07:00 UTC walks every SCHEDULED installment whose scheduledFor has passed. Each one is charged on the saved card. On success: marked PAID, receipt email sent. On failure: retried after a 3-day grace (default), up to 2 extra times. After the retry cap is exhausted: the installment flips to FAILED, the booking is cancelled, the remaining SCHEDULED installments are CANCELLED, and the booker is emailed.
Prior installments are NOT refunded on final failure. That's the published contract — the booker forfeits.
What the booker sees
On their booking confirmation page: every installment row with its scheduled date, amount, and status (Paid / Scheduled / Failed / Cancelled). The agent can also list them via the MCP list_my_installments tool.
Refunds for installment bookings
When you cancel and refund the booking, the eligible base is the SUM of installments already PAID (not the contracted total — you can't refund money that wasn't collected). The remaining SCHEDULED rows are cancelled in the same transaction so the cron stops trying. See Accepting payments for the full refund flow.