予約 ユースケース集
具体的なシナリオを通じて、予約の枠設定・申込・変更・消化の流れを示します。
ユースケース1: 飲食店のテーブル予約
シナリオ
席数40席のレストランが、ランチ・ディナーの2部制で席予約を受け付ける。
設定
- リソース: テーブルA(4人席)×6、テーブルB(2人席)×4、カウンター(1人席×8)、個室(6人席)×1
- 枠方式: 固定時間枠(ランチ 11:30/12:00/12:30/13:00、ディナー 18:00/18:30/19:00/19:30/20:00)
- 予約単位: 人数と時間帯
- 確定方法: 即時確定
- キャンセル: 前日まで無料、当日はキャンセル料
流れ
- 来店希望者がアプリで日時と人数を指定
- システムが人数に合うテーブルの空きを検索
- 空きがあれば即時確定、なければキャンセル待ち案内
- 前日夜にリマインダー通知
- 来店時にスタッフが予約済みとしてチェックイン
考慮点
- 人数に応じたテーブル自動割当のロジックを決める(4人を2人席×2に割るかなど)
- 滞在時間のばらつきを見越した時間バッファを設定する
- 団体予約は個室優先とするかを運用方針で決める
ユースケース2: 美容室のスタイリスト指名予約
シナリオ
スタイリスト2名の個人経営美容室が、カット・カラーなどサービスごとに所要時間が異なる予約を受ける。
設定
- リソース: スタイリストA(カット・カラー可)、スタイリストB(カット専門)
- 枠方式: フレキシブル時間枠(10:00〜19:00、30分刻み)
- サービス所要時間: カット60分、カラー120分、カット+カラー150分
- 指名: あり(指名料)/なし(自動割当)
- キャンセル: 当日まで無料、無断キャンセルは予約制限対象
流れ
sequenceDiagram
participant User as 会員
participant App as アプリ
participant Sys as 予約システム
User->>App: サービスと希望日時を選択
App->>Sys: 空き枠問い合わせ
Sys->>Sys: 指名スタッフ or 対応可能スタッフの連続枠を検索
Sys-->>App: 予約可能枠を返却
User->>App: 枠を選択して確定
App->>Sys: 予約確定リクエスト
Sys->>Sys: 再度空き確認・ブラックリスト確認
Sys-->>App: 予約完了
App->>User: 確認通知・前日リマインダー予約
考慮点
- サービスの所要時間に応じた連続枠の確保が必要
- 指名なしのときの自動割当ポリシー(均等/優先度順/習熟度順)
- 指名料の有無・表示タイミング
ユースケース3: 会議室・設備レンタル
シナリオ
コワーキングスペースが会議室と備品を時間単位でレンタル予約できるようにする。
設定
- リソース: 会議室A(10人用)、会議室B(20人用)、プロジェクター、モニター
- 枠方式: 1時間単位、連続予約可
- 前後バッファ: 清掃・換気 15分
- 確定方法: 決済完了で確定
- キャンセル: 3日前まで無料、2日前以降は段階的キャンセル料
流れ
- 利用者が日時・人数・必要備品を指定
- 人数に合う会議室と備品の同時空きを検索
- 決済画面で事前決済
- 決済完了後に予約確定
- 利用開始15分前に入室コードを通知
- 利用終了後、次の予約者向けに15分の清掃バッファを挟む
考慮点
- 複数リソースを組み合わせた同時押さえが必要
- 前後バッファを枠計算に含めないと直後予約で事故になる
- 事前決済と確定の順序を事前に決める(決済前の仮押さえ期限など)
ユースケース4: 施術サロンのキャンセル待ち
シナリオ
人気のマッサージサロンで、希望枠が埋まっているときにキャンセル待ちを受け付ける。
設定
- リソース: 施術室1(個室)、施術室2(ペア室)、セラピストA、B
- 枠方式: 60分または90分
- キャンセル待ち: 最大3名まで登録可
- 繰上げ通知: キャンセル発生時にプッシュ通知
流れ
- 希望枠が満席のとき、利用者がキャンセル待ちに登録
- 既存予約がキャンセルされるとシステムが検出
- キャンセル待ち先頭のユーザーにプッシュ通知
- 一定時間内に承諾があれば確定、なければ次の人へ
- 全員応答なしならキャンセル待ち解除
考慮点
- 繰上げ応答の有効時間をどの程度にするか
- 同時刻に複数のキャンセル待ちがある場合の割当順
- 繰上げ通知の疲労を避ける配信制御
ユースケース5: イベント予約(定員管理)
シナリオ
商業施設が土日のワークショップを定員20名で開催する。
設定
- イベント枠: 開催日時固定、定員20名
- 同伴者: 最大3名まで追加登録可
- 受付開始: 開催2週間前から
- キャンセル: 3日前まで無料、以降は不可
- 参加券: 予約完了時にクーポン(=電子チケット)として配信
流れ
- 開催2週間前に受付開始、案内通知を配信
- 利用者が同伴者数を含めて予約
- 定員に達した時点で受付締切・キャンセル待ちへ
- 予約完了時に参加券クーポンを配信(もぎりで入場管理)
- 当日、受付でクーポン画面のバーコードを提示して入場
考慮点
- 定員超過を許さないための在庫管理(配信上限=定員)
- 同伴者込みの枠消費をどう数えるか
- 参加券はクーポン基盤の応用(クーポン ユースケース集 の電子チケット参照)
ユースケース6: ノーショー抑制のための予約制限
シナリオ
無断キャンセルを繰り返す会員に対して、段階的に予約を制限する。
設定
- ペナルティ方針:
- 1回目: 警告通知のみ
- 2回目: 1ヶ月間の予約制限
- 3回目: 無期限の予約拒否(ブラックリスト登録)
- 適用単位: テナント全体/ショップ単位のいずれか
流れ
- 予約時刻を過ぎてもチェックインがない場合、スタッフがノーショーとしてマーク
- システムが該当会員のノーショー履歴を集計
- 閾値に達するとペナルティ段階を上げる
- ブラックリスト登録後、該当会員が予約しようとすると「満席」と表示される
- 電話予約は店舗判断で受け付けるかを決める
考慮点
- 「満席」と見せるか、明示的に拒否するかで顧客とのトラブルリスクが変わる
- 遅延チェックインやスタッフ側の記録漏れを誤ノーショーにしない仕組みが必要
- 解除条件(期間経過、異議申し立てなど)をルール化しておく
ユースケース7: リマインダー通知
シナリオ
予約忘れ・無断キャンセルを減らすため、段階的にリマインダーを送る。
設定
- 前日通知: 20:00
- 当日通知: 2時間前
- 直前通知: 30分前(オプション)
流れ
- 予約確定時に通知スケジュールを予約システムに登録
- 前日20:00に「明日のご予約のお知らせ」を配信
- 当日2時間前に「本日のご予約(あと2時間)」を配信
- オプション設定されていれば30分前に再送
- チェックイン済みの予約には直前通知を送らない
考慮点
- 通知頻度が多すぎると通知疲れにつながる
- 直前変更・キャンセル時の通知停止を忘れない
- メール・プッシュ・SMSの優先度と到達性
ユースケース8: 繰り返し予約(定期利用)
シナリオ
レッスンやカウンセリングで、毎週同じ枠を定期的に押さえたい。
設定
- 繰返し単位: 毎週・隔週・毎月
- 期間: 開始日〜終了日、または回数指定
- 例外日: 祝日・休業日は自動スキップ
- 個別変更: 1回分だけの日時変更・キャンセルが可能
流れ
- 利用者が定期予約を登録(例: 毎週水曜19:00〜、3ヶ月)
- システムが繰返しルールから個別予約を生成
- 休業日は自動的に飛ばす
- 特定日だけ変更したい場合は、その1件のみ編集・取消
- 利用者の都合で全体を止める場合は一括解除
考慮点
- 個別変更した予約と、繰返しルールの関係をどう管理するか
- 繰返しの将来分をどこまで事前に枠確保するか
- スタッフ側の見え方(連続した予定として見せるか、個別に見せるか)