SSABSUSAcademy
POS

POS-система в SABSUS

Подробная инструкция по работе с терминалом: PIN-код, открытие рабочей и кассовой смены, список заказов, создание нового заказа, каталог, клиент, адрес, промо, оплата, печать, статусы, доставка и POS-меню.

POS-система в SABSUS visual guide
УровеньПродвинутый
Время20 минут
ФорматИнтерактивный walkthrough
Поля45 объяснено

Голосовое объяснение

Аудиофайл: pos-system-ru.mp3

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

Пошаговая инструкция

Сначала пройдите интерактивную карту экрана. Точки показывают, где находится действие. После walkthrough ниже идут карточки по каждой кнопке и рабочему блоку: что нажимать, что проверять и зачем это нужно.

Эти экранные карты собраны по исходникам lib/terminal/kassa, lib/terminal/sale, lib/components/pin_block, lib/terminal/ssmena, lib/components/listorders и связанным POS-компонентам.

Поля и кнопки на этом экране

Вход в POS

Как выполнить: Откройте https://sabsus.flutterflow.app/logkass и введите PIN сотрудника. После верного PIN откроется Kassa.

Зачем: PIN-вход выбирает сотрудника и не дает терминалу стартовать под неправильным человеком.

Загрузка Kassa

Как выполнить: После PIN-входа дождитесь загрузки продуктов, категорий, оплат, налогов, сотрудников, счетов и заказов.

Зачем: Если начать работу до загрузки данных, списки могут выглядеть пустыми или неполными.

Загрузка данных

Как выполнить: Дождитесь загрузки продуктов, категорий, методов оплаты, налогов, сотрудников, счетов и realtime-заказов.

Зачем: Пока данные не загружены, экран может выглядеть пустым или неполным.

Рабочая смена сотрудника

Как выполнить: Если появляется окно смены сотрудника, нажмите Start shift.

Зачем: Рабочая смена фиксирует время персонала отдельно от кассы.

PIN-код

Как выполнить: Нажмите замок, введите 4 цифры, используйте очистку или backspace при ошибке.

Зачем: PIN ускоряет защищённые действия и сохраняет ответственность конкретного сотрудника.

Индикатор кассовой смены

Как выполнить: Нажмите зелёный или красный индикатор смены в верхней панели.

Зачем: Так открывается Cash shift management, где видно открыта касса или нет.

Открытие кассовой смены

Как выполнить: Введите Cash at opening и нажмите Open shift.

Зачем: Стартовая сумма нужна для расчёта расхождения при закрытии.

Закрытие кассовой смены

Как выполнить: Введите фактическую наличность, проверьте expected balance и cash difference, добавьте комментарий и нажмите Close shift.

Зачем: Закрытие без сверки скрывает кассовые ошибки.

Калькулятор наличности

Как выполнить: Используйте поля монет и купюр для пересчёта кассы.

Зачем: Пересчёт по номиналам снижает ошибки ручной арифметики.

Карточка сотрудника

Как выполнить: Проверьте, какой сотрудник активен, и откройте профиль при необходимости.

Зачем: Заказы, смены и действия должны быть привязаны к правильному человеку.

Переключатель списка и плиток

Как выполнить: Нажмите иконку вида; двойное нажатие и долгое нажатие меняют количество колонок плиток.

Зачем: Плитки удобны на быстрых продажах, список удобен для детального контроля.

Вкладки терминала

Как выполнить: Используйте Active, Service Calendar, Bookings, Table map, Archive, Available Slots и Routes.

Зачем: Это разные рабочие зоны, а не просто текстовые фильтры.

Фильтры статуса

Как выполнить: Выберите Unpaid, In Progress, Done, Canceled или All Statuses.

Зачем: Так быстрее найти неоплаченные, активные или завершённые заказы.

Фильтры типа заказа

Как выполнить: Выберите All, Dine-in, Pickup, Delivery или Catering.

Зачем: Тип заказа определяет, нужны ли стол, адрес, курьер или event-данные.

Период

Как выполнить: Откройте календарь и выберите нужный период.

Зачем: Это нужно для архива, доставок, броней и старых заказов.

Сортировка таблицы

