泰國大多數店裡跑著三套互不說話的系統:一套收銀、一臺外賣平臺的接單平板,還有一個用來排班的群聊。顧客在這三套裡都是陌生人。Korat 之所以存在,是因為這不是三個問題——它是一筆訂單,只是從不同的椅子上看過去。
開一家店大約需要一分鐘
建立商家,填名稱、地址和電話,選好型別。型別決定載入哪些模組。這裡沒有必須坐下來走完的設定嚮導,接第一單之前也沒有什麼非配置不可的東西,因為真正重要的設定——營業時間、外送、PromptPay、分類——是一個你隨時可以回來的標籤頁。
刪除商家刻意需要兩次確認。改名稱、地址、電話或簡介只在一張卡片裡完成,改動立刻顯示在你的公開主頁上。
餐廳:二維碼就是整套安全模型
一位店員開臺。開臺會鑄出一枚只屬於這一次就座的令牌,由二維碼攜帶。顧客掃碼、加入會話、點單。桌臺關閉時令牌隨之作廢——這正是拍下來的二維碼、或者轉發給街那頭朋友的那一張不管用的原因。
訂單不會直接進廚房。它們落進廚房顯示屏上的待確認佇列,由人逐單確認或拒絕。就這一步,劃開了“二維碼菜單”和“可以在忙碌的週五整晚開著跑的系統”。營業時間帶最後點單緩衝,所以應用會先提醒這一桌廚房要打烊了,然後徹底停止接單。
餐廳模組的其餘部分就是日常的活:帶照片、分類、可售狀態和庫存的菜單,帶價格差的選項組,套餐,帶倒計時和剩菜計費的自助餐套餐,帶店員年齡核驗的酒類門檻,桌臺訂位,帶配送費和預約取餐時間的外送,以及一個帶標籤的折扣、實收找零和按金額生成 PromptPay 二維碼的結賬。
零售、住宿與診所得到同等待遇
- 零售
- 櫃檯收銀臺,帶待處理→已確認→打包中→已發貨→已送達五步流程的線上訂單臺,運單號,帶原因的拒絕,帶屬性與規格的商品,以及帶低庫存預警的庫存。
- 住宿
- 可在網格上辦理入住與退房的房間,帶照片和每晚價格的房型,按日期區間的季節與促銷定價規則,預訂收件箱,客房服務請求,以及帶押金、水電抄表和生成帳單的月租租約。
- 服務與診所
- 帶時長和價格的服務,帶員工指派的預約,以及顧客購買並按次核銷的療程或會員。診所型別把介面改稱預約、患者和療程。
報表、客戶與會員,每種型別都有
今天、近七天、近三十天或全部時間的營業額、訂單數和客單價;現金、PromptPay 和其他的構成;銷量前五;以及一張七日營業額柱狀圖。任何一張收據都可以事後補打或作為文字分享。稅務發票開不了:泰國《稅法典》第 86/13 條只允許增值稅登記人開具,而系統裡還沒有記錄任何一家店的登記資訊——所以每一份單據都是沒有增值稅行的普通收據。
客戶名單由銷售流水自己長出來——你不用把顧客錄進去。每一位帶著他的購買歷史、你的備註和標籤、按你自設的匯率累積的積分、你設定的最低消費額與獎勵,以及一個核銷按鈕。這恰好是外賣平臺在結構上給不了你的部分:顧客歸它,你拿到的只是一筆訂單。
員工:GPS 打卡、加班,以及誰能看到什麼
每種業務型別都拿到同一套 HR 模組。員工上下班打卡時附帶 GPS 和一條可選備註。請假申請在控制檯裡批准或拒絕。排班轉化為實際工時和一天超過八小時的加班,按時薪或月薪計算,工資逐人算出。普通員工只看得到自己那份,店主和經理看得到所有人。
權限是一張矩陣,不是一個開關。十三項核心能力加上已安裝模組帶來的能力,附有店主、經理、服務員、廚房和普通員工的預設,以及疊加在上面的按人覆蓋。成員用不了的磁貼不是變灰——它根本不在。什麼權限都還沒有的成員會看到一屏樸素的“你還沒有任何權限”,而不是一個看起來像壞掉的空控制檯。
關於這在哪裡執行,要說清楚。在應用裡,隱藏磁貼的那個能力檢查跑在裝置上。同一套權限矩陣也以 has_capability(business_id, capability) 的形式存在於資料庫,並被行級安全策略使用——所以角色預設在服務端展開,資料庫從不聽信應用關於誰是經理的說法。把每一個控制檯介面都放到服務端強制執行,這件事還在推進中。安全頁面寫清了它推進到哪一步。
你的公開主頁是產品的一部分
每家商家都有一個主頁:封面、logo、相簿、帶“此刻營業中還是已打烊”的營業時間、地址、電話、導航、關注按鈕、聯絡店家按鈕,以及一個隨型別變化的行動號召——點單、逛商品、訂房、預約。你可以以商家身份向資訊流發帖,而這些帖子始終公開。
那個頁面上的評價,只能由資料庫能證明是顧客的人寫:堂食過、點過外送、住過、用過服務,或買過套餐。其餘的人看到一張說明為什麼沒有寫入按鈕的鎖定卡片。星級由資料庫觸發器從評價記錄重算,任何人都無法手填,包括我們。你可以回覆任何一條評價。