Конец документа
Стройте эффективные решения на нашей платформе
Обновление 03 Дек '15
К кассовому оборудованию
Параметр | Значение |
---|---|
ОС | Windows XP и выше |
Процессор | Atom 1Ghz |
Память | 512MB |
Свободное место на диске | 40MB для ПО и дополнительно для установки .NET FrameWork 4.0 |
Подключение | Наличие прямого или проксируемого доступа приложению в интернет |
Принтер чеков | COM/USB при установке в режиме драйвера слушателя чеков (см. таблицу поддерживаемых принтеров) |
При установке в режиме драйвера слушателя порта принтера нужно учитывать, что POS-система должна работать с принтером напрямую в соответствии с текстовыми протоколами печати чека
Производитель | Реализация |
---|---|
ESCPOS | Частичная, зависит от формата печатаемого чека. Поддержка только текстовых данных |
ATOL | Фискальный режим |
Штрих | Фискальный режим |
Меркурий | Фискальный режим |
Искра | Фискальный режим |
Название | Варианты установки |
---|---|
Rkeeper v6, v7 | Только драйвер слушателя порта |
IIKO v3+ | Драйвер слушателя порта или Установка плагина |
Frontol 4+ | Драйвер слушателя порта или Интеграционные скрипты |
1C 7.7+ | Драйвер слушателя порта или Интеграционные скрипты |
Другие | Драйвер слушателя порта или разработка интеграции |
Для начала настройки аккаунта необходимо его зарегистрировать
в
нашей системе
Вы получите ссылку на дистрибутив, устанавливаемый на кассах, реквизиты для установки и
настройки первой кассы и
возможность завести свою структуру предприятия.
После регистрации в меню "Настройки" выберите в блоке "Магазин" пункт "Общая информация"
Здесь нужно заполнить основную информацию о вашем предприятии
После сохранения данных о магазине в том же блоке нужно перейти в пункт "Торговые точки"
Здесь заполняется список адресов торговых точек вашего предприятия. Нажав кнопку "Добавить" вы сможете добавить ещё один адрес торговой точки
Адрес может быть электронным или почтовым, основная его функции - для последующей удобной идентификации торговой точки
После добавления хотя бы одной Торговой Точки нужно добавить устройство - это конечный аккаунт для приложения на кассе торговой точки.
Добавление происходит похожим на Торговые Точки образом
Для настройки достаточно выбрать привязку к Торговой Точке, где работает Касса и назвать её для удобства дальнейшей идетификации
Возможны два варианта установки: В режиме драйвера слушателя порта и Интеграция с POS-системой.
В любом случае установщик потребует идентификатор устройства
и секретный
ключ
, которые
были получены на этапе Настройка аккаунта
В разделе Требования обозначен список POS-систем с которыми возможна интеграция
Для данного вида установки вам так же нужно зерегистрировать
аккаунт
и скачать дистрибутив
для
интеграции
Далее руководствоваться разделом Интеграция, в котором описаны принцип и
методы интеграции.
Для установки вам потребуется дистрибутив
установщика слушателя
порта.
После установки и запуска приложение будет ожидать печати чеков на рабочих принтерах в режиме
автоопределения
порта устройства и протокола.
После удачного определения экран приложения сменится на рабочий.
Конец документа
Последнее обновление: 01 Окт '16
Интеграция возможна на платформах MS Windows (Начиная с XP и выше)
Для начала интеграции достаточно скачать дистрибутив и установить его на кассу или станцию разработки
Данный дистрибутив работает в режимах:
- Передача данных в облако гифтоман и отображение результатов после обработки;
- Получение данных из облака и визуализация результатов.
POS-система | Ссылки на файлы/документацию |
---|---|
IIKO | Инструкция по установке ПО Гифтоман и плагинов IIKO Архив с доступными плагинами |
Frontol | Инструкция по установке ПО Гифтоман и добавления сценария обработки интеграции Готовый сценарий обработки для Frontol v4 Готовый сценарий обработки для Frontol v5 |
1C | Интеграция |
Другие | Индивидуальная интеграция |
ГМ = CreateObject(“Giftoman.ChequeApi”); ГМ.<Название метода>( Параметры );
ГМ = Новый COMОбъект(“Giftoman.ChequeApi”); ГМ.<Название метода>( Параметры );
var gmObject = new ActiveXObject(“Giftoman.ChequeApi”); gmObject.<Название метода>( Параметры );
Метод предназначен для начала оформления покупки по новому чеку.
name | type | description |
---|---|---|
total | decimal(10,4) (Опционально) | Итоговая сумма чека (за вычетом скидки) (Опционально, если нужен расчёт суммы по PurchaseAddItem()) |
cashier(60) | BSTR (Опционально) | ФИО или другое текстовое обозначение продавца |
Значение | Описание |
---|---|
COMException | Не обнаружена директория обмена |
Открытие чека с итоговой суммой 300 рублей .Кассир "Иванова И.И."
GM.PurchaseOpen( 300.00, "Иванова И.И." );
Добавление позиции в чек должно вызываться между открытием и закрытием чека. Каждый вызов добавляет отдельную позицию.
Параметры.
name | type | description |
---|---|---|
name | BSTR(200) | Название товарной позиции |
count | decimal(10,4) | Количество |
total | decimal(10,4) | Итоговая сумма (за вычетом скидки) по товарной позиции (priceDiscounted * count) |
category | BSTR(200) (Опционально) | Строка категории (группы) товара Можно передавать несколько категорий, разделяя их '&&' |
seller | BSTR(64) (Опционально) | Строка имени продавца по позиции (по умолчанию продавец берётся из PurchaseOpen()) |
extId | BSTR(48) (Опционально) | Внешний идентификатор товара (из номенклатуры ТС) |
Добавление товарных позиций
GM.PurchaseOpen( 300.00,"Иванова И.И." ); // Открываем покупку GM.PurchaseAddItem('Пакет-майка',1,5.0); // Регистрируем позицию "Пакет-майка", количество 1, общая стоимость 5.0 GM.PurchaseAddItem('Огурцы зелёные',3,295,'Овощи'); // Регистрируем позицию "Огурцы зелёные", количество 3, общая стоимость 295 в категории "Овощи" GM.PurchaseClose(); // Закрываем покупку
Добавление атрибута в покупку должно вызываться между открытием и закрытием чека. Каждый вызов добавляет отдельный атрибут.
Параметры
name | type | description |
---|---|---|
name | BSTR (20) | Название атрибута withcard (value: 0,1) - использование карты лояльности discount (value: decimal(10,4)) - скидка на покупку bonus_sp (value: decimal(10,4)) - использование бонусных баллов procspd (value: int) - время обработки чека, сек. paytype/[cash,card,visa,master, e.t.c.] (value: decimal(10,4)) - разбиение суммы по платежам или указание типа платежа. возможно использовать свои названия под разработку доп. KPI. |
value | BSTR (10) | значение атрибута (Все значения передаются в виде строки, в том числе и числовые типа скидок и флагов) |
Добавление товарных позиций
GM.PurchaseOpen( 300.00,"Иванова И.И."); GM.PurchaseAddItem('Пакет-майка',1,5.0); GM.PurchaseAddAttr('withcard','1'); // Обозначаем, что покупка проходит с картой лояльности Клиента GM.PurchaseAddAttr('paytype/cash','200'); // Была проведена покупка за 200р наличными GM.PurchaseAddAttr('discount','100'); // Определяем скидку на данную покупку GM.PurchaseClose();
Только при закрытии покупки система ставит её в очередь отправки в облако.
Параметры
name | type | description |
---|---|---|
extId | BSTR (40) (Опциональный) | Идентификатор чека внутри торговой системы для возможности сквозной идентификации на стороне облака. |
Метод предназначен для начала процедуры возврата.
name | type | description |
---|---|---|
total | decimal(10,4) (Опционально) | Сумма возврата (Опционально, если будут указаны возвращаемые позиции) |
extId | BSTR(40) (Опционально) | Идентификатор чека в торговой системе (При обработке чека в облаке будет связано с начальной покупкой) |
Значение | Описание |
---|---|
COMException | Не обнаружена директория обмена |
Возврат чека с итоговой суммой 300 рублей.
GM.RefundOpen( 300 ); //Возврат суммы чека в 300 рублей GM.RefundClose(); // отправка данных
В случае, если проводится неполный возврат чека (выделенные позиции).
Параметры.
name | type | description |
---|---|---|
name | BSTR(200) | Название товарной позиции |
count | decimal(10,4) | Количество возвращаемых позиций |
total | decimal(10,4) | Итоговая сумма возврата |
category | BSTR(200) |
Категория возвращаемого товара (Опциональный параметр) Можно передавать несколько категорий, разделяя их '&&' |
seller | BSTR(64) |
Продавец возвращаемого товара (Опциональный параметр) |
Возврат товарных позиций
GM.RefundOpen( 300.00,"12309283445" ); // Начинаем возврат GM.RefundAddItem('Огурцы зелёные',3,295, "Овощи СТМ", "Иванов Иван Иванович"); // Регистрируем позицию возврата "Огурцы зелёные", количество 3, общая стоимость 295 GM.RefundClose(); // Закрываем возврат
Данный метод нужен при отложенной выгрузке чеков/возвратов, чтобы сохранять исходную хронологию. Так же, в его присутствии можно выполнять повторную загрузку продажи (не возврата)
Установка даты-времени должна производиться между открытием и закрытием покупки или открытием и закрытием возврата.
Время должно быть преобразовано к UTC-0
Параметры
name | type | description |
---|---|---|
datetime | BSTR (14) | Строковый формат даты-времени (yyyyMMddHHmmss) (20160515120159) - UTC-0 время на машине момента регистрации события |
Установка даты-времени покупки
GM.PurchaseOpen( 300.00,"Иванова И.И."); GM.SetDateTime('20160515120159'); // Устанавливаем время 12:01:59 от 15-го мая 2016-го года GM.PurchaseClose();
Данный метод используется для отдельной установки ФИО продавца (как для продажи, так и возврата)
Параметры
name | type | description |
---|---|---|
cashier | BSTR (64) | ФИО продавца |
Установка продавца в чек
GM.PurchaseOpen( 300.00 ); GM.SetCashier('Грозный Иван Васильевич'); GM.PurchaseClose();
Последнее обновление: 24 Окт '16
API для Устройств предназначено для прямой интеграции Server-Server или Application-Server, с доступом к данным на уровне устройства и торговой точки, к которой прикреплено это устройство.
API поддерживает JRPC 2.0-протокол вызова методов.
Для работы небходимо знать ключ <authkey> "устройства" с которым можно обращаться по URI: https://api.giftoman.ru/s/<authkey>
Запрос представляет собой JSON-сериализованный объект отправляемый с помощью POST-метода в виде RAW_POST_DATA
{
"jsonrpc":"2.0",
"id": "[Свободно-генерируемый идентификатор запроса]"
"method": "[Название вызываемого метода]",
"params": [объект или массив аргументов вызываемого метода]
}
}
Ответ так же является JSON-сериализованным объектом
{
"jsonrpc":"2.0",
"id":"[Идентификатор запроса на который дан ответ]"
"result":[Любой тип данных - объект, массив, значение]
}
или отрицательный
{
"jsonrpc":"2.0",
"id":"[Идентификатор запроса на который дан ответ]"
"error": {
"code":"[Код ошибки]",
"message":"[Человекочитаемое пояснение ошибки]"
}
}
Код ошибки | Пояснение |
---|---|
-32000 | Неизвестный идентификатор сотрудника |
-32500 | Ошибка клиента |
-32600 | Неправильный формат запроса |
-32601 | Неправильная операция |
-32602 | Неправильные параметры операции |
-32605 | Операция не удалась |
-32606 | Слишком частое выполнение операции |
-32610 | Ошибка БД |
-32700 | Неправильный формат сообщения |
-32800 | Неизвестный терминал |
-32801 | Терминал заблокирован |
-32802 | Невалидный секретный ключ |
-32803 | Терминал с таким идентификатором уже существует |
-33000 | Неизвестный пользователь |
-33001 | Владелец POS не найден |
-33100 | Отказ в авторизации |
Запрос позволяет как оформить продажу, так и возврат
Параметры.
name | type | description |
---|---|---|
token | string(32) | Локальный идентификатор покупателя, если таковой отсутствует передавать 'guest' |
amount | decimal(10,4) | Если >0, то сумма чека, если <0, то сумма возврата |
cart | object | Объект расширяемых (опциональных) параметров чека: - discount (decimal(10,4)) : Скидка по чеку - ts ( ISO 8601 : YYYY-MM-DDThh:mm:ss±hh:mm) : Точное время чека. Необходимо обязательно передавать метку времени с корректным смещением ±hh от UTC, соответствующим временному поясу торговой точки. - cashier (string(200)) : Имя продавца - extId (string(40)): Идентификатор чека в ТС - positions (array) : [ Товарные позиции в чеке { -- name (string(200)) : Название товара -- count (decimal(10,4)) : Кол-во товара -- total (decimal(10,4)) : Общая сумма по позиции -- seller (string(200)) : Продавец для конкретной позиции -- category (string(200)) : Название категории товара (Можно передать несколько категорий в строке, разделяя '&&') -- extId (string(40)) : Внешний идентификатор товара (Артикул) },.. ] - attributes (array) : [ Массив свободных атрибутов чека (карты лояльности, платёжные системы и т.п.) { -- name (string(10)) : Название атрибута (английские мнемоники), -- value (decimal(10,4)) : Значение атрибута },.. ] |
poskey (опциональный) | string(130) | Ключ маппинга к устройству или торговой точке. Общий формат: @store_ext_id/cashbox_ext_id -- store_ext_id - Внешний идентификатор торговой точки, передаваемый в методе setCashbox() в объекте location.store_ext_id -- cashbox_ext_id - Внешний идентификатор устройства (кассы), передаваемый в методе setCashbox() в аргументе метода extid -- Пример: @111/123
|
{ "jsonrpc":"2.0", "id":"7241520367540836", "method":"purchaseRegister", "params": { "token": "guest@giftoman.ru", "amount":100, "cart": { "discount":0, "ts": "2018-03-14T16:39:51.000Z", "cashier": "Марина Ивановна", "extId": "bb802ad3-d268-4946-b80c-b963aaf66b21", "positions": [ { "name": "Пирожок с повидлом", "count" : 10, "total" : 100, "seller": "Марина Ивановна", "category": "Вкусное" } ] } } }
Успешный ответ
{ "jsonrpc": "2.0", "id": "3061520885622532", "result": { "amount" : Зарегистрированная сумма /* Decmial(10,4) */, "id": Идентификатор чека /* Unsigned Int64 */, "ts": Время регистрации /* Y-m-d H:i:sT.000Z ISO 8601 формат */ } }
Запрос позволяет за раз загрузить пакет чеков (максимум = 100)
Параметры.
name | type | description |
---|---|---|
receipts | Array of Objects | Объект массива: - amount (decimal(10,4)) : Итоговая сумма по чеку (скидки вычтены) - discount (decimal(10,4)) : Итоговая скидка по чеку - ts ( ISO 8601: YYYY-MM-DDThh:mm:ss±hh:mm) : Точное время чека. Необходимо обязательно передавать метку времени с корректным смещением ±hh от UTC, соответствующим временному поясу торговой точки. - cashier (string(200)) : Имя продавца - extId (string(40)): Идентификатор чека в ТС - positions (array) : [ Товарные позиции в чеке { -- name (string(200)) : Название товара -- count (decimal(10,4)) : Кол-во товара -- total (decimal(10,4)) : Общая сумма по позиции -- seller (string(200)) : Продавец для конкретной позиции -- category (string(200)) : Название категории товара (Можно передать несколько категорий в строке, разделяя '&&') -- extId (string(40)) : Внешний идентификатор товара (Артикул) },.. ] - attributes (array) : [ Массив свободных атрибутов чека (карты лояльности, платёжные системы и т.п.) { -- name (string(10)) : Название атрибута (английские мнемоники), -- value (decimal(10,4)) : Значение атрибута },.. ] - poskey (string(130) Ключ маппинга к устройству или торговой точке. -- Общий формат: @store_ext_id/cashbox_ext_id --- store_ext_id - Внешний идентификатор торговой точки, передаваемый в методе setCashbox() в объекте location.store_ext_id --- cashbox_ext_id - Внешний идентификатор устройства (кассы), передаваемый в методе setCashbox() в аргументе метода extid -- Пример: @111/123
|
agent | name: agent STRING , //наименование ПОversion : agent Version , //версия ПО |
{ "jsonrpc": "2.0", "id": "7241520367540836", "method": "purchaseRegisterBatch", "params": { "receipts": [ { "amount": 100, "discount": 0, "ts": "2018-03-14T16:39:51.000Z", "cashier": "Марина Ивановна", "extId": "bb802ad3-d268-4946-b80c-b963aaf66b21", "positions": [ { "name": "Пирожок с повидлом", "count": 10, "total": 100, "seller": "Марина Ивановна", "category": "Вкусное", "extId": "10002346" } ] }, { "amount": 250, "discount": 0, "ts": "2018-03-14T16:55:01.000Z", "cashier": "Илона Давыдовна", "extId": "34c39902-5554-4be3-a3b2-042c3e2a6262", "positions": [ { "name": "Пирожок с повидлом", "count": 15, "total": 150, "seller": "Илона Давыдовна", "category": "Вкусное", "extId": "1066" } ], "poskey": "@111/123" } ], "agent": { "name": "Centrum", "version": "10.2.60.0" } } }
Успешный ответ
{ "jsonrpc": "2.0", "id": "3061520885622532", "result": { "count" : Кол-во зарегистрированных чеков /* Unsigned INT */ } }
Ошибка обработки чека
{ "jsonrpc": "2.0", "id": "3061520885622532", "error": { "message": "Текст ошибки", "code" : "Код ошибки", "receipt": { "amount":100, "discount":0, "ts": "2018-03-14T16:39:51.000Z", "cashier": "Марина Ивановна", "extId": "bb802ad3-d268-4946-b80c-b963aaf66b21", "positions": [ { "name": "Пирожок с повидлом", "count" : 10, "total" : 100, "seller": "Марина Ивановна", "category": "Вкусное" } ] } } }
С помощью этого запроса можно как установить, так и удалить плановое значение на нужный период.
Планы устанавливаются на ту Торговую точку, где зарегистрировано данное устройство.
Параметры.
name | type | description |
---|---|---|
metric | string(40) | Мнемоника, либо прямой идентификатор правила: - income : Выручка - average : Средний чек - count : Кол-во продаж - category : Выручка по СТМ - complexity : Комлексность чека по кол-ву товаров - p/<идентификатор показателя> - прямой идентификатор показателя |
plan | DECIMAL(13,4) | Если >=0, то установка планового значения = plan, если <0, то удаление |
year | int | Год |
month (необязательный) | int | Месяц, если не указан или = -1, то выставляется план на год |
day (необязательный) | int | День, если не указан или = -1, то выставляется план на месяц, иначе - на день |
day_corr_plan (необязательный) | DECIMAL(13,4) | Коррекционное значение плана на день (если указан день) |
Параметры ответа
result: { "addressId" : ИД торговой точки, "metric": Идентификатор показателя, "plan": Установленный план, "year": Год, "month" : Месяц, "day": День}
После установки всех плановых значений на период необходимо вызвать метод публикации плана для актуализации значений
Параметры.
name | type | description |
---|---|---|
auto | boolean | - true - Использовать сервисную аналитику распределения по периодам. - false - Не использовать аналитику (равномерное распределение по нижним периодам) |
Параметры ответа
result: { "addressId" : ИД торговой точки, "auto": Автоматическое распределение}
Для получения планов по Торговой точке используется команда reports(id [,params])
Параметры.
name | type | description |
---|---|---|
id | string(20) |
- 'metrics' - Получение общего отчёта "Показатели" - 'bysellers' - Получение отчёта "Продавцы" - 'bytradepoints' - Получение отчёта "Рейтинг торговых точек" |
params | object | { "filter": { } , "range" : [ { "type": <id периода>, "from": "Y-m-d H:i", "to":"Y-m-d H:i"},.. ] |
Пример запроса metrics
{
"id":"1251506945251332",
"method":"reports",
"params":{
"id":"metrics",
"params": { "range" : [{"type":"month","from":"2018-04-01", "to":"2018-04-31 23:59"},{"type":"day","from":"2018-04-17","to":"2018-04-17 23:59:59"}]}
},
"jsonrpc":"2.0"
}
Пример ответа
{
"jsonrpc": "2.0",
"id": "1251506945251332",
"result": {
"data": {
"month": { // Отчёт по запросу params.range.type == 'month'
"metrics": { // Список метрик
"id": "3656",//string
"store_ext_id": "0",//string
"name": "Тюмень, 50 лет ВЛКСМ, 63 Шаурма",//string
"metrics": [
{
"id": "1437627895975735595", // Уникальный идентификатор метрики : string
"name": "Выручка", //Название правила : string
"order": 0, // Порядок сортировки, рекомендуемой настройками аккаунта : short
"type": 1, // Клиенсткий тип данных 1 = Числовой, 2 = денежный, 3 = процентный : short
"fact": 401628, // Фактическое значение : double
"plan": 19999.9980, // Плановое значение на конец дня : double
"planhour": 0, //План на текущий час : double
"predict": 0, // Прогноз на конец дя double
"qty": 2287.0000 //Кол-во продаж : float
},
{
"id": "1437627895975735596",
"name": "Средний чек",
"order": 1,
"type": 2,
"fact": 175.61,
"plan": 0,
"planhour": 0,
"predict": 0,
"qty": 2287.0000
},
{
"id": "1437627895975735664",
"name": "Наполняемость",
"order": 2,
"type": 3,
"fact": 2,
"plan": 0,
"planhour": 0,
"predict": 0,
"qty": 2269.0000
}
]
}
},
"day": { // Отчёт по запросу params.range.type == 'day'
"metrics": {
"id": "3656",
"store_ext_id": "0",
"name": "Тюмень, 50 лет ВЛКСМ, 63 Шаурма",
"metrics": [
{
"id": "1437627895975735595",
"name": "Выручка",
"order": 0,
"type": 7,
"fact": 24672,
"plan": 19999.9980,
"planhour": 0,
"predict": 0,
"ratio": 1.2336,
"qty": 141.0000
},
{
"id": "1437627895975735596",
"name": "Средний чек",
"order": 1,
"type": 2,
"fact": 174.98,
"plan": 0,
"planhour": 0,
"predict": 0,
"ratio": 1,
"qty": 141.0000
},
{
"id": "1437627895975735664",
"name": "Наполняемость",
"order": 2,
"type": 3,
"fact": 2.32,
"plan": 0,
"planhour": 0,
"predict": 0,
"ratio": 1,
"qty": 140.0000
}
]
}
}
}
}
}
Пример запроса bysellers
{
"id":"1251506945251332",
"method":"reports",
"params":{
"id":"bysellers",
"params": { "range" : [{"type":"month","from":"2018-04-01", "to":"2018-04-31 23:59"},{"type":"day","from":"2018-04-17","to":"2018-04-17 23:59:59"}]}
},
"jsonrpc":"2.0"
}
Пример ответа
{
"jsonrpc": "2.0",
"id": "1251506945251332",
"result": {
"data": {
"month": {
"bysellers": {
"common": [ // Суммарные (общие) показатели
{
"id": "1437627895975735595", // Идентификатор показателя : string
"idx": "1", // Связующий идентификатор показателя общей статистики и по продавцу : string
"order": 1, // Рекомендуемая аккаунтом сортировка : short
"label": "Выручка", // Название показателя : string
"type": 2, // Клиенсткий тип данных 1 = Числовой, 2 = денежный, 3 = процентный : short
"fact": 1509878, // Общее фактическое значение : double
"plan": 1269999.847, // Общее плановое значение : double
"qty": 8604, // Кол-во продаж
},
{
"idx": "2",
"order": 2,
"label": "Средний чек",
"type": 2,
"id": "1437627895975735596",
"fact": 175.48617001395,
"plan": 0,
"qty": 8604
},
{
"idx": "3",
"order": 3,
"label": "Наполняемость",
"type": 1,
"id": "1437627895975735664",
"fact": 1.948460758605,
"plan": 0,
"qty": 8542
}
],
"sellers": [ // Показатели по продавцам
{
"name": "Конищева Мария Андреевна",
"id": "1514522702289725696",
"metrics": [
{
"idx": "1",
"order": 1,
"label": "Выручка",
"type": 2,
"fact": 435286,
"plan": 0,
"qty": 3893
},
{
"idx": "2",
"order": 2,
"label": "Средний чек",
"type": 2,
"fact": 180.6921384807,
"plan": 0,
"qty": 2409
},
{
"idx": "3",
"order": 3,
"label": "Наполняемость",
"type": 1,
"fact": 2.03098048983,
"plan": 0,
"qty": 2409
}
]
},
{
"name": "Поступинских Анна Владимировна",
"id": "1517977472394792448",
"metrics": [
{
"idx": "1",
"order": 1,
"label": "Выручка",
"fact": 320182,
"plan": 0,
"qty": 2785
},
{
"idx": "2",
"order": 2,
"label": "Средний чек",
"fact": 171.95656831364,
"plan": 0,
"qty": 1862
},
{
"idx": "3",
"order": 3,
"label": "Наполняемость",
"fact": 1.841699194415,
"plan": 0,
"qty": 1862
}
]
}
]
}
},
"day": {
"bysellers": {
"common": [
{
"idx": "1",
"order": 1,
"label": "Выручка",
"id": "1437627895975735595",
"fact": 24672,
"plan": 19999.998,
"qty": 141
},
{
"idx": "2",
"order": 2,
"label": "Средний чек",
"id": "1437627895975735596",
"fact": 174.9786,
"plan": 0,
"qty": 141
},
{
"idx": "3",
"order": 3,
"label": "Наполняемость",
"id": "1437627895975735664",
"fact": 2.3224,
"plan": 0,
"qty": 140
}
],
"sellers": [
{
"name": "Конищева Мария Андреевна",
"id": "1514522702289725696",
"metrics": [
{
"idx": "1",
"order": 1,
"label": "Выручка",
"fact": 24704,
"plan": 0,
"qty": 255
},
{
"idx": "2",
"order": 2,
"label": "Средний чек",
"fact": 176.4569,
"plan": 0,
"qty": 140
},
{
"idx": "3",
"order": 3,
"label": "Наполняемость",
"fact": 2.3224,
"plan": 0,
"qty": 140
}
]
}
]
}
}
}
}
}
Management API предназначено для схем интеграции, когда есть необходимость обслуживать весь пул устройств с одного входа. С помощью Management API можно получать данные устройств всего аккаунта и изменять их состояния.
API поддерживает JRPC 2.0-протокол вызова методов по аналогии с Device API.
Для работы небходимо знать ключ <authkey> Административного устройства с которым можно обращаться по URI: https://api.giftoman.ru/m/<authkey>
Примечание Для работы с Management API нужно использовать ключ специального типа терминала: "Административный терминал".
Запрос позволяет зарегистрировать новое устройство на торговой точке и получить ключ устройства для дальнейшей работы с ним
Параметры запроса.
name | type | description |
---|---|---|
location | object | Объект локации (Описание Торговой точки): { - country (string(60)): Название страны по КЛАДР - city (string(60)): Название города по КЛАДР - street (string(100) опциональный): Название улицы по КЛАДР - house (string(20) опциональный): Дом, включая корпуса, литеры и т.п. (например 10/1а) - store_ext_id (string(40) опциональный): Внешний (клиентский) идентификатор торговой точки - name (string(100) опциональный): Название торговой точки } |
extid | string(100) опциональный | Внешний (партнёрский) идентификатор конкретного устройства для создания уникальных устройств по адресу |
Параметры ответа
result: { "id" : Идентификатор устройства, "auth_key": Ключ устройства для работы с Device API }
С помощью этого запроса можно как установить, так и удалить плановое значение на нужный период.
Планы устанавливаются на ту Торговую точку, где зарегистрировано данное устройство.
Параметры.
name | type | description |
---|---|---|
store_ext_id | string(20) | Внешний идентификатор (на стороне Торговой системы или бэкофиса клиента) |
metric | string(40) | Мнемоника, либо прямой идентификатор правила: - income : Выручка - average : Средний чек - count : Кол-во продаж - category : Выручка по СТМ - complexity : Комлексность чека по кол-ву товаров - p/<идентификатор показателя> - прямой идентификатор показателя |
plan | DECIMAL(13,4) | Если >=0, то установка планового значения = plan, если <0, то удаление |
year | int | Год |
month (необязательный) | int | Месяц, если не указан или = -1, то выставляется план на год |
day (необязательный) | int | День, если не указан или = -1, то выставляется план на месяц, иначе - на день |
Параметры ответа
result: { "addressId" : ИД торговой точки, "metric": Идентификатор показателя, "plan": Установленный план, "year": Год, "month" : Месяц, "day": День}
После установки всех плановых значений на период необходимо вызвать метод публикации плана для актуализации значений
Параметры.
name | type | description |
---|---|---|
store_ext_id | string(20) | Внешний идентификатор (на стороне Торговой системы или бэкофиса клиента) |
auto | boolean | - true - Использовать сервисную аналитику распределения по периодам. - false - Не использовать аналитику (равномерное распределение по нижним периодам) |
Параметры ответа
result: { "addressId" : ИД торговой точки, "auto": Автоматическое распределение}
Для получения планов по Торговой точке используется команда reports(id, filter, range)
Параметры.
name | type | description |
---|---|---|
id | string(20) | 'salesplans' - Получение отчёта о планах Торговой точки |
filter | object | { "storeId": /* Внешний идентификатор Торговой точки */ } |
range | object | { "from": "Y-m-d" /*Дата от*/, "to": "Y-m-d" /* Дата до */ } |
Пример запроса salesplans
{
"id":"1251506945251332",
"method":"reports",
"params":{
"id":"salesplans",
"filter": { "storeId":100 },
"range": {"from":"2017-09-01","to":"2017-10-31"}
},
"jsonrpc":"2.0"
}
Пример ответа
{
"jsonrpc": "2.0",
"id": "1251506945251332",
"result": {
"data": {
"salesplans": {
"id": "100",
"uuid": "1457",
"name": "Екатеринбург, ТЦ Курс",
"data": {
"periods": {
"2017-09-01": { /* Список значений метрик на указанную дату*/
"1437627895975737336": {
"fact": 73.16, // Фактическое значение метрики
"plan": 0, //Плановое значение
"forecast": 0 // Прогнозное (в фактических датах совпадает с фактом или = 0 для несуммарных метрик)
}
}
}, ...
"rules": [ // Список метрик
{
"id": "1437627895975737336",
"name": "Средний чек по группе",
"order": "0",
"type": "2"
},...
]
}
}
}
}
}
Метод предназначается для очистки всех номенклатурных позиций от присвоенных категорий. Выполняется в случае, если далее будет обновляться не весь номенклатурный справочник.
Параметры.
нетПараметры ответа
result: { "status" : "ok"}
Автоматически обновляет или создаёт (в случае отсутствия) позицию по её атрибутам.
Параметры.
name | type | description |
---|---|---|
name | string(200) | Название номенклатурной позиции (в случае отсутствия указанного params.extid будет использоваться как основной её идентификатор) |
params | associative array |
extid string(40) (optional) - Внешний уникальный идентификатор, как правило, уникальный идентификатор из справочника Торговой Системы category string(200) (optional) - Название/идентификатор категории (метка). Может использоваться микроформат для присвоения нескольких меток: [store_ext_id1,..,store_ext_idN]Категория1&&Категория2&&..&&КатегорияN. - store_ext_idN - внешний идентификатор торговой точки, либо 0 (если для всех) price decimal(10,4) (optional) - Цена позиции |
Пример запроса priceupdate
{
"id":"1251506945251332",
"method":"priceUpdate",
"params":{
"name":"Носки \"Бумеранг\" 41-43",
"params": { "extId":"1239187239487","category":"Одежда&&Возможно нижняя&&СТМ","price":"150.00" }
},
"jsonrpc":"2.0"
}
Пример ответа
result: { "priceId" : <Идентификатор позиции в системе Гифтоман>}
Автоматически обновляет или создаёт (в случае отсутствия) пакет позиций (максимум = 1000).
Параметры.
name | type | description |
---|---|---|
items | Array of Objects - Максимум 1000 элементов | Объект массива: - name (string(200)) : Человекочитаемое название товара - params (array) : Опциональный объект параметров товарной позиции { -- extid string(40) (optional) - Внешний уникальный идентификатор, как правило, уникальный идентификатор из справочника Торговой Системы -- category string(200) (optional) - Название/идентификатор категории (метка). Может использоваться микроформат для присвоения нескольких меток: Категория1&&Категория2&&..&&КатегорияN. -- price decimal(10,4) (optional) - Цена позиции |
Пример запроса priceupdate
{
"id":"1251506945251332",
"method":"priceUpdateBatch",
"params":{
"items": [
{
"name":"Носки \"Бумеранг\" 41-43",
"params": { "extId":"1239187239487","category":"Одежда&&Возможно нижняя&&СТМ","price":"150.00" }
},
{
"name":"Платок \"Радость носика\"",
"params": { "extId":"3219187239487","category":"Аксессуары&&СТМ","price":"120.00" }
}
]
},
"jsonrpc":"2.0"
}
Пример ответа
result:
{
"count" : 2 /*<Кол-во принятых позиций>*/
}
Автоматически актуализирует расписание работы ТТ на каждый день рабочей недели.
Параметры.
name | type | description |
---|---|---|
store_ext_id | string(20) | Внешний идентификатор (на стороне Торговой системы или бэкофиса клиента) |
schedule | Array of Objects | Объект массива: - wday (tinyint) : 1-Понедельник, ... 7 - Воскресенье - from (string(5) ЧЧ:ММ) : Начало работы ТТ - to (string(5) ЧЧ:ММ): Конец работы ТТ - breaks (Array of objects опционально): [ { from (string(5) ЧЧ:ММ): Начало перерыва ТТ to (string(5) ЧЧ:ММ): Конец перерыва ТТ },.. ] |
Пример запроса storeSchedule
{
"id":"1251506945251332",
"method":"storeSchedule",
"params":{
"store_ext_id": 123,
"schedule": [
{
"wday":1,
"from": "10:00",
"to": "20:00"
},
{
"wday":2,
"from": "10:00",
"to": "20:00"
},
{
"wday":3,
"from": "10:00",
"to": "20:00"
},
{
"wday":4,
"from": "10:00",
"to": "20:00"
},
{
"wday":5,
"from": "10:00",
"to": "22:00"
},
{
"wday":6,
"from": "11:00",
"to": "19:00"
},
{
"wday":7,
"from": "11:00",
"to": "19:00"
}
]
},
"jsonrpc":"2.0"
}
Пример ответа
result:{"addressId":"Идентификатор в системе Гифтоман"}
Последнее обновление: 17 Дек '15
Для мобильных устройств и кассовых на платформе Android. В пакет включены методы регистрации покупок в облаке, получения актуальных данных о выполнении KPI и Плановых показателей.
Скачать пакет можно здесь https://partner.giftoman.ru/files/android.sdk.v0.1.0.zip
Для работы необходим ключ доступа устройства, который вы можете получить в аккаунте.
Последнее обновление: 15 Май '16
Программа 1С в процедурах взаимодействия с торговым оборудованием передаёт информацию о своих
операциях в кассовый модуль Гифтоман, установленный на этом же персональном компьютере.
Данные передаются путем подключения внешней библиотеки (COM-сервера) и вызова её методов.
Для корректной интеграции система должна передавать данные ТОЛЬКО в местах её неотменяемой
пользователем регистрации.
Для случая 1С 7.7 используется аналогичная схема интеграции, отличающаяся методом создания
COM-объекта Драйвер_Гифтоман = CreateObject(“Giftoman.ChequeApi”);
и другими
названиями объектов документа чека
Подключение компоненты может проводиться как в момент инициализации окружения 1С, так и непосредственно в цикле продажи. Мы рекомендуем организовать отдельную общую процедуру для того, чтобы облегчить работу в случае потери соединения с COM-сервером.
Процедура Подключить_Гифтоман() Экспорт Попытка Драйвер_Гифтоман = Новый COMОбъект("Giftoman.ChequeApi"); ОбщегоНазначения.ЗапишемЛогДополнительный(ПараметрыСеанса.ТекущийПользователь, "ок"); Прервать; Исключение ОписаниеОшибки1 = "Не зарегистрирована библиотека Гифтоман. Обратитесь в службу технической поддержки Гифтоман."; ОписаниеОшибки2 = ОписаниеОшибки(); Сообщение = ОписаниеОшибки1 + Символы.ПС + ОписаниеОшибки2; КонецПопытки; КонецПроцедуры
При закрытии чека инициализировать необходимые переменные: Итоговую сумму, скидку, а так же определить момент возврата
ИтоговаяСуммаЧека = 0; ИтоговаяСкидкаЧека = 0; ИтоговаяСуммаЧека = ФР.Quantity * Товар.Итог("Сумма"); ИтоговаяСкидкаЧека = Товар.Итог("СкидкаСумма"); Если ВидОперации = Перечисления.ВидыОперацийЧекККМ.Продажа Или ВидОперации = Перечисления.ВидыОперацийЧекККМ.ПродажаСертификатов Или ВидОперации = Перечисления.ВидыОперацийЧекККМ.Депозит Тогда // Прямая продажа Иначе // Подготовка данных для проведения "возврата" ИтоговаяСуммаЧека = - ИтоговаяСуммаЧека; ИтоговаяСкидкаЧека = - ИтоговаяСкидкаЧека; КонецЕсли;
После вывода чека на печать шлём данные в модуль Гифтоман
Если ИтоговаяСуммаЧека Тогда // Только в случае ненулевого чека Подключить_Гифтоман(); ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "Начало чека. Объект Гифтоман " + ?(Драйвер_Гифтоман <> Неопределено, "определен", "не определен") + ", сумма " + ИтоговаяСуммаЧека + ", скидка " + ИтоговаяСкидкаЧека + ", Опт " + Опт); // Лог Если Драйвер_Гифтоман <> Неопределено Тогда Попытка ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "Вызов PurchaseOpen"); Драйвер_Гифтоман_Ответ = Драйвер_Гифтоман.PurchaseOpen(ИтоговаяСуммаЧека /* Сумма чека за вычетом скидки */, "Розница" /* Продавец */); ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "ок"); // Лог Для Каждого СтрокаТовара Из Товар Цикл НаименованиеПозиции = СтрокаТовара.Номенклатура.Код1С + "; " + СтрокаТовара.Номенклатура; Драйвер_Гифтоман.PurchaseAddItem(НаименованиеПозиции, СтрокаТовара.Количество, СтрокаТовара.Сумма, ""); КонецЦикла; ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "Вызов PurchaseClose"); // Лог Драйвер_Гифтоман.PurchaseClose(); // Закрытие чека и отправка данных в Гифтоман ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "ок"); // Лог Прервать; Исключение // Обработка в случае потери связи с COM-сервером Сообщение = ОписаниеОшибки(); ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "Вызвано Исключение: " + Сообщение); Подключить_Гифтоман(); КонецПопытки; КонецЕсли; ОбщегоНазначения.ЗапишемЛогДополнительный(Кассир, "Конец чека."); // Лог КонецЕсли;
Для интеграции с IIKO достаточно установить готовый плагин под соответствующую версию IIKO. Плагин запускается автоматически при старте IIKO
v3.5
v3.9
v4.2.1172
v4.2.+
v4.3+
v4.4+
Для установки на главную кассу скопируйте содержимое архива плагина в папку:
Для установки на главную кассу скопируйте файл плагина Giftoman.IIKO.plugin.dll в папки (подпапку iikoWaiter необходимо создать вручную):
Интеграция с Frontol 4 производится через сценарий обработки продаж, настраиваемый в административной части Frontol
В экране "Скидки и сценарии" добавить сценарий для v4
Далее открыть подменю “Скидки и сценарии” \ “Объекты” и добавить “Объект скидки”
Указать в “Объекте скидки” созданный сценарий “Отправка данных в Гифтоман” и нажать ОК
Конец документа.
Обновление 26 Дек '15
За основу примеров мы берём успешные внедрения в бизнесах различного уровня, построенных на активных продажах: розничная торговля, быстрое питание, рестораны, сфера услуг e.t.c.
Наш инструмент является частью автоматизации бизнес-процессов предприятия и как всякая автоматизация направлен в первую очередь на уменьшение издержек и увеличение эффективности работы сотрудников
Для Управляющего - это экономия времени, затрачиваемого на подготовку оперативных данных по продажам для внесения коррекций в процесс. Для Продавца - постоянный мотив к действию, без ожидания очередного сигнала со стороны Управляющего
Основная идея: эффективное использование нашего инструмента как информационного канала внутри предприятия.
Ценность канала будет тем выше, чем адекватней передаваемый сигнал управления (
KPI
), поэтому все примеры методов сводятся к выбору: какой именно показатель станет задачей и мотивацией для ваших сотрудников.Если в вашем бизнесе уже действует та или иная схема мотивации, скорее всего вы найдёте её в нашем списке и сможете использовать в качестве шаблона при настройке инструмента.
Примечание
Все описанные методологии носят рекомендательный характер. Это означает, что мы всецело приветствуем свободу интерпретаций и расширение методов под нужды каждого клиента.
Для всех вариантовKPI
характерны три стимула:Социальный
,Премиальный
иШтрафной
.
В этом случае большая часть воздействия лежит в разрезе отношений Сотрудника и Работодателя: выполнение планов сотрудником упрочняет его статус-кво и должно открывать принципиальные возможности.
Такой вариант подходит предприятиям с низкой ротацией кадров и как следствие высокой их ценой.
Одна из вариаций Социальной схемы - Соревновательная, в которой Продавцы напрямую соревнуются по показателям выполнения KPI. В совокупности с Премированием (например, премирование занявших три первых места в десятке), это может стать мощным стимулом повышения продуктивности работы.
Премирование за выполнение KPI одна из самых распространённых и рабочих схем. Она же одна из самых неустойчивых перед человеческим фактором. Со стороны работодателя премия не должна быть эмоциональным фактором: только тщательный расчёт "делаешь больше - получаешь больше"
Однако, со стороны исполнителя всё с точностью наоборот: слишком далёкий порог получения премии может легко демотивировать сотрудника.
Поэтому зачастую эта схема подкрепляется Штрафной и может быть причиной высокой ротации кадров в компании.
В независимом виде штрафы практически не встречаются и являются дополнением предыдущих стимулов.
В
большинстве случаев это правило 80%
: штрафы накладываются только в случае, если не
достигнуто 80%
выполнения плана.
В таком случае расчёт заработной платы происходит из заранее фиксированной суммы вознаграждения,
остальная часть
является "премиальной" и прогрессивно рассчитывается по факту выполнения планов.
Как следствие, сильное невыполнение планов сотрудником приводит к заметной экономии на его
заработной плате.
НекоторыеKPI
поддерживают дополнительные возможности автоматизации:Автоматический прогноз
,Автоматическая коррекция плана
иАвтоматическое планирование
Система составляет автоматический прогноз
на основе актуальных данных о продажах,
помогая тем самым Продавцу и Управляющему оценить ситуацию заранее и не расслабляться в
неведении.
Для большинства ситуаций подходит формула прогноза по средней скорости продаж:
Прогноз выручки = Выручка за пройденное время работы + ( Выручка за пройденное время работы / Пройденное время работы ) * Оставшееся время работы
Если торговая точка недовыполнила план "вчера", то на "сегодня" он будет автоматически скорректирован по формуле
Коррекция на текущий день = Суммарное недовыполнение на текущий день / Количество оставшихся дней в календарном месяце.
Система не превысит определённый лимит коррекции (по умолчанию это 20% от суммарной
),
чтобы сохранить достижимость и стимулироавть Продавца следовать заданной цели.
При включенном автоматическом планировании система регулярно анализирует поток регистрируемых продаж и при приближении к очередному периоду планирования автоматически ставит план на этот период.
Мы учитываем несколько факторов в этом алгоритме :
Фактор | Значимость | Описание |
---|---|---|
Отраслевой | Высокая | Отрасль, которую вы указываете при регистрации аккаунта в нашей системе. Важный фактор, определяющий выбор общей стратегии планирования. |
Сезонный | Высокая | Зависит от Отраслевого, определяет общие колебания фактора выручки в календарном году |
Периодический | Средняя | Так же зависит от Отраслевого, определяет периоды колебаний внутри рабочих периодов (как правило - рабочие недели) |
Экономический | Низкая | Общий фактор, поквартально рассчитывающийся по индексам потребительской активности и индекса цен на недвижимость. |
Примечание
Алгоритм не может полностью заместить человеческий фактор, поэтому результат его расчётов проходит через процедуру подтверждения и коррекции Управляющим торговой точки.
Если ваше предприятие поддерживает общий план по выручке на торговую точку, то это самый простой KPI для настройки и дальнейшей работы в нашей системе.
До продавцов ежемоментно доставляется информация о том, сколько заработала торговая точка за рабочий день и сколько нужно ещё заработать, чтобы достичь цели.
В качестве основных KPI предлагается выделять План по выручке на день
и План
по выручке
на месяц
- это основа для оперативного понимания ситуации как со стороны
Продавца, так и Управляющего.
Подходит абсолютно всем предприятиям как самая простая постановка задачи. Лучший вариант для предприятий, работающих на активное привлечение покупателей.
Расчёт плана по выручке является краеугольным камнем экономического анализа, в некоторых предприятиях включающий в себя сотни факторов. Поэтому здесь мы приводим общую идею расчёта этого KPI.
План на следующий месяц = Среднемесячная выручка за 3 прошлых месяца * 110%
Общая идея этой формулы - всегда ориентироваться на рост, сохраняя достижимую дистанцию до цели. В конкретных случаях конечно же нужно учитывать человеческий фактор, оптимизацию логистики и возможное повышение или понижение спроса на ваш продукт.
План выручки по целевым группам товаров, за выполнение которого Продавец как правило получает вознаграждение, является эффективным усилением мотивации Продавца: чем чётче сформулирована задача, тем очевидней результат её выполнения.
Данный метод подходит для предприятий, которые
Ключевая группа: когда необходимо удерживать определённый уровень продаж
группы товаров:
В этом случае Продавцам ставится задача продавать товары из указанной группы не меньше
определённого порога по отношению к остальным
План на следующий месяц = План по общей выручке * Доля %
Драйвер роста: когда выделенная группа товаров косвенно усиливает продажи
остальных товаров:
В таком варианте идея расчёта этого KPI практически не отличается от плана общей выручки
План на следующий месяц = Среднемесячная выручка по группе товаров за последние 3 месяца * 110%
Данный KPI является одним из наиболее понятных и достижимых для Продавца. Как правило, Продавец премируется за факт продажи конкретных товаров из выделенных групп. KPI может быть применён как для продажи ключевых товаров, так и сопутствующих.
Данный метод подходит для
В случае, если KPI рассчитывается для ключевого товара - это как правило схема Честная
сделка
, в которой вознаграждение Продавца
состоит из двух частей: фиксированной и премиальной.
В таком случае рассчитывается порог премирования за день. Формульная основа:
Порог премирования за день = Среднемесячное количество продаж товара за 3 месяца * 110% / 30
Премирование за сопутствующие товары может происходить как с порогом премирования, так и без него, в зависимости от установленной Управляющим сложности продажи указанного товара
Есть ряд случаев, где на первое место выходит оптимизация оплаты труда: Честная
сделка
с Продавцом,
когда вместо фиксированной оплаты труда предлагается смешанная схема фиксированная ставка +
премиальная часть
В первую очередь для
В общем случае рекомендуется брать фиксированную часть от 50% до 70% средней ставки. Далее идeт Сдельная часть и Премиальная часть.
Сдельная часть = Средняя ставка - Фиксированная часть
Сдельная часть рассчитывается по порогу достижения плана выбранного KPI
Для KPI Общая выручка
, Выручка в группе товаров
Интервал сдельной части = [ 80% * Установленный план по KPI, 100% * Установленный план по KPI ]
Для KPI Количество проданных в группе товаров
Порог сдельной части на день = Среднемесячное количество продаваемых товаров за последние 3 мес * 110% / 30
Тут же рассчитывается премия за проданную единицу товара не выше порога дневной сделки
Премия за проданную единицу товара ниже порога дневной сделки = Сдельная часть / Среднемесячное кол-во продаваемых товаров за последние 3 мес
При перевыполнении плановых значений назначается мотивирующая премия
Премия выше порога дневной сделки = Премия за проданную единицу товара ниже порога дневной сделки * 150%
Обновление 11 Фев '19
Кассовый модуль является отдельным .NET приложением с рядом информационных интерфейсов,
позволяющих продавцу или менеджеру в любой момент оценить состояние работы торговой точки.
Для того, чтобы это было возможно кассовый модуль так же реализует механизм сохранения продаж в
облаке.
Минимальные требования для работы
Параметр | Значение |
---|---|
Операционная система | Windows XP (SP1-SP3, PosReady 2007, PosReady 2009), Windows 7, Windows 8 |
CPU | 1 Ghz ARM |
RAM | 512MB |
.NET Framework | 4.0 |
Наличие доступа в Интернет на кассе | Да (проксируемый или маршрут до шлюза) |
Дополнительно | Административный доступ при установке приложения |
Версия для скачивания доступна по ссылке
При правильной установке и настройке в левом верхнем углу появится значокпри нажатии на который откроется интерфейс кассового модуля
При нажатии на иконку приложения Гифтоман на кассе открывается основной экран с KPI. В верхней части экрана - Панель навигации:
На экране отображаются данные для связи с Службой технической поддержки Гифтоман и Инструкция по работе с приложением Гифтоман на кассе для сотрудников торговой точки.
На экране отображаюсь ключевые плановы показатели (KPI) для торговой точки, которые согласованы Центральным офисом Торговой сети
В верхней части экрана, ниже навигационной панели, отображены:
На экране отображаются фактические показатели продаж сотрудников, информацию о которых Гифтоман получает из чеков.
На экране отображается рейтинг торговых точек внутри региона или сети по проценту выполнения планов продаж на период. Торговые точки сортируются по убыванию процента выполнения плана по KPI в первом столбце. Фактические продажи на экране не демонстрируются, все показатели выводятся на экран в процентах.
В верхней части экрана, ниже навигационной панели, отображены:
Обновление 12 Фев '19
Главный экран Личного кабинета пользователя на сайте https://partner.giftoman.ru/login
На экране отображается общая информация по выполнению всех KPI, настроенных в Гифтоман.
График демонстрирует накопительные результаты по выполнению плана продаж каждый день - запланированные результаты, фактические продажи и разница между плановыми показателями и реализацией планов. План на день суммируется каждый день и график показывает накопительную запланированную сумму - крупная пунктирная линия. Фактические продажи также суммируются и выводятся на график - сплошная зеленая линия. Прогнозные суммарные значения также суммируются и выводятся на график - мелкий пунктир.
График демонстрирует фактическое выполнение плана продаж в процентах по торговым точкам. График используется для сравнения результатов работы схожих торговых точек.
Страница “Рейтинг: План-Факт” открывается через левое меню навигации на черной панели в левой части страницы. Рейтинг план-факт - распределение торговых точек, группы магазинов и регионов в формате рейтинга по фактическому проценту выполнения планов продаж.
Рейтинг “Персональные продажи продавцов” находится на странице “Рейтинг: План-Факт” ниже таблицы.
Календарь планов - интерфейс для контроля и настройки плановых показателей в Гифтоман. Календарь планов открывается через левое меню навигации на черной панели в левой части страницы.
Обновление 12 Фев '19
Приложение Гифтоман реализовано на платформах Android и iOS.
Для входа в мобильное приложение необходимы логин и пароль. Данные для входа в Мобильное приложение совпадают с данными для входа в Личный кабинет.