Как выполнить: Нажимайте Type and channel, Date, Delivery date, Status, Amount and payment.

Зачем: Сортировка помогает быстро найти срочный, неоплаченный или поздний заказ.

Открытие заказа

Как выполнить: Нажмите строку или плитку заказа.

Зачем: Откроется Orderkassa/Sale без выхода из POS.

Новый заказ

Как выполнить: Нажмите New order только после проверки сотрудника и смен.

Зачем: Новый заказ получает сотрудника, заведение, кассу, смену, валюту и POS integration.

Выбор типа заказа

Как выполнить: Выберите Dine-in, Pickup, Delivery или Catering; fast-food может создать Dine-in сразу.

Зачем: Тип управляет доступными полями, продуктами и маршрутизацией.

Dine-in и столы

Как выполнить: Для заказа в заведении выберите стол, зал, гостей или бронь, если бизнес это использует.

Зачем: Столы связывают сервис, посадку и оплату с правильными гостями.

Pickup

Как выполнить: Используйте Pickup, когда клиент сам забирает заказ.

Зачем: Pickup не требует курьера, но может требовать клиента и время готовности.

Delivery

Как выполнить: Используйте Delivery для адреса, маршрута, курьера, статуса доставки и стоимости доставки.

Зачем: Доставка требует больше данных, чем обычный заказ.

Catering

Как выполнить: Используйте Catering для событийных заказов.

Зачем: Catering не должен смешиваться с обычным dine-in или pickup.

Каталог

Как выполнить: Откройте Catalog, выберите категорию, найдите продукт или отсканируйте код.

Зачем: Продукты формируют корзину, суммы, налоги и производство.

Scanner

Как выполнить: Нажмите Scanner и наведите камеру на barcode или QR.

Зачем: Код может соответствовать product ID, QR code или excise code.

Services

Как выполнить: Для услуг выберите сотрудника, дату, длительность и доступный слот.

Зачем: Услуги требуют расписания, а не только количества.

Customer

Как выполнить: Найдите, отсканируйте, выберите или создайте клиента.

Зачем: Клиент подключает CRM, скидки, бонусы, депозит и историю.

Address

Как выполнить: Откройте Address для доставки или адреса клиента.

Зачем: Адрес влияет на стоимость доставки, маршрут, налоги и курьера.

Promotions

Как выполнить: Введите промокод, выберите промо и нажмите Apply.

Зачем: Скидка должна быть видна в суммах и истории.

Basket

Как выполнить: Проверьте продукты, количество, модификаторы, единицы и кнопки удаления.

Зачем: Ошибки в корзине ломают суммы, производство и склад.

Production comment

Как выполнить: Пишите здесь только инструкции для кухни или цеха.

Зачем: Производственный комментарий не должен заменять клиентский комментарий.

Customer comment

Как выполнить: Используйте для пожеланий клиента или клиентских инструкций.

Зачем: Это отделяет customer-facing данные от внутренних заметок.

Totals

Как выполнить: Проверьте delivery cost, discount, subtotal, tax, tips, commission, paid и total.

Зачем: Оплата принимается только после понятного итога.

Pay

Как выполнить: Нажмите Pay, выберите метод, бонусы, сумму, чаевые, налог, комиссию и комментарий.

Зачем: Оплаты должны объяснять, как закрыт заказ.

Payment information

Как выполнить: Откройте строку оплаты, чтобы увидеть метод, сумму, order, tips, tax, fee и comment.

Зачем: Это нужно перед refund или объяснением расхождений.

Refund payment

Как выполнить: Используйте Refund payment только после проверки конкретной оплаты.

Зачем: Refund меняет paid totals, финансы и историю заказа.

Print receipt

Как выполнить: Печатайте чек после проверки суммы и настроек языка/чека.

Зачем: Чек подтверждает продажу и может быть нужен клиенту или учёту.

Change status

Как выполнить: Меняйте Awaiting, Paid, Confirmed, Started, In preparation, Ready, Awaiting delivery, Delivered, Waiting customer, Done.

Зачем: Статусы управляют кухней, доставкой, клиентскими ожиданиями и отчётами.

Send to kitchen

