Skip to main content

กำลังโหลด...

Southern Whale
Free SEO Audit
Travel & Tourism / Island Day-Tour Trang Web Development + Booking Platform + Multilingual SEO

Case Study: Island Tour Booking Platform in Trang Province Grew Direct Bookings 380% and Reduced OTA Dependency in 4 Months

Island day-tour operator in Trang province (client name withheld for confidentiality)

S
Southern Whale Team · Tourism Tech & SEO Consultant
·
+2,100%
Organic Traffic
From 180 to 3,960 sessions/month within 4 months
+380%
Direct Booking
Direct booking volume through the website grew significantly
42%
OTA Dependency
Down from 72% to 42% of revenue
28%
Dive Package Attach Rate
Customers booking day-tour + Hin Daeng dive add-on in a single transaction

1. The situation

An island tour operator in Trang province had been in business 9 years with a fleet of speedboats + larger vessels, combined capacity of around 240 seats/day, running 4-islands tour routes, private charters, and Hin Daeng/Hin Muang dive trips (world-class dive sites 2 hours offshore by boat). Day-tour packages priced THB 1,200-2,800/person, dive trips THB 3,800-6,500/person. The owner — a Trang native married to a German dive master — described the pain at discovery: 72% of revenue came from OTAs (Klook 38%, GetYourGuide 22%, Viator 12%) deducting 22-28% commission per booking.

The customer mix was striking — Malaysian 28%, Singaporean 18%, Chinese 16%, Thai 22%, Australian/European 16%. MY/SG/CN customers searched in their own language (Google MY/SG, Baidu, Xiaohongshu) but the existing Wix site supported English only + 5.8s LCP on mobile → conversion rate was very low (<0.8%). Customers ended up booking through Klook’s Mandarin interface instead.

What stung more: Hin Daeng/Hin Muang — ranked “world top 10” (by PADI + Scuba Diving Magazine) — was the operator’s highest-margin product (45% margin vs day-tour 18-22%) but the legacy site had no dive booking flow at all. Customers had to email + manually upload PADI cert → 2-3 days to confirm. They cancelled and booked through competitors offering instant booking.

The goal set at kickoff: direct booking +350% within 6 months + reduce OTA dependency from 72% to no more than 45% + integrate a dive booking flow that verifies PADI cert instantly.

2. Why off-the-shelf solutions didn’t work

Wix supports multilingual through the Wix Multilingual app, which the client tried in 2024 and hit 3 problems — translated URLs not optimised for Google country-specific search (Singapore, Malaysia, China), checkout flow breaking when switching language mid-session, and a USD ~500/year license + Wix Business VIP plan combined totalling THB 18,000/year for no performance improvement.

We evaluated FareHarbor + Rezdy + Bokun. All these SaaS handle tour booking well, but none of them supported 3 of the client’s core business logic requirements.

Requirement 1 — Dive cert verification: Customers booking Hin Daeng dives need PADI Advanced Open Water + 25 logged dives minimum. Generic SaaS has no cert verification flow checking PADI Pro Chek or SSI databases.

Requirement 2 — Multi-boat shuffle: When boat A (small, 15/30 seats) had partial booking, the system needed to suggest auto-merging with boat B on the same route to optimise fuel cost. Generic SaaS forces 1 trip = 1 boat — no flexibility.

Requirement 3 — Multi-currency real-time: MY/SG/CN customers want to see prices in their own currency (MYR, SGD, CNY) + lock the rate at checkout. Most SaaS pull rates from fixer.io updated hourly, meaning the rate doesn’t match the bank rate the customer sees in their online banking → trust issue.

More critical: Hin Daeng dive operators nearby had Mandarin website + instant dive booking 3 years already, capturing Chinese market share rapidly. Wait 2 more years and our client would miss the boat.

3. Our approach

After 2 discovery calls + a 1-day onsite visit to ride the trip and talk with boat captains, we planned 4 pillars.

1) Astro migration + Performance baseline. Chose Astro over Wix for LCP <1.5s + native i18n routing (TH/EN/ZH/MS) which Wix struggles with + zero plugin attack surface (Wix had a breach in 2024). Deployed on Cloudflare Pages + R2 for 280+ underwater photos from the German dive master.

2) Custom booking engine + dive cert verification. Built a booking platform on Supabase supporting day-tours + dive trips + private charters in a single system. PADI cert verification via PADI Pro Chek API + SSI Diver Verification + manual upload for other cert agencies (NAUI, BSAC, CMAS). Customers can book dive trips instantly if cert verifies.

