All case studies
Travel & Group ToursLand Cruise Vacations

Owning the Checkout Instead of Renting It

A custom registration and checkout platform for multi-day motor-coach trips — built to replace a per-transaction SaaS fee with direct Stripe processing, atomic inventory, and an operations layer that runs itself.

Booking PlatformPaymentsCustom SaaS
The Challenge

Land Cruise Vacations sells multi-day trips with limited seats, multiple price tiers, add-ons, and group pricing — not a business a Stripe checkout link can run.

A hosted registration platform handled it, and it worked — but its per-transaction fees ate real margin on every booking, across every guest, every trip, every season. The product underneath those fees was, functionally, a form builder with payment processing bolted on.

What We Built

We built Regy Pro: a registration platform we own end-to-end, embedded directly on landcruisevacations.com instead of bouncing guests to a third-party checkout.

  • A single well-structured checkout — package picker with a live total summary, then guest info, travelers, dietary needs, signature, and payment in one flow, no bouncing between pages.
  • Payments run through Stripe directly — card, Apple Pay, Google Pay, and Stripe Link, all live without a separate integration, and we pay Stripe's processing rate with nothing layered on top.
  • Inventory is never held. Seats and add-ons are claimed only at the instant an order completes, inside one atomic database transaction — no reservation timers, no abandoned-cart cleanup, no zombie holds. Two buyers racing for the last room both get an honest answer.
  • Every inventory movement — stock, adjustment, claim, release — writes to an audit log with who, when, and why.
  • Refunds (full or partial, with retry logic), order edits that auto-generate and email a balance-due payment link, and offline payments (checks, cash, comps) are all handled with the same rigor as a card charge, plus a daily payout report nobody has to ask for.
  • Every confirmation, cancellation, refund, and reminder email passes through a durable outbox — written to the database before it's handed to the delivery provider, so a failed send retries instead of vanishing.
  • Role-based access enforced at the API, an audit log on every state change, deny-by-default database policies, and end-to-end browser tests on checkout, refunds, and receipts running against a fresh server on every deploy.

The Stack

Next.jsReact 19SupabasePrismaStripeResendVitestPlaywright
Results

$0

Platform fees — Stripe's processing rate only, nothing layered on top

Zero holds

Inventory claimed atomically at order completion, not reserved on entry

155 commits

From spec to production, over two months

Now a product

What started as our own checkout is now sold to other operators

Building software is no longer hard. The math has flipped.

Read the full build story

Want something like this for your business?

Tell us about your business and we'll show you exactly where a system like this fits — no pressure, no jargon.