促銷設定(自動套用 / 取最優)
餐飲 POS 的「促銷設定」讓你為指定分類或指定單品設定折扣規則(折數或固定折後金額),並可限定生效時間。促銷一旦生效,POS 點餐與結帳會自動以促銷後價格計算,店員不需手動改價;當同一個品項同時有店員手動折扣時,系統會取「折後最便宜」的那一個,客人一定拿到最優惠的價格。
這是什麼 / 進入路徑
促銷設定是「規則」而非「一次性改價」:你設好規則後,時間到自動生效、到期自動失效,不必手動改菜單價再改回。
進入方式有兩個入口,內容完全相同:
- 商品管理頁籤(建議日常用):後台左側
餐飲 POS → 商品管理,上方切到 促銷設定 頁籤。在同一頁即可管理菜單與其促銷規則。 - 獨立頁(深連結):
.../pos-restaurant/promotions可單獨開啟,深連結不會失效。
頁面內有兩個分頁:促銷規則(設定與管理)與 促銷報表(成效彙總)。
促銷規則怎麼設
在「促銷規則」分頁點 + 新增促銷 開啟表單。逐欄位說明如下(皆以實際系統欄位為準):
| 欄位 | 必填 | 選項 / 格式 | 說明 |
|---|---|---|---|
| 促銷名稱 | 是 | 文字 | 例如「點心類 6 折」,會顯示在列表與報表 |
| 適用對象 | 是 | 整個分類 / 單一商品 | 二選一。選「整個分類」→ 該分類下所有商品都套;選「單一商品」→ 只套那一項 |
| — 對象選擇 | 是 | 下拉選單 | 依上方選擇顯示分類清單或商品清單,需選一個 |
| 折扣方式 | 是 | 折數 / 折後金額 | 見下方換算說明 |
| — 折數 | 1 ~ 9.9(可到小數一位) | 如填 6 = 打 6 折。系統換算為「省 40%」後儲存 | |
| — 折後金額 | ≥ 0 的金額 | 固定的折後每份單價,如填 50 = 不論原價一律算 $50 | |
| 開始時間 | 日期時間(台北時間) | 留空 = 從現在起(無起始限制) | |
| 結束時間 | 日期時間(台北時間) | 留空 = 永久有效(無到期)。結束不可早於開始 | |
| 適用分店 | 全店通用 / 指定分店 | 僅多分店租戶顯示;單店租戶一律全店通用 | |
| 立即啟用此促銷 | 開關 | 勾選 = 建立後立即生效(預設勾選) |
折數與百分比的換算(重要)
系統底層用「折扣百分比(percent OFF)」儲存,但表單用台灣習慣的「折數」輸入,換算規則為:
- 你輸入 折數(1~9.9),系統存為
percent = (10 − 折數) × 10
- 例:6 折 → 省 40%;7.5 折 → 省 25%
- 列表顯示時再換算回「X 折」(無法整除折數時顯示「XX% OFF」)
折數限制為 1 ~ 9.9(大於等於 10 折等於不打折、0 折等於免費,皆不允許)。若要固定金額請改用「折後金額」方式。
折後金額方式
選「折後金額」時,填的是折後的固定單價(不是「折抵多少錢」)。例如原價 $120 的品項設折後金額 $99,客人該品每份算 $99。系統會把折後單價限制在 0 ~ 原價 之間(不會因為填太高而變成加價)。
列表與開關
- 每條規則列出:名稱、適用對象(分類/單品標籤)、折扣(如「6折」)、期間、狀態。
- 狀態欄可直接點擊切換啟用 / 停用,不必進編輯表單。
- 多分店租戶會在名稱下方顯示「全店通用」或指定分店標籤。
自動套用 + 取最優(核心邏輯)
什麼時候自動生效
促銷會在 POS 建立訂單 與 對已開單桌位加點 時自動判斷。系統撈出「當前有效」的促銷,條件為:
啟用中(is_active = true)- 適用範圍涵蓋當前門市(該規則設為「全店通用」或正好是這一店)
- 現在時間落在起訖區間內(未設起始 = 已開始;未設結束 = 未到期)
只要同時滿足以上三條,命中的品項就會自動以促銷價計算,店員無需任何操作。
命中規則
- 單品促銷:品項的商品 = 規則指定商品才命中。
- 分類促銷:品項所屬分類 = 規則指定分類才命中。
- 自訂手 key 品項(沒有綁定商品的臨時輸入品)不會命中任何促銷。
- 贈品(單價強制 $0)不參與促銷。
與「品項級手動折扣」同時存在時如何取最優
同一個品項可能同時有:店員在 POS 現場設的手動臨時折扣、以及一條或多條命中的促銷。系統的處理是:
- 把「手動折扣」與「每一條命中促銷」各自算出折後單價;
- 取折後單價最低的那一個套用(客人拿到最便宜的價格);
- 折後價平手時,優先採用手動折扣(尊重店員當下的明確操作)。
促銷不疊加。 一個品項最終只會套用「一個」來源(手動 或 某一條促銷),不會把多重折扣相乘累加。
此外,只有「店員手動折扣」會受本店的折扣上限 / 需店長權限守門限制;促銷是後台預先設定的規則,自動套用時不受單筆手動折扣上限與權限限制。
服務費不受促銷影響(鎖原價)
服務費(SC)的計算基底鎖定原價(折扣前單價 × 數量),不會因為品項被促銷或手動折扣而變少。這與既有的手動折扣行為一致——折扣只影響品項實收金額,服務費永遠以原價為基底計算。
訂單如何記錄
命中促銷的品項,訂單明細會保存:原價(original_price)、折扣金額(discount_amount)、折扣類型(promo)與折扣來源(promo:{規則ID})。這讓後續的促銷報表能精準追溯每筆促銷的成效,並與手動折扣(類型 manual)區分開來。
促銷報表
切到「促銷報表」分頁,選起訖日期後點「查詢」,即依促銷規則彙總該期間的成效。
| 欄位 | 意義 |
|---|---|
| 促銷規則 | 規則名稱(規則已刪除時顯示「(已刪除促銷)」) |
| 份數 | 該規則命中的品項總數量(SUM 數量) |
| 訂單數 | 含該規則品項的不重複訂單數 |
| 原價合計 | 這些品項的原價 × 數量加總 |
| 折扣合計 | 因促銷而少收的金額加總 |
| 實收合計 | 折後實際收取的金額加總 |
報表口徑(以實際查詢為準):
- 只計入已完成(completed)的訂單。
- 只計入促銷來源的品項(手動折扣不列入促銷報表)。
- 依「當前門市」統計,多分店可於右上角切換門市。
- 日期以台北時間的整日計算(依訂單完成時間)。
- 表格依折扣合計由大到小排序,底部有整體合計列。
常見問題
Q1 促銷和店員手動折扣同時有,客人算哪個?
系統自動比較兩者的折後單價,取比較便宜的套用給客人;兩者折後一樣便宜時,優先採用店員的手動折扣。兩種折扣不會相加,一個品項只會套一個來源。
Q2 我設了促銷,為什麼有些品項沒有折到?
請確認:(1) 促銷仍「啟用中」;(2) 現在時間在起訖區間內;(3) 該品項確實屬於促銷指定的分類或商品;(4) 該品不是贈品、也不是沒綁商品的自訂手 key 品項(這兩類不吃促銷)。
Q3 打折後服務費會跟著變少嗎?
不會。服務費一律以原價為基底計算,促銷與手動折扣都只影響品項實收金額,不影響服務費。
Q4 可以設「滿額折 / 買一送一 / 會員專屬折扣 / 每人限用一次」嗎?
目前促銷規則支援的是「指定分類或單品 × 折數或折後金額 × 生效時間」。尚未支援滿額 / 滿件門檻、買 X 送 Y、會員等級專屬、每人使用次數上限、以及「每週固定星期 / 每日固定時段」的週期性排程(只能設單一段絕對起訖時間)。若有這類需求請聯繫客服評估。
Q5 到期後要手動把價格改回來嗎?
不用。促銷是規則制——設定的結束時間一到會自動失效,品項自動恢復原價,不需人工改價再改回。
其他問題協助