
預約系統的庫存與可用性怎麼設定?
庫存設定是這類系統的核心
訂房訂位系統與一般購物網站最大的差別,在於庫存是「依日期」而變動的——今天剩三間,明天剩一間,下週六早就滿了。
所以庫存設定不能只有一個數字,需要一套規則。
三層設定邏輯
常見的做法是分三層,由粗到細:
| 層級 | 設定內容 | 用途 |
|---|---|---|
| 每日預設庫存 | 這個項目平常有幾間或幾席 | 基準值 |
| 依星期設定 | 週五六日的庫存不同 | 處理週期性差異 |
| 單日設定 | 特定某一天的庫存 | 處理維修、包場、特殊活動 |
優先順序
單日設定 > 依星期設定 > 每日預設庫存
也就是說:特定日期有設定就用它,沒有的話看星期規則,還是沒有就用預設值。
這個順序不應該被更動——它的邏輯是「越具體的設定優先」,反過來會造成混亂。
調整庫存時的保護機制
這是實務上很重要的一點:不能把庫存調得比已經被預約的數量還低。
例如某天已經有 5 筆預約,就不能把當天的庫存改成 3——那會造成超賣。系統應該擋下這個操作,或至少提出警告。
同樣地,套用預設值或星期規則時,已經有預約的日期應該跳過或提示,不能無條件覆蓋。
庫存扣除的時機
這決定了系統會不會超賣,也決定了庫存會不會被無效佔用:
| 時機 | 優點 | 缺點 |
|---|---|---|
| 送出預約時扣 | 不會超賣 | 未付款的預約會佔用庫存 |
| 付款完成才扣 | 庫存不被佔用 | 可能超賣 |
| 送出時扣、逾時釋放 | 兼顧兩者 | 需設定保留時限 |
建議第三種。 送出時先扣,並設定一個保留時限(例如 30 分鐘或到當日結束),逾期未完成付款就自動釋放。
非即時付款的處理見線上付款方式有哪些。
起訖日期的庫存計算
旅宿類型的預約會跨越多天,庫存要逐日檢查與扣除。
例如訂 8 月 10 日至 12 日,系統要確認 10 日與 11 日兩晚都有空房(退房當日不佔用),任何一天沒有就不能成立。
常見的規劃問題
- 最少入住天數——旺季是否限制至少兩晚
- 最多可預約多久之後——例如只開放三個月內
- 不可入住或不可退房的日期
這些規則會增加開發複雜度,需求要在規劃階段就提出。
超賣的防範
超賣是這類系統最嚴重的問題——賣掉了不存在的房間或座位,最後要向客戶道歉並協調處理。
技術面
- 同時下單的處理——兩人同時搶最後一間,系統必須確保只有一個成功
- 調整庫存時檢查已預約數
- 跨項目共用庫存要正確關聯——例如「雙人房 1 人住」與「雙人房 2 人住」是同一批房間
營運面
- 保留緩衝——實際有 10 間,網路只開放 8 間,留給電話訂房與突發狀況
- 雙軌並行時要有同步機制——見訂房訂位系統的常見問題
可用性的呈現
從客戶端來看,庫存資訊怎麼顯示會影響轉換:
- 行事曆檢視——一眼看出哪些日期還有空,體驗最好
- 顯示剩餘數量——「僅剩 2 間」有促進決定的效果,但庫存少時也可能造成壓力
- 已滿的日期要明確標示,不要讓客戶選了才被拒絕
- 提供替代建議——該日已滿時,提示鄰近可訂的日期
最後一項很實用,能挽回一部分原本會流失的客戶。
後台該具備的功能
- 依日期查看各項目的庫存與已預約數
- 快速調整單日庫存
- 批次套用星期規則或預設值
- 手動建立預約——處理電話或現場的訂位
- 封鎖特定日期
- 匯出報表
其中手動建立預約是必備的——沒有它,電話訂位就無法納入同一套庫存,一定會超賣。