店舗コンソールは業種から始まります。飲食店とホテルとクリニックと物販店は同じ商売ではありません。それらを同じに扱うバックオフィスは、ログインの付いた表計算に落ち着きます。飲食店に見えるタイルは宿に見えるタイルではありません。そのうえで、業種によらずどの商売にも必要な3つを重ねます。何を売ったか、誰が買ったか、誰が働いていたか。
ダッシュボードはタイルの並びで、タイルは今起きていることを知っています
コンソールはグラフではなくタイルの並びで開きます。各タイルは、人の手を要するものを数えるライブのバッジを持ちます。進行中の注文、スタッフを呼んでいるテーブル、未確認の予約、新しいデリバリー、未処理の予約申込、未処理の休暇申請。バッジは数秒ごとに更新され、テーブルが呼び出しボタンを押すと、サブメニューの中で数字が静かに増えるのではなく、ダッシュボードの上端に赤いバナーが出ます。
これがダッシュボードとレポートの違いです。レポートは昨日何が起きたかを教えます。ライブのバッジが付いたタイルの並びは、いま手が付いていないものを教えます。カウンターの内側にいる人が動けるのは、そちらだけです。レポートもありますが、トップページではなく別の行き先として。
4つの業種、4組のタイル
飲食店とカフェには厨房ディスプレイ——届いた注文の承認・却下・段階の進行——、写真・カテゴリ・提供可否・在庫・オプショングループ・ビュッフェ上の役割・酒類フラグ・セットを扱うメニュー管理、予約、デリバリー注文、そして完全な会計を備えたテーブルと QR の画面——ラベル付きの割引、預かり金額とお釣り、支払い方法、生成される PromptPay QR——と、ラストオーダーの余裕を含む営業時間、提供形態、ビュッフェ、デリバリー、カテゴリ、店舗と酒類のプロフィール、卓数、PromptPay の ID、注文の上限を設定する店舗設定が付きます。
サービス業とクリニックには予約・サービス・パッケージが付き、クリニックでは画面が予約・患者・施術コースという語彙に変わります。物販には対面のレジ、オンライン注文コンソール、そして残り少ない在庫を警告する商品管理。宿泊にはチェックイン・チェックアウトのできる客室グリッド、季節料金ルールを含む部屋タイプ管理、予約受信箱、そして入居者・敷金・水道と電気の検針値・支払い済みフラグ付きの生成された請求を扱う月極賃貸が付きます。
オーナーが実際に尋ねる4つの問いに答えるレポート
レポート画面はどの業種でも同じです。問いが業種で変わらないからです。いくら入ったか、何件だったか、客単価はいくらか、どう支払われたか。支払いの内訳は現金・PromptPay・その他に分かれます。その隣に売れ筋トップ5と7日間の売上棒グラフが並び、本日・7日・30日・全期間で切り替えられます。
書類仕事もコンソールが扱います。レシートはあとから再印刷でき、後日求めてきた客のために共有可能なレシートのテキストを生成できます。税額票は発行できません。 タイの歳入法典 86/13 条は発行を VAT 登録事業者に限っており、どの店の登録もこのシステムはまだ記録していません。私たちはレジ係が切り替えるスイッチとして残すのではなく、その扉ごと閉じることを選びました。一つの販売台帳がレポートと顧客台帳の両方を動かしているので、売上グラフと顧客カードの購入履歴は同じ行を読んでいます。ずれていく二つめの集計テーブルは存在しません。
顧客台帳は入力フォームではなく台帳から作られます
顧客リストはスタッフが打ち込むものではありません。販売台帳から組み上がるので、顧客が台帳に載っているのは何かを買ったからであって、誰かが登録を覚えていたからではありません。それぞれに店が書いたメモとタグ、そして購入履歴が付きます。
その上に会員機能が乗ります。ポイントは店が自店の通貨で自由に設定するレートで貯まり、最低購入額と会員機能全体のオン・オフも任意で設定できます。店は特典に何ポイント必要かと特典の内容を設定し、同じカードから引き換えます。
人事——GPS つきの打刻、1日8時間超の残業、そして部分的にしか見えない給与
スタッフ管理はどの業種でも使えます。チームのメンバーは GPS の位置と任意の備考を添えて出退勤を打刻します。これが、複数拠点の打刻を性善説ではなく確認できるものにします。休暇申請は承認か却下され、未処理のものはダッシュボードのタイルにバッジとして浮かびます。
シフトと給与は打刻から実労働分を計算し、1日8時間を超えた分を残業として数え、時給か月給を適用して各メンバーの支払額を出します。見える範囲は意図的に非対称です。一般のメンバーは自分の分だけ、オーナーとマネージャーは全員分を見ます。その隣にチームのお知らせ、割り当て可能なタスク、メンバー一覧が並びます。
役割と、判定がどこで走るかについての正直な注記
権限は13のコア権限に、インストールしたモジュールが足すぶんで構成されます。役割プリセットは5つ——オーナー(ワイルドカード)、マネージャー、ホール、キッチン、スタッフ——で、どのメンバーにも個人ごとの上書きを重ねられます。権限のないタイルは、表示してから断るのではなく隠れます。権限が一つもないメンバーには、壊れて見える空の画面ではなく「まだ権限がありません」と明示する状態が出ます。
同じ権限マトリクスはデータベースにも has_capability(business_id, capability) として存在し、役割プリセットをサーバー側で展開して行レベルセキュリティのポリシーに使われています。主張しないのは、今日コンソール全体がサーバー側で強制されている、ということです。アプリの中では、タイル単位の判定はクライアントで走ります。データベースの関数は実在して使われていますが、コンソールのすべての面をその後ろに移す作業は終わっていません。ポリシーの書き方はセキュリティのページで扱っています。
これに頼る前に言っておくべき2点。 アプリのコンソールの権限判定はクライアントで走ります。対応する has_capability() はデータベースに存在して行レベルセキュリティのポリシーを支えていますが、今日のコンソールを完全にサーバー側で強制されているものとして読まないでください。
そしてデータベースは自動バックアップのない無料プランで動いており、使われていないと一時停止します。これはこの上で商売を回すことに対する実在の制約であり、忙しい時間帯に知るより今知っていただくほうがましだと考えています。
一つのビジネス、一つのページ、一つの受信箱
コンソールは店の公の顔も持ちます。ロゴ・カバー・ギャラリーのページ管理、自分としてではなく店として Korat のフィードに投稿する機能、客からの受信箱、そして公開ページのプレビュー。さらにプラグインストアもここにあり、アドオンは店ごとにインストールされます。ビジネスは一つのダッシュボードを持つ一つのオブジェクトです。店頭、レジ、スタッフ、顧客リストが4つの製品を縫い合わせたものではありません。
- 業種
- 飲食 · 宿泊 · サービスとクリニック · 物販
- ダッシュボード
- タイルの並び、数秒ごとに更新されるライブのバッジ、テーブルの呼び出し時は赤いバナー
- レポート
- 売上、件数、客単価、現金 / PromptPay / その他の内訳、売れ筋トップ5、7日間グラフ
- 期間
- 本日 · 7日 · 30日 · 全期間
- 会員機能
- 店が自由に設定するポイントレート、最低購入額と特典は設定可能
- 人事
- 備考付きの GPS 打刻、休暇の承認、1日8時間超の残業、時給または月給
- 権限
- 13のコア権限+モジュールの権限、5つの役割プリセット、個人ごとの上書き
どのモジュールが自分の裏側に並ぶかはモジュールとプラグインで自分で選びます。会社が従業員に発行するデジタル名刺もここで管理します。
同じ打刻・シフト・給与のデータを、従業員自身の側から見たものがマイ職場です。チケットを売る催しの主催者側はイベントとチケットにあります。