Product feature — both demos below are live

The booking widget that shows real availability.

Configurable per day, per activity, per boat and per guest flow — and the spaces it shows are recalculated by the same engine that runs the back office. If the widget says two places are left, two places are left.

0% commission
Works on any website
Your brand, your colors
Included in every plan
Live demos

This is not a mockup.

Both widgets below are live production systems of real operators running on DiveHQ — real prices, real remaining spaces, updated as bookings land and holds expire. And yes: book here and you have genuinely booked a dive in Komodo.

Dive center & resort — day by day, per activity

The daily booking flow of a real 5-star PADI dive resort in Labuan Bajo: fun dive trips, PADI courses and hotel packages, day by day, with real-time spaces per departure and the Komodo park quota handled for the guest. The hotel side can be shown — or hidden entirely for a dive center without rooms. Five languages built in.

ddk.divehq.cloud/booking — a real dive resort's live booking flow

Liveaboard departures — cabins and month filter

The trips widget of Shenron, a real liveaboard operating in Komodo: departures, cabin prices, mandatory fees shown per trip. Try the month filter.

shenron.divehq.cloud/widget/…/trips — embedded exactly as it would be on an operator's own site
Live from a real operator's subdomain. The prices shown are the prices a guest can actually put in a basket — the widget applies the same cabin visibility rules as the booking flow, so it never advertises a "from" price that turns out to be unbookable.
Why it converts

Six things this widget does that most don't.

Every claim below is a behaviour of the engine, not marketing. You can verify each one in the demo above.

Honest prices

The price shown is bookable

The widget applies the same visibility rules as the booking flow. A cabin marked unavailable is never quoted, and a bunk that only opens once other cabins sell is never used to advertise a "from" price a guest can't actually book. What you see is what checkout offers.

No surprise at checkout

Mandatory fees, up front

Marine park fees computed per diver per day, fuel surcharges, anything the trip requires — shown on the trip card, split between what is payable now and what is collected on board. The guest sees the true cost before they commit, not on the last screen.

Real-time spaces

Holds, not overbooking

When a guest starts checkout, the cabin is held for a duration you configure. The payment link expires with the hold — a link never outlives the reservation behind it — and an unpaid hold releases the cabin automatically. Two guests cannot buy the last cabin twice.

Your site, your brand

Configured, not customised

Theme, brand color, button text, month filter, spaces counter, vessel name shown or hidden, filters on or off — all settings, not custom development. Run as many widgets as you need: one per boat, per season, per landing page, each with its own look.

Attribution built in

Know where bookings come from

Every booking records the widget it came through, the referring page and UTM parameters, and you can attach your own Google Tag Manager container. When a campaign works, you know it — per widget, not as a guess.

FULL is a feature

Sold out is shown, not hidden

Sold-out departures can stay visible with a FULL badge instead of vanishing. A page of departures where half are already full tells a guest the boat sells — hiding them tells a guest nothing. You choose, per widget.

And it is not just liveaboards: the first demo above is the Dive Resort & Center flow, live — day by day, per activity, fun dives, PADI courses and packages, with the hotel side shown for a resort or hidden entirely for a dive center without rooms. A seat is offered exactly when it can actually be delivered.
Integration

The whole integration is one tag.

Setup — about ten minutes

Paste it where you want bookings.

WordPress, Wix, Squarespace, Webflow, hand-written HTML — anything that renders an iframe. No plugin, no JavaScript SDK, no developer required.

  • Per-boat widgets: a fleet can run one widget per vessel
  • Date windows & destination filters: a campaign page can show exactly one season
  • Instant booking or request: with a configurable hold duration either way
  • Notification email per widget: the right inbox hears about the right bookings
  • White-label: your DiveHQ subdomain, or your own domain
<!-- That's it. This is the entire integration. -->
<iframe
  src="https://your-operator.divehq.cloud/widget/your-widget/trips"
  width="100%" height="900"
  style="border:none;border-radius:12px;">
</iframe>
FAQ

Questions people ask about the widget.

Are the demos on this page real?

Yes, both. The first is the live day-by-day booking flow of a real 5-star PADI dive resort in Labuan Bajo; the second is the live trips widget of Shenron, a real liveaboard operating in Komodo — the same embeds those operators use themselves. Prices and spaces are real, and a booking made through either is a real booking. We would rather show you a working system than a screenshot of one.

Does it handle day trips, courses and hotel packages — not just liveaboards?

Yes. On the Dive Resort & Center product, guests book day by day and per activity — fun dive trips, PADI courses, packages — with real-time spaces per departure. The hotel side is shown for a resort, or hidden entirely for a dive center without rooms. That is the first demo above, running live.

Does the widget take a commission?

No. 0% commission on bookings made through the widget, and payments run through your own Stripe, Xendit or PayPal accounts. The widget is included in every plan — it is not an add-on.

Will it work on my website?

If your website can display an iframe, yes — WordPress, Wix, Squarespace, Webflow, Shopify pages or plain HTML. There is no plugin to install and nothing to maintain: the widget is served from your DiveHQ subdomain and updates with the platform.

What happens when two guests want the last cabin?

The first guest to start checkout gets a hold on the cabin, for a duration you configure. Their payment link is capped to that hold, so the link can never outlive the reservation behind it. If they don't pay, the hold expires, the payment link is expired at the gateway, and the cabin is released — automatically. The second guest simply sees real availability the whole time.

Can I run several widgets at once?

Yes — as many configurations as you need, each with its own slug, look and rules: one per boat, one for a high-season campaign page, one for a destination page. Every booking records which widget produced it, so you also get attribution per page, not just per site.

Put real availability on your own site.

The widget is included in every DiveHQ plan — liveaboard, resort or dive center. First 3 months free on the Liveaboard plan.

0% commission · Payments to your own accounts · The demo above is a real operator, live