# 規格 Template

> 複製此檔當作每個需求的起手 template。一份需求一個檔/一頁。
> 填寫時：寫不出來的格子先標「[待確認]」+ 卡住的點，不要留空白。

---

## 規格：[功能名]

### 【為什麼要做】
（一句話，避免將來忘記初衷。半年後回頭看才看得懂。）

### 【觸發情境】
什麼時候會跑到這個流程？哪個畫面、哪個動作後啟動？

### 【前置條件】
跑這個流程前需要滿足什麼？
- 條件 1
- 條件 2

### 【主流程】
1. 誰做 X
2. 系統判斷 Y
3. 如果 Y=true → 做 A
4. 如果 Y=false → 做 B

### 【邊界條件 / 異常】
- 如果 Z 發生了怎麼辦
- 例外值（最小、最大、空值、超出範圍）

### 【影響的資料 / 欄位】
- 資料表/欄位.xxx 從 a 變 b
- 新增欄位 yyy（值域：...）

### 【UI / 畫面影響】
- 哪個畫面要改、改什麼
- 文案、按鈕、提示訊息

### 【驗收標準】
- 通過條件 1
- 通過條件 2
- 通過條件 3

### 【相關文件 / 連結】
- 對應 Google Sheet row：#__
- Canva wireframe：[link]
- Notion 討論串：[link]

### 【待確認事項】
- [ ] 需求單位確認文案
- [ ] 廠商確認可行性
- [ ] 跨部門 sign-off

---

# 已填寫範例：黑名單會員結帳限制

## 規格：黑名單會員結帳限制

### 【為什麼要做】
避免有惡意退貨/不付款紀錄的會員，繼續使用「貨到付款 / 超取付款」造成後續呆帳。

### 【觸發情境】
會員登入後、進入結帳頁、選擇付款方式時。

### 【前置條件】
- 會員已登入（訪客不適用此規則）
- 會員資料的 `blackliststatus` 欄位 = `01`（黑名單狀態）

### 【主流程】
1. 會員進入結帳頁 → 系統讀取會員的 `blackliststatus`
2. 判斷 `blackliststatus`：
   - = `01`（黑名單）→ 走步驟 3
   - ≠ `01`（正常）→ 走步驟 4
3. 物流/付款選擇畫面：**強制阻擋**「貨到付款」「超取付款」兩個選項
   - 該選項顯示為灰色（disabled）+ 提示文字「此會員需先完成付款」
4. 正常會員 → 所有付款方式都可選

### 【邊界條件 / 異常】
- 會員在結帳過程中才被列入黑名單 → 當前流程不中斷，下次結帳起生效
- 會員身分異動（如註銷帳號）→ 黑名單狀態保留（資料保留以供日後查詢）
- 訪客身分（未登入）→ 不套用此規則（訪客的付款方式由全域設定決定）

### 【影響的資料 / 欄位】
- 會員資料表 `blackliststatus` 欄位
  - 值域：`00` = 正常 / `01` = 黑名單
  - 預設值：`00`

### 【UI / 畫面影響】
- 結帳頁「付款方式」選單
- 黑名單狀態時：禁用「貨到付款」「超取付款」+ 顯示提示文字
- 提示文案：[待確認 — 需行銷康妮提供]

### 【驗收標準】
- 黑名單會員無法選擇貨到付款、超取付款
- 正常會員所有付款方式正常顯示
- 後台手動修改 `blackliststatus` 後即時生效（不需重新登入）
- 訪客結帳不受影響

### 【相關文件 / 連結】
- Google Sheet row：#13
- Notion：（補上實際 link）

### 【待確認事項】
- [ ] 行銷康妮提供阻擋時的提示文案
- [ ] 後台是否有 UI 修改 `blackliststatus`？或只能 DB 改？
- [ ] 黑名單會員是否能用紅利、購物金折抵？

---

# 規格進度 Checklist（持續記錄）

> 規格寫完一個勾一個。對應 Google Sheet row 編號。
> 規格狀態：[ ] 未開始 / [/] 草稿中 / [x] 完成 / [v] 已 review

- [x] R13 黑名單（範例已示範）
- [ ] R2 門市間在途調撥
- [ ] R3 超電串接（API）
- [ ] R4 超電串接（物流）
- [ ] R5 物流設定(黑貓)綁定多個廠商客代
- [ ] R6 訂單綁大宗單後的黑貓客代判斷
- [ ] R7 物流增加黑貓
- [ ] R8 交易拆單
- [ ] R10 退貨流程『會計執行退款』改成自動處理
- [ ] R11 未付款訂單，重新付款的期限改成20分鐘
- [ ] R12 海外配送，配送編號的更新
- [ ] R14 訂單管理頁面要增加篩選條件
- [ ] R15 可針對訂單增加自定義標籤
- [ ] R16 開立發票時點修改
- [ ] R17 每日產出一份出貨明細報表
- [ ] R18 Mail 工具串接
- [ ] R19 商品列表頁面中商品文字呈現方式調整
- [ ] R20 商品上架後，商品頁面要有下架倒數計時器
- [ ] R21 置頂 (Pin) 功能
- [ ] R22 購物車滿額升等提醒
- [ ] R23 Google 快速登入
- [ ] R24 商品上架頁面要增加「排除物流」
- [ ] R25 全域訂單結帳金額最低為100元
- [ ] R26 訂單貨態查詢 - 物流商連結
- [ ] R27 驗證碼取得簡訊的按鈕變得明顯一點
- [ ] R28 加入購物車的按鈕隨頁面捲軸滾動固定
- [ ] R29 DPA (動態產品廣告) 圖片抓取邏輯
- [ ] R30 獨立 SEO 設定欄位
- [ ] R31 拆分結帳(結帳時拆分購物車)
- [ ] R32 物流判斷空運違禁品的功能
- [ ] R36-38 官網特定情境自動發送通知信/簡訊（多列拆分，可合併寫一份）
- [ ] R52 新增金流：街口支付
- [ ] R53 線上刷卡變更銀行(中信)
- [ ] R54 商品資料欄位增減（供前台使用）
- [ ] R55 上架資料欄位增減（供前台使用）
- [ ] R56 揀貨明細表
- [ ] R57 訂單列印套用宅配的列印標籤
