住宿管理軟體通常在“按夜/按月”這條線上裂開:一邊是酒店 PMS,另一邊是租金臺賬,同時經營兩者的業主靠手工讓兩套系統保持一致。Korat 的住宿模組拒絕這條裂縫。酒店、度假村、公寓、共管公寓、別墅或民宿是一種業務型別,底下是一份房型目錄。同一張房態網格既能接兩晚的預訂,也能接一年的租約,而月末報表覆蓋兩者。
單位是房型,不是單個房間
一處物業被描述為一組房型——每種有照片、每晚價格、數量、描述和設施——而不是一份逐間配置的房間清單。定價和可用量實際上就是這個形狀:八間一模一樣的高階雙床房是一個產品、數量為八;把它們當成八個產品,就意味著改價有八個地方、也有八次漏改的機會。瀏覽時顯示網格或列表,帶“起價”、評分和型別角標,所以民宿和公寓在點進去之前就分得清。
評分來自能被證明住過的客人
卡片上的評分不是業主填的數字。和 Korat 裡所有評分一樣,它由資料庫觸發器從評價記錄重算,而且只有平臺能證明住過的客人才能寫——住宿是評價資格檢視裡的合格型別之一。
季節與促銷定價:算一次,用兩處
價格是會變的:宋干節(泰國四月中旬的新年假期,出行高峰)、長週末、淡季、業主搞兩週的促銷。所以房型帶定價規則,每條規則是一個日期區間加一個調整值,以百分比或店家自設貨幣的固定金額表示。重要的不是規則存在——每個預訂系統都有某種版本——而是瀏覽列表上的那個數字和實際計費的那個數字出自同一個函式。這裡不存在一套會落後於真實價格的獨立展示價計算。
這個功能的經典失敗是:搜尋結果由一條程式碼路徑定價,結賬由另一條定價,客人看到的是物業從未同意過的價格,然後被按另一個價格收費。共用同一個函式,讓這種分歧在結構上不可能發生,而不是變成一件需要去測的事。促銷規則生效時,卡片顯示劃掉的基礎價加一個角標,所以客人看到的是調整的幅度,而不只是一個更低的數字。
預訂是一個請求,由物業來確認
線上預訂收集入住與退房日期、客人和一個電話號碼,然後落進物業的預訂收件箱,由業主確認。待處理數量以每隔幾秒重新整理的實時角標停在控制檯儀表盤上,和其他等著人回應的事項並排,所以它不是一個需要誰記得去開啟的佇列。
客房服務請求進入同一個控制檯
入住期間,客人可以從應用傳送客房服務請求,它們抵達同一個控制檯。這是個小功能,卻對一家小物業的運轉影響很大,因為替代方案是房間裡一部沒人接的電話,或者走一趟前臺。
預訂是訂位,不是預付。流程收集日期、客人和電話,由物業確認。Korat 不在預訂時收卡、不凍結押金,也不處理房費——結算發生在你和物業之間。
月租帳單同理:它被生成、展示給租客,並帶一個由業主設定的已付標記。這個標記記錄錢到了,它不搬錢。
業主的房態網格與控制檯
控制檯給一處物業四塊磁貼:帶入住與退房的房態網格、含季節規則的房型管理、預訂收件箱,以及月租。網格是前臺整天待著的那一屏——一眼看清入住率,以及改變它的兩個動作;房型管理則是價格、數量、設施和定價規則只改一次的地方。
報表、客戶檔案與人事:每種業務都有的磁貼
圍繞它們的是每種業務型別都有的磁貼。報表覆蓋營業額、訂單數、客單價、現金/PromptPay/其他的構成、銷量前五、七日營業額圖表,以及今天/七天/三十天/全部四個週期,附帶收據補打和可分享的收據文字——但開不了稅務發票,因為只有增值稅登記人才能開具,而系統裡還沒有記錄任何一家店的登記資訊。客戶臺賬由銷售流水生成,帶備註、標籤、歷史,以及按店家自設匯率累積的積分——對一家接待回頭商務客的物業來說,那份歷史才是有用的部分。HR 覆蓋帶 GPS 和備註的上下班打卡、請假申請、排班與工資,含實際工時和一天超過八小時的加班,以及公告與任務。
月租:抄表變成帳單
月租這一側是模組不再像酒店系統的地方。房型帶自己的租金與水電配置;房間帶租客和押金;每個月業主錄入水錶和電錶讀數。帳單由這些讀數生成——讀數是輸入,帳單是輸出,算術不再在紙上做完、再作為一個事後沒人能核的總額敲進去。每張生成的帳單帶已付標記,所以未結清清單是一次查詢,而不是一段記憶。
這是經營一棟小公寓樓裡最容易產生糾紛的部分,恰恰因為它通常記在本子上。把讀數和租約放在一起,意味著一張帳單可以追回到它來源的那兩個數字——對“這個月為什麼高了”而言,這是比重新算一遍更好的回答。
員工權限,以及客人永遠看不到的那一側
控制檯訪問跑在權限矩陣上:十三項核心能力加上已安裝模組帶來的能力,角色預設(店主、經理、服務員、廚房、員工)以及按人覆蓋。成員缺少某項能力時磁貼直接隱藏,而什麼權限都沒有的成員會看到明確的“你還沒有任何權限”狀態,而不是一屏讀起來像壞掉的空白。
在安卓應用裡,這些檢查跑在客戶端。同一套矩陣在資料庫裡以 has_capability(business_id, capability) 存在,被行級安全策略使用並在服務端展開,所以伺服器從不聽信客戶端關於某人是什麼角色的說法——但說整個控制檯今天已經完全由服務端強制執行,那是誇大,所以我們不這麼說。
按晚計的房間在這一頁,按月計的房東與租客合約在租賃裡,兩者不是同一張單。