How we built berth booking you can embed on your own marina website
Campsites and hotels have booked online for years — marinas mostly still don’t. The reason is simple: a berth booking only works if it’s connected straight to the marina’s live system. Here’s how we built an availability check you can drop into your own website.
Book a campsite pitch, a hotel room, even a tennis court, and you do it online in a minute. Try to book a visitor berth at most marinas and you are back to a phone call, a contact form, or an email you hope someone reads before you arrive.
We are a small engineering team out of ETH Zürich, and that gap is what got us started. Not why is marina software old-fashioned — but why is there no proper online booking for berths, when every other hospitality business has had it for a decade? The answer turned out to be the whole reason we built DocksBase the way we did.
Moor on the Ligurian coast
A sheltered boutique harbour — reserve your berth online in under a minute.
The hard part was never the form. It was the availability.
You can drop a pretty booking form onto any website in an afternoon. What you can’t fake is the answer to the only question that matters: “is there actually a berth free for this boat, on these dates, right now?”
A berth isn’t a hotel room. It has a length, a beam, a draft, a mooring type, a price that changes by season, and it might already be promised to an annual holder who is away for the weekend. The only place that knows the true answer is the system the marina runs on. A standalone widget doesn’t know any of it — so the best it can do is send an enquiry and hope. That’s why the “booking” buttons on most marina sites are really just contact forms, and why double-bookings and phone tag never went away.
So we built the booking into the system, not next to it.
DocksBase is the platform a marina already runs on — berths, the live map, pricing, billing, the boater records. The booking engine isn’t a separate product bolted on top; it queries the same live berth inventory the harbour master sees. When the widget says a berth is available at a price, it’s because the real system said so a few milliseconds earlier.
That one decision is what makes everything downstream honest:
- Availability shown to the boater is the real, current availability.
- A confirmed booking writes straight back into the marina’s calendar and billing — no re-typing, no double-booking.
- Pricing, size limits and seasons come from the marina’s own settings, not a guess.
Then we made it something you embed on your own site.
A marina’s website is its shopfront, and it should stay that way — your brand, your domain, your photos. So the availability check is a small embed you paste into your own page. It mounts inline, in your layout, styled to sit in your hero. One snippet:
<!-- Anywhere on your marina's own website -->
<div id="docksbase-booking"></div>
<script
src="https://embed.docksbase.com/v1.js"
data-marina="marina-azzurra"
defer></script> That’s the entire integration. No plugins, no developer project, no separate portal to send people to. The boater searches right there on your website; only the secure payment step hands off to DocksBase — and it can run under your own subdomain, so it still feels like you.
What the boater actually does
They pick their dates and boat length on your site, see the berths that genuinely fit with a live price, and pay by card. They get an instant confirmation — and the reservation is already on your calendar, priced, with the boater’s details captured, by the time you next look at the screen. No inbox to watch. No berth sold twice. No arrival you didn’t know about.
Boaters book everything else online. Their berth should be no different — and now it can be, on your own website.
That’s the whole idea behind DocksBase: run the marina and fill it from the same place. If you’d like the availability check live on your harbour’s site, we’d be glad to show you how it looks with your berths in it.