
Haejeok Hopping
Booking and payment platform for pirate-ship island hopping tours in Cebu, Philippines — from tour discovery to Stripe checkout, reviews, and operations.
Overview
Haejeok Hopping is a responsive web platform for discovering, booking, and paying for pirate-ship island hopping and south Cebu tours in the Philippines. It covers the full tour business in one product: the public site and tour detail pages, real-time capacity-aware bookings, Stripe Checkout payments with policy-based refunds, purchase-verified reviews, on-site QR payments and attendance, and an operations center spanning reservations, revenue, and content. Signature extras include a sea guide that reads Cebu waters through weather/marine models and 3D seabed terrain, and a low-data mode built for both fast Korean networks and unstable local connections in the Philippines.
Highlights
- • Tour discovery — detail pages for pirate-ship, Bohol, and Nalusuan tours with schedules, pricing, and pickup info
- • Stripe payments — Checkout sessions, webhook signature verification, and idempotent policy-based refunds
- • Google and Kakao sign-in — member and guest bookings with automatic guest-to-member linking in My Page
- • Purchase-verified reviews — written only by actual customers and published after moderation
- • Operations center — KPI dashboard, reservation search and notes, review moderation, and refund/change audit logs
- • Low-data mode — automatic Save-Data and 2G/3G detection with text-first screens for local networks
Inside the product
6 views
Official home — brand hero
A full-screen video hero combines operating stats (years in Cebu, rating, travelers), promotion banners, a data-saver toggle, and a Kakao consultation entry point.

Tour discovery
Category filters — join hopping, private hopping, south tours, Bohol — and search help travelers pick their day, with product cards leading straight to details.

Tour detail and booking flow
Departure time, duration, language, and pickup details sit alongside verified review ratings, with a price summary leading straight into booking and payment.

Real review archive
774 published reviews preserved with original photos and text, joined by members' purchase-verified reviews after moderation.

Cebu sea guide — 3D seabed terrain
The GEBCO depth grid is rendered as a 3D mesh with tour routes and points overlaid, alongside hourly wind, wave, precipitation, and visibility data.

Low-data mode
Save-Data and 2G/3G connections are detected automatically, dropping photos and animations for a text-first screen focused on bookings and account access.
Feature deep-dive
Booking & payment pipeline
- • Atomic booking creation guarding capacity with schedule row locks and 31-minute payment holds (Supabase RPC)
- • Idempotent Stripe Checkout and webhook processing — concurrent duplicate events apply exactly once
- • Booking calendar and real-time capacity cutoffs computed in the Asia/Manila timezone
- • Policy-based refund calculation and a daily Stripe payment reconciliation cron
On-site payments
- • One-time Stripe QR codes tied to a booking party for SD-card rental, extra charges, and on-site balance collection
- • Stripe dynamic payment methods surface KakaoPay, NaverPay, and local cards automatically
- • Tour payments and counter payments isolated with separate restricted keys and webhooks
- • Per-payment full-refund ledger with an idempotent refund API
Members & My Page
- • Google and Kakao OAuth (PKCE) sign-in plus guest booking lookup
- • Guest payments linked automatically to accounts via verified email on sign-in
- • Boarding pass — attendance QR, confirmed pickup details, and Apple Wallet tickets (.pkpass)
- • Purchase-verified reviews and schedule change/cancellation requests
Operations center
- • Four role tiers (staff, editor, admin, superadmin) with full audit logging
- • Departure board, printable A4 manifests, and per-currency KRW/PHP/USD booking and settlement ledgers
- • External channel booking imports normalized by OpenAI and registered only after admin review
- • Google Sheets 3-way sync and an installable admin PWA with QR attendance scanning
Notifications & messaging
- • SOLAPI Kakao AlimTalk, domestic SMS, and international SMS outbox with cron-driven retries
- • Resend email and SMS operational alerts on successful payments, deduplicated by idempotency keys
- • Facebook Messenger inquiry inbox with booking linkage
- • Korean/English delivery following each member's preferred language
Content & intelligence
- • Cebu sea guide powered by Open-Meteo and Windfinder weather/marine models
- • Seabed terrain view rendering the GEBCO depth grid as a 3D mesh
- • Naver Blog RSS integration with once-daily OpenAI English translation
- • Sitemap, robots, and JSON-LD SEO plus automatic low-data mode switching
Platform capabilities
- • Responsive site built on Next.js 16 App Router and React 19 with Korean and English localization
- • Supabase PostgreSQL — namespaced ledgers, single-transaction RPCs, and concurrency tests against an isolated database
- • Stripe Checkout and webhook handling across 13 event types with daily reconciliation and dispute tracking
- • Vercel deployment with four cron jobs: blog translation, payment reconciliation, notification dispatch, and sheet backfill
- • CSP and HSTS security headers on every route, request rate limiting, and route-handler integration tests
Experience the Cebu pirate-ship hopping tour
Visit Haejeok Hopping to explore tour products, verified customer reviews, and the booking experience.