Skip to content

M2 - 需求收集

M2-demand-collection 流程圖

流程概述

把搭乘需求收集並結構化。使用者(乘客/家長/管理員)透過不同方式建立搭乘需求。每筆需求代表「某人需要在某時從 A 到 B」。這是銜接「服務設計」與「供需媒合」之間的關鍵流程。

執行者:乘客自助(C2C)/ 家長報名(B2B)/ 管理員代建(批次匯入)

前置條件:M1 服務方案已發布


Happy Path

步驟 1:使用者登入與帳號狀態檢查

使用者透過任一入口(Web / 手機網頁 / PWA / LINE LIFF)進入 Web App,以任一已綁定的登入方式登入:

  • 手機 OTP
  • Email OTP
  • Google 登入
  • Apple 登入(Phase 2)

系統檢查帳號狀態:

狀態行為
fully_verified正常進入步驟 2
basic_verified(手機未驗證)攔截,彈出 inline 手機驗證 modal(輸入手機 → OTP → 驗證完成 → 自動繼續),頁面頂部顯示溫和提示但不阻擋瀏覽
pending_verification引導至帳號認領流程(S1 路徑 B4.5)

步驟 2:系統檢查確認流程

依服務方案設定,使用者可能需要完成以下確認(任一項未完成則阻擋進入步驟 3):

確認項目觸發條件說明
同意服務條款有新版本條款使用者閱讀並同意最新版本
設定/確認會面點方案啟用會面點管理確認上車地點、上傳照片(若需要)
簽署陪同聲明方案啟用陪同聲明 且 搭乘者含未成年法定代理人簽署聲明

步驟 3:進入需求建立

依服務方案設定的「需求收集方式」,進入對應模式:


模式 A:自助模式(C2C 共乘、旅遊包車)

  1. 填寫搭乘資訊

    • 起點(地址或地標)
    • 終點(地址或地標)
    • 搭乘時間
    • 搭乘人數
  2. 系統搜尋現有行程

    • 搜尋是否有時間、路線相近且有空位的行程可加入
  3. 搜尋結果處理

    有符合的行程 →

    • 顯示行程列表(時間、路線、價格、空位數)
    • 使用者選擇行程、查看詳情
    • 確認加入(價格重新計算、座位確認)
    • 需求收集 + 媒合同時完成,直接進入待出發狀態

    無符合的行程 →

    • 引導使用者建立新需求(開團)
    • 需求建立完成後,進入 M3 供需媒合階段等司機接單

模式 B:報名模式(活動接駁、校車、企業接駁)

  1. 選擇服務方案(活動)

    • 從可報名的方案列表中選擇
  2. 選擇搭乘者

    • 自己
    • 孩子(可選多人)
    • 其他被照護者
  3. 選擇日期與方向

    • 顯示方案涵蓋的日期列表
    • 每個日期可獨立選擇「去程」/「回程」/「來回」
  4. 系統產生需求

    • 每個「日期 + 方向」組合產生一筆獨立需求
    • 例:選了 3 天來回 = 產生 6 筆需求

模式 C:批次匯入(管理員操作)

  1. 上傳外部資料

    • 管理員上傳 Google Sheets 或 CSV
    • 包含乘客資訊、日期、方向等
  2. 系統驗證

    • 格式驗證(欄位是否完整、格式是否正確)
    • 內容驗證(乘客是否存在、日期是否在方案範圍內)
  3. 顯示預覽

    • 新增 N 筆
    • 更新 N 筆(重複乘客同日期)
    • 錯誤 N 筆(附錯誤原因)
  4. 確認後批次產生需求


步驟 4:需求驗證

系統對每筆需求進行以下驗證:

驗證項目驗證內容未通過處理
方案規則起訖點是否在服務區域內、時段是否在服務時段內、名額是否足夠拒絕建立,提示原因
搭乘者資訊姓名、聯絡方式是否完整要求補齊
重複檢查同一搭乘者、同日期、同方向是否已有需求阻擋,提示已存在

步驟 5:價格呈現

計價方式顯示內容
動態計價顯示預估金額(實際金額依最終共乘人數調整)
固定價格顯示方案定價
優惠券/折扣自動套用符合條件的優惠,或手動輸入兌換碼

