テーマ
スケジュール管理
目的
- 顧客 / 契約に紐付くアクションの予定を一元管理
- 「契約更新」「訪問」「タスク」を 1 つのカレンダーで把握
- 担当者の漏れ・重複を防ぎ、リマインドで実行率を上げる
種別
| 種別 | 用途 | 自動生成 |
|---|---|---|
renewal(更新) | 契約満期に向けた更新期日 | ✅ 契約データから自動生成 |
visit(訪問) | 顧客訪問・面談 | ❌ |
call(電話) | コール予定 | ❌ |
task(タスク) | 担当者の作業(書類提出など) | ❌ |
birthday(誕生日) | 顧客誕生日リマインダ | ✅ 顧客生年月日から年次自動 |
other | その他 | ❌ |
ビュー
- 日 / 週 / 月: 担当者別 or 全体(フィルタ)
- 顧客タイムライン: 顧客詳細画面の「スケジュール」タブで時系列表示
- 地図ビュー: 訪問予定の住所をピン表示(任意機能)
紐付け
- スケジュール 1件 は 0..1 顧客 + 0..1 契約 + 1 担当ユーザー に紐付く
- 顧客ナシ・契約ナシのスケジュールも作れる(社内タスク等)
繰り返し
- 単発 / 毎日 / 毎週 / 毎月 / 毎年 / カスタム(
RRULE互換) - 例外日(特定回をスキップ)対応
- 繰り返しの編集は「この回のみ / 以後すべて / すべて」を選択
リマインド / 通知
| トリガー | 通知先 | 既定 |
|---|---|---|
スケジュール N 日前 | 担当者 | 1日前・当日朝 |
契約更新 N 日前 | 担当者 + (任意で)顧客 | 90日前・60日前・30日前・7日前 |
| 訪問の直前 | 担当者 | 30分前 |
通知チャネル:
- アプリ内通知(PWA Push)
- LINE(顧客向け、リマインダー一斉送信から個別予約配信)
- メール(任意)
契約更新スケジュールの自動生成
- 契約作成 / 更新時に
expires_atを起点に自動でrenewalスケジュールを作る - 更新スケジュールは 複数日(90 / 60 / 30 / 7 日前)を一括生成、または1件として 30 日前固定で生成(テナント設定)
- 契約が解約された場合、未到達の更新スケジュールは自動キャンセル
完了 / キャンセル
- 完了: チェックで
status = done、完了時刻を記録 → アクティビティに自動転記 - 延期: 新しい予定日へドラッグ or 操作。元レコードに履歴を残す
- キャンセル: 理由を任意記録
外部カレンダー連携
- ユーザー単位で Google Calendar に双方向同期
- 詳細: 外部カレンダー連携
担当者の振り替え
- スケジュールの担当者変更は OWNER または当該担当者本人のみ
- 一括振替(休職・退職対応)は OWNER の管理画面で実施
権限
| 操作 | OWNER | MEMBER | ADMIN |
|---|---|---|---|
| 自担当 CRUD | ✅ | ✅ | 参照のみ |
| 他人担当の CRUD | ✅ | 設定で切替 | 参照のみ |
| 一括振替 | ✅ | ❌ | ❌ |
| 種別 / 通知設定の編集 | ✅ | ❌ | ❌ |
未確定
- 「更新リマインダ」と「営業スケジュール」を別系統にするか、単一の
schedulesでkind - 訪問記録(実施報告)はスケジュール完了の延長か、独立した アクティビティ