自店舗カレンダー
概要
事業者が自店舗の予約状況を確認し、利用不可枠を管理する。 イベンターがイベント日時を選ぶときに参照するカレンダーと同じデータを見ている。
ユーザーストーリー
- 事業者として、自店舗の空き状況をカレンダーで把握し、休業日や貸し切り日をブロックしたい
カレンダーの表示内容
| 表示 | 条件 | 操作 |
|---|---|---|
| 空き | 何も登録されていない時間帯 | イベンターが日時選択可能 |
| 下書き中 | draft かつ start_at が設定済み | タップで詳細確認 |
| 申請中 | pending のイベント | タップで承認・却下画面へ |
| 公開済み | published のイベント(開始前) | タップで詳細確認 |
| 開催中 | published かつ開催中(時刻導出) | タップで詳細確認 |
| 利用不可 | bar_blocks が登録されている時間帯 | タップで編集・削除 |
利用不可枠(bar_blocks)の管理
- 事業者(
org:owner/org:member)が登録・編集・削除できる - 登録項目: 開始日時(必須)・終了日時(必須)・理由(任意 / 最大 100 文字)
- 理由の例: 休業、貸し切り、メンテナンス
ビジネスルール
bar_blocksとpublished/pendingのイベントが重複する時間帯は、イベンターが日時選択できないbar_blocksを削除しても、そのブロック期間中に作られたpendingイベントはそのまま残る- 重複チェックは「一部でも重なる」場合に拒否する(完全に含まれる場合だけでなく)
bar_blocksの操作はaudit_logsに記録しない(主要操作に該当しないため)
TBD
pendingイベントをカレンダー上で仮押さえとして表示するかどうか