Как выполнить: Отправляйте на кухню/производство только когда позиции и комментарии готовы.

Зачем: Иначе кухня получит неполный заказ.

Assign courier

Как выполнить: Назначайте курьера для delivery и проверяйте delivery windows, tracking number и link.

Зачем: Курьер нужен для ответственности и поддержки клиента.

Cancel order

Как выполнить: Отменяйте заказ только когда он действительно не должен быть активным.

Зачем: Отмена должна быть объяснима в истории и отчётах.

POS menu

Как выполнить: Используйте Products, Stock, All shifts, break, Start/Close shift, transaction, supplier delivery, devices, terminal settings, deposit, manager panel и refresh.

Зачем: Это соседние операции терминала, а не случайные переходы.

Refresh data

Как выполнить: Нажимайте Refresh data после изменений в настройках, продуктах, оплатах, налогах или сотрудниках.

Зачем: POS использует кэш и realtime-потоки, которым иногда нужен reload.

Частые ошибки

  • Открывать /Kassa напрямую и пропускать /logkass: кассир не проходит PIN-вход, и контекст POS может выглядеть неверным.
  • Вводить PIN, который не назначен текущему сотруднику или пользователю.
  • Создавать заказ до открытия рабочей или кассовой смены.
  • Использовать общий PIN для нескольких сотрудников.
  • Закрывать кассу без фактической суммы и комментария при расхождении.
  • Путать рабочую смену сотрудника и кассовую смену.
  • Выбирать неверный тип заказа: delivery как pickup скрывает адрес и курьера.
  • Добавлять продукты без проверки заведения и доступного канала продаж.
  • Сканировать код и не проверять найденный продукт.
  • Писать клиентские инструкции в production comment.
  • Принимать оплату до проверки скидок, налогов, доставки, чаевых и комиссий.
  • Делать refund без проверки конкретной строки оплаты.
  • Печатать чек до финальной проверки статуса и оплаты.
  • Отправлять на кухню до заполнения модификаторов и комментариев.
  • Ставить Done, когда доставка, выдача, производство или оплата не завершены.
  • Забывать Refresh data после изменений в продуктах, налогах, оплатах или сотрудниках.
AI Agent Field Reference для реализации

Этот блок ниже основной инструкции. Он объясняет, какие данные POS пишет или читает, чтобы будущие AI-агенты могли правильно отвечать про заказы, оплаты, смены, статусы, производство и доставку.

