Appearance
S6 優惠券與促銷
概述
處理搭乘服務的優惠折扣機制,包含個人優惠券(兌換碼、自動套用)與促銷活動(區域優惠、主題活動、節慶定價)。系統在預約/選車階段自動檢查使用者是否符合優惠資格,依優先順序套用最佳折扣。
執行者:系統(自動檢查與套用)/ 使用者(手動輸入兌換碼)/ 管理員(建立與管理優惠)
前置條件:使用者已進入預約或選車階段
觸發條件
| 觸發時機 | 說明 |
|---|---|
| 進入選車/預約頁面 | 系統自動掃描使用者的優惠券與促銷資格 |
| 使用者輸入兌換碼 | 手動兌換優惠券 |
| 訂單確認時 | 優惠券綁定至訂單 |
| 訂單取消時 | 觸發優惠券還原規則 |
Happy Path
步驟 1:優惠資格檢查
系統依優先順序檢查,命中即停止:
| 優先級 | 優惠類型 | 說明 |
|---|---|---|
| 1(最高) | 促銷活動優惠 | 區域限定優惠、主題活動折扣 |
| 2 | 團體/方案折扣 | B2B 固定折扣、團體優惠 |
| 3(最低) | 個人優惠券 | 使用者持有的優惠券 |
步驟 2:優惠券自動套用
- 系統掃描使用者所有可用優惠券
- 多層篩選條件:
- 時間:在有效期間內
- 狀態:可使用
- 路線限制:起訖點符合
- 人數限制:乘客數符合
- 使用次數:未達個人上限
- 全域限制:未達全域上限
- 自動選擇折扣最高的優惠券
- 前端自動扣除折扣金額
步驟 3:兌換碼輸入(手動)
- 使用者輸入兌換碼
- 驗證流程:有效期、使用限制、個人使用上限
- 通過後建立優惠券,自動出現在使用者的優惠券列表
步驟 4:促銷活動檢查
系統自動檢查使用者是否符合進行中的促銷活動,依以下順序檢查,命中即停止:
4a. 區域限定優惠(如「$1 搭乘」)
管理員在 S21 營運設定中定義活動參數:
| 設定項目 | 說明 | 範例 |
|---|---|---|
| 活動區域 | 多邊形座標定義的地理圍欄 | 台東市快速反應區 |
| 限定車型 | 適用的車輛類型 | 僅經典小黃 |
| 人數上限 | 單次搭乘人數限制 | ≤ 4 人 |
| 個人使用上限 | 每帳戶可使用次數 | 2 次 |
| 全域使用上限 | 活動總使用次數 | 200 次 |
| 優惠金額 | 折扣方式 | 固定金額(如原價 − 1 = 折扣額) |
資格檢查流程(依序):
- 車型是否符合限定車型
- 乘車時間是否在活動期間內
- 上車地點地理圍欄判斷:以射線法(Ray Casting)判斷座標是否在多邊形區域內
- 下車地點地理圍欄判斷:同上
- 乘客人數是否 ≤ 人數上限
- 全域使用次數是否 < 全域上限
- 個人使用次數是否 < 個人上限
通過後:自動生成優惠券綁定至訂單,前端顯示活動提示。
使用次數追蹤:透過查詢訂單中的優惠券 ID 陣列統計使用次數。
取消不還原規則:區域限定優惠券在訂單取消後不還原使用次數(防止濫用)。
4b. 主題活動優惠(如「部落旅行折扣」)
管理員定義活動與集合點:
| 設定項目 | 說明 |
|---|---|
| 活動名稱 | 活動顯示名稱 |
| 活動日期 | 適用日期(±1 天容許) |
| 集合點 | 經緯度座標 + 地點名稱 + 地址 |
| 折扣金額 | 固定折扣金額 |
| 個人使用上限 | 每帳戶可使用次數 |
資格檢查流程(依序):
- 出發日期是否在活動日 ±1 天內
- 地點三重匹配(上車或下車符合其一即可):
- 經緯度匹配:Haversine 公式計算距離 ≤ 500 公尺
- 地名匹配:地點名稱部分匹配
- 地址匹配:地址字串部分匹配
- 個人使用次數是否 < 個人上限
通過後:自動生成優惠券綁定至訂單。
4c. 節慶特殊定價(如「春節加價」)
非優惠券機制,直接整合在 M5 計價公式中:
| 設定項目 | 說明 | 範例 |
|---|---|---|
| 適用期間 | 起迄日期 | 農曆新年期間 |
| 基礎費用調整 | 加/減固定金額 | +50 元 |
| 里程費率調整 | 調整每公里單價 | 0.23 → 0.192 |
| 最低費用調整 | 調整最低收費 | 120 → 180 元 |
節慶定價在適用期間內自動生效,不需使用者操作。
步驟 5:優惠確認與使用
- 訂單確認時,優惠券/折扣綁定至該訂單
- 更新優惠券狀態(可使用 → 已使用)
- 記錄使用時間與訂單編號
- 若優惠完全抵消費用(零元訂單):跳過支付流程
Worst Case
WC-1:優惠券/兌換碼已過期
- 觸發條件:優惠券超過有效期限,或兌換碼已過期
- 系統行為:提示「已過期」,不套用折扣
- 處理方式:使用者可使用其他優惠券
WC-2:使用次數達上限
- 觸發條件:個人使用次數已達上限,或全域使用量已達上限
- 系統行為:提示「已達使用上限」
- 處理方式:使用者可使用其他優惠券或以原價預約
WC-3:優惠條件不符
- 觸發條件:路線不在適用範圍、車型不符、人數超過限制、日期不在指定範圍
- 系統行為:不套用該優惠,繼續檢查下一優先級
- 處理方式:若所有優惠均不符合,以原價顯示
WC-4:同一兌換碼重複使用
- 觸發條件:使用者嘗試重複使用同一兌換碼
- 系統行為:提示「同一兌換碼僅可使用一次」
- 處理方式:使用者可輸入其他兌換碼
WC-5:取消訂單後優惠券處理
- 觸發條件:使用者取消已套用優惠券的訂單
- 系統行為:
- 一般優惠券:自動還原為「可使用」狀態
- 促銷活動優惠券:依活動規則決定是否還原(部分活動不還原)
- 處理方式:還原後的優惠券可再次使用(在有效期內)
WC-6:管理員作廢優惠券
- 觸發條件:管理員需要作廢已發出的優惠券
- 系統行為:僅作廢未使用的部分,已使用的紀錄保留
- 處理方式:管理員透過後台操作
場景差異表
| 維度 | C2C 共乘 | 活動接駁 | 企業接駁 | 校車 | 旅遊包車 |
|---|---|---|---|---|---|
| 優惠來源 | 兌換碼、促銷活動、自動套用 | 活動方案固定折扣 | 企業合約折扣 | 通常不適用 | 報價時含折扣 |
| 套用方式 | 系統自動 + 手動兌換碼 | 報名時自動套用 | 合約自動套用 | — | 報價確認時套用 |
| 區域限定優惠 | 適用(地理圍欄判斷) | 不適用 | 不適用 | 不適用 | 不適用 |
| 主題活動優惠 | 適用(集合點距離判斷) | 可能適用 | 不適用 | 不適用 | 不適用 |
| 節慶特殊定價 | 適用(計價公式調整) | 依方案決定 | 依合約決定 | 依合約決定 | 依報價決定 |
| 取消還原 | 一般可還原,區域限定不還原 | 依方案退費政策 | 依合約政策 | — | 依報價條款 |
| 管理方式 | S20 建立/發送/作廢 | 方案層級設定 | 合約層級設定 | — | 個案處理 |
所屬主流程
| 主流程 | 步驟 | 說明 |
|---|---|---|
| M2 需求收集 | 步驟 5(價格呈現) | 預約階段自動套用優惠 |
| S5 預約與訂單生成 | 模式 A/C 價格計算 | 計價時扣除折扣 |