A booking platform that doesn’t leave customers staring at “sold out”.
bookingapp is a complete booking system — customer flow, operator admin, embeddable widget, your own domain — built for tour, charter, and experience operators who want to own their checkout instead of renting it from a marketplace.
What’s in the box
Three integrated surfaces, one platform.
Customer booking flow
A 5-step funnel — catalog, calendar, time, options, checkout — with deep linking, mobile-first design, gift card and promo redemption, and a self-service manage page so customers can cancel or reschedule without emailing you.
Tour the flow →Operator admin
Products, pricing tiers, add-ons, sessions, the bulk scheduler, bookings (manual create, modify, refund), promo codes, holiday surcharges, waivers, the merch shop, and operator-editable confirmation emails — all from one panel.
See the admin →Embeddable widget
One <script> tag drops a working booking widget
on any page — static HTML, WordPress, Vite, React. Iframe
isolation, deep links, postMessage events for analytics, opacity
fade so there’s no white flash on load.
Built around “zero dead ends”
Every screen, in every state, has a forward path. No “sorry, unavailable” walls, no greyed-out buttons without a reason, no empty states without a next action.
When a customer clicks a sold-out date, they don’t see “unavailable” — they see a sheet of nearby alternatives: same day on a sister product, same product on the next few open dates, or a phone number when both fail. The pattern comes from a 7-platform benchmark study (OpenTable, Calendly, Stripe Checkout) and runs across the entire booking flow.
Your own everything
Each operator gets their own database, their own server slot, their own domain — not a row in someone else’s SaaS table.
Your own database
Per-tenant Postgres database and DB role. No shared tables, no row-level tenancy — your bookings live in your DB, on your server, not mixed in with anyone else’s.
Your own domain
Marketing site on yourbrand.com, app on
app.yourbrand.com. Customers never see a third-party
checkout URL. Analytics, SEO, and email reputation all accrue to
your own domain.
Your own deploy lane
One-line deploy command per tenant
(tenant deploy yourbrand all) and a drift detector
(tenant doctor yourbrand) that catches config skew
against the live server before customers do.