Интеграция ПО «Абонемент» с R-Keeper CRM 

Версии используемого ПО

 R-Keeper CRM 5  Версия 5.9.5.3
 R-Keeper CRM 7  Версия 7.12.7.2
 ПО "Абонемент"  Версия 1.134
 amPDS_CS.dll  Версия 1.7.0.0

Реализуемые функции

Действие в Абонемент

 Результат

 1. В списке гостей проводим карточкой гостя CRM. Поиск гостя.

Если гость в Абонемент с таким PIN не найден, то происходит добавление гостя. Передается фамилия, имя, отчество, дата рождения и текущий код скидки.

Если гость с таким PIN есть, то открывается карточка гостя.

 2. В быстрой продаже нажали на кнопку «ПДС карта»

Произошел запрос в CRM, к заказу применилась скидка, но гость в Абонемент создался обезличенный - *

 3. Передача потрат

Потраты передаются на счет потрат со всех платежей, кроме "Списание с ПДС". Флаг «Бонусы накапливаются во внешней ПДС» значения не имеет.

 4. Передача бонусного процента от платежа

При установленном флаге «Бонусы накапливаются во внешней ПДС» - на депозитный счет зачисляется бонусный процент. Работает для всех типов платежей, включая Списывать с ПДС.

 5. Оплата с депозитного счета ПДС

Оплата любых услуг деньгами с депозитного счета. Списание происходит только с одного депозитного счета.

 6. Пополнение депозиного счета

Заводится специальная услуга «Пополнение PDS» и платеж «Пополнение PDS» фискального (нефискального) типа. В карточке платежа бонусный процент равен 100. Происходит пополнение депозитного счета в CRM. В Абонементе на фолио фиксируется пара услуга и платеж.

Конфигурация

С версии Абонемент 134 поставка необходимого для интеграции находится по пути FullVersionVer134\_INTERFACE\PDS\PDS-CS\ 

В поставку входят amPDS_CS.dll и amPDS_CS.ini

Для подключения к Абонемент, необходимо скопировать данные файлы в папку exe, а также в abonementmanager.ini заполнить секцию [PDS] следующим образом:

[PDS]
RunPDSDllName=amPDS_CS.dll
isMultiPay=1

Далее необходимо заполнить amPDS_CS.ini следующим образом:

[DLL.PDS-CS]
;дисконтная карта может передаваться другому человеку
DefKindCard = 0

GlobalKey = ; вводим уникальный лицензионный глобальный ключ (за ним обращаться в Лицензионный отдел UCS) (*)

LoginUser = Администратор 
LoginPsw = 1

Host = 172.22.3.172 ;адрес компьютера, на котором запущен сервер авторизации карт
Port = 9191 ;порт, который слушает сервер авторизации карт

TerminalID = 13 ;код классификатора ПО

;Код типа счета - деньги, плюс бонусы
PaymentAccountTypeID = 00001

;Код типа счета – потраты, все потраченные в Абонементе деньги 
ServiceAccountTypeID = 00004

;Код типа счета – скидка
DiscountAccountTypeID = 00002  

;Код контакта Телефон 1
Phone1TypeCode=35

;Код контакта Телефон 2
Phone2TypeCode=55

;Код контакта Email
EmailTypeCode=12

* - в R-Keeper CRM 5: короткий ключ, в R-Keeper CRM 7: не требуется.

Все вышеперечисленные типы кодов должны совпадать с типами кодов в R-Keeper CRM.

Передача содержимого чека из Абонемент в CRM

С версий amPDS_CS.dll 1.11.0.2 и Абонемент 1.136 доступна передача содержимого чека в CRM, для возможности последующей настройки акций ориентирующихся на состав чека.

В силу того что в CRM все "Коды" являются строго целочисленными полями, необходимо и в Абонемент привести поле "Код" к целочисленному виду, иначе чеки не будут отправлены в CRM, для предотвращения внутренних ошибок CRM.

Если нет возможности в БД привести коды всех используемых услуг, групп услуг, абонементов, групп абонементов и платежей к целочисленному виду, то можно воспользоваться функционалом подмены кодов, используя следующие секции amPDS_CS.ini

