Agentic PNW
Web Design

Bluebill Charters Is Live: A Yacht Charter That Owns Its Booking System

Matthew Becker6 min read

What Launched?

On September 3, 2026, bluebillcharters.com cut over from Wix to a new Next.js platform on Vercel, backed by Neon Postgres. Bluebill Charters runs private yacht charters out of Mission Bay, San Diego, aboard a 49-foot Shaw-Westport motor yacht: fishing trips, whale watching, bay and sunset cruises, and signature experiences like sushi, charcuterie, yoga, and live-music cruises.

The build is 39 routes: 18 marketing pages, 14 per-trip pages, a multi-step Charter Planner, a blog carrying the 11 posts migrated from Wix with their slugs preserved, a store, and the practical pages a charter guest actually needs: reviews, FAQ, location, what to bring, the yacht, the captain. The full story, with before-and-after frames, is on the Bluebill Charters case study.

Why Leave Wix and FareHarbor at the Same Time?

The old site had the usual page-builder problems, documented in the pre-build audit: a dead charters page literally titled "x", a homepage shipping 1,051 KB of HTML, pricing that conflicted from one page to the next, and a perfect 5.0 Google rating across 10 reviews that the site never surfaced.

The booking side had a structural problem: every reservation ran through FareHarbor. That meant marketplace fees and a checkout the business didn't control, for the single most important transaction it has. The brief was simple to say and serious to build: own the booking experience end to end.

What Does the Booking Engine Actually Do?

Everything FareHarbor did, in-house. A guest builds their trip in the Charter Planner, and every price is recomputed server-side: posted prices are never trusted. Confirming a date opens a Postgres advisory-lock transaction that holds the slot for 30 minutes while Stripe Checkout runs, as a 50% deposit or pay-in-full with the 3% card fee disclosed up front, and a webhook confirms the booking.

From there the platform runs the trip's paperwork and communication by itself: more than 25 Postmark email sends from a database outbox on a daily cron (seven-day reminder, final reminder, post-trip, balance-due, agreement nudge), e-signed documents with a typed name, a drawn signature, and a SHA-256 hash of the exact text signed (a liability waiver on every booking, plus a bareboat and captain-engagement agreement for bareboat charters or groups over six), and a USCG passenger manifest per guest that locks one hour after departure. The balance charges itself 14 days before the trip, off-session, on the card on file.

  • Two-way Google Calendar sync: bookings push out, calendar changes pull in
  • External bookings from FishingBooker, Boatsetter, or the phone, staged for crew import
  • Token-gated iCal feed so FishingBooker always sees real availability

What Does the Crew Get?

An admin portal, not a ticket queue. The bookings dashboard pairs a month calendar (payment-tier dots, paperwork glyphs) with a per-booking detail page: offline payments, payment links, custom partial refunds, edit-in-one-transaction, reschedule cascades, policy-based cancellations, CRM messaging, weather updates, a signed-document viewer, captain assignment, and a printable trip brief. Phone bookings get their own entry form, and blackout dates and the captains registry live there too.

Three CMSs cover the content the crew touches: the trip and pricing catalog (4 categories, 16 priced trips, 3 quote-only, 4 add-ons), the blog, and the email copy itself: 12 editable templates plus 6 shared content blocks, with a live preview priced against any trip in the catalog. Captains get a read-only portal with their charters, trip briefs, manifests, and signed-agreement status.

Did the Migration Hurt Search?

No, and that was engineered, not lucky. All 14 legacy Wix URLs map to permanent 308 redirects with zero live-content path changes, the blog's RSS feed survives at its legacy path, and staging stays noindex behind an env flag so nothing leaks before launch. Seven schema.org types ship on the new site, including LocalBusiness with the 5.0 aggregate rating the old site kept to itself. Stripe's live keys were verified with a real $1 charge and refund before the DNS cutover, and analytics were live from day one.

What Does This Mean for Charter and Tour Operators?

Most operators rent their booking flow the same way Bluebill did: a marketplace platform takes a cut of every trip in exchange for a checkout, a calendar, and waivers. That trade made sense when the alternative was a six-figure custom build. It makes less sense now: this platform (planner, payments, paperwork, manifest, calendar sync, lifecycle email, admin portal, three CMSs) runs on 15 Postgres tables behind a 39-route site, and the business owns all of it.

If your bookings fund someone else's marketplace, the same move is on the table for you. Read the full case study for the numbers and the before-and-after, or start a conversation about what your own booking engine would look like.

client launchbooking enginewebsite revampwix migrationfareharbor alternativeyacht charter

Straight Answers

Yes, and Bluebill Charters just did. The replacement covers the full flow: a multi-step planner, server-side pricing, date holds, Stripe deposits or pay-in-full, lifecycle emails, e-signed waivers, a USCG passenger manifest, calendar sync, and an admin portal. External channels like FishingBooker and Boatsetter still feed in through calendar sync and a token-gated iCal feed.

Not when the migration is engineered for it. Bluebill's move mapped all 14 legacy URLs to permanent 308 redirects with zero live-content path changes, preserved the blog's RSS feed at its legacy path, and upgraded the structured data to seven schema.org types. Rankings, backlinks, and citations keep working through the cutover.

They land in the same system. The two-way Google Calendar sync stages external events (FishingBooker, Boatsetter, phone bookings) in an inbox where the crew imports them into a prefilled booking form. Imported bookings then behave like any other: paperwork, payment links, calendar, and emails included.

Yes. The site is live at bluebillcharters.com with the in-house engine processing real payments. Stripe's live keys were verified with a real charge and refund before the DNS cutover on September 3, 2026.

Find Out Where You Stand

Find out where you stand. Get a free ECARAT visibility audit: your search presence, Google Business Profile, reviews, and AI-search visibility, scored against five local competitors.

Your Website Should Be Your Best Salesperson.

Book a strategy session. We'll audit your current presence live on the call and show you exactly what's possible: big-agency quality on a small-business budget.