相談事例 /
国内・群馬県
創業90年の温泉旅館の予約管理を海外SaaSから自社運用へ移管──月額18万円が月額3.5万円に
課題
海外PMS(プロパティ・マネジメント・システム)の月額が為替変動で当初契約から3.4倍に膨張。サポートは英語のみで返信に2営業日。サイトコントローラとの連携が不安定で、楽天トラベル・じゃらん間で在庫差異が発生していました。
解決策
Laravel 11 + PostgreSQL 16 をベースに、必要機能だけを切り出した自社予約管理を80日で構築。サイトコントローラはneppanへ移管。会計連携はマネーフォワードクラウドへのCSVエクスポートで吸収しました。
成果
月額18.2万円が月額3.5万円に減。在庫差異起因の二重予約が月平均7件からゼロへ。客室稼働率は移管前の72%から移管後3か月で78%まで改善しました。
群馬県の温泉地で90年続く旅館からの相談でした。客室28室、館内に売店と日帰り温泉を併設。予約管理は2019年から海外製PMSを利用していましたが、契約時に月53,000円だったライセンス料が、為替と上位プラン強制移行で月182,000円まで上がっていました。年間にすると約218万円。中規模旅館の年間営業利益の数パーセントに相当する額です。
相談を受けたのは予約二重発生がきっかけです。楽天トラベルとじゃらんの両方から同じ部屋に予約が入る事故が、3か月で19件発生。原因は契約サイトコントローラとPMSのAPI連携で、在庫同期が最大47分遅延するケースがあったためです。お盆や年末年始など繁忙期には毎日のように発生していました。海外PMSのサポートに問い合わせても英語チケットで「次回リリースで改善予定」と返ってくるだけで、半年待っても直りません。経営者がDeepLで翻訳した英語で抗議メールを送る運用が常態化していました。
初回打ち合わせで方針を3案提示しました。第一案は他社PMS(国内製)への乗り換え。第二案は同じPMSのまま、サイトコントローラだけ国内製品に切り替える。第三案は自社予約管理の構築。月額コスト・データ主権・カスタマイズ自由度・実装期間を4軸で比較した結果、第三案を選択。判断の決め手は、旅館側に「ベテラン仲居が35年かけて手書きで蓄積した顧客カルテ」があり、これを電子化する以上は将来も自由にいじれる箱が必要、という強い意向でした。海外PMSの「顧客タグ機能」では、仲居さんの「3年前の食事中にお子様の進学を喜んでいたお客様」というメモを構造化できないのです。
構築期間は80日。技術スタックはLaravel 11、PostgreSQL 16、Redis 7、フロントはInertia.js + Vue 3でいわゆるSPAライクの管理画面に。サーバはAWS Tokyoリージョンのt3.medium 2台(Web/App + DB)+ ElastiCache cache.t3.micro。月額インフラ費は約12,000円。Cloudflare無料プランをCDN兼WAFとして前段に置き、画像配信は別途R2に移しています。バックアップはRDSの自動スナップショット + 日次の論理ダンプを別リージョンS3に転送、保持期間35日。
機能はあえて絞りました。客室在庫管理、予約取込・キャンセル処理、宿泊台帳、清掃ステータス、顧客カルテ、会計エクスポート、メール自動送信。海外PMSにあった「動的価格レコメンド」「収益最適化AI」「自社ロイヤルティ機能」は外しました。理由は明確で、過去2年の利用ログを見ると、これらの機能の操作頻度が月3回未満で、収益貢献が測れていなかったからです。「使っていない機能の年間維持費が約87万円」という事実を経営者に提示したのが、機能スコープ決定の決定打になりました。
サイトコントローラはneppanへ移管。理由は楽天トラベル・じゃらん・一休・Booking.com・Expediaへの接続を1パッケージでカバーでき、API同期がプッシュ型で平均遅延が90秒以内に収まるためです。月額は29,800円。海外PMSのサイトコントローラ機能を内包したプランより安く、なおかつ国内サポートが日本語で当日返信されます。移管時に過去3年分の予約データ約62,000件を旧PMSからCSVでエクスポートし、Laravelのartisanコマンド経由で投入。顧客の個人情報はAES-256で暗号化したうえでDB保存し、決済情報は一切保持しない設計にしました。クレジットカード情報はStripeのトークン化のみを使い、PCI-DSS準拠の範囲を最小化しています。
会計連携については、当初はマネーフォワードクラウドのAPI連携を検討しましたが、宿泊業に特化した勘定科目(料飲売上、館内売上、宴会売上、入湯税の預り金など)の自動仕訳ルールが複雑になりすぎたため、日次CSVエクスポートに留めました。経理担当が朝にCSVを取り込む運用で、所要時間は1日あたり約8分。完全自動化ではないものの、API障害時の業務停止リスクをゼロにできた点と、月次決算時に経理が「数字の出所」を即座に追える点を評価しています。「自動化されすぎて何が起きているか分からない」という前のPMSへの不満が、ここに効きました。
移管直前の2週間は旧システムと並走させ、両方のシステムに同じ予約を入れて差分を毎日確認しました。検出した差分は最終的に0件。本番切替は閑散期の平日深夜に実施し、ダウンタイムは約42分でした。切替直後はオペレーション混乱を避けるため、現場スタッフ用に画面遷移を解説したA3一枚のチートシートを作成し、フロントとバックヤードに貼っています。
移管後3か月の数字です。月額システム費は18.2万円から3.5万円へ(自社運用インフラ12,000円+neppan 29,800円の合計約4.2万円相当のうち、初期コスト償却後の運用ベースが約3.5万円)。年間で約177万円の削減。二重予約による損失と謝罪対応工数(推定で月15時間)がゼロに。客室稼働率は72%から78%へ改善していますが、これは観光需要の回復も含まれるため、システム移管だけの効果とは言い切れません。ただし、ベテラン仲居の顧客カルテを電子化して全スタッフが参照できるようにした結果、リピーター比率が38%から44%へ伸びている点は、システム刷新がもたらした明確な副次効果です。
本件で得た教訓を3つ書きます。1つ目は、海外SaaSの円建てコストは契約時の数字を信用しないこと。2019年から2025年までの円安局面で、相談されるSaaSコストはほぼ全件で3倍以上に膨らんでいます。為替前提を含めた3年TCO試算を契約前に必須化すべきです。2つ目は、機能の「贅沢」を削る勇気が、運用と保守の現場を救うこと。使っていない機能の維持費は、見えにくいが確実な出血です。3つ目は、自社開発は決して安くないということ。本件は構築費用も含めれば1年目の総コストは旧PMS継続より高くつきました。2年目以降の累積で逆転する設計です。短期コスト比較だけで判断すると、自社開発は常に負けます。
相談を受けたのは予約二重発生がきっかけです。楽天トラベルとじゃらんの両方から同じ部屋に予約が入る事故が、3か月で19件発生。原因は契約サイトコントローラとPMSのAPI連携で、在庫同期が最大47分遅延するケースがあったためです。お盆や年末年始など繁忙期には毎日のように発生していました。海外PMSのサポートに問い合わせても英語チケットで「次回リリースで改善予定」と返ってくるだけで、半年待っても直りません。経営者がDeepLで翻訳した英語で抗議メールを送る運用が常態化していました。
初回打ち合わせで方針を3案提示しました。第一案は他社PMS(国内製)への乗り換え。第二案は同じPMSのまま、サイトコントローラだけ国内製品に切り替える。第三案は自社予約管理の構築。月額コスト・データ主権・カスタマイズ自由度・実装期間を4軸で比較した結果、第三案を選択。判断の決め手は、旅館側に「ベテラン仲居が35年かけて手書きで蓄積した顧客カルテ」があり、これを電子化する以上は将来も自由にいじれる箱が必要、という強い意向でした。海外PMSの「顧客タグ機能」では、仲居さんの「3年前の食事中にお子様の進学を喜んでいたお客様」というメモを構造化できないのです。
構築期間は80日。技術スタックはLaravel 11、PostgreSQL 16、Redis 7、フロントはInertia.js + Vue 3でいわゆるSPAライクの管理画面に。サーバはAWS Tokyoリージョンのt3.medium 2台(Web/App + DB)+ ElastiCache cache.t3.micro。月額インフラ費は約12,000円。Cloudflare無料プランをCDN兼WAFとして前段に置き、画像配信は別途R2に移しています。バックアップはRDSの自動スナップショット + 日次の論理ダンプを別リージョンS3に転送、保持期間35日。
機能はあえて絞りました。客室在庫管理、予約取込・キャンセル処理、宿泊台帳、清掃ステータス、顧客カルテ、会計エクスポート、メール自動送信。海外PMSにあった「動的価格レコメンド」「収益最適化AI」「自社ロイヤルティ機能」は外しました。理由は明確で、過去2年の利用ログを見ると、これらの機能の操作頻度が月3回未満で、収益貢献が測れていなかったからです。「使っていない機能の年間維持費が約87万円」という事実を経営者に提示したのが、機能スコープ決定の決定打になりました。
サイトコントローラはneppanへ移管。理由は楽天トラベル・じゃらん・一休・Booking.com・Expediaへの接続を1パッケージでカバーでき、API同期がプッシュ型で平均遅延が90秒以内に収まるためです。月額は29,800円。海外PMSのサイトコントローラ機能を内包したプランより安く、なおかつ国内サポートが日本語で当日返信されます。移管時に過去3年分の予約データ約62,000件を旧PMSからCSVでエクスポートし、Laravelのartisanコマンド経由で投入。顧客の個人情報はAES-256で暗号化したうえでDB保存し、決済情報は一切保持しない設計にしました。クレジットカード情報はStripeのトークン化のみを使い、PCI-DSS準拠の範囲を最小化しています。
会計連携については、当初はマネーフォワードクラウドのAPI連携を検討しましたが、宿泊業に特化した勘定科目(料飲売上、館内売上、宴会売上、入湯税の預り金など)の自動仕訳ルールが複雑になりすぎたため、日次CSVエクスポートに留めました。経理担当が朝にCSVを取り込む運用で、所要時間は1日あたり約8分。完全自動化ではないものの、API障害時の業務停止リスクをゼロにできた点と、月次決算時に経理が「数字の出所」を即座に追える点を評価しています。「自動化されすぎて何が起きているか分からない」という前のPMSへの不満が、ここに効きました。
移管直前の2週間は旧システムと並走させ、両方のシステムに同じ予約を入れて差分を毎日確認しました。検出した差分は最終的に0件。本番切替は閑散期の平日深夜に実施し、ダウンタイムは約42分でした。切替直後はオペレーション混乱を避けるため、現場スタッフ用に画面遷移を解説したA3一枚のチートシートを作成し、フロントとバックヤードに貼っています。
移管後3か月の数字です。月額システム費は18.2万円から3.5万円へ(自社運用インフラ12,000円+neppan 29,800円の合計約4.2万円相当のうち、初期コスト償却後の運用ベースが約3.5万円)。年間で約177万円の削減。二重予約による損失と謝罪対応工数(推定で月15時間)がゼロに。客室稼働率は72%から78%へ改善していますが、これは観光需要の回復も含まれるため、システム移管だけの効果とは言い切れません。ただし、ベテラン仲居の顧客カルテを電子化して全スタッフが参照できるようにした結果、リピーター比率が38%から44%へ伸びている点は、システム刷新がもたらした明確な副次効果です。
本件で得た教訓を3つ書きます。1つ目は、海外SaaSの円建てコストは契約時の数字を信用しないこと。2019年から2025年までの円安局面で、相談されるSaaSコストはほぼ全件で3倍以上に膨らんでいます。為替前提を含めた3年TCO試算を契約前に必須化すべきです。2つ目は、機能の「贅沢」を削る勇気が、運用と保守の現場を救うこと。使っていない機能の維持費は、見えにくいが確実な出血です。3つ目は、自社開発は決して安くないということ。本件は構築費用も含めれば1年目の総コストは旧PMS継続より高くつきました。2年目以降の累積で逆転する設計です。短期コスト比較だけで判断すると、自社開発は常に負けます。