Столото – это сервис продажи лотерейных билетов, взаимодействующий с внешней товаро-учетной системой, а также с кассовой программой УКМ 5 согласно следующей схеме:
Пояснения к схеме:
Программный комплекс | Комментарий |
---|---|
Товароучетная система | Система учета товародвижения, существующая у ретейлера. Данное решение является мастер-системой для ввода товаров и цен, а также получает данные о розничных продажах от кассового решения. |
Сервер УКМ 5 | Серверная часть кассового решения СуперМаг УКМ 5. Устанавливается в ЦОД ретейлера и используется для управления кассовыми модулями УКМ 5 во всей сети. |
Касса УКМ 5 | Кассовый модуль УКМ 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 каждой кассе. Ретейлеру в будущем рекомендуется отслеживать данный момент при изменении настроек, перезаливке касс и т. д.
6. Все изменения нужно сохранить.
7. Согласно инструкциям и требованиям*, необходимо сгенерировать клиентский сертификат и ключ от него.
* Актуальную информацию по требованиям и инструкцию по генерации клиентских сертификатов необходимо уточнять у представителей сервиса Столото.
Посредством OpenSSL, необходимо создать файл пары "ключ-сертификат" и поместить в хранилище с помощью утилиты KeyStoreExplorer (open-source).
8. Созданное хранилище ключей keyStore.p12 нужно поместить на кассу в домашний каталог пользователя ~/.config/keys/keyStore.p12 и прописать полный путь до файла хранилища в значении параметра keyStorePath.
Пароль от хранилища необходимо прописать в параметре keyStorePassword, который был указан на этапе создания хранилища.
9. Названия лотерей задаются параметром 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) «Золотая подкова»
10. В справочнике товаров необходимо создать единую универсальную товарную позицию, идентифицирующую продажу лотерейного билета и выгрузить ее из внешней товароучетой системы в кассовое решение УКМ 5. Розничная цена для такой позиции всегда составляет 1 руб. Минимальная цена также равна 1 руб. Код товара – goodsId – идентифицирует продажу лотерейного билета.
Настройка кнопки для клавиатурной кассы
Настройка кнопки, вызывающей меню продажи лотерейного билета на клавиатурной кассе, происходит на кассовом сервере по адресу: Оборудование – Шаблоны. В столбце Шаблоны оборудования необходимо выбрать название кассы и нажать кнопку Оборудование:
В появившемся иерархическом древе нужно открыть для просмотра файл keyboardLaoyout.conf (/hardware/keyboard_layout/keyboardLaoyout.conf) и выяснить, какой конфигурационный файл используется на данной кассе (он должен быть раскомментирован):
Далее необходимо определить кнопку, на которую будет назначена вызов функции Продажа лотерейного билета. Для этого надо узнать, какой скан-код соответствует требуемой клавише:
- необходимо подключить клавиатуру к компьютеру и убедиться, что драйверы установлены и клавиатура работоспособна;
- затем нужно перейти на любой сайт, где можно определить скан-коды (можно найти в google, например: https://keycode.inicar.info/KeyCode/1_KeyCode.php);
- будучи на главной странице сайта, необходимо нажать нужную клавишу на клавиатуре и запомнить сгенерированный код:
В конфигурационном файле нужно найти указанную цифру или добавить указанный ниже новый блок (если блок располагается последним, то следует обратить внимание на запятую перед закрывающими скобками предыдущего блока) и изменить значение параметра params: вместо None нужно указать AddLoto, в итоге чего блок будет выглядеть примерно так:
{
code : 115, // F4
type : "UIAction",
params : "AddLoto" # F4 – Вызов кассовой функции "Продажа лотерейного билета"
}
Внесенные изменения необходимо сохранить. Также можно изменить функционал одной из неиспользуемых кнопок, заменив значение параметра params на AddLoto.
Настройка для touch-кассы
Чтобы в интерфейсе touch-кассы появилась кнопка вызова функции Продажа лотерейного билета, необходимо на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс выбрать тип кассы и нажать кнопку Настройки:
В появившемся иерархическом древе нужно найти файл sale.conf (conf/applications/sale/sale.conf) и добавить в раздел ui параметр useLoto = true, после чего сохранить изменения.
Настройка на каждой кассе
Разместить соответствующий терминалу-кассе файл с хранилищем сертификата по пути, указанному в конфигурационном файле loto.conf (applications/sale/loto.conf).
Требования к ККТ
- Для продажи лотерей требуется перерегистрация ККТ с установкой признаков в разделе дополнительных реквизитов отчета о регистрации и отчета об изменении параметров регистрации:
- ФФД 1.05 - тег 1126 - признак проведения лотереи
- ФФД 1.2 - тег 1205, бит 20 - перевод ККТ из режима, не позволяющего применять ККТ при приеме денежных средств при реализации лотерейных билетов в режим, позволяющий применять ККТ при приеме денежных средств при реализации лотерейных билетов.
- В чеках продажи ЛБ регистрируется как обычный товар с предварительно заданным SKU.
В электронной форме чека для товара должен быть установлен тег 1212 = 7.
- Продажа ЛБ поддержана для следующих типов ККТ:
- СП402
- СП802
- Чеквей77Ф
- Пирит
Ввод товарных позиций
- Лотерейные билет продаются в отдельных чеках (т.е. в одном чеке не могут быть обычные товары и ЛБ).
- В одном чеке могут одновременно присутствовать несколько ЛБ.
Применение скидок
- На лотерейные билеты не действуют никакие скидки.
- Оплата лотерейного билета бонусами невозможна.
- Предполагается, что в системе лояльности LOYA пользователи не будут использовать позиции лотерейных билетов в качестве вознаграждений. Программный запрет не реализуется.
Возрастные ограничения
- В случае, если в кассовом решении УКМ5 необходимо использовать возможности по контролю возрастных ограничений, то для товарных позиций, являющихся лотерейными билетами устанавливается признак «Табак».
Регистрация телефонного номера покупателя
- Номер телефона покупателя вводится кассиром в чек добавлении первого ЛБ, даже если телефон покупателя есть в системе лояльности LOYA.
- Номер телефона покупателя вводится в чек 1 раз при добавлении первого ЛБ.
- При добавлении в чек следующих ЛБ, используется телефон, введенный для первого ЛБ.
- Формат номера телефона покупателя на экране кассира фиксирован – ХХХ-ХХХ-ХХ-ХХ.
Возвраты
- Возврат лотерейных билетов запрещен.
Печать уведомлений чека
- Необходима возможность повторной печати Уведомлений вместе с копией чека.
- Уведомления о продаже лотерейных билетов печатаются всегда, даже если в кассовом решении УКМ5 будет создана функция, позволяющая не печатать бумажный чек.
Продажа ЛБ на КСО
- Продажа лотерейного билета запрещена на КСО
- Адрес ЛС для подключения.
- Тайм-аут ожидания ответа от ЛС
- Код товара, идентифицирующего продажу ЛБ
Для каждой кассы в УКМ5:
- Указать присвоенный идентификатор терминала.
- Разместить файл с сертификатом.
ПРОДАЖА | |
---|---|
Клавиатурная касса | Touch-касса |
ОТМЕНА ПОКУПКИ ЛОТЕРЕЙНОГО БИЛЕТА | |
---|---|
Клавиатурная касса | Touch-касса |
ОТМЕНА ЧЕКА С ЛОТЕРЕЙНЫМИ БИЛЕТАМИ | |
---|---|
Клавиатурная касса | Touch-касса |
ОТСУТСТВИЕ СВЯЗИ С СЕРВЕРОМ СТОЛОТО | |
---|---|
Клавиатурная касса | Touch-касса |