POS 開單 / 結帳
美業 POS 收銀分兩頁:「開單」(選服務 + 建單/立即結帳)與「結帳」(列出未付款訂單 + 後續結)。對齊餐飲 POS 的「點餐 / 結桌帳」設計,方便多客人輪流結帳。
開單頁的兩顆按鈕
進「美業 → 開單」選好服務、會員、服務員後,畫面右下方有兩顆並排按鈕:
| 按鈕 | 用途 | 後續 |
|---|---|---|
| 開單(紫) | 只建單不收款,訂單立刻 pending | 跳到「結帳」頁,可之後再結 |
| 結帳(amber) | 建單 + 立刻收款一條龍 | 出付款方式 dialog,付完即 completed |
何時用哪顆? - 同時開好幾張單、客人服務做完才陸續結 → 用開單 - 客人當下就要付(散客/不需等待) → 用結帳
結帳頁(pending 訂單列表)
從 sidebar「美業 → 結帳」進入。
功能
- 顯示今日所有 `pending` 訂單的卡片清單(可切日期)
- 新單通知:每 10 秒自動撈一次,新單來右上角鈴鐺紅點 + 880Hz 提示音 + 卡片亮 amber 邊框
- 點卡片 → 開明細 modal → 選付款方式 → 「確認結帳」
- modal 內可「取消此單」(二次確認,訂單轉
voided)
卡片顯示
訂單編號 / 客戶 / 服務員 / 訂單備註 / 總額(大字 amber) / 建單時間
會員補綁
開單時沒綁會員的訂單,結帳前可在 modal 內點「+ 綁定會員」搜尋並綁定(姓名 / LINE 暱稱 / 手機後幾碼)。綁完即可享集點 / 儲值金扣款。誤綁可點「解綁」回到散客。
儲值金結帳
結帳頁 modal 支援儲值金付款,邏輯完整對齊開單頁:
- 純儲值金:餘額足夠 → 發 LINE Flex 給會員 → 等確認 → 自動完成
- 混合付款:餘額不足 → 自動顯示「剩餘金額」+ secondary 付款方式 grid(現金 / 信用卡 / LINE Pay 擇一)→ 會員確認後扣儲值金 + 補收剩餘
- instant 模式:會員未綁 LINE 但後台「未綁 LINE 也能扣」開關開啟 → 後端直接扣餘額立刻 pay
- 等待中可「取消請求」(訂單仍在 pending,可改其他付款方式或重試)
可在「先開單後結」場景使用:客人來時還沒掃會員碼,等做完服務、會員資料補完,再從結帳頁綁會員+選儲值金結。
三種開單情境
A. 從預約轉開單(建議流程)
新版預約狀態流(看板 / 日曆 / 班表 detail modal 一致):
- 進「美業 → 看板」找到客人預約
- pending(待確認)→ 點「✓ 確認預約」或「✓ 確認並派工設計師 →」
- 客人沒指定設計師時,按確認會跳出派工選擇器(只列同店 + 該時段有班 + 沒衝突的人)
- confirmed / waiting → 客人到場後點「客人已到(進行中)」→
seated - seated(進行中)→ 點「開單 →(跳 POS 選項目)」→ 自動跳開單頁,會員 / 設計師預填
- 視實際情況調整購物車 → 開單 → 預約進「未付款」欄
- 服務完成 → 點「結帳 →」跳
/pos/beauty/checkout-pending選付款方式 - 緊急狀況可直接在 detail modal 點「✓ 直接完成(不開單)」(completed,不留訂單)
改時間 / 改時長:confirmed / waiting / seated 三狀態都可在 detail modal 改開始時間 + 時長,後端會擋班表外與時段衝突。
提示:結帳完成時,預約狀態自動變「已完成」、自動建一張派工單給該設計師填。
說明:cancelled(取消)與no_show(未到)的預約不顯示在班表 / 日曆,只在訂單列表查到。
B. 散客當下結
- 進「美業 → 開單」(不從預約走)
- 左側點服務項目加進右側購物車
- 右上選服務員(必填,業績結算用)
- 右側「+ 綁定會員」輸入電話查找;或填散客姓名
- 點結帳 選付款方式 → 確認
C. 先開單後結(多客人輪流結)
- 進「美業 → 開單」依序為 3 位客人選好服務 + 服務員
- 每位都點 開單 → 跳到結帳頁見 3 張 pending 卡片
- 客人服務做完到櫃台,點該張卡片 → 結帳
- 期間若有新客人,可隨時用右上「+ 新開單」回開單頁
介面元素(開單頁)
| 區域 | 功能 |
|---|---|
| 頂部「服務員」下拉 | 必選,影響業績結算分配;可中途切換 |
| 左側分類 tab | 切換服務分類,「全部」可看所有項目 |
| 左側服務 grid | 點一次加 1 進購物車;同項目連點累加數量 |
| 右側會員區 | 綁會員享集點;未綁會員 = 散客 |
| 右側購物車 | + / - 改數量、x 移除、清空 |
| 右側折扣 | 整單折扣金額(不是百分比,直接填扣多少) |
| 右下開單 / 結帳 | 雙鈕並排 |
後端規則(防偽造)
- 服務價格以伺服器讀取的 service.price 為準
- 前端可送
unit_price但只能等於或低於標準價(避免店員自己改高) - 訂單編號自動產:
YYYYMMDD-NNNN(每日序號重置) store_id從登入 JWT 自動帶入(員工綁的那間店)- pending 訂單可在結帳頁 modal 內「取消」(轉
voided,不影響庫存因為美業沒實物庫存)
集點規則
若該租戶有設定「點數參數」(金額 X 元 = 1 點),結帳完成會自動加給綁定會員。記錄會以「預約完成」類別出現在會員集點記錄。