步驟 6:確認送出

  • 使用者確認搭乘資訊、價格無誤
  • 送出需求

步驟 7:發送確認通知

透過用戶啟用的通知管道發送需求建立確認:

管道發送條件內容
LINE用戶已綁定 LINE 通知Flex Message,含搭乘日期、方向、起訖點、價格、目前狀態
Email用戶已綁定 Email 通知格式化郵件,內容同上
簡訊僅作為 fallback(LINE 和 Email 都未綁定或發送失敗時)精簡文字通知
  • 若有監護人,同步透過監護人啟用的通知管道通知

各場景對應

場景需求建立模式搭乘者確認流程特殊行為
bearbubu 共乘自助模式本人會面點確認搜尋現有行程 → 加入或開團
Dauding 接駁報名模式本人/孩子陪同聲明(若有未成年)按日期+方向產生多筆需求
企業接駁報名模式本人服務條款固定路線選擇
校車報名模式孩子(家長代操作)陪同聲明 + 會面點學期整批報名
旅遊包車自助模式本人+同行者服務條款客製化行程
管理員代建批次匯入多人無(管理員已確認)大量匯入

Worst Case

WC-1:確認流程未完成

  • 觸發條件:會面點未設定、陪同聲明未簽署
  • 系統行為:阻擋進入需求建立頁面,引導完成確認流程
  • 處理方式:使用者完成確認後即可繼續

WC-2:方案已額滿

  • 觸發條件:方案設有名額上限且已額滿
  • 系統行為:拒絕建立需求,提示「名額已滿」
  • 處理方式:使用者可選擇其他方案或等候候補(若有開放)

WC-3:重複需求

  • 觸發條件:同一搭乘者、同日期、同方向已有需求
  • 系統行為:阻擋建立,顯示已存在的需求資訊
  • 處理方式:使用者可前往修改既有需求

WC-4:搜尋無符合行程(自助模式)

  • 觸發條件:C2C 加入模式下搜尋不到可加入的行程
  • 系統行為:提示「目前沒有符合的行程」
  • 處理方式:引導使用者建立新需求(開團),等候司機接單

WC-5:批次匯入格式錯誤

  • 觸發條件:上傳檔案格式不符或內容有誤
  • 系統行為:顯示錯誤行號與原因,格式正確的筆數正常處理
  • 處理方式:管理員修正錯誤資料後重新匯入失敗筆數

WC-6:取消需求

  • 觸發條件:使用者或管理員決定取消已建立的需求
  • 系統行為
    • 單筆取消或全部取消
    • 若已付款,觸發退款規則
    • 若已媒合行程,通知司機座位釋出
    • 發送取消確認通知
  • 處理方式:確認取消後執行

WC-7:部分乘客取消(多人需求)

  • 觸發條件:多人需求中有部分乘客取消
  • 系統行為:該乘客從需求中移除,需求本身繼續有效,人數與價格重新計算
  • 處理方式:通知相關人員人數變更

WC-8:需求資訊需修改

  • 觸發條件:使用者需要修改已送出的需求(時間、地點等)
  • 系統行為:記錄變更歷史,若已媒合行程則需重新媒合
  • 處理方式:使用者修改後系統重新驗證

WC-9:登入方式異常

  • 觸發條件:OAuth provider 回調失敗(Google 無回應、網路中斷等)或 OTP 服務異常
  • 系統行為:提示錯誤原因,引導用戶選擇其他登入方式(例如 Google 登入失敗 → 改用手機 OTP 或 Email OTP)
  • 影響:不影響帳號狀態,用戶可隨時重試或換方式登入

WC-10:OTP 簡訊未收到

  • 觸發條件:手機驗證簡訊延遲或未送達
  • 系統行為:提供「重新發送」按鈕(有頻率限制,如 60 秒一次)
  • 處理方式:使用者等待後重新發送

相關子流程

  • 會員管理(S1):多元登入方式註冊、帳號狀態管理(basic_verified → fully_verified)、通知管道綁定、個人資料管理
  • 會面點確認:地點設定、照片上傳、管理員審核
  • 陪同聲明:聲明內容顯示、簽署記錄、效期管理
  • 優惠券:兌換碼驗證、自動套用規則、使用記錄
  • 外部同步與匯入:Google Sheets 連結、資料格式規範、匯入記錄、邀請連結發送