Оглавление |
---|
Описание
Столото – это сервис продажи лотерейных билетов, взаимодействующий с внешней товаро-учетной системой, а также с кассовой программой УКМ 5 согласно следующей схеме:
...
Потоки данных | Комментарий |
---|---|
1 | Типовой обмен данными между внешней системой товародвижения и кассовым решением СуперМаг УКМ 5. Используется стандартный конвертер обмена Импорт/Экспорт XML (версия 1.0), реализованный в кассовом решении. |
2 | Внутренний протокол обмена данными решения СуперМаг УКМ 5. |
3 | Протокол обмена данными с сервисом Столото. |
Процесс регистрации кассы на лотерейном сервере
Настройка
I. Каждую кассу, на которой предполагается продавать лотерейные билеты Столото, необходимо зарегистрировать на лотерейном сервере. Делается это следующим образом:
- Ретейлер сообщает сервису Столото количество касс, которое необходимо подключить к лотерейному серверу, и одновременно получает от него
инструкцию для генерации сертификатов.
- Сервис Столото присваивает каждой кассе уникальный номер.
- Сервис Столото сообщает ретейлеру уникальные номера, присвоенные кассам.
- С помощью утилиты генерации, ретейлер формирует файлы с сертификатами для каждой кассы, либо один сертификат для всех касс.
- Ретейлер выполняет действия по настройке касс, описанные ниже.
II. Настройки кассы происходят на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
1. Для начала, необходимо добавить новые файлы конфигурации Столото в выбранный тип касс. Для этого, в открывшемся окне настроек типа касс нужно выполнить экспорт текущего типа касс с помощью кнопки Экспорт:
2. Скачанный архив необходимо открыть и добавить файл loto.conf в папку applications/sale/ и файл loto.js в папку applications/sale/scripts/.
3. После добавления файлов нужно сделать импорт конфигурации типа кассы при помощи кнопки Импорт:
4. Далее, в файле conf/applications/sale/sale.conf необходимо добавить в раздел plugins следующий параметр:
{ include file("conf/applications/sale/loto.conf") }
5. Затем нужно отредактировать файл loto.conf, указав в нем следующее:
- baseUrl – адрес шлюза (высылается сервисом Столото);
- responseTimeout – тайм-аут ожидания ответа от лотерейной системы;
- terminalNumber (terminal_id) – высылается представителями Столото, которые распределяются по кассам самим ретейлером. С технической точки зрения, не имеет значения, какой кассе будет присвоен определенный terminal_id. Главное правило – присваивать по одному terminal_id каждой кассе. Ретейлеру в будущем рекомендуется отслеживать данный момент при изменении настроек, перезаливке касс и т. д.
Согласно инструкциям и требованиям*, необходимо сгенерировать клиентский сертификат и ключ от него.
* Актуальную информацию по требованиям и инструкцию по генерации клиентских сертификатов необходимо уточнять у представителей сервиса Столото.
Посредством OpenSSL, необходимо создать файл пары "ключ-сертификат" и поместить в хранилище с помощью утилиты KeyStoreExplorer (open-source).
Созданное хранилище ключей keyStore.p12 нужно поместить на кассу в домашний каталог пользователя ~/.config/keys/keyStore.p12 и прописать полный путь до файла хранилища в значении параметра keyStorePath.
Пароль от хранилища необходимо прописать в параметре keyStorePassword, который был указан на этапе создания хранилища.
Названия лотерей задаются параметром gamesNames.
Формат параметра: ХХХХ: Название; YYYY: Название, где ХХХХ, YYYY – Код лотереи (GAME_ID), Название – название лотереи, как должно быть в чеке.
Например:
5101: Лото – Спортлото 6 из 45;
5536: Лото – Спортлото 5 из 36 (+1);
4420: Лото – Спортлото 4 из 20;
5150: Лото – Спортлото 7 из 49;
7105: Бинго – Жилищная лотерея;
7115: Бинго – Золотая подкова;
7103: Бинго – Русское лото.
Числовые лотереи:
(4420) «Спортлото «4 из 20»
(5536) «Спортлото «5х36»
(5101) «Спортлото «6х45»
(5150) «Спортлото «7х49»
Бинго-лотереи:
(7103) «Русское лото»
(7105) «Жилищная лотерея»
(7115) «Золотая подкова»
В справочнике товаров необходимо создать единую универсальную товарную позицию, идентифицирующую продажу лотерейного билета и выгрузить ее из внешней товароучетой системы в кассовое решение УКМ 5. Розничная цена для такой позиции всегда составляет 1 руб. Минимальная цена также равна 1 руб. Код товара – goodsId – идентифицирует продажу лотерейного билета.
...
Настройка кнопки, вызывающей меню продажи лотерейного билета на клавиатурной кассе, происходит на кассовом сервере по адресу: Оборудование – Шаблоны. В столбце Шаблоны оборудования необходимо выбрать название кассы и нажать кнопку Оборудование:
В появившемся иерархическом древе нужно открыть для просмотра файл keyboardLaoyout.conf (/hardware/keyboard_layout/keyboardLaoyout.conf) и выяснить, какой конфигурационный файл используется на данной кассе (он должен быть раскомментирован):
Далее необходимо определить кнопку, на которую будет назначена вызов функции Продажа лотерейного билета. Для этого надо узнать, какой скан-код соответствует требуемой клавише:
- необходимо подключить клавиатуру к компьютеру и убедиться, что драйверы установлены и клавиатура работоспособна;
- затем нужно перейти на любой сайт, где можно определить скан-коды (можно найти в google, например: https://keycode.inicar.info/KeyCode/1_KeyCode.php);
- будучи на главной странице сайта, необходимо нажать нужную клавишу и запомнить соответствующий код:
- Адрес ЛС для подключения.
- Тайм-аут ожидания ответа от ЛС
- Код товара, идентифицирующего продажу ЛБ
Для каждой кассы в УКМ5:
- Указать присвоенный идентификатор терминала.
- Разместить файл с сертификатом.
...
...
...
...
...
Кассовые операции с лотерейными билетами
Продажа лотерейного билета
ПРОДАЖА | |
---|---|
Клавиатурная касса | Touch-касса |
1. На клавиатурной кассе, вызов функции Продажа лотерейного билета может осуществляться как специальной кнопкой, так и выбором соответствующего пункта в кассовом меню: Если функция вызвана, система предлагает считать штрихкод лотерейного билета: 2. Как только штрихкод считан, касса запрашивает информацию о лотерейном билете у сервера Столото. Если, согласно ответу сервера, данный билет может участвовать в нескольких тиражах, то касса предложит кассиру выбрать нужный тираж: 3. После того как штрихкод лотерейного билета зафиксирован кассой и билет соотнесен с определенным тиражом, система запрашивает номер телефона покупателя: 4. Необходимо ввести номер телефона и нажать Ввод: 5. Как только номер телефона будет зарегистрирован, лотерейный билет автоматически добавится в чек: 6. В одном чеке возможна продажа нескольких лотерейных билетов из одного или разных тиражей: Оплата чека с лотерейными билетами происходит штатным образом. | 1. На touch-кассе, за вызов функции Продажа лотерейного билета отвечает специальная опция меню: 2. При выборе данной опции система предлагает считать штрихкод лотерейного билета: 3. Как только штрихкод считан, касса запрашивает информацию о лотерейном билете у сервера Столото. Если, согласно ответу сервера, данный билет может участвовать в нескольких тиражах, то касса предложит кассиру выбрать нужный тираж: 4. После того как штрихкод лотерейного билета зафиксирован кассой и билет соотнесен с определенным тиражом, система запрашивает номер телефона покупателя. Необходимо ввести номер телефона и нажать Ввод: 5. Как только номер телефона будет зарегистрирован, лотерейный билет автоматически добавится в чек: 6. В одном чеке возможна продажа нескольких лотерейных билетов из одного или разных тиражей: Оплата чека с лотерейными билетами происходит штатным образом. |
Отмена покупки лотерейного билета
ОТМЕНА ПОЗИЦИИ | |
---|---|
Клавиатурная касса | Touch-касса |
1. Если лотерейный билет, который требуется удалить, не отмечен (не выделен) в составе чека, то необходимо вызвать кассовое меню с помощью запрограммированной кнопки: 2. В меню нужно воспользоваться опцией Изменение чека: 3. Если же лотерейный билет, который требуется удалить, отмечен (выделен) в составе чека, то также необходимо вызвать кассовое меню: 4. Для выделенного билета в кассовом меню сразу будет доступна опция Удалить позицию: 5. Запись об удаленном лотерейном билете отображается в зачеркнутом виде в начале состава чека: | 1. Удаление лотерейного билета из состава чека происходит штатным образом: достаточно просто отметить его в списке и воспользоваться кнопкой отмены товарной позиции: 2. Запись об удаленном лотерейном билете отображается в зачеркнутом виде в начале состава чека: |
Отмена чека с лотерейными билетами
ОТМЕНА ЧЕКА | |
---|---|
Клавиатурная касса | Touch-касса |
1. Полностью отменить чек можно не зависимо от того, сколько в нем лотерейных билетов и какие из них уже удалены. Для этого необходимо вызвать кассовое меню с помощью специальной кнопки: 2. В кассовом меню сразу будет доступна искомая операция: | Полностью отменить чек можно не зависимо от того, сколько в нем лотерейных билетов и какие из них уже удалены. Отмена чека с лотерейными билетами производится с помощью штатной кнопки: |
Ошибки: отсутствие связи с сервером
ОТСУТСТВИЕ СВЯЗИ С СЕРВЕРОМ СТОЛОТО | |
---|---|
Клавиатурная касса | Touch-касса |
1. При отсутствии интернет-соединения или в силу иных причин, связь с лотерейным сервером периодически может прерываться. В случае отсутствия связи с сервером Столото, невозможно полноценно произвести отмену лотерейного билета в чеке. Касса обязательно сообщит об этом и запросит разрешение повторить попытку связаться с сервером Столото: 2. Если, в итоге всех предпринятых попыток, связь с сервером так и не восстановится, то касса оповестит пользователя о необходимости сохранить бланк отмененного в чеке лотерейного билета и передать информацию о нем администратору магазина. Выбрасывать такие лотерейные билеты нельзя: | 1. При отсутствии интернет-соединения или в силу иных причин, связь с лотерейным сервером периодически может прерываться. В случае отсутствия связи с сервером Столото, невозможно полноценно произвести отмену лотерейного билета в чеке. Касса обязательно сообщит об этом и запросит разрешение повторить попытку связаться с сервером Столото: 2. Если, в итоге всех предпринятых попыток, связь с сервером так и не восстановится, то касса оповестит пользователя о необходимости сохранить бланк отмененного в чеке лотерейного билета и передать информацию о нем администратору магазина. Выбрасывать такие лотерейные билеты нельзя: |
Настройки
Настройки интеграции с системой Столото описаны здесь.