Надёжность и безопасность

Оператору важно, что данные организации отделены, доступ ограничен ролями, а оплата и фискализация доведены до конца.

Отдельная база данных

У каждой организации в сервисе своя база данных. Данные организаций не смешиваются, а настройки одной не влияют на другую. Подключение к базе организация не настраивает — это делает сервис.

Роли и доступ

Роль определяет экраны сотрудника: администратор настраивает организацию, кассир работает на кассе, контролёр проверяет билеты, партнёр продаёт со своего счёта. Доступ сотрудника закрывается без удаления из списка. Один человек может иметь несколько ролей и переключаться между ними.

Онлайн-оплата через ЮKassa

Покупатель платит картой или через СБП в магазине ЮKassa оператора. Статус оплаты сверяется с ЮKassa, а бронь получает статус «Оплачено» после подтверждения платежа. Возврат по брони тоже проходит через магазин оператора.

Фискализация

Фискальный чек пробивает ККТ АТОЛ по 54-ФЗ, подключённая к рабочему месту кассира. Чек собирает сервер: в него попадают позиции продажи, способ оплаты и настройки расчёта организации. ККТ печатает чек и на продажу, и на возврат.

Агент кассы

Агент кассы — служба на рабочем месте кассира: она связывает браузер с ККТ и платёжным терминалом. Агент слушает только локальный адрес компьютера и принимает запросы по токену сопряжения. Рабочее место сопрягается с агентом один раз, а страница агента показывает состояние ККТ, смены и терминала. Там же — пробная печать и X-отчёт.

cash agent
Рисунок 1. Страница агента кассы: состояние ККТ, смены и терминала и действия

Восстановление оплаты после обрыва

Если связь оборвалась во время оплаты, результат не теряется. Сервер повторно запрашивает статус платежа и завершает продажу или возврат, когда ответ получен. Итог операции виден кассиру на рабочем месте.

История изменений

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