預約參數
預約參數設定控制美業預約系統的全域行為規則,包含會員端 LIFF 預約頁的時段範圍、預約看板分桶閾值、業務日切換時間、派工單規則、對外開放分店、預約表單自訂欄位、結帳時是否自動套用行銷活動等。這些參數影響顧客的預約體驗與門市的作業流程,建議在正式開放預約前完整設定。
進入路徑
後台左側 美業預約 → 預約參數。
班別設定 / 特殊日期已搬遷
美業預約 → 班表 頁右上「班別設定」按鈕。
- 特殊日期 / 店休(全店休假或縮短營業)已移至 美業預約 → 班表 頁右上「特殊日期」按鈕。多分店:本頁是 per-store 設定
連鎖租戶下,本頁所有設定都是每間分店各自一份。畫面頂部 banner:
- 橘色「正在編輯:[分店名]」→ 改的是該分店私有
- 黃色「正在編輯:全店共用設定」→ 影響所有分店
切分店:左上角當前門市切換器。下方工具:
per-store 涵蓋的 key
存在 beauty_settings 用 key@storeId namespace 區隔:
| key | 對應區塊 |
|---|---|
reservation_config | 預約功能設定(提前天數 / pending 自動取消 / 等待入座閾值…) |
business_day_boundary_hour | 業務日切換時間 |
work_order_config | 派工單規則(鎖定天數 / 完成推 LINE) |
shifts | 班別設定(在班表頁編輯) |
exception_shifts | 特殊日期 / 店休(在班表頁編輯) |
單店租戶看不到 banner 與工具按鈕(系統自動隱藏)。
每張卡片左上角的「範圍標籤」(2026-08-17 新加)
選了某一間分店在編輯時,每個區塊上方會出現一個標籤,直接講清楚「這張卡現在的值是哪裡來的」:
| 標籤 | 意思 |
|---|---|
| 所有分店共用(灰) | 這個設定不分店,儲存後所有分店一起生效 |
| 沿用全店設定(藍) | 本店還沒單獨設定過,目前用的是全店那份;按下儲存後這張卡就變成本店專屬 |
| 本店專屬設定(部分沿用全店)(橘) | 本店有自己的一份,但其中幾個欄位還沿用全店 —— 標籤後面會列出是哪幾個欄位(例:預約時段間隔、班表拖曳只限橫向)。按下儲存會把這些欄位一併固定成本店的值 |
| 本店專屬設定(綠) | 整張卡都是本店自己的值,只影響目前編輯的這間分店 |
未選分店(全店視角)時不顯示標籤 —— 那時看到的本來就是全店那份。
分店設定改成「逐欄沿用」(2026-08-17 修正)
舊行為:只要某分店存過一次「預約功能設定」,之後在全店層級新增的任何欄位對該分店永遠不生效。實際症狀是:新出的「預約時段間隔」在全店設了 30 分鐘,那間分店的顧客端仍然看到 15 分鐘。
新行為:分店明確設過的欄位照舊完全蓋過全店;分店那份沒有的欄位才沿用全店。所以新功能上線後,舊有分店不必重存一次也能拿到新設定的值。上面的橘色標籤就是在告訴您「這張卡有哪些欄位還在沿用」。
這個改動只影響同一張卡內「新欄位」的取值,您原本各分店設過的值一個都不會被動到。
只有一家分店的店家:設定終於吃得到了(2026-08-17 修正)
設定分成 5 個頁籤
頁面上方有 5 個頁籤,點名稱切換:
| 頁籤 | 這一頁放什麼 |
|---|---|
| 預約規則 | 預約功能設定、業務日切換時間 |
| 線上預約 | 對外開放線上預約、預約表單自訂欄位 |
| 通知提醒 | 預約前提醒 |
| 派工單 | 派工單設定 |
| 行銷活動 | 結帳時自動套用行銷活動 |
這一頁是「每一區各自一顆儲存鈕」
未儲存提醒:某個頁籤還有沒存的改動時,該頁籤上會出現一個小圓點,區塊底部也會就地標示「尚未儲存」。若在有未儲存變更的情況下直接切到別的頁籤,系統會跳出確認視窗提醒您改動會遺失,可以選擇取消、回去按儲存。
進入頁面時一律停在「預約規則」頁籤。
預約規則頁籤
預約功能設定
控制會員透過 LIFF 預約時可選的時間範圍與保留邏輯。
最多提前幾天可預約 會員 LIFF 預約頁的「選擇日期」最遠開放到今天 + 此天數。例:設 14 → 最多預約 2 週後的時間。預設 14 天。
最少提前幾天可預約 預約頁的「選擇日期」最近從今天 + 此天數起算。設 0 表示可預約今天(須搭配「允許當日預約」開啟);設 1 表示最快只能預約明天。
預約時段間隔(2026-08-16 新加;2026-08-17 改為自行輸入) 顧客在 LIFF 預約頁看到的時間選項,每隔多久出現一個。
直接在欄位輸入 5 到 120 之間的整數分鐘,預設 15 分鐘。 原本是 10 / 15 / 20 / 30 四選一的下拉,現在可以填 12、25、45、90 這類下拉沒有的數字。欄位右側會即時顯示「顧客會看到:09:00、09:45…」讓您先確認。
| 設定 | 顧客會看到的時間 |
|---|---|
| 10 分鐘 | 09:00、09:10、09:20、09:30… |
| 15 分鐘(預設) | 09:00、09:15、09:30、09:45… |
| 30 分鐘 | 09:00、09:30、10:00、10:30… |
| 45 分鐘 | 09:00、09:45、10:30、11:15… |
服務時間多為整點 / 半點的店家(例如燙染 2 小時起跳)設 30 分鐘可以讓顧客少滑一點;美甲這類 10 分鐘也能起單的店家可設 10 分鐘。
超出範圍會自動修正:輸入 3 或 200 這種值,游標離開欄位時會自動改成最接近的合法值(5 或 120),欄位下方也會出現橘色提示。若用其他方式送出不合法的值,系統會直接擋下並顯示「時段間隔請輸入 5 到 120 之間的整數(分鐘)」。
為什麼有上下限:低於 5 分鐘會讓顧客端一天冒出好幾百個時間選項、後台班表也會被切到看不清楚;高於 120 分鐘則一天只剩 5~7 個可選時間,等同關閉線上預約 —— 真的要暫停請用「線上預約總開關」。
後台「班表(時間軸)」的格線會跟著同一個設定走,所以後台看到的格子與顧客能選的時間永遠對得齊,班表的拖曳也會改成一次移動一格。改間隔不會讓班表變高變矮(一小時在畫面上永遠一樣高),只有格線疏密不同。
已經建立的預約不會被改動:把間隔從 15 改成 30 之後,原本 09:15 的預約仍然照原時間顯示在兩條格線中間,不會被移到 09:00 或 09:30。只是顧客之後新預約時選不到 09:15 這種時間。
此設定也是 per-store,每間分店可各自設定。
允許當日預約 關閉後,會員今天無法預約今天的時段(最快明天)。臨櫃 / POS 後台建單不受此限制。
最晚可預約開始時間(全店預設)(2026-09-03 新加,2026-09-04 起可逐班別覆寫) 開關 + 時間,預設關閉=全店不限制。開啟後可填一個時刻(例 17:30),晚於這個時刻開始的線上預約一律不開放。
| 要點 | 說明 |
|---|---|
| 跟設計師的下班時間無關 | 即使某位設計師排到 21:00,只要開始時間晚於這裡設的時刻,線上預約仍然選不到 |
| 管的是「最晚幾點開始」 | 不是「最晚做到幾點」。做到幾點依班表的下班時間;同一筆預約只看它的開始時間,後面的項目做得比較晚不會因此被擋 |
| 勾了「同時施作兩個項目」也一樣 | 並排的項目共用同一個開始時間 |
| 客人不指定設計師時 | 只要還有任何一位能做該項目的設計師沒過自己的時限,該時段就仍然開放;但可用人力只算進「還能開始」的那幾位 |
這裡只是「全店預設值」,真正生效的值在排班的班別上
等待確認自動取消時間(分鐘) 會員送出預約後變「待確認」(pending),若 N 分鐘內店家還沒到後台按「確認預約」,系統自動 cron 取消並推 LINE 通知會員「預約逾時自動取消」。預設 30 分鐘。設 0 表示永不自動取消(pending 一直保留等人工處理),夜店類需設 0 等隔天確認。對應後端:apps/api/src/lib/cron/beauty-reserve-hold-expire.ts(每 5 分鐘掃一次)。
「等待入座」分桶閾值(分鐘) 預約看板把「快要到了 / 已遲到」的單獨立顯示成「等待入座」桶。預約時間前後 N 分鐘的單會落入此桶。預設 15 分鐘。
不同分類項目並排(同時施作)(2026-07-16 新加) 預設關閉。關閉時,會員一次預約多個項目,時間會「往後累加」(例:14:00 美甲 60 分 → 美容從 15:00 起)。開啟後,若會員預約的項目屬不同分類,系統會安排同一開始時間、由不同設計師同時施作(例:14:00 同時做美甲 + 美容)。同分類的多個項目仍會往後排。並排需要該時段有足夠且不同的可用設計師(美甲一位、美容另一位);若湊不到足夠的不同設計師,該時段就不會開放預約(會員選不到)。適合有多位設計師、想讓客人一次做完不同服務的店家。
後台建單可超過名額/班表(2026-09-03 新加) 預設開啟。決定店員在看板 / 班表「手動預約」時,遇到「設計師不在班表內」「同一位設計師撞單」「該時段名額已滿」三種情況要怎麼處理:
- 開啟(預設):單照建(行為與加此設定前完全相同),但建立後畫面會跳出「已建立,但:…」列出被繞過的項目,操作紀錄同時留一筆
beauty.reservation.admin_override(附被繞過的項目)。適合臨櫃臨時加單、老闆親自安排的店家。 - 關閉:店員在後台建單也會被擋下(HTTP 409,文案與線上預約相同),必須改時間或設計師才建得起來。要嚴格照名額走的店家再關。
線上預約(LIFF)不受此開關影響,一律嚴格檢查。此設定也是 per-store。
班表拖曳只限橫向(2026-07-20 新加) 預設關閉。控制後台「班表(時間軸)」頁拖曳預約的行為:
- 關閉(預設):拖一張預約可以自由拖曳,左右換設計師、上下改時間都行。
- 開啟後:拖曳只能左右換設計師欄,上下(時間軸)會被鎖住拖不動,避免在平板上不小心把客人的預約時間拖歪。要改時間,請直接點進該預約卡片修改。
適合門市多用平板操作、常發生「本來只想換設計師卻不小心改到時間」的店家。此設定也是 per-store,每間分店可各自開關。
改完以上任一欄位,請按本區底部的 「儲存預約設定」。
業務日切換時間
報表 / 結算的「今日」從哪一刻起算,預設 00:00(午夜切日)。
若您的店有跨夜營業(例如夜店凌晨 5 點才打烊),可設成 05,表示凌晨 5 點才算新的一天。如此 23:00 開的單跟 04:30 開的單會算同一個業務日,結算報表才不會把同一場營業切成兩天。
這一區有自己的儲存鈕(就在區塊底部,標示為「儲存」),改完要按它才會生效;按上面「預約功能設定」的儲存鈕不會存到這一區。
線上預約頁籤
對外開放線上預約
線上預約總開關
整個美業預約系統的總閘門。關閉後,所有分店的 LIFF 預約頁都會顯示:
目前未開放線上預約,如有預約需求請私訊官方帳號
無論會員從哪個分店連結進入,一律擋下不能送單。臨櫃 / POS 後台不受此限制,可正常為會員建單。
適用情境:年節店休、人員不足、臨時停業、舊系統遷移期等。
這個總開關沒有儲存鈕——切換後立即生效並存檔,不需另按儲存。
對外開放的分店(只有開連鎖時顯示)
當總開關開啟時,可進一步控制哪些分店對外開放線上預約。勾選的分店會出現在會員 LIFF 預約選單;取消勾選的不會出現(適合純後台管理店,如總店、培訓中心、倉儲據點)。
每間分店顯示「對外開放」/「僅後台管理」標籤,可隨時切換。臨櫃 / POS 後台仍可為「僅後台管理」的分店建單,不受此限制。
總開關關閉時,下方分店白名單會變灰色不可調整(無意義,因為一律擋下)。改完分店勾選請按 「儲存分店白名單」。
預約表單自訂欄位
在 LIFF 預約頁要求客人填寫的額外欄位(例如:寵物名字、髮型偏好、過敏物質等)。
每個欄位包含:
- key 給程式辨識用,英數字底線,開頭英文字(例:
pet_name、allergy) - label 給客人看的中文標題(例:寵物名字)
- type 欄位型態,可選文字 / 多行文字 / 下拉選單
- 必填 是否強制填寫
- placeholder 提示文字(選填)
- options 下拉選單的選項清單(用半形逗號分隔,如:小,中,大)
key 不可重複;變更已存在的 key 會讓既有預約資料無法對應。改完請按本區底部的 「儲存自訂欄位」。
已修正:按「儲存預約設定」不會再清空自訂欄位
通知提醒頁籤
預約前提醒(2026-06-17 新加)
cron 在預約時間前 N 分鐘自動推 LINE Flex 圖卡提醒會員。每張預約每個 offset 終生只推一次,不會重複打擾。
- 啟用預約前提醒:關閉就完全不發提醒(預設關)
- 提醒時機(最多 3 個):每個 offset 用「分鐘」表示。例:
1440(前 1 天)、120(前 2 小時)、30(前 30 分鐘) - 系統每 10 分鐘掃一次,找到
reserved_time = NOW() + offset(±5 分鐘窗口) 且狀態pending或confirmed的單就推 Flex - 推送過會在預約 note 加
[reminded:beauty_<N>]標記避免重複 - Flex 圖卡版型可在「內容管理 → 系統圖卡 → 美業預約前提醒卡」自訂(變數含會員姓名 / 服務 / 設計師 / 分店 / 編號 / 剩餘時間描述)
此設定也是 per-store —— 不同分店可設不同提醒時機(例如總店設前 1 天 + 前 2 小時,旗艦店再加前 30 分鐘)。
改完請按本區底部的 「儲存提醒設定」。
派工單頁籤
派工單設定
服務完成後填寫的派工單(紀錄使用產品、技師筆記等)相關設定。
完成後幾天鎖定不能修改 已完成的派工單在 N 天後變唯讀(避免事後改動歷史資料)。設 0 表示永遠不鎖定。
派工單完成時推送 LINE 通知會員 技師完成派工單填寫並送出時,系統自動推送「服務已完成」訊息給該會員 LINE。
改完請按本區底部的 「儲存派工單設定」。
行銷活動頁籤
結帳時自動套用行銷活動
控制「行銷活動」頁建立的限時特價 / 滿減 / 滿送贈品,要不要在美業 POS 結帳時真的折進金額。預設關閉:關閉時行銷活動只是建立在後台,結帳金額完全不受影響。
開啟後,POS 結帳畫面會依目前生效中的活動自動計算折扣,多一列「行銷活動折抵」,並把折抵金額寫進訂單,店員無法手動改這一列。折抵順序:先算限時特價(逐品項,與店員手動改價取較便宜的一邊,不重複折),再算滿減,最後才加上店員手動輸入的折扣;折抵總額不會超過品項小計,應收金額不會變成負數;已過結束時間或已停用的活動不會被套用,活動時段以台北時間判定;滿送贈品會以 0 元品項列寫進訂單,方便對帳與交付。
這是逐店設定(per-store),多分店要各自開一次。詳細的活動類型與設定方式見 行銷活動。
改完請按本區底部的 「儲存行銷活動設定」。
常見問題
Q1 如何讓會員無法當天預約
關閉「允許當日預約」即可,最快只能預約明天。若要更嚴格,把「最少提前幾天可預約」設成 1 以上。
Q2 設定了「最多提前 14 天」但 POS 後台還能預約 30 天後
正常。預約參數只限制會員 LIFF 端,POS 後台 / 臨櫃建單不受限,方便接受老客戶長期預約。
Q3 業務日切日設了 05:00,為什麼今天的單還是出現在昨天的報表
若該單建立時間落在 00:00–05:00,系統會算成「前一日」的業務日,這是預期行為(給跨夜店用)。一般店不需動此設定,維持 00:00 即可。
Q4 刪除預約自訂欄位會影響已存在的預約嗎
不影響舊預約資料的儲存(仍保留在資料庫),但後續顯示時找不到對應 label,會顯示成原始 key。建議要刪欄位前先匯出歷史資料備份。
Q5 我改了好幾個頁籤,可以最後一次存嗎
不行。 這一頁是「每一區各自一顆儲存鈕」的設計,一顆鈕只存它所在的那一區。改了哪一區,就要按那一區底部的儲存鈕。
判斷方法:頁籤上出現小圓點=那一頁還有沒存的改動;區塊底部出現「尚未儲存」=那一區要按儲存。直接切到別的頁籤時系統會跳出確認提醒您。
其他問題協助