Перейти к содержимому

Ключевые понятия

Sitora использует один фиксированный словарь на всех поверхностях и во всех API. Вот эти термины и правила, которые к ним прилагаются.

У человека ровно одна личность в Sitora. Что он может делать, полностью зависит от контекста: одна и та же личность может быть гостем в одном ресторане, официантом в другом и владельцем третьего. Про доступ на самой личности не хранится ничего — всё живёт в членствах и ролях.

Термин Значение
Ресторан Бизнес-сущность. Владеет брендом, меню, подпиской и своими филиалами.
Филиал Один физический адрес. Операционная граница: сотрудники, заказы, склад, столы и активации робототехники — всё привязано к филиалу.
Членство Связь личности с рестораном или филиалом, несущая роль.
Роль Именованный набор прав (официант, кассир, кухня, менеджер, менеджер склада, администратор). Роли определяют, какие действия предлагает бэкенд.
Посадка Визит гостя за столом, привязанный к столу. Заказы, сделанные за столом, принадлежат посадке.
Заказ Единица спроса гостя. Проходит явную машину состояний (оформлен → оплачен → готовится → готов → подан, с вариантами доставки и самовывоза). Переходами владеет бэкенд.
Транзакция Движение денег. Неизменяема после записи.
Складская транзакция Движение запаса. Неизменяема после записи; исправления делаются компенсирующими записями.

Клиенты никогда не решают, что разрешено. Каждая поверхность, способная менять состояние, получает allowed_actions от бэкенда и рисует ровно эти возможности. Именно поэтому, например, робот никогда не может продвинуть заказ: машина состояний заказа принимает переходы только от субъектов, которых авторизует бэкенд, а робот в их число не входит — его завершения предлагают переход, который затем применяет политика или сотрудник.

Действия, меняющие деньги, доступ, запас, жизненный цикл или управление, записываются как события журнала «только на добавление» с указанием действующего субъекта. Действия владельца порождают бизнес-события журнала; действия сотрудников Sitora — события журнала Консоли; активность роботов — неизменяемый журнал событий по каждой задаче. Ничто из этого нельзя изменить задним числом.