[TranslateCodes.Code]
; Код услуги/абонемента/платежа = код блюда для CRM
@12=12100
USL14=14000
VISA=999
MCARD=998

[TranslateCodes.CategCode]
; Код группы услуг/абонементов = код категории меню для CRM
ONL=775
БАР=777
ЗАЛ=776

Таким образом, даже при не целочисленном коде в Абонемент чек будет успешно передан, с подменой кода согласно настройке.

Если абонемент не принадлежит ни в одной группе, чек также не будет передан. 

Если код группы не целочисленный и для него не настроена подмена, но все остальные условия выполнены, чек будет передан, но группа будет передана с кодом 0.

Рис.1 Пример переданного содержимого чека в CRM7

 

Настройка ПО "Абонемент"

После проверки и настройки файлов, запускаем  ПО «Абонемент».
 
Прежде всего устанавливаем флаг, указывающий, что бонусы у нас будут накапливаться во внешней ПДС. 
 
Настройки - > Общие параметры -> Двойной клик на названии объекта -> Закладка “Скидки”
 
 
Рис.2 Установка флага
 

Создание платежа "Списывать с PDS"

«Настройки-->Услуги и платежи-->Платежи -->Безналичный расчет»
 
Добавляем новую карточку платежа и указываем типа платежа «Списывать с ПДС». Пример – на рисунке 3:
 
 
Рис. 3 Пример настройки новой карточки платежа 

Создание скидки “Скидка PDS”

Создаём новую группу скидок. Например, с кодом PDS и наименованием “Скидка PDS”.
Для вышеуказанной группы создаём состав. 
 
ВНИМАНИЕ!  Необходимо ПРАВИЛЬНО указать КОД.  Его местонахождение описано на рис.5 и рис.6 (всё это находится в R-Keeper CRM)
 
Для созданного состава указываем содержание скидки. Для примера выбираем услугу “Бар” и определяем для неё скидку в 10%. 
 
Рис.4 Добавление группы скидок, её состав и содержание
 
Для определения кода скидки (или заведение его), необходимо зайти в R-Keeper CRM и найти нужный тип счетов (в нашем случае это – 00002, который соответствует DiscountAccountTypeID в PDS_CS.ini )
 
 
Рис.5   Типы счетов в R-Keeper CRM
 
На рисунке видно, что у этого типа счёта – схема “1”. Ищем эту схему и определяем “Код внешний”, который равен 13. Его и используем для указания в “Шаге втором” на рис.3 
 

Рис.6 Схемы в R-Keeper CRM

Создание платежа и услуги “Пополнение PDS” (фискальное и нефискальное)

Помимо списания, можно также производить пополнение счета в R-Keeper CRM.
Для заведения соответствующей услуги отметим флаг «Разрешить начисление услуг с нулевой стоимостью» на вкладке:
 
Настройки - > Общие параметры -> Двойной клик на названии объекта -> Вкладка “Услуги и платежи”
 
 
Рис.7 Вкладка «Услуги и платежи», «Разрешить начисление услуг с нулевой стоимостью»
 
Далее идем в пункт  Настройки - > Платежи и в группе «Наличный расчет» создаем платеж «Пополнение PDS», также установим бонусный процент в размере 100% (для однозначности) и ставим флаг «Фискальный тип».
 
 
Рис.8 Создание платежа «Пополнение PDS»
 
Также создадим (для использования в определенной схеме работы) нефискальный платеж «Нефискальное пополнение PDS» (при использовании данного вида платежа - чек на ФР печататься не будет):
 
 
Рис.9 Создание платежа «Нефискальное пополнение PDS»
 
Далее идем в пункт  Настройки - > Услуги и создаем одноименную услугу «Пополнение PDS» с нулевой стоимостью.
 
 
Рис.10 Создание услуги «Пополнение PDS»

 

Работа в ПО "Абонемент" (в связке с R-Keeper CRM)

Рассмотрим поэтапно несколько случаев использования карты ПДС R-Keeper CRM.
Клиент заведён в R-Keeper CRM, но его нет в Абонементе.
Заходим в “Быструю продажу” и делаем поиск:
 
 
Рис.11 Поиск клиента по карте
 
