Консоль заведения начинается с типа бизнеса, потому что ресторан, отель, клиника и магазин — не один и тот же бизнес, и бэк-офис, который обходится с ними одинаково, заканчивается таблицей с формой входа. Плитки ресторана и плитки жилья не совпадают, и поверх добавляются три вещи, нужные любому бизнесу: знать, что продано, кто купил и кто работал.
Панель — сетка плиток, и плитки знают, что происходит
Консоль открывается сеткой плиток, а не графиком. На каждой плитке живой значок, считающий то, что требует человека: активные заказы, столы, зовущие официанта, ожидающие брони, новые доставки, ожидающие записи, заявки на отпуск. Значки обновляются каждые несколько секунд, а когда стол нажимает вызов, поперёк панели появляется красная полоса, а не тихо растёт число в подменю.
В этом разница между панелью и отчётом. Отчёт говорит, что было вчера; сетка плиток с живыми значками говорит, чем прямо сейчас никто не занялся, а это единственное, на что человек за стойкой может отреагировать. Отчёты тоже есть — но как отдельный раздел, а не как первая страница.
Четыре типа бизнеса, четыре набора плиток
Рестораны и кафе получают экран кухни, где входящие заказы подтверждаются, отклоняются или двигаются по стадиям; менеджер меню с фотографией, категорией, доступностью, остатком, группами опций, буфетной ролью, признаком алкоголя и комбо; брони; заказы на доставку; экран столов и QR с полным расчётом — переключатель скидка с подписью, полученная сумма и сдача, способ оплаты и сгенерированный PromptPay QR; и настройки заведения: часы работы с буфером последнего заказа, режим обслуживания, буфет, доставка, категории, профиль площадки и алкоголя, число столов, идентификатор PromptPay и лимиты заказов.
Услуги и клиники получают записи, услуги и пакеты, причём вариант клиники переименовывает интерфейс в записи, пациентов и курсы лечения. Розница получает кассу для зала, консоль онлайн-заказов и товары с предупреждениями о низком остатке. Жильё получает сетку номеров с заездом и выездом, менеджер типов номеров вместе с сезонными правилами цен, входящие броней и помесячную аренду с арендаторами, депозитами, показаниями счётчиков воды и электричества и сформированными счетами с признаком оплаты.
Отчёты отвечают на четыре вопроса, которые владелец и правда задаёт
Экран отчётов одинаков для всех типов бизнеса, потому что от рода занятий вопросы не меняются: сколько я взял, сколько было заказов, каким был средний чек и как платили. Разбивка по оплате разделяет наличные, PromptPay и прочее. Рядом стоят пятёрка лидеров продаж и столбчатый график выручки за семь дней — в разрезе «сегодня», «7 дней», «30 дней» и «всё время».
Консоль берёт на себя и бумажную часть: чек можно перепечатать задним числом, а для клиента, спохватившегося позже, собрать текст чека. Налоговую накладную выставить нельзя. Статья 86/13 Налогового кодекса Таиланда оставляет это право плательщикам НДС, регистрация ни одного заведения в системе пока не записана, и мы предпочли закрыть эту дверь целиком, а не оставлять её переключателем, который нажимает кассир. Поскольку один журнал продаж питает и отчёты, и базу клиентов, график выручки и история покупок на карточке клиента читают одни и те же строки — второй таблицы отчётности, способной разойтись с первой, здесь нет.
База клиентов из журнала, а не из формы
Список клиентов персонал не заполняет. Он собирается из журнала продаж, поэтому клиент существует в базе потому, что что-то купил, а не потому, что кто-то не забыл его внести. У каждого есть заметки и метки от заведения плюс история покупок.
Поверх лежит лояльность: баллы копятся по ставке, которую заведение задаёт в своей валюте, с необязательным минимальным чеком и переключателем, отключающим всю систему. Заведение задаёт, сколько стоит награда и какая она, и списывает её с той же карточки.
Кадры: приход по GPS, переработка после восьми часов и зарплата, видная не всем
Управление персоналом доступно любому типу бизнеса. Сотрудники отмечают приход и уход с координатами GPS и необязательным комментарием, привязанным к отметке, — именно это делает отметку на нескольких точках проверяемой, а не системой на доверии. Заявки на отпуск принимаются или отклоняются, а ожидающие всплывают значком на плитке панели.
Смены и зарплата считают отработанные минуты из отметок, отмечают переработку после восьми часов в день и применяют почасовую или месячную ставку, давая выплату по каждому. Видимость намеренно несимметрична: рядовой сотрудник видит только свою оплату, владелец и управляющие — всех. Рядом лежат объявления для команды, назначаемые задачи и список сотрудников. Заведение может выдать каждому и цифровую визитку по шаблону, настроенному один раз.
Роли и честная оговорка о том, где выполняется проверка
Права собираются из тринадцати базовых возможностей плюс того, что добавят установленные модули. Готовых ролей пять — владелец с полным доступом, а также управляющий, официант, кухня и сотрудник, — и любому человеку можно задать точечные исключения. Плитки, на которые нет права, скрыты, а не показаны с отказом, а сотрудник без прав получает явное состояние «прав пока нет» вместо пустого экрана, который выглядит сломанным.
Та же матрица прав есть в базе данных как has_capability(business_id, capability): она раскрывает пресеты на сервере и используется политиками защиты на уровне строк. Чего мы утверждать не станем — что сегодня вся консоль защищена на сервере: в приложении проверки на уровне плиток идут на клиенте. Функция в базе настоящая и работает; перевод всех экранов консоли за неё не закончен. Как написаны политики, разобрано на странице безопасности.
Две оговорки, которые стоит услышать до того, как на это положиться. Проверки прав в консоли приложения выполняются на клиенте. Соответствующая функция has_capability() есть в базе и стоит за политиками защиты на уровне строк, но не считайте консоль полностью защищённой на сервере сегодня.
И база работает на бесплатном тарифе без автоматических резервных копий, а при простое засыпает. Это настоящее ограничение для ведения бизнеса на ней, и лучше вы узнаете о нём сейчас, чем в разгар обслуживания. Во что заведению обходится присутствие в Korat и что платформа берёт, написано на странице для бизнеса.
Один бизнес, одна страница, один ящик входящих
Консоль владеет и публичным лицом заведения: менеджер страницы с логотипом, обложкой и галереей, возможность публиковать в ленту Korat от имени заведения, а не от себя, входящие от клиентов и предпросмотр публичной страницы. Здесь же живёт магазин плагинов, где расширения ставятся отдельно на каждое заведение. Бизнес — один объект с одной панелью: витрина, касса, персонал и список клиентов — не четыре продукта, сшитых вместе.
Остальные плитки и страницы каждой из них
Четыре базовых типа — ещё не вся консоль. Заведение, у которого стоит очередь, открывает группы очереди со стойкой на каждое окно, а паркинг открывает талон при въезде и считает сумму при выезде в модуле парковки.
Со стороны того, чем заведение владеет: вещи, выдаваемые под залог, идут через прокат, а то, что остаётся у заведения — техника, мебель, машины, — живёт с QR-меткой в реестре активов.
И со стороны людей: открытые вакансии, полученные резюме и собеседования лежат в модуле работы и найма, а мероприятие с билетами открывает ценовые зоны и режим контроля входа через билеты.
- Типы бизнеса
- еда · жильё · услуги и клиника · розница
- Панель
- сетка плиток, живые значки каждые несколько секунд, красная полоса при вызове со стола
- Отчёты
- выручка, число заказов, средний чек, разбивка наличные/PromptPay/прочее, топ-5, график за 7 дней
- Периоды
- сегодня · 7 дней · 30 дней · всё время
- Лояльность
- ставка балла задаётся заведением, настраиваемый минимальный чек и награда
- Кадры
- приход по GPS с комментарием, согласование отпусков, переработка после 8 часов в день, почасовая или месячная ставка
- Права
- 13 базовых возможностей + модульные, 5 ролевых пресетов, исключения по людям