ADR-026: Promo Credits Are Location-Borne — No Payout on Promo-Origin Redemptions
Status
Accepted (2026-07-22, Aaron). Spec: docs/features/promo-credits-location-borne/spec.md.
Precondition before deploy: partner communication to the affected location(s).
Note 2026-07-23: briefly superseded by a same-day pay-at-redemption ruling (Paul), withdrawn hours later after further consideration. Reaffirmed and extended by ADR-028 (no free hourly booking ever moves money). Implementation: PR #917.
Context
The 50-free-credits promo granted 4,575 credits with no cash behind them. Unlike the
free-first-practice promo (comp bookings, $0, no money movement — the location donates the hour),
promo credits behave like real money at redemption: the platform pays the hosting location
~90c/credit in actual cash. This drained $1,372 from the platform pool during the solvency
incident (see docs/features/platform-cash-reconciliation/), and ~$1,145 of realistic future
exposure remains ($2,797 face) with no funding source: the $6,500 remediation was represented to
the funder as covering the entire exposure and deliberately excludes promo; waitlist-deposit
breakage income is too rare to fund it (deposits overwhelmingly convert); the platform runs at
~zero operating margin.
Decision
Promo-origin credit redemptions produce no location transfer. The location hosts the booking without payout — the same economics as the free-first-practice promo, applied to the credits promo. Purchased-origin credits keep the full ~90c/credit payout unchanged.
Origin is determined per consumed balance (reliable since the creditPackageId stamp fix):
credit_package_id or subscription_deposit_amount set = purchased; neither = promo. A booking
consuming mixed balances pays out only the purchased steps.
Consequences
- The promo reserve leaves the platform's books entirely:
PROMO_RESERVE_FRACTIONdrops to zero, the reserve gate and audits track purchased credits only, and the bookkeeping dashboards' single credit-obligations number becomes CORRECT (only purchased credits are platform obligations) — resolving the dashboard-18 item-4 dispute in the simple direction. - The funder statement "the $6,500 covers our entire exposure" becomes exactly true.
- Already-paid redemptions ($1,372) stay paid; no clawback. Beyond simplicity, deliberate: MG owns and operates every location (the LLCs are purely a business/accounting split), and the paid redemptions show as revenue growth at the receiving location, which is desired.
- Because locations are commonly owned, this is intercompany cost allocation, not a partner negotiation. The former hard precondition (partner communication) downgrades to: an accounting note only (MG operates every location; the LLCs are purely a business/accounting split), so the service-period books stay consistent (promo bookings show zero location revenue going forward, unlike the grandfathered ones).
- Member experience unchanged: credits spend identically; only the internal payout changes.
Rejected alternatives
- Breakage-funded (forfeited deposits pay for redemptions): forfeitures are rare; deposits overwhelmingly convert. No real income stream.
- Platform-funded from operations: ~zero margin; would silently erode the escrow cushion — the exact disease the reserve system exists to prevent.
- Additional funder ask: contradicts the entire-exposure representation; crying wolf.