ПО «Абонемент» не отобразил данные, поэтому заходим в “Список клиентов” и добавляем клиента (и переходим к ситуации, когда есть клиент и в ПО "Абонемент", и в R-Keeper CRM): 
 
 
Рис.12 Добавление информации по клиенту из R-Keeper CRM 
 
Клиента в ПО «Абонемент» мы добавили (из CRM в ПО "Абонемент" передается следующий набор данных: Фамилия, Имя, Отчество, Дата рождения и текущий Код скидки), теперь проверяем и определяем, какая скидка ему положена в R-Keeper CRM. Для этого возвращаемся в “Быструю продажу” и нажимаем на “Поиск по карте” и получаем №ФОЛИО, №Клиента, ФИО. После этого нажимаем на троеточие возле параметра “Скидка по ПДС карте” (на Рис.12 отмечено зелёным кружком) и получаем номер ПДС карты, заведённой в R-Keeper CRM и скидку по этой карте.
 
 
Рис.13. Определение фолио клиента и скидки
 
После этого добавляем услугу (обратите внимание, за пример взята услуга, на которую была заведена скидка – см. рис.4). Затем Вы можете выбрать разные способы оплат, в том числе и списание со счёта R-Keeper CRM.
 
 
Рис.14 Оплата услуг
 
Открываем  Фолио ->Быстрый чек, нажимаем «ПДС-карта», прикладываем карту, выбираем созданную нами услугу «Услуги и товары»->«Пополнение PDS» и в зависимости от размера депозита, вводим его значение и нажимаем кнопку «Цена» (в примере это 1000).
 
 
Рис.15 Реализация услуги «Пополнение PDS»
 
Далее выбираем Тип оплаты: Оплата -> Наличный расчет -> Пополнение PDS и нажимаем кнопку «Оплатить»:
 
 
Рис.16 Продажа с использованием соответствующего типа оплаты
 
 
Рис.17 Окно оплаты
 
После чего, видим в R-Keeper CRM зачиление на счет в размере 1000:
 
 
Рис.18 R-Keeper CRM
 
 
 
 

Конфигурация (устаревшее)

Сначала необходимо настроить и запустить утилиту TcpCardReader в соответствии с имеющимися картами и считывателями.
Далее, необходимо проверить наличие в директории ПО «Абонемент» (например: “C:\_UCS\_FITNESS\exe\” ) следующих файлов:
 
Рис.18 Список файлов для связи с R-Keeper CRM 
 
При написании статьи использовались следующие версии библиотек и ПО "Абонемент":
 
Пример runpds.ini:
[MERGE]
pdscs=PDS_CS.ini
Пример PDS_CS.ini:
[BOOT]
PDS = %exepath%\sdmPDS_CS.dll

[DLL]
PDS = PDS-CS

[DLL.PDS-CS]
;дисконтная карта может передаваться другому человеку
DefKindCard = 0

GlobalKey = ; вводим уникальный лицензионный глобальный ключ (за ним обращаться в Лицензионный отдел UCS) (*)

LoginUser = Администратор 
LoginPsw = 1

Host = 172.22.3.172 ;адрес компьютера, на котором запущен сервер авторизации карт
Port = 9191 ;порт, который слушает сервер авторизации карт

TerminalID = 13 ;код классификатора ПО

;Код типа счета - деньги, плюс бонусы
PaymentAccountTypeID = 00001

;Код типа счета – потраты, все потраченные в Абонементе деньги 
ServiceAccountTypeID = 00004

;Код типа счета – скидка
DiscountAccountTypeID = 00002

* - в R-Keeper CRM 5: короткий ключ, в R-Keeper CRM 7: не требуется.

Все вышеперечисленные типы кодов должны совпадать с типами кодов в R-Keeper CRM.

 

В данном примере используем карты вида "778=12345678=Номер карты"

Пример decodecards.ini:
[general]
usemask=1
TrackResultLog=

[mask]
card2= 778=12345678=*

[cards]
CardPrefix   = 778=12345678=

[cards.Card2]
ExcludedPrefix=778=12345678=
code=2

[cards.RegularCard]
code=22

[cards.StaffCard]
code=21

[cards.PDSCard]
code=24