ปัญหาที่ลูกค้าเจอ
ผู้ประกอบการทัวร์เกาะในจังหวัดตรัง ดำเนินกิจการมา 9 ปี มีฟลีตเรือสปีดโบ๊ท + เรือใหญ่ รวม capacity ระดับร้อยที่นั่ง/วัน วิ่งเส้นทาง 4 islands tour, private charter, และ Hin Daeng/Hin Muang dive trips (จุดดำน้ำระดับโลกห่างจากชายฝั่ง 2 ชั่วโมงเรือ) ราคาแพ็คเกจ day-tour 1,200-2,800 บาท/คน dive trip 3,800-6,500 บาท/คน ปัญหาที่เจ้าของซึ่งเป็นคนในจังหวัดตรังพื้นเพ + แต่งงานกับ dive master ชาวเยอรมันมาเล่าให้ฟังตอน discovery call คือ revenue 72% มาจาก OTA (Klook 38%, GetYourGuide 22%, Viator 12%) ที่หักค่าคอม 22-28% ต่อ booking
ลูกค้าโครงสร้างน่าสนใจมาก — มาเลเซีย 28%, สิงคโปร์ 18%, จีน 16%, ไทย 22%, ออสเตรเลีย/ยุโรป 16% โดยกลุ่ม MY/SG/CN ส่วนใหญ่หาข้อมูลผ่าน search engine ภาษาตัวเอง (Google MY/SG, Baidu, Xiaohongshu) แต่เว็บไซต์เดิมที่เป็น Wix รองรับเฉพาะภาษาอังกฤษ + LCP 5.8s บนมือถือ → conversion rate ต่ำมาก (< 0.8%) ลูกค้าจึงเลือกผ่าน Klook ที่มี Mandarin interface แทน
ปัญหาที่ทำให้ “ตำใจ” มากกว่านั้นคือ Hin Daeng/Hin Muang ซึ่งเป็น dive site ระดับ “world top 10” (ตามการจัดอันดับของ PADI + Scuba Diving Magazine) เป็น product margin สูงที่สุดของลูกค้า (margin 45% เทียบ day-tour 18-22%) แต่เว็บเดิมไม่มี dive booking flow เลย ลูกค้าต้องอีเมล + ส่งใบรับรอง PADI manual → ใช้เวลา 2-3 วัน confirm ทำให้คนยกเลิกไปจอง dive operator คู่แข่งที่มี instant booking
เป้าหมายที่ตั้งกับเราตอน kickoff คือ direct booking +350% ภายใน 6 เดือน + ลด OTA dependency จาก 72% เหลือไม่เกิน 45% + integrate dive booking flow ที่ verify PADI cert ได้ instant
ทำไม Solution เดิมไม่ได้ผล
Wix รองรับ multilingual ผ่าน Wix Multilingual app ที่ลูกค้าทดลองใช้ปี 2024 แล้วเจอปัญหา 3 ข้อ — translated URL ไม่ optimize สำหรับ Google country-specific search (สิงคโปร์, มาเลเซีย, จีน), checkout flow แตกเมื่อสลับภาษาระหว่าง session, และค่า license app + Wix Business VIP plan รวมปีละ 18,000 บาท แต่ performance ไม่ดีขึ้น
ลองคุยกับ FareHarbor + Rezdy + Bokun ทุก SaaS รองรับ tour booking ได้ดี แต่ไม่มีตัวไหนรองรับ business logic 3 ข้อหลักของลูกค้า
ข้อ 1 — Dive cert verification: ลูกค้าที่จอง Hin Daeng dive ต้องมี PADI Advanced Open Water + 25 logged dives ขั้นต่ำ SaaS ทั่วไปไม่มี cert verification flow ที่ check ลง PADI Pro Chek หรือ SSI database
ข้อ 2 — Multi-boat shuffle: เมื่อเรือ A ลำเล็กมี booking ไม่ครบ capacity (15/30 seats) ระบบต้อง suggest auto-merge กับเรือ B ในเส้นทางเดียวกันเพื่อ optimize fuel cost SaaS ทั่วไปบังคับ 1 trip = 1 เรือ ไม่ flexible
ข้อ 3 — Multi-currency real-time: ลูกค้า MY/SG/CN ต้องการเห็นราคาในสกุลตัวเอง (MYR, SGD, CNY) + lock rate ตอน checkout SaaS ส่วนใหญ่ดึง rate จาก fixer.io update รายชั่วโมง ทำให้ rate ไม่ตรง bank rate ที่ลูกค้าเห็นใน online banking → trust issue
ที่สำคัญกว่านั้น — Hin Daeng dive operator คู่แข่งในพื้นที่ใกล้เคียง มี Mandarin website + dive booking instant มา 3 ปีแล้ว ดึง market share จากลูกค้าจีนได้เร็วมาก ถ้าไม่ทำตอนนี้ in 2 ปีจะตกขบวน
แนวทางของ Southern Whale
หลัง discovery call 2 ครั้ง + on-site visit 1 วันเพื่อ ride trip จริงและคุย boat captain เราวางแผน 4 pillars
1) Astro migration + Performance baseline เลือก Astro แทน Wix เพื่อ LCP < 1.5s + i18n routing native (TH/EN/ZH/MS) ที่ Wix ทำได้ลำบาก + zero plugin attack surface (Wix เคย breach ปี 2024) deploy บน Cloudflare Pages + R2 สำหรับรูป underwater 280+ รูปจาก dive master เยอรมัน
2) Custom booking engine + dive cert verification สร้าง booking platform บน Supabase ที่รองรับ day-tour + dive trip + private charter ในระบบเดียว PADI cert verification ผ่าน PADI Pro Chek API + SSI Diver Verification + manual upload สำหรับ cert agency อื่น (NAUI, BSAC, CMAS) อนุญาตให้ลูกค้าจอง dive trip instant ถ้า cert verify ผ่าน
3) Multilingual SEO + Mandarin presence เขียน content hub 22 บทความใน TH/EN/ZH/MS (8 ZH + 4 MS เพิ่ม) ครอบคลุม Emerald Cave guide, island beach guide, dugong watching ในจังหวัดตรัง, Hin Daeng dive site profile, southern Thai food in Trang สำหรับ Mandarin SEO ลงทะเบียน account Xiaohongshu (Little Red Book) + WeChat official สำหรับลูกค้า PRC
4) Day-tour + dive package bundle ออกแบบ booking flow ที่ลูกค้าเลือก day-tour + Hin Daeng dive add-on (วันรุ่งขึ้น) + accommodation package ในธุรกรรมเดียว → เพิ่ม average order value + reduce checkout friction
กระบวนการทำงาน (Week-by-Week)
Week 1-2: Discovery + Architecture สัมภาษณ์ team รวม owner + dive master + boat captains + admin, ride 4-island trip 1 วัน + Hin Daeng dive trip 1 วันเพื่อ understand operational reality, design Supabase schema 24 tables ครอบคลุม boat, trip, dive cert, customer, payment, refund, audit log
Week 3-5: Backend + Booking Engine Booking API พร้อม seat-lock 5 นาที, 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 กับ PADI Pro Chek + SSI API, multi-boat shuffle logic ที่ suggest merge เมื่อเรือมี seat ไม่เต็ม
Week 6-7: Customer Frontend + Multilingual Migrate Wix → Astro 22 หน้า, build mobile-first booking UI (75% traffic มาจาก mobile), implement i18n routing 4 ภาษา lazy-load locale bundle (initial bundle 42KB), checkout flow ที่รองรับ multi-currency lock rate ตอน checkout
Week 8-9: Content + SEO + GBP เขียน 22 บทความ TH/EN/ZH/MS (native writer ทั้ง 4 ภาษา), implement Schema markup Trip + TouristAttraction + DiveSpot + FAQPage, optimize Google Business Profile 4 ภาษา + submit local citations 30 directories (TripAdvisor, Klook, Padi Travel, Scuba Diving Magazine, etc.)
Week 10: QA + Launch End-to-end testing booking flow ทุก payment + ทุกภาษา, dive cert verification test กับ test account PADI + SSI, accessibility audit WCAG AA, soft launch 5 วัน gradual rollout
หลัง launch ต่อ 6-month retainer ทำ content 3 บทความ/เดือน + Xiaohongshu post weekly + monthly performance review
Obstacles + Pivots
ปัญหา 1: PADI Pro Chek API rate limit — PADI API จำกัด 1,000 requests/วันสำหรับ tier free + ต้องจ่าย USD 500/เดือนสำหรับ tier ที่รองรับ 10,000 requests แก้โดย cache verified cert result ใน Supabase 90 วัน + check ใหม่เฉพาะกรณี cert expiry ใกล้ → ใช้ tier free พอ
ปัญหา 2: Mandarin content ขึ้น Baidu ช้า — เดือนแรกหลัง launch Mandarin traffic ต่ำกว่าคาด เพราะ Baidu crawler มี IP block list สำหรับ TH hosting แก้โดย submit sitemap ตรงผ่าน Baidu Webmaster + เพิ่ม Xiaohongshu content + ขอ KOL Hong Kong/Singapore (2 รายผ่าน dive community network) เขียน review trip ของ operator → 5 สัปดาห์หลัง Mandarin traffic เพิ่ม 4 เท่า
ปัญหา 3: เดือนที่ 2 หลัง launch dive booking ตก 18% — ตรงกับช่วงที่ PADI ออก policy ใหม่ที่บางประเทศ (สิงคโปร์) ต้องมี dive insurance ในขอบเขตเอเชียตะวันออกเฉียงใต้ก่อน — เพิ่ม dive insurance partner (DAN Asia-Pacific) ใน checkout flow เป็น optional add-on (450 บาท/วัน) 3 สัปดาห์ dive booking กลับมาและเกินเดิม + เพิ่ม margin จาก insurance commission
Post-launch + Ongoing
ภายใน 4 เดือนหลัง launch organic traffic เพิ่มจาก 180 เป็น 3,960 sessions/เดือน (+2,100%) direct booking +380% OTA dependency ลดจาก 72% เหลือ 42% Dive package attach rate (ลูกค้าจอง day-tour + Hin Daeng dive add-on ในธุรกรรมเดียว) อยู่ที่ 28% — เป็นช่องทาง revenue ใหม่ที่ก่อน launch ไม่มีเลย
Lessons learned Dive booking ต้องการ technical depth ที่ general tour booking ทำไม่ได้ — cert verification + insurance integration + dive site condition feed (weather + tide + visibility) คือ moat ที่ทำให้ดึง dive customer ได้ ลูกค้า MY/SG/CN ตอบสนองดีมากกับ multi-currency + native language content — investment ใน 4-language stack ROI สูงกว่าที่คาด
ตอนนี้ลูกค้ายังเป็น retainer client เดือนที่ 6 และเริ่ม phase 2 — เพิ่ม liveaboard 3-day Hin Daeng trip + เปิด dive certification course (Open Water ในจังหวัดตรัง) ที่ booking ได้ผ่านเว็บเดียวกัน ดู ระบบจองทัวร์ของกระบี่ ที่ใช้ pattern คล้ายกัน หรือ software development service สำหรับ custom build อื่น