WAKU BOOKING(枠)— ホテル予約・決済SaaSをゼロから作った話
Photo by Andrey Soldatov on Unsplash
【Wantedly ストーリー】
WAKU BOOKING(枠)— ホテル予約・決済SaaSをゼロから作った話
━━━━━━━━━━━━━━━━━━━━━━
■ なぜ作ったか
━━━━━━━━━━━━━━━━━━━━━━
ある予約システム企業の求人を見て興味を持ったが、スタックの縛りが合わなかった。ならば制約なしに、より軽快に同じもの、それ以上のものを自分で作ってやろうと思ったのが開発の出発点だ。
ホテルや旅館のオーナーと話すと、共通の悩みがある。「予約システムを入れたいけど高い」「じゃらんや楽天に手数料を抜かれ続けている」「自社サイトから直接予約を受けたいだけなのに、なぜこんなに複雑なのか」。
大手の予約システムは月額数万円〜十数万円、初期費用も高く、中小・個人オーナーには現実的ではない。かといって無料のフォームサービスでは決済が繋がらない。
「URLひとつで導入できて、売上が直接施設に入る予約システム」を作れば需要があると確信した。それがWAKU BOOKINGの出発点だ。
━━━━━━━━━━━━━━━━━━━━━━
■ 設計思想:黒子であること
━━━━━━━━━━━━━━━━━━━━━━
SaaSを作るとき、多くのサービスは自分たちのブランドをゲストに意識させる。「○○予約で予約する」というボタン、メールの差出人が「○○予約システム」——これは施設側にとって不満の種だ。ゲストは施設に泊まるのに、なぜ知らないサービスの名前が出てくるのか。
WAKU BOOKINGは「黒子思想」を設計の核に置いた。予約フォーム・確認メール・キャンセルページ——ゲストが触れる接点のすべてが施設のブランドで完結する。WAKUの名前はどこにも出ない。施設オーナーが「自分のサービス」として誇りを持って提供できる設計にした。
━━━━━━━━━━━━━━━━━━━━━━
■ 技術的な核心:Stripe Connect Express
━━━━━━━━━━━━━━━━━━━━━━
最も苦労したのが決済設計だ。「施設に売上が直接入る」を実現するには、WAKUが決済を中継してから施設に振り込む方式では駄目だ。それだと資金移動業の登録が必要になり、WAKUが各施設の決済情報を管理することになる。
Stripe Connect Expressを採用した。施設が自身のStripeアカウントをOAuth連携するだけで、ゲストからの決済が直接施設のStripeアカウントに入金される(Destination Charges方式)。WAKUは決済情報を一切保持しない。資金移動のリスクもない。施設側も「自分のStripeに入る」という安心感がある。
Stripe Payment Intent + Webhookによる決済確定フローも細かく作り込んだ。未決済のまま放置された予約枠が30分で自動解放される仕組みにより、枠の取り置きトラブルが起きない。
━━━━━━━━━━━━━━━━━━━━━━
■ 予約フローの複雑さ
━━━━━━━━━━━━━━━━━━━━━━
「ホテルの予約」は一見シンプルに見えて、実は複雑だ。
日程・人数 → グレード(部屋タイプ)→ 部屋(実際の部屋番号)→ プラン(朝食付き等)→ 顧客情報 → 決済——この多段階フローをバックエンドでセッション管理しながら、途中離脱・二重予約・枠オーバーブッキングを防ぐ設計が必要になる。
宿泊人数区分も業界標準に合わせた。大人 / 子供(布団あり・布団なし)/ 幼児(布団あり・布団なし)の区分は、旅館業界の慣習に基づいており、他の予約システムが省略しがちな部分だ。現場のオーナーから「ここまで細かく対応しているシステムは他にない」と言われた。
━━━━━━━━━━━━━━━━━━━━━━
■ 導入のゼロフリクション
━━━━━━━━━━━━━━━━━━━━━━
「予約する」ボタンのリンク先をWAKUのURLに変えるだけで導入完了。
WordPressでも、静的HTMLでも、どんなCMSでも関係ない。表サイトのデザインを一切変えずに導入できる。これが最大の差別化だ。
エンジニアがいない施設でも導入できる。オーナーが自分でボタンのリンクを変えるだけ——そのレベルのシンプルさを目指した。
━━━━━━━━━━━━━━━━━━━━━━
■ カスタマーサクセスへのこだわり
━━━━━━━━━━━━━━━━━━━━━━
初回は現地でセットアップ・納品を行う。グレード・部屋・プラン・料金カレンダーの設定から、Stripe連携・メール文面の調整まで伴走する。施設スタッフが管理画面を自走できる状態にしてから引き渡す。
スタッフ向けフロントボード(本日のチェックイン・チェックアウト一覧、手動予約、電話キャンセル対応)も作り込んだ。フロントスタッフが毎朝開く画面として使えるように設計している。
月額サブスクリプションで継続サポートを提供する。「入れて終わり」ではなく、施設が自走できるまで並走する姿勢を大切にしている。
━━━━━━━━━━━━━━━━━━━━━━
■ 技術スタック
━━━━━━━━━━━━━━━━━━━━━━
Node.js + Express / PostgreSQL / Stripe Connect Express / SendGrid SMTP / Vanilla JS / Nginx + PM2 / JWT認証 / Linux VPS
━━━━━━━━━━━━━━━━━━━━━━
■ 今後
━━━━━━━━━━━━━━━━━━━━━━
WAKU BOOKINGの上位互換として「WAKU BOOKING EXTREME」を開発中。ホテルに限らず、あらゆる施設・サービスの予約・決済を1行URLで統合できるプラットフォームに拡張する予定だ。
そしてよく考えたら、この時代にスタックに縛られている募集自体がすでにオワコンだと気づいた。20年で培ったディレクションスキルとフルスタックの知見があれば、バイブコーディングでスタックなど気にならない。最初からそれができる人間が作ったのが、このWAKU BOOKINGだ。