新宿・新大久保で個室サウナとホテルを運営する企業様向けに、PMS(客室・在庫・予約・清掃管理)と自社予約サイトをスクラッチ開発しました。チャネルマネージャー経由のOTA在庫同期、電子錠と連携した無人チェックイン、事前決済までを一貫して実装しています。
背景・課題
個室サウナとホテルという2つの業態が同居し、時間貸しと宿泊が混在する在庫の持ち方に、既製のPMSでは合わせづらいという課題がありました。
対応内容
- PMS(管理画面): 客室・在庫・予約・料金・清掃の管理、監査ログ
- 自社予約サイト(toC): 空き検索・予約・事前決済・会員マイページ
- OTA連携: チャネルマネージャー(Beds24)API 経由で Booking.com・楽天トラベル・じゃらん等の在庫/予約を同期
- 入退室: QR / バーコードリーダー端末と電子錠を連携し、チェックイン完了時に入室コードを自動発行(客室 / 共用エントランスでデバイス単位の権限制御)
- キオスク端末連携: セルフチェックイン / チェックアウト、ウォークイン予約、鍵QRの発行・印字
- Stripe による事前決済
- 要件定義からインフラ構築・運用まで一貫対応
技術構成
- フロントエンド: Next.js(予約サイト SSR / 管理画面)/ React / TypeScript / Tailwind CSS / Radix UI
- バックエンド: Hono(TypeScript、OpenAPI 定義 + Swagger UI)/ Prisma / MySQL
- インフラ: AWS CDK(CloudFront / ALB / ECS Fargate / RDS for MySQL / S3 / Lambda / EventBridge / SQS / Secrets Manager / ACM / Route53 / CloudWatch)
- 認証: Firebase Authentication / LINE ログイン
- 決済: Stripe
- 外部連携: Beds24 API(OTA)/ 電子錠・QRリーダー端末 / Google Sheets API
- 通知: Amazon SES / LINE Messaging API / Web Push / Slack
- 開発体制: pnpm monorepo / Docker / Vitest / テスト駆動開発(TDD)
ポイント
toB(PMS)と toC(予約サイト)を同じチームで開発しているため、「予約サイトでこう見せたい」と「現場のオペレーションはこう回る」を突き合わせながら設計できます。誤って他の客室を解錠できないといった安全側のロジックは、判定を1箇所に集約したうえでテストで担保しています。