P1

US-1:維護卡券產品(服務項目)

manage-voucher-products

As a 管理員, I want 直接編輯六大類別下的所有服務項目與金額, So that 調價或新增/下架方案時不需要工程介入.

Acceptance Scenarios

  • WHEN 管理員進入卡券方案頁, THEN 預設停在「卡券產品」分頁,上方有 7 格數字(總項目數+六大類別各自幾項與平均價格),點哪個類別就只看那類
  • WHEN 管理員在搜尋框打項目名稱, THEN 清單只留下名稱相近的;再點類別標籤可以縮得更小
  • WHEN 清單顯示, THEN 每列有分類標籤、項目名稱、項目編號(P###)、單次價格
  • WHEN 管理員點「編輯」, THEN 那一列直接變成可以改的(分類用下拉選、名稱和價格直接打字),存檔後出現完成提示
  • WHEN 管理員點「新增產品」, THEN 清單最上面出現一列空白的,填完必填欄位送出就新增了
  • WHEN 管理員點「刪除」, THEN 彈出二次確認,提示「已開出的卡券不受影響,但今後無法選擇此項目開新卡」
  • WHEN 管理員點「匯入清單(.csv)」, THEN 可以用 CSV 檔一次匯入多筆,匯入標的為當前分頁(在卡券產品分頁就匯入產品,在贈品分頁就匯入贈品)
  • WHEN 管理員點「匯出清單」, THEN 下載當前分頁的完整清單,匯出的格式即為匯入的範本

Independent Test

新增一筆測試產品 → 到開卡畫面確認選得到 → 改價格後確認清單有更新、已開的舊卡不變 → 刪掉後確認選不到了、已開的卡不受影響。

設計稿

卡券產品分頁 — KPI、類別篩選、搜尋、inline 新增/編輯/刪除

卡券產品分頁 — KPI、類別篩選、搜尋、inline 新增/編輯/刪除 開啟互動原型 ↗
出自 proposal

Edge Cases

  • 同一個分類裡名稱重複:新增時要擋下來或明確警告
  • 改了價格之後,已經開出去、還沒用完的卡,餘額和次數不能跟著變(以開卡當時的價格為準)
  • 兩個管理員同時改同一個方案:後存的那個要被告知「資料已經被別人改過了」
  • 分類固定六大類(洗剪燙染護頭皮),這期不開放自己加分類
  • 贈品「不追蹤庫存」跟「庫存剛好是 0」是兩回事,畫面要分得出來(不能都顯示「—」)
出自 proposal

Functional Requirements

  • FR-001: 卡券方案頁提供「卡券產品」/「贈品項目」兩個分頁,預設停在卡券產品
  • FR-002: 卡券產品分頁上方有 7 格數字(總項目數+六大類別各幾項與平均價格),可以點類別卡篩選、用名稱搜尋、用類別標籤篩選
  • FR-003: 卡券產品的欄位:分類、項目名稱、項目編號、單次價格;可以直接在列上新增/編輯/刪除,刪除等於下架(已開的卡不受影響)
  • FR-004: 贈品項目的欄位:分類、項目、備註(贈送條件)、庫存(可以是「不追蹤」或數字,10 以下顯示補貨提醒)、建議售價(可以是 NT$0);可以直接在列上新增/編輯/刪除
  • FR-005: 不管刪產品還是刪贈品,都不能影響已經開出去的卡和過去的報表數字
  • FR-006(2026-08-22 決議): 「匯入清單(.csv)」本期要真的做,匯入標的為當前分頁的資料(產品/贈品各一份)
  • FR-006a(2026-08-23 依設計稿補): 提供「匯出清單」,匯出格式與匯入格式相同,匯出檔即為匯入範本
  • FR-007(2026-08-22 決議): 產品和贈品的新增、編輯、刪除所有管理員都能做,管理員之間不分級
出自 proposal

Open Questions

2026-08-22 由 Jacky 逐題答覆(Ci 轉述)。決議彙整見 docs/grooming/2026-08-22-admin-console-open-questions-resolved.md

  • 「贈品」與「產品」的業務差異? — 已由本次改版釐清:贈品獨立分頁,欄位含庫存/備註/建議售價,價格可為 0
  • 方案欄位有哪些? — 已釐清:產品=分類/名稱/單次價格;贈品=分類/項目/備註/庫存/建議售價
  • 本期是否排除「匯入清單 (.csv)」功能2026-08-22 決議:不排除,會有匯入清單按鈕。設計稿上的按鈕不再是假動作,需真實作(見 FR-006)
  • 產品/贈品的 CRUD 是否需要權限分層2026-08-22 決議:所有管理員皆可操作,與 manage-account-permissions 的三層權限結論一致(見 FR-007)
  • 匯入標的是產品、贈品,還是兩者各一份依設計稿:匯入按鈕在分頁切換之上,匯入當前分頁的資料(產品/贈品各一份)
  • 檔案的欄位格式與範本設計稿同時有「匯出清單」,匯出格式即匯入範本,不需另行定義
  • NEEDS CLARIFICATION: 匯入遇到重複項目(同分類同名,見 Edge Cases)如何處理:跳過、覆蓋更新、還是整批中止?
    • 暫定預設:同分類同名視為更新,其餘新增;匯入前顯示預覽讓管理員確認
  • NEEDS CLARIFICATION(2026-08-23,答覆與現況不符): Jacky 回覆「這個頁面功能已經做好了,請維持」,但查證後端 products 模組只有 2 個唯讀 API,沒有任何新增/編輯/刪除/匯入能力。
    • 兩種可能:① 指的是設計稿已完成;② 與「卡券匯入」(001-voucher-account-binding,匯入的是顧客既有卡券)混淆
    • 風險:若照答覆標為「維持現狀」,整個產品/贈品維護頁都不會進開發範圍
    • 建議回問:「卡券方案那頁我查了後端,目前只能讀不能改,新增/編輯/刪除/匯入都還沒做。你說的『已經做好』是指設計稿嗎?」