ПолеХранится какНазначениеПочему важно
POS entry routeLogkassWidget.routePath = /logkassРеальный экран входа в POS с PIN-блоком.Кассир начинает здесь: Logkass загружает сотрудников и проверяет PIN перед открытием терминала.
POS workspace routeKassaWidget.routePath = /KassaРабочая страница кассира после PIN-входа.Kassa — это не первый публичный вход, а рабочий терминал после успешного /logkass.
Должность сотрудникаFFAppState().User.positionПроверяет, может ли пользователь работать в POS.Если должность пустая, терминал уводит пользователя из POS.
ЗаведениеFFAppState().User.establishmentТекущая локация сотрудника.Заказы, продукты, налоги, склад, залы, оплата и валюта зависят от локации.
Настройки терминалаFFAppState().terminalПоведение и раскладка POS.Колонки, строки продуктов, поиск, категории и терминальные настройки читаются отсюда.
Realtime заказыactions.startOrdersStream(...)Поток заказов компании, заведения и кассы.Список заказов должен обновляться без ручной перезагрузки.
PINusers.Pin / PinBlockWidgetЧетырёхзначный код доступа.PIN нужен для защищённых действий и ответственности сотрудника.
Рабочая сменаtimeWorker / EmplyySmenaWidgetСмена времени сотрудника.Это не то же самое, что кассовая смена.
Кассовая сменаFFAppState().cashRegister / SmensStructСмена денежной кассы.Наличные и расхождения должны быть привязаны к правильной кассе.
Стартовая суммаSmensStruct.summaNachalasmensНаличность при открытии.От неё считается закрытие.
Фактическая суммаSsmenaWidget closeTextControllerПересчитанная наличность при закрытии.Нужна для выявления расхождения.
Комментарий кассираSmensStruct.commentПояснение к смене или разнице.Расхождение без комментария сложно проверять.
Режим экранаKassaModel.pagefocusorders, tiles, table, archive, menu, bookings, service, inventory calendar.Один терминал показывает разные рабочие зоны.
Фильтры статусовUnpaid / In Progress / Done / Canceled / All StatusesБыстрая фильтрация заказов.Помогает не пропустить неоплаченные или активные заказы.
Фильтры типовatplace / pickup / delivery / cateringТипы заказов.Тип влияет на обязательные поля и отчётность.
ПериодKassaModel.periodДиапазон дат.Нужен для архива, доставок и старых заказов.
Список заказовListordersWidgetТабличное отображение заказов.Даёт сортировку и основные действия.
Плитки заказовOrderitemTilesWidgetКомпактные карточки.Удобно на быстром терминале.
Новый заказKassaWidget New orderСоздаёт OrderStruct и открывает SaleWidget.Заказ получает POS integration, сотрудника, смену, кассу, валюту и статус.
Fast food режимestablishments.fastFoodСоздаёт atplace заказ без выбора типа.Ускоряет работу быстрых заведений.
Тип заказаTipOdersWidgetВыбор atplace, pickup, delivery или catering.Определяет доступные поля, продукты и маршрутизацию.
OrderStructOrderStructОсновной объект заказа.Связывает товары, оплаты, клиента, статусы, доставку, комментарии и историю.
integrationOrderStruct.integration = POSМаркер источника заказа.Отделяет POS-заказы от app, web, kiosk и интеграций.
cashregisterOrderStruct.cashregisterКасса заказа.Нужна для смен и отчётов.
workerOrderStruct.workerСотрудник заказа.Нужен для ответственности, отчётов и комиссий.
CatalogSaleWidget CatalogКаталог товаров.Из него формируется корзина.
ServicesSaleWidget ServicesКаталог услуг и слотов.Нужен бизнесам с расписанием.
CustomerClientsKassaWidgetПоиск, выбор или создание клиента.Подключает CRM, скидки, бонусы и депозит.
AddressSaleWidget AddressАдрес заказа.Нужен для доставки, маршрута и налогов.
PromotionsPromotionsKassaWidgetПромокоды и промо.Меняет итог и должно быть видно в истории.
SearchMenuKassa2Widget.textControllerПоиск продукта или barcode input.Ускоряет добавление товаров.
Scanneractions.scanBarcodeСканирование barcode/QR.Снижает ошибки ручного выбора.
BasketOrderStruct.itemsПозиции заказа.От корзины зависят сумма, налог, производство и склад.
Production commentOrderStruct.commentForProductionКомментарий для кухни/цеха.Не должен смешиваться с клиентским комментарием.
Customer commentOrderStruct.commentClientКомментарий клиента.Нужен для доставки, сервиса и пожеланий.
PaymentsOrderStruct.payments[]Оплаты заказа.Поддерживает split payments, bonus, cash/card и refunds.
Payment methodPaymentsStruct.methodPaymentМетод оплаты.Определяет счёт, наличные, интеграцию и комиссии.
Payment amountPaymentsStruct.amountСумма оплаты.Объясняет paid и остаток.
PaymentinfoWidgetPaymentinfoWidgetДетали оплаты и refund.Перед возвратом нужно проверить строку оплаты.
Print receiptSaleWidget Print receiptПечать чека.Документирует продажу.
Order statusStatusWidget / Change statusСтатус заказа.Управляет кухней, доставкой, клиентскими ожиданиями и отчётами.
Send to kitchenSaleWidget Send to kitchenОтправка в производство.Кухня получает заказ только после проверки.
Assign courierOrderitemWidget Assign courierНазначение курьера.Доставка должна иметь ответственного.
Cancel orderCancel order / DeletorderWidgetОтмена заказа.Отмена должна быть отражена в истории.
POS menuMenukassaWidgetМеню соседних операций.Доступ к products, stock, shifts, break, devices, terminal settings, deposit и refresh.

Перед POS должны быть настроены сотрудники, должности, методы оплаты, продукты, заведения и чеки.