🤖 配車生成の仕組み
① 実測距離取得:Google Maps APIで全参加者のコンビニ・出発地間の実測距離・時間を取得
② コード側事前計算:迂回許容時間内で最適なドライバーを自動算出しAIへ参考情報として渡す
③ AI配車生成:ルールと参考情報をもとにAIが配車案をJSON形式で出力
④ コード側補正:AI出力の距離・時間を実測値で上書き補正し、Googleマップ用URLを生成
💡 気に入らない場合は「もう一度生成する」で再生成できます。生成後は手動調整パネルで個別変更も可能です。
📋 配車ルールの優先順位
1️⃣ NG指定の回避(最優先・絶対厳守)
2️⃣ 移動不可(待機)の参加者は必ず全員乗せる(例外なし・ドライバーが迎えに行く)
3️⃣ 定員・バッグ積載数の遵守(物理制約のため例外なし)
4️⃣ 移動可(ok)の参加者を極力乗せる(迂回許容時間内であれば集合をお願いする場合あり)
5️⃣ 備考欄の希望・NGをできる限り反映
6️⃣ 総走行距離の最小化(上記を満たした上で)
7️⃣ ピックアップ順序の最適化(ゴルフ場方向への一方向の流れ)
8️⃣ レンタカーは席・バッグが不足する場合のみ使用
※移動可の参加者が著しく遠回り(150km以上の追加走行)の場合のみ未割り当て可
📍 ピックアップ場所について
参加者がコンビニ・施設名を登録した場合はその座標を使用。未登録の場合は最寄り駅にフォールバック。距離計算・GoogleマップURLともにコンビニ座標ベースで動作します。
🛣️ 距離・時間データについて
Google Maps Distance Matrix APIで実測値を取得。距離・時間の計算はAIによる推定ではなく実測値ベースです。GoogleマップのルートURLも座標ベースで生成されるため、「ルートを確認する」ボタンを押すとコンビニにピンが立った状態でナビが起動します。
⚠️ 配車アラートの基準
🔴 要確認(赤枠):走行距離または所要時間が全車平均の1.5倍超
🟡 注意(黄枠):走行距離または所要時間が全車平均の1.3倍超
⚠️ 区間アラート:1区間のピックアップ距離が30km超の場合
🔴 未割り当て:配車に入れられなかった参加者がいる場合
※全車が均等な場合はアラートなし
時刻はティーオフ1時間前のゴルフ場到着を目標に逆算して計算しています。実際の道路状況により変動します。