3) Multilingual SEO + Mandarin presence. Wrote a 22-article content hub in TH/EN/ZH/MS (extra 8 ZH + 4 MS) covering Emerald Cave guide, island beach guide, dugong watching in Trang, Hin Daeng dive site profile, southern Thai food in Trang. For Mandarin SEO we registered a Xiaohongshu (Little Red Book) account + WeChat official for PRC customers.

4) Day-tour + dive package bundle. Designed a booking flow letting customers select day-tour + Hin Daeng dive add-on (the following day) + accommodation package in one transaction → increased average order value + reduced checkout friction.

4. Week-by-week

Week 1-2: Discovery + Architecture. Interviewed the team including owner + dive master + boat captains + admin, rode the 4-island trip 1 day + Hin Daeng dive trip 1 day to understand operational reality, designed Supabase schema 24 tables covering boat, trip, dive cert, customer, payment, refund, audit log.

Week 3-5: Backend + Booking Engine. Booking API with 5-minute seat lock, real-time fleet sync via Supabase Realtime, payment processors Stripe (multi-currency MYR/SGD/CNY/USD/EUR/THB) + PromptPay QR + bank transfer, dive cert verification integration with PADI Pro Chek + SSI API, multi-boat shuffle logic suggesting merge when boats had partial seats.

Week 6-7: Customer Frontend + Multilingual. Migrated Wix → Astro 22 pages, built mobile-first booking UI (75% of traffic was mobile), implemented i18n routing 4 languages with lazy-loaded locale bundles (initial bundle 42KB), checkout flow supporting multi-currency rate lock at checkout.

Week 8-9: Content + SEO + GBP. Wrote 22 articles TH/EN/ZH/MS (native writers in all 4 languages), implemented Schema markup Trip + TouristAttraction + DiveSpot + FAQPage, optimised Google Business Profiles in 4 languages + submitted to 30 directories (TripAdvisor, Klook, Padi Travel, Scuba Diving Magazine, etc).

Week 10: QA + Launch. End-to-end testing of booking flow across all payments + languages, dive cert verification test with PADI + SSI test accounts, WCAG AA accessibility audit, soft launch over 5 days with gradual rollout.

After launch the 6-month retainer began: 3 articles/month + weekly Xiaohongshu posts + monthly performance review.

5. Obstacles + Pivots

Obstacle 1: PADI Pro Chek API rate limit. PADI’s API caps at 1,000 requests/day on free tier + USD 500/month for the tier supporting 10,000 requests. Fixed by caching verified cert results in Supabase for 90 days + re-checking only when cert expiry approaches → free tier was sufficient.

Obstacle 2: Mandarin content slow to rank on Baidu. First month post-launch Mandarin traffic was lower than expected because Baidu’s crawler IP-blocks TH hosting. Fixed by submitting sitemap directly via Baidu Webmaster + adding Xiaohongshu content + recruiting Hong Kong/Singapore KOLs (2 found through the dive community network) to write trip reviews → 5 weeks later Mandarin traffic increased 4x.

Obstacle 3: Month 2 post-launch dive bookings dropped 18%. Coincided with PADI’s new policy that some countries (Singapore) require dive insurance covering Southeast Asia before diving. Fixed by adding a dive insurance partner (DAN Asia-Pacific) to the checkout flow as an optional add-on (THB 450/day). 3 weeks later dive booking recovered and exceeded prior levels + margin grew from insurance commission.

6. Post-launch + Ongoing

Within 4 months post-launch organic traffic grew from 180 to 3,960 sessions/month (+2,100%), direct booking +380%, OTA dependency from 72% to 42%. Dive package attach rate (customers booking day-tour + Hin Daeng dive add-on in one transaction) was 28% — a new revenue channel that didn’t exist pre-launch.

Lessons learned. Dive booking requires technical depth that general tour booking can’t deliver — cert verification + insurance integration + dive site condition feed (weather + tide + visibility) is the moat that pulls dive customers. MY/SG/CN customers responded extremely well to multi-currency + native-language content — ROI on the 4-language stack was higher than expected.

The client is currently in month 6 of retainer and starting phase 2 — adding a 3-day Hin Daeng liveaboard + opening a dive certification course (Open Water in Trang) bookable through the same website. See the Krabi tour booking system case study for a similar pattern, or software development services for other custom builds.

S

About the Author

Southern Whale Team

Tourism Tech & SEO Consultant

Have a similar project?

Free consultation · limited to 3–5 projects per month