必要な処理は、大きく分けて3つ

  1. 日次の予約受付処理(予約が入り次第。1日1回以上)
  2. 配車日前日の車両/ドライバーの割り当てとピックアップ時間確定処理(前日の15時〜16時59分の間の処理)
  3. 乗車後の完了処理(乗車翌日)※自動処理

※ステータスを変更するごとに、ユーザーに自動的にメールが送られます

予約フロー

sequenceDiagram
	par 日時処理
    顧客->>予約管理システム:予約
		予約管理システム->>運行管理者:予約受付
		Note over 運行管理者: Mail:注文受付
		Note over 予約管理システム:Status:注文受付
		予約管理システム-->>顧客: メール送付
		Note over 顧客: Mail:注文受付(仮予約)
		運行管理者->>予約管理システム:注文確定/見送る(親トリップのステータス変更)
		Note over 予約管理システム:Status:注文確定
		予約管理システム-->>顧客:メール送付
		Note over 顧客: Mail:注文確定
	end
	par 配車日前日処理
		運行管理者->>予約管理システム:車両/ドライバーの設定
		運行管理者->>予約管理システム:時間/車を確定する
		Note over 予約管理システム:Status:トリップ確定
		予約管理システム-->>顧客:メール送付
		Note over 顧客: Mail:前日の確認
		運行管理者->>ドライバー: 運行指示
		Note right of 運行管理者:運行指示書、ドライバーアプリ
	end
	par 配車日当日
		ドライバー->>ドライバーアプリ:アプリON、指示書確認
		ドライバー->>顧客:ピックアップ
		ドライバー->>ドライバーアプリ:運行完了
		予約管理システム-->>顧客:運行完了
		Note over 顧客: Mail:乗車完了/決済完了
	end
	par キャンセル時
		顧客->>予約管理システム:キャンセル
		予約管理システム->>運行管理者:キャンセル通知
		Note over 運行管理者: Mail:キャンセル通知
		予約管理システム->>ドライバーアプリ:キャンセル通知
		ドライバーアプリ->>ドライバー:画面通知
	end
	par 前日分の確認
		運行管理者->>予約管理システム: 前日分で完了になっていないトリップの完了処理
		Note right of 予約管理システム:ドライバーアプリ利用時は対応不要
	end

参考:ステータスの状態遷移図

stateDiagram
[*] --> 注文受付: 新規予約
キャンセル --> [*]
トリップ完了 --> [*]
却下revoked --> [*]
取り消しrejected --> [*]
注文受付 --> 注文確定:注文を確定する
注文受付 --> 注文受付:見送る(他社に流れる)
注文受付 --> トリップ確定:時間/車を確定する
注文受付 --> キャンセル:キャンセルする(ユーザからの依頼)
注文受付 --> 取り消しrejected:承認しない
注文確定 --> トリップ確定:時間/車を確定する
注文確定 --> 却下revoked:取り消す
注文確定 --> キャンセル:キャンセルする(ユーザからの依頼)
トリップ確定 --> トリップ完了:完了する
トリップ確定 --> 却下revoked:取り消す
トリップ確定 --> キャンセル:キャンセルする(ユーザからの依頼)

*「取り消し」「却下」はキャンセル料金発生期間であってもユーザに請求を行いません。

*「取り消し」「却下」「キャンセル」は基本管理画面では運行会社様は操作することはなく、NearMeが対応します