規格:拆分購物車(結帳設定)
為什麼要做
不同性質的商品(一般、預購、寄賣、冷凍、單獨配送品)若混在同一張結帳單裡,會造成出貨/物流/溫層的衝突,也讓免運門檻跟促銷活動的計算變得不合理。所以購物車要依商品的「結帳設定」自動拆成多個獨立結帳區塊,每個區塊就是一張完全獨立的訂單,各自算金額、免運、促銷、發票,且各自結算付款。
觸發情境
- 商品上架頁面:人員設定該商品的「結帳設定」
- 消費者把商品加入購物車的當下,系統就依設定立即拆分(不等到進結帳頁)
前置條件
主流程
- 人員於商品上架頁設定「結帳設定」,三選一:
- 不指定(預設):可與其他「不指定」商品合併
- 單獨配送:強制獨立成一個結帳區塊(即使兩個都是單獨配送也不合併)
- 指定配送群組編號:須選擇一個編號(01 ~ 20)
- 商品加入購物車的當下,系統依「結帳設定」即時拆分:
- 所有「不指定」的商品 → 合併到同一個結帳區塊
- 每個「單獨配送」的商品 → 各自獨立一個結帳區塊
- 「指定配送群組編號」:相同編號合併,不同編號拆分
- 每個拆出來的結帳區塊就是一張完全獨立的訂單:
- 各自計算商品總額、免運門檻
- 各自計算滿額/滿件促銷
- 優惠 / 折扣只能套用在它所屬的單一區塊,不可跨區塊共用
- 各自開立發票
- 各自選擇物流(套用「排除物流」邏輯)
- 各自結算付款(必須一張一張結,不可合併付一次)
其他情況
- 商品上架時沒選結帳設定
→ 預設為「不指定」
- 選擇「指定配送群組編號」但沒填編號(或填了 01-20 範圍外的值)
→ 阻擋並提示「請填寫 01-20 之間的群組編號」
- 拆分結果某區塊只有 1 個商品
→ 仍視為獨立結帳區塊,不會自動降級合併
- 消費者修改購物車(加 / 減商品)
→ 拆分結果即時重新計算
- 消費者試圖把某筆優惠/折扣套用到多個結帳區塊
→ 阻擋;該筆優惠只能擇一區塊使用
影響的資料 / 欄位
- 商品上架頁面新增「結帳設定」欄位(單選)
- 選項:不指定 / 單獨配送 / 指定配送群組編號
- 預設「不指定」
- 商品上架頁面要新增「群組編號」欄位
- 群組編號填寫範圍:01 ~ 20
UI / 畫面影響
- 商品上架頁面:新增「結帳設定」選項(不指定 / 單獨配送 / 指定配送群組編號)
- 選「指定配送群組編號」時,「群組編號」為必填,01-20
- 「單獨配送」與「指定配送群組編號」旁附 tooltip 圖示 (?),滑鼠移過或點擊時顯示:
- 單獨配送:此商品會自成一張結帳單,不會跟其他商品合併(即使另一個商品也選單獨配送,兩張也不合併)
- 指定配送群組編號:相同編號的商品合併為一張結帳單,不同編號拆分。編號範圍 01-20
- 畫面位置參考 Canva
- 購物車頁:拆分後的每個結帳區塊獨立呈現
- 每區塊顯示自己的商品列表、金額、免運門檻進度、適用促銷
- 結帳頁:每個結帳區塊必須分別完成結帳
- 每張各自選物流、各自輸入優惠碼(限一筆)、各自付款
驗收標準
- 商品上架可儲存「結帳設定」三選 1
- 選「指定配送群組編號」未填編號或填 01-20 範圍外 → 擋下儲存
- 8 個商品依 0608 spec 範例(不指定 ×3 / 群組 10 ×2 / 群組 07 ×1 / 單獨配送 ×2)→ 拆成 5 個結帳區塊
- 兩個「單獨配送」商品 → 不會合併為一張單
- 各區塊獨立計算金額、免運門檻、滿額促銷,跨區塊不可合併
- 各區塊獨立開立發票
- 各區塊獨立結算付款,不可一次付清全部
- 優惠/折扣只能套用在單一結帳區塊,不可跨區塊共用
關聯規格
- 商品上架增加「排除物流」(每個結帳區塊獨立套用)
- 物流判斷空運違禁品(影響排除物流的自動勾選)
- 訂單成立 / 預收結帳單(拆分後的每張結帳區塊各自拋鼎新)