Офлайн - режим работы кассы

Некоторые магазины не имеют возможности обеспечить постоянное интернет-соединение. В некоторых магазинах соединение нестабильное, связь может пропадать на короткое или длительное (сутки) время. Для таких магазинов предусмотрен офлайн-режим работы кассы – когда связь с сервером необходима не постоянно, а на короткое время для выполнения сеанса обмена данными.


На этой странице:


Особенности офлайн-режима

  1. Используется мобильная касса (мобильное приложение).
  2. В магазине могут работать одновременно несколько касс.
  3. Сеанс обмена данными с сервером может устанавливаться раз в сутки или реже (зависит от магазина).
  4. Касса не имеет актуальной информации об изменениях в каталоге товаров. Обновление каталога в кассе возможно только после сеанса обмена данными.
  5. Касса не имеет актуальной информации о накладных, в том числе о ценах товаров. Получение цен возможно только после сеанса обмена данными.
  6. Касса не имеет актуальной информации об остатках на складе. Фактическое списание товара возможно только после сеанса обмена данными.
  7. После сеанса обмена данными возможна ситуация, когда продано больше товаров, чем числится в накладной. Требуется принятие решения о выборе накладной для списания остальных проданных товаров.

Что необходимо сделать для обеспечения работы в офлайн-режиме

Для обеспечения работы в офлайн-режиме требуется обеспечить:

  • получение кассой каталога товаров и цен от сервера во время сеанса связи;
  • генерацию кассой номеров счетов (чеков), не совпадающих с номерами счетов других касс;
  • накопление кассой данных о продажах между сеансами связи;
  • передачу кассой данных о продажах на сервер во время сеанса связи;
  • отображение в разделе администрирования списка товаров, проданных в офлайн-режиме;
  • автоматическое списание товаров, проданных в количестве, не превышающим количество в накладной (раздел администрирования);
  • ручное списание товаров, которые нельзя списать автоматически – путём выбора накладной для списания (раздел администрирования);
  • виджет для главной страницы раздела администрирования, отображающий данные об офлайн-продажах.

Генерация чека в офлайн-режиме

Номер счёта – уникальный идентификатор (ключ) документа. В режиме онлайн номер счёта генерируется централизованно. В режиме офлайн сервер недоступен для кассы, из-за чего касса самостоятельно генерирует номер счёта. При использовании нескольких офлайн-касс, генерация номера счета происходит таким образом, что не будет создано двух и более совпадающих номеров, в том числе с номерами, сгенерированными сервером для онлайн-касс).

Для каждой офлайн-кассы зарезервирован отдельный диапазон номеров счетов. Номер имеет следующую структуру: RRR-NNN, где RRR – номер/код диапазона (префикс), NNN – номер счёта внутри диапазона, количество разрядов префикса и номера ограничено только разрядностью типа данных для хранения в БД. Префикс назначается кассе централизованно при регистрации/авторизации новой кассы. Сервер отвечает за уникальность префиксов. Если касса использовала все возможные номера внутри диапазона, она должна получить новый префикс.

Для онлайн-касс в качестве префикса может быть использована константа, например, «0».


Информационный обмен между кассой и сервером

Для продажи товаров через офлайн-кассу необходим доступ к каталогу товаров для поиска по названию, артикулу, штрих-коду производителя, штрих-коду весового товара, локальному штрих-коду магазина, цена на товар (с указанием налогов), списки валют, типы оплаты, список кассиров, продавцов-консультантов, правила генерации номера счёта/чека.

Дополнительно может потребоваться дисконтная политика (например, скидка за количество), акции (например, «три по цене двух»), программы лояльности (включая список покупателей, карт лояльности) и т.п.

Для списания проданных товаров сервер должен получать списки счетов, содержащих данные о товарах с указанием деталей: товар, вариант, упаковка, цена продажи, валюта, тип оплаты, дисконт (включая обоснование – акция, программа лояльности и пр.), дата/время продажи, кассир, консультант.

Типичный канал связи для офлайн-кассы – сеть мобильного оператора. Во время сеанса возможен разрыв связи, вызванный технологическими проблемами или особенностями сети. Протокол обмена (на прикладном уровне) должен быть устойчивым к сбоям сети, допускать повторную передачу информации без риска дублирования или потерь данных. Необходима оптимизация объёма данных, например, вместо регулярной передачи полных данных, передавать только изменения, использовать алгоритмы сжатия (компрессии).

Двусторонний обмен информацией между кассой и сервером выполняется во время сеанса обмена данными. Периодичность сеансов устанавливается регламентом магазина. Инициатором начала сеанса является касса (выполняет сотрудник магазина – кассир или администратор).

Для того чтобы выполнить обмен данными между офлайн-кассой и сервером необходимо выполнить следующие шаги:

1. Выберите время для сеанса связи в соответствии с регламентом магазина.

2. Включите кассу и запустите кассовое приложение (если оно не запущено автоматически)

3. В меню приложения выберите «Обмен данными».

Если соединение с сервером установлено, вы увидите сообщение: «Идёт обмен данными. Не выключайте устройство, не покидайте зону устойчивой связи».

Эта статья была полезна для 1 человека. Эта статья помогла вам?

Сервис поддержки клиентов работает на платформе UserEcho