...
The Personal Discount System ( — hereinafter PDS ) program — is aimed to maintain own a base of personal payment & and discount cards, and management of manage the work with different elements of the loyalty system (, such as discounts, bonuses, savings, etc.)
Normally, PDS is installed as addition to R-Keeper system, but it can also work as independent SW.
System composition
The system includes the following mandatory applications:
- Card Server (CARDSERV) - primary system application, manages database and provides interaction with PDS clients
- Card Editor (PCARDS) - application for system references management and basic reporting
The system also contains additional (optional) modules:
- Request Repeater (FARCARDS) - unified module aimed to manage various operation modes - mainly used independently of primary PDS modules for connection to external systems
- Card Server Sync (SYNCARD) - application for primary and local card servers synchronization in distributed PDS scheme
- Card Import (CARDIMP) - application for cards package upload in standard import format (CSV)
- Card Info (CARDINFO) - application for card info collection
- Card Server DB Maintenance (DATACUT) - application for reducing database size by arranging old transactions
Note: All PDS modules are installed and operating under control of Windows
Licensing
For "Card Editor" (PCARDS) operation, specially designed Guardant Stealth II (USB) hardware token is required.
No additional licensing is required neither from PDS, nor from R-Keeper side.
Card Server (CARDSERV)
Card Server designation
Card Server functions include database management and interaction with PDS system clients (cash register system or other SW including external)
Card Server composition
Card Server includes the following components:
- Database in UDB format - card.udb
- Server executable file Cardserv.exe
- Server config file CARDSERV.INI
- Communication libraries (RTCP.DLL, RLOCAL.DLL, RNBOPEN.DLL, etc.)
- Utility for database upgrade to required version - Cardup.exe
Card Server installation
To install Card Server:
- download full PDS package from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/PDS.zip
- unpack the archive.
The archive contains fully operational PDS package. No additional installations required.
Card Server update
To update Card Server version:
- download the valid Card Server version distribution package from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDSERV
- copy Cardup.exe utility from distribution package subfolder \UPGRADE into Card Server working folder
- stop Card Server
- make a backup copy of card.udb database
- run Cardup.exe, and update DB
- copy new version of Card Server Cardserv.exe from distribution package subfolder \CARDSERV into Card Server working folder
Note: when Card Server is being updated, it is also recommended to update the communication libraries set. It can be downloaded from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z
Card Server setup
All Card Server parameters are stored in CARDSERV.INI config file
By default, CARDSERV.INI contains minimum parameter set. See below possible parameters and description thereof:
[DB] - database parameters section
File = card.udb - Card Server database file
DayBound = 4:00 - day bound time - value that the server accounts in the course of various time limitations check (card validity period, limits, etc.) and uses for report generation
Note: it is recommended to specify time-of-day value when the POS server has already closed the day, but the new POS shift has not started yet. It is logical for the companies working round the clock to use astronomic day bound 00:00
Backup = - path to save CARD.UDB base automatic backup. If not specified, will be performed in the same folder where the working DB is located
Automatic backup is performed once a day. Time of execution is not configurable. It is managed by server in accordance with internal rules.
BackupCount = 2 - number of automatic backup files. If this number is reached, the files are overwritten automatically
WeekStart = 7 - parameter that specifies the week starting day to server. Used for cards with weekly limitations, can have the following values: 1 - MO 2 - TU, 3 - WE, ... 7 - SU
Bonus = - if DISCOUNT value is specified, number (identifier) of card bonus will match the number (identifier) of the card discount. See more detail on this parameter below
MinRest = - if amount is specified in this setting, card balance will be deemed zero if below specified amount.
IgnoreStopDate = No - if = YES then card validity period is not limited.
Log = 2 - log file level. 0 - rare events. 1 - request events. 2 - details of specific requests
[LinkDLL] - communication libraries support section
1 = RNetBios - support of communication channel via NetBios protocol
2 = RNBOpen - support of special communication channel via NetBios protocol. Only used for R-Keeper v6 POS system
3 = RTcp - support of communication channel via TCP/IP protocol
Note: communication modules are downloaded and initialized in the same order as they are listed in [LinkDLL] section
Note: it is recommended to specify only necessary communication libraries in [LinkDLL] section. After server start, some time (5-20 sec) is needed to initialize all pligin communication modules
Then, individual parameter sections follow for each communication library:
[RNetBios] ; parameter section for NETBIOS communication module
Server = PCSERV ; unique (within LAN) case sensitive network NETBIOS name of Card Server
[RNBOpen] ; parameter section for RNBOPEN communication module
Server = ASERV ; unique (within LAN) case sensitive network NETBIOS name of Card Server. ONLY used to connect R-Keeper v6 POS system
[RTcp] ; parameter section for RTCP communication module
Port = - порт TCP/IP for incoming connections, any unique free/open network port for communication with Card Server. Usually 3000 to 5000.
[RLocal] ; parameter section for RLOCAL communication module
Port = 0 - port for local connections, arbitrary number can be specified
Special aspects of communication modules use
- When communication modules using NetBios protocol (RNBOPEN.DLL and NETBIOS.DLL) are being connected, bear in mind that modules will be downloaded at all NetBIOS adapter numbers found in Windows - this will cause some delays of Card Server launch. If Card Server is configured to simultaneously support different communication modules, it is recommended to specify modules supporting NetBIOS at the end of list in [LinkDLL] section
- When Card Server is being installed at 64-bit OS, communication modules supporting NetBIOS will not work correct way - NETBIOS module can be replaced by RTCP and/or RLOCAL modules. There is no substitution for RNBOPEN module, but, starting from cash register version 6.102 there is a possibility to configure alternate connection via TCP/IP protocol using RTCP communication module
Therefore, when Card Server is being installed at 64-bit Windows, it makes sense to use only two communication modules: RTCP (for all remote connections including cash register and POS server) and RLOCAL (for all local connections)
Card Server launch
CARDSERV.EXE launch is possible both as application and as a service
No external components, including BDE, are required to run Card Server. Also, no protection key and/or license is required to run Card Server
Launch mode is determined by key:
- /DESKTOP - server launch as app
- /INSTALL - server installation as a service
- /UNINSTALL - deletion of installed service of the server
Several servers with different settings and bases can run at the same time at the same computer
Upon launch, a working Card Server icon shall appear in system tray. Double-click on this icon shall open the server graphic interface and give possibility to check its operational status.
- "Database" tab - general info
- "Connects" tab - list of connected clients
- "Protocols" tab - list of communication libraries with parameters and state. If the server is running as a service, Popup menu for shutdown will be accessible
When Card Server is installed at Windows 7 (or higher), if it is running as a service, there will be no icon in the system tray
Bonus=DISCOUNT parameter
For better understanding of this parameter, description thereof is moved to separate section.
In PDS system, support of levels depending on the owner expenses is not implemented, whereas such functionality is implemented for discounts (aggregate discounts) - use of Bonus=DISCOUNT parameter enables support of aggregate bonuses
Workflow:
- bonuses necessary for level formation are created in "Editor" module (RK6) or in RK7 manager station
- virtual (or real, depending on situation) discounts are created in "Editor" module (RK6) or RK7 manager station. The discount codes precisely match codes of bonuses created at the previous phase
- aggregate discounts are created in editor in accordance with the rules applicable to future aggregate bonuses, therewith, specially created discounts are used for each aggregate discount
- aggregate discounts are assigned to cards in card editor
Special aspects of use:
- Card Server will always return discount code and bonus code that will be the same if Bonus=DISCOUNT parameter is used - therefore, flexibility in discount management is lost
- card discount usage cannot be disabled - if discount is not needed, it should be set to zero
Example of minimal server configuration
In minimal configuration (only RTCP communication module support), CARDSERV.INI looks as follows:
[DB]
File = card.udb
DayBound = 4:00
Backup =
IgnoreStopDat e= No
BackupCount = 2
WeekStart = 7
Log = 2
[LinkDLL]
1 = RTcp
[Rtcp]
Port = 3456
Example of \CARDSERV folder content after installation:
CARDSERV.EXE - Card Server executable file
CARDSERV.INI - Card Server config file
CARD.UDB - Card Server database
RTCP.DLL - communication module using TCP protocol
Example of server configuration for connection via different TCP/IP ports
In some cases, connection to Card Server via several different port numbers may be required.
Since only one port value can be specified in Rtcp.dll library parameters, use "workaround" - copy Rtcp.dll library in required quantity with different names, e. g., Rtcp1.dll, Rtcp2.dll, and configure corresponding settings in CARDSERV.IN:
....
[LinkDLL]
1 = RTcp1
2 = RTcp2
3 = RTcp3
[RTcp1]
Port = 1111
[RTcp2]
Port = 2222
[RTcp3]
Port = 3333
Important: consecutive numbering of communication libraries shall be kept in [LinkDLL] section
Card editor
Card editor purpose
Card editor (PCARDS) is the main user module of PDS SW. It is aimed to create and manage cards (accounts) base. Also, basic reporting on PDS system is available in the module.
- Default login: ucs. If fits, try 1
- Default password: ucs. If fits, try 1
Card editor installation
Card editor installation can be performed at the same PC where the Card Server is installed, or at any other PC connected to Card Server.
License protection key Novex Guardant II is required to run card editor
Card editor is in archive downloaded before. To run it, open PCARDS.EXE application
Card editor setup
Card editor configuration is stored in RKEEPER.INI file.
Note: parameter values in RKEEPER.INI file are not case-sensitive, except for parameters containing NETBIOS names.
Config file example:
[Common] - basic section.
Alias1 = d:\RK6\DB - path to RK6 manager base reference tables.
Alias2 = d:\RK6\DB - path to RK6 cumulative base (ARK6.UDB).
EditFRF = YES - turn Fast Report printed form designer on/off.
Language=.RUS - localization. Default language - RUS/ENG.
[PCards] - card editor section.
CSLinkDLL = RTcp - communication library of card editor used for connection to Card Server. The library is specified without extension.
CSLinkGate = 1 - number of DLL client, then add this number to DLL parameters.
DBF = ANSI - coding in DBF files during data export from CARD.UDB. - ANSI or OEM.
SaveLogin=YES - save username in program start window.
Login=ucs - default user.
Birthday=0 - Birthday report creation mode. 0 - take specified year into account. 1 - do not take the year into account.
ShowExport=1 - Show "Export" field in accounts - 1 or no - 0.
Font = Antica - Used font can be specified.
Guardant = $232D7F11 - License key can be specified, starts with $. If there is an h at the end of the number, this symbol shall not be entered.
Note: key ID is determined by diagnostic utility included into Guardant (Control panel\Guardant drivers)
Note: several parameter groups with different values can be defined in each communication libraries section. Parameter group is defined by number that is specified after parameter name and can have value 1 through 16. E. g., Server1 - group 1, Server2 - group 2, etc.
[RTcp] ; section of selected communication module settings.
Client1 = Person_Cards ; any string unique among TCP server clients.
Server1 = 127.0.0.1 ; server IP address - can be found by running ipconfig /all from command line (included in Windows).
Port1 = 3456 ; port number specified in CARDSERV.INI of CARDSERV server.
Example of Card editor connection to Card Server via NETBIOS:
............
[PCards]
CSLinkDLL = RNetbios ; used communication module
CSLinkGate = 1
[RNetbios]
Server1 = PCSERV ; NETBIOS name of Card Server
Client1 = PCARDS_CLIENT ; NETBIOS name of client, shall be unique in the network.
Adapter1 = 0 ; if not specified, the first existing one will be used.
Cards import from text file
PCards application provides possibility to import cards list from text file (CSV) of specified format.
Import operation is accessible from menu by right-click in accounts display mode (File ⇒ Accounts):
Fig. Cards import from text file operation |
Requirements to text file — CSV format
- file coding ANSI (Windows)
- each individual line corresponds to one card
- each line has several fields separated by commas
- if comma is required within the field, the field shall be put between double quotes (e. g., "10, Mira St.")
- if quotes are required within the field, all quotes shall be doubled, and the whole fields shall be put between quotes. E. g., name of "Romashka" LLC affiliate shall look as follows: ""Romashka" LLC"
Import procedure works as follows:
- if the card is not on the server, new account shall be created for it
- if there is already an account with such card, properties thereof shall be changed
...
PDS Settings
Details of PDS installation and configuration are described in the Installing and Configuring PDS article.
Info |
---|
Before reading this article, please follow the instructions from Installing and Configuring PDS and start PDS as independent software. |
Card Server Settings
Info |
---|
The CARDSERV version should be 5.08 — version 14 protocol — or later. If the Farcards card repeater is used, its version should be at least 3.02 |
Standard installation and configuration of the card server is described in the Installing and Configuring PDS article.
After CARDSERV standard installation and configuration, to connect the system to r_keeper 7, do the following:
- Copy the following files from the \bin\For cardserv directory of the distribution kit of the corresponding r_keeper 7 version — a zip archive from the standalone folder at FTP — to the working directory of the card server:
- borlndmm.dll
- dllman.dll
- errors32.dll
- Netkern.dll
- pds_netk.dll
- TCPSOC.dll
- Thread32.dll
- netk.ini — file located in the \bin\For cardsserv\ini\ directory
cardsserv.ini — a prepared file located in the \bin\For cardsserv\ini\ directory. This file is adapted exclusively for the connection of the card server with r_keeper. If there is no connection with r_keeper 7, then use this file.
Info If there is no corresponding archive in the standalone\ folder of the r_keeper 7 version, but there is a cash desk installer RK7_Cash_Setup_7.5.X.exe, the set of libraries must be taken from the directory specified during installation, and be sure to click the "Add" button after choosing the path to save the pds_netk.dll.
- Edit CARDSERV.INI — the configuration file of the card server:
Add the pds_netk.dll link library to the [LinkDLL] section for interaction with r_keeper 7:
Code Block [LinkDLL] ... 3 = pds_netk
Add the [pds_netk] section with the parameters of the pds_netk.dll library:
Code Block [pds_netk] NetServerName=PDS_CARDSERVER_1 ;; card server network name, the same name must be specified in the PDS interface properties on the cash server, find the details below ERRORLOG=pds_netk.stk ;; log file name ININAME=netk.ini ;; name of a separate configuration file with protocol and netkern settings, optional parameter PROTOCOLS=netkprot\*.dll ;; netkern protocol library search mask, used if ININAME parameter is not specified Timeout=120000 ;; timeout in milliseconds, the maximum allowed time for the server to execute a request; before pds_netk version 5, the default value was 10000 ;; starting from version 10 (7.10.0.32) the parameter value is ignored, there is no timeout on the server; only the timeout is checked, which is configurable ;; in the properties of the PDS driver/interface for the cash server DebugMessages=0 ;; if set to 1, logs basic information on all queries
- Start the card server as an application — the using /desktop key — and check the status of the loaded link libraries on the Protocols tab.
Info |
---|
Remember that the RTCP protocol is required for the interaction between the card server and the card editor. |
An example of loaded link libraries on the card server version 7.22.02:
PCards Card Editor Settings
Standard installation and configuration of the card editor are described in Installing and Configuring PDS.
Info |
---|
The card editor — PCards.exe — and the r_keeper 7 cash server midserv.exe use configuration files with the same name — RKEEPER.INI, so they should be installed in different directories. If you need to install applications in one directory, you should use a different configuration file for the cash server and force the name of this file to be specified on the command line when you start the cash server. |
After PCards standard installation and configuration, to connect the system to r_keeper 7, do the following:
- From the \bin\For cardserv directory of the distribution kit of the corresponding r_keeper 7 version, copy the following files to the working directory of the card editor:
- borlndmm.dll
- dllman.dll
- errors32.dll
- Netkern.dll
- thread32.dll
- pcget.dll
- TCPSOC.dll
- Thread32.dll
- netk.ini — an optional file, located in \bin\For cardserv\ini\ directory
- rkeeper.ini — a prepared file located in \bin\For cardsserv\ini\ directory
This file is adapted exclusively for the connection of the card editor with r_keeper 7. If there is no connection with r_keeper 6, use this file.
Pcget.dll is an interface library for Pcards.exe, used to authorize users and receive data on discounts and bonuses from the r_keeper 7 system. To obtain information on discounts and bonuses, specify the network name of the reference server in the [PCGET] section.
- Edit RKEEPER.INI — the configuration file of the card editor
Add the [PCGET] section with the parameters of the Pcget.dll library:
Code Block [PCGET] Server = RK7_REF_SRV - the name of the RK7 reference server Client = PCARDS_CLIENT1 - the unique client name ShowMarkups = 0 – to load(1) or not(0) markups to the list of discounts LastLoginName= - the name of the last user who logged into the card editor, is filled in automatically
Add the [NETKERN] section for network settings — see Supported Protocols and Network Configuration for more details.
Code Block [NETKERN] PROTOCOLS= tcpsoc.dll
Add the [TCPDNS] section with parameters specifying the location of the r_keeper 7 system reference server:
Code Block [TCPDNS] RK7_REF_SRV = AAA.BBB.CCC.DDD:1234 - where AAA.BBB.CCC.DDD is the IP address of the machine on which the reference server is running, and 1234 is the port of the reference server.
Launch the card editor. If the database is new, then use the following login details: user = ucs, password = ucs.
Info The rights in the card editor are editable for the role, so you need to give all rights to the Administrator group. To do this, go to the File > Users reference, select a role and allow all operations.
Next, you need to check the availability of discounts and bonuses in the client data editing mode. Read more about how to add a client and a card in the user manual.
Settings in r_keeper 7
Manager Station Settings
- Launch the manager station, open the Settings > Parameters menu and go to the Installation > Link with other systems > Personal cards > PDS Server name section
In the properties of the PDS server name parameter, in the Basic section, specify the name of the card server in the String line. This name should match the value of the NetServerName parameter from CARDSERV.INI, but is not an optional condition.
Info Setting the PDS server name parameter is not relevant when using several PDS interfaces on one cash server. The priority of this server name is lower than that of the name specified in the interface properties on the cash server, as in the figure below.
In the Service > Stations and Devices menu, select the required cash server, and add the PDS Interface on the Drivers tab
In the interface properties, specify the name of the card server — the PDS Server name parameter, the value of which should correspond to the value of the NetServerName parameter from the card server configuration file — CARDSERV.INI
If necessary, fill in or configure other interface parameters:
Currency Rate Class Code = 1 — PDS currency rate class code. 1 – national currency class.
Tax Code = 1 — tax code.
Call Timeout = 120 — timeout for accessing the PDS server in seconds.
Maximal Discount Value=0 = Discount limit spent totally — interpretation of the zero value of the discount limit returned by the map server:
Discount limit spent totally — the discount limit has been fully used up, is the default value. No limits — ignore the discount limit.
Defaulter Type Code as = Defaulter type code - interpretation of the defaulter code:
Defaulter type code - use as the defaulter type code, is the default value. Currency subaccount base - addition to the subaccount number, i.e. for different cards, different numbers (codes) will be added to the subaccount number.
In the manager menu Service > Interfaces, select the logical interface Personal Discount System (PDS) and check the established correspondences for POS servers and PDS interfaces, then restart the POS server.
Properties of the logical interface Personal Discount System (PDS):
In the manager menu Tools > Device signal processing > MCR algorithms configure the MCR algorithm.
The MCR algorithm of the PDS must have the Interface area, the object is the pre-installed logical interface Personal Discount System (PDS).
The MCR algorithm parameter is a string containing the card code in decimal form, if the reader transmits the code in hexadecimal form, it must be converted to decimal using the inttostr and strtoint functions.
For example: Parameter:=inttostr(strtoint('$'+Parameter)).
Parameters of the MCR algorithm for use with the PDS interface:
It is allowed to use employee cards as PDS cards - in this case, there should be two MCR algorithms:
One with interface area
Other with scope Worker
In the MCR order editor, the worker algorithm will be ignored if the temporary registration form is not entered.
For more information about MCR algorithms, see the document Configuring MCR algorithms.
Payment and replenishment of PDS cards at the cash desk of RK7
To be able to pay and replenish PDS cards at the RK7 checkout, you must:
Launch the manager station, open the Settings > Parameters menu and go to the section Station operation parameters > Order editing > Order settlement/payment.
Select the Payment by payment card option and select the Ask option for the Value property.
In the manager menu Money > Currencies, select the currency for the PDS and in the Interface property specify the PDS logical interface, also set the Transaction ID property to 0.
The Interface section is only available for dealers.
Currency properties for PDS:
The Interface required parameter is deprecated in versions 7.5.3.260 and higher.
In the manager menu Money > Discounts and Mark-ups, create an amount mark-up that will be used when replenishing the card, set the Transaction Code property to 0.
The Interface section is only available for dealers.
Margin properties for replenishing VDS cards:
In the manager menu Money > Reasons for depositing/withdrawing money, create a reason and fill in the following properties:
Balance replenishment - Fiscal
Depositing money - Yes
markup - you
take the markup created in the previous step.
Properties of the reason for depositing/withdrawing money for replenishing VDS cards:
In order for the amounts paid in not to be reflected in the fiscal registrar as a deposit, in the properties of the print scheme Balance replenishment for the property Class main. printer, specify a different printer, or select Do not print.
Print scheme properties Replenishment of balance:
To print the layouts of Replenishment of balance and Withdrawal of money from the PDS card, it is necessary to make copies of the layouts of Replenishment of balance and Withdrawal of money from the PDS card, then set the TRAINING flag in the properties.
Properties of the Balance replenishment and Withdrawal of money from VDS card layouts:
Read the card at the cash station in the order editing mode - a window with information on the card and its owner should appear (in this example, the card is not in the database).
An example of a window at the cash station RK7 after reading the VDS card:
If the client has a photo in the card editor, but it is not displayed at the checkout, then it is necessary to enable the parameter [All] - [Setting] - [Communication with other systems] - [Personal cards] - [PDS Show picture] in the manager station r_k 7 .
Debugging the interaction of the RK7 cash server via the PDS protocol
In some cases, it may be necessary to debug (advanced logging) the interaction of the cash server r_k 7 (MIDSERV) via the PDS protocol (Farcards, Cardserv).
Prerequisites for using debugging:
The version of pds_netk.dll must be at least 7.0.29.0. The current version of the library can be taken from any current binary distribution of RK7 in the \bin\For cardsserv directory
When updating pds_netk.dll, it is recommended to also update a set of related libraries: errors32.dll, Netkern.dll, etc. - see the full list above.
Libraries need to be updated in all working directories where they are used: RK7, Cardserv, Farcards, etc.
To enable debugging, you need to:
In the FARCARDS.INI and/or CARDSERV.INI configuration file, add the DebugMessages=1 parameter in the [pds_netk] section:
[pds_netk]
...
DebugMessages=1
...
Add the DebugMessages=34 parameter in the [Config] section of the RKEEPER.INI POS server configuration file:
[config]
...
DebugMessages=34
...
Restart all applications: cash server, Farcards, Cardserv, etc.
Extended logging will be recorded in the pds_netk.stk file.
If necessary, pass the debug result, e.g. to the support service, in addition to the pds_netk.stk file, you will also need the logs of the cash station (cash.stk), cash server (midsrv.stk), Farcards (Farcards.LOG) and/or Cardserv (Cardserv.log).
1023,31.12.2007,5,10,02.02.2002,Ivanov Ivan Ivanovich
1024,01.01.2008,2,1,05.11.1980,A.B.Sidorov,1
1027,12.03.2007,2,,,Alexey Tolstoy,4,5000,222-22-22,,tolstoy@test.su,Test
2,17.08.2020,10,,05.03.1970,V.Y. Biryukov,,,,biryukov@mail.ru,My department
Package funds accrual
PCards provides possibility to import funds accrual transactions from text file (CSV) of specified format.
Import operation is accessible from menu by right-click in accounts display mode (File ⇒ Accounts):
Fig. Operation of transactions import from text file |
Requirements to text file — CSV format
- file coding ANSI (Windows)
- each individual line corresponds to one transaction
- each line has several fields separated by commas
- if comma is required within the field, the field shall be put between double quotes (e. g., "Grant deposit, November")
- if quotes are required within the field, the quotes shall be doubled, and the whole fields shall be put between quotes, e. g., "Deposit from ""Romashka"" OOO"
...
1023, 550.00
1024, 1745.25, Additional accrual for November
1027, 0.50, Automatic bonus
2, -25, Fine for broken dishes
Connection of card reader
For convenience, external reader can be connected to PCARDS application, for example:
- magnetic card reader
- proximity card reader
- barcode scanner
For reader connection, special driver is needed that supports operation with this particular reader model.
Full drivers list can be viewed at ftp ftp://ftp.ucs.ru/r-keeper/versions/COM_READ. Each folder for each particular device contains several subfolders \CARDREAD, \COMCARD, WINCAS, etc. - \CARDREAD subfolder contains drivers supporting this reader model in PCARDS application
To install driver:
- download required driver from FTP ftp://ftp.ucs.ru/r-keeper/versions/COM_READ
- unpack the archive into PCARDS working folder
- setup CardRead.ini config file (see driver parameters description in README.TXT file)
Example of CardRead.ini config file for СРЧ-125 reader (/COM_READ/RFIDUCS3/CARDREAD):
[Options]
Port=COM1 - COM port name
Bits=28 - number of card number bits used 16..40
Mode=0 - 0-"long" number from card, 1-"complex" number
Unified driver from ftp://ftp.ucs.ru/r-keeper/versions/COM_READ/STANDARD/CARDREAD reference supports operation with any reader that connects to COM port (or any other interface who's driver provides virtual COM port emulation), and transmits the data read directly to the port.
In PCARDS card editor, reader support is displayed by special image - card reading is supported in account editing (creation) mode, and in card search mode:
Fig. Card reading in account editing mode | Fig. Card reading in search mode |
Setup of connection to r_keeper_7
For PDS connection to r_keeper_7 to work properly, add interface to POS server through which cash register station will get info on customer's card
To do so, select required POS server, go to "Devices" tab, right-click, and select "Drivers list". Find "PDS interface" driver, and move it to "Devices" tab. Then, specify unique name in "PDS Server name" line. Then, associate this interface with logical interface. To do so, open "Service - Interfaces" tab, and create copy of pre-installed "Personal Discount System" interface. In library files section, select "PDS interface" created earlier
To activate the new interface, restart POS server. Upon POS server restart, the new interface accessibility can be found in properties thereof (if POS server was launched with /desktop key)
MCR algorithm setup
If you want to check PDS operation in action but have no cards for the check, it is possible to perform the check by entering info from keyboard.
- Create MCR algorithm of processing by masktype
- In Object field, specify interface associated earlier. In our case, PDS
- InDevice types field, select:
- Keyboard
- Magnetic card
- In Processing mask field, specify mask. In our case, thi will be 4 digits — iiii
- In Area field, select Interface
- Activate and save algorithm
Run cash register and create an order.
Press Enter from keyboard button and enter number of existing card in accordance with processing mask.
If the server is running, the card exists and is valid — card info will appear on screen.
To activate discount or bonus, press on the image.
FARCARDS request repeater
FARCARDS application is a repeater - it receives request from clients (e. g., from POS system), and transmits these requests either to personal card server (CARDSERV) or to external (third-party system), and returns replies from Card Server or external system to the clients.
FARCARDS specific feature is absence of any built-in facilities for personal card info storage.
Interaction with external system is provided by special interface library that is implemented in accordance with FARCARDS specification.
FARCARDS installation
Installation is performed similar to that of Card Server:
- download the valid repeater version of distribution package from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/FARCARDS
- create folder, e. g. UCS\PDS\FARCARDS, and copy distribution package content thereto
- download archive with communication libraries from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z and unpack it into FARCARDS working folder
FARCARDS setup
FARCARDS parameters are stored in FARCARDS.INI config file.
General parameters section:
[FarServer]
Type = 0 ; repeater operation mode, see below
DLL = RTcp ; name of communication library for connection CardServ, or library for connection to external system
; Note: in Type=0 mode, RTcp library cannot be present in [LinkDLL] section. At launch, FARCARDS checks this situation and, if necessary, corrects FARCARDS.INI automatically
Log = 0 ; log file detail level (0..3)
Gate = 1 ; parameter number, used in parameter section of the library specified in DLL parameter
CloseMins = 5 ; timeout of disconnection from CardServ after the last client disconnection (min), 0 - disconnect immediately.
; Communication libraries list section
[LinkDLL]
1 = RNBOpen
2 = RLocal
3 = pds_netk
; Sections with communication library parameters
[Rtcp]
Client1 = Remote Resto
Server1 = 127.0.0.1
Port1 = 2222
[RNBOpen]
Server = AServ
[RLocal]
Port = 1
[pds_netk]
NetServerName=FarCards
ininame=netk.ini
There is "Subaccounts" band in print patterns, where you can enter all available info on accounts associated with the card. If there are no expenses, they cannot be viewed.
The following parameters are responsible for expenses display in "Client info" window:
HasUnitInfo=1
Show_AccountTypes=1
Then, in Show_AccountTypes specify ID of expense account that can be viewed in configurator
FARCARDS operation modes
FARCARDS can operate in two modes that are defined by Type parameter in [FarServer] section
Type = 0 mode
In this mode, FARCARDS is connected to CARDSERV card server, and transmits all client requests (e. g., POS server requests) thereto, and returns responses.
This mode has lost its relevance since more functional distributed PDS configuration (SYNCARD) appeared, and R-Keeper v6 POS server is now able to connect to Card Server via TCP/IP (starting from version 6.102)
Type = 0 usage example:
- there is a restaurant with working personal cards PDS system
- there is another restaurant (in different place geographically) where the same cards are supposed to be used
- when TCP/IP connection is established between the restaurants, FARCARDS with Type = 0 mode can be used in the second restaurant
- calling FARCARDS for POS servers will be "transparent" in the second restaurant, just like calling regular CARDSERV. FARCARDS will communicate to Card Server in the first restaurant via TCP/IP and retransmit all data exchange
- therefore, FARCARS will play intermediate link role between POS servers and Card Server:
RKCLIENT ⇔ RKSERVER ⇔ FARCARDS ⇔ LAN\WAN ⇔ CARDSERV
Example of FARCARDS.INI setup for Type = 0 mode:
[FarServer]
Type = 0
DLL = RTcp ; library for connection to CARDSERV
Log = 0
Gate = 1
CloseMins = 5
; Communication libraries list section
[LinkDLL]
1 = RNBOpen
2 = RLocal
3 = pds_netk
; Parameters section for connection to remote Card Server:
[Rtcp]
Client1 = Remote Restaurant ; any unique FARCARDS client name
Server1 = 192.168.0.99 ; remote Card Server IP address
Port1 = 3456 ; remote Card Server port for TCP/IP connection
; sections with communication library parameters
[RNBOpen]
Server = AServ
[RLocal]
Port = 1
[pds_netk]
NetServerName=FarCards (PDS Server name - interface added to POS server)
ininame=netk.ini
Upon FARCARDS launch in Type = 0 mode, status of connection to Card Server is displayed in graphic interface of Server tab:
Fig. Card Server connection error | Fig. Card Server connection established successfully |
Upon successful FARCARDS connection to Card Server, connection will be displayed in graphic interface of Card Server "Connects" tab (if CloseMins parameter is not zero, otherwise the connection will be short-term):
Fig. Status of FARCARDS connection to Card Server |
Type = 1 mode
In this mode, FARCARDS transmits requests of its clients to plugin interface library, and returns results to clients.
In Type=1 mode, FARCARDS operates as a server (similar to CARDSERV), but logic of operations with personal cards is implemented in interface library (and/or in external system access to which is provided by interface library).
Generally, this mode is used to connect to R-Keeper to third-party software.
Type = 1 mode usage example:
- Customer has own information system for personal data management of employees and/or guests (this can be both simple loyalty system and ERP class enterprise management system)
- Customer shall use existing system jointly with R-Keeper.
- Customer gets specification for FARCARDS interface library (Extdll.txt) and distribution package development
In Type=1 mode, only r_keeper_7 cash register system and CARDINFO utility can be FARCARDS clients.
Apart from connection to third-party systems, FARCARDS in Type=1 mode is used for connection of R-Keeper cash register system to other UCS software:
- R-Keeper CRM - customer relations strategy management system
- Shelter PDS - discount system based on Shelter SW
- Subscription - unified management system
- Premiere - cinema automation system
Example of FARCARDS.INI setup for Type = 1 mode:
[FarServer]
Type = 1
DLL = ExtDLL29.dll ; interface library name
Gate = 1
Log = 3
XMLCP=1251 ; XML data codepage setting
[LinkDLL]
1 = RTCP
2 = RNBOpen
3 = pds_netk
; sections with communication library parameters:
[RNBOpen]
Server = AServ
[RLocal]
Port = 1
[pds_netk]
NetServerName=FarCards
ininame=netk.ini
Note: apart from FARCARDS.INI config file setup, interface library parameters setup may be required - see documentation provided with library
Upon FARCARDS launch in Type = 1 mode, status of plugin interface library will be displayed in graphic interface in Server tab:
Interface library download error | Interface library downloaded successfully |
FARCARDS launch
FARCRDS launch is possible both as application and as a service. Protection key and/or license is not required to run FARCARDS
Note: when Type =1 mode is used, FARCARDS launch can depend on external components - see requirements to interface library
Launch mode is determined by key:
- /DESKTOP - repeater launch as application
- /INSTALL - repeater launch as a service. When card repeater is installed in Windows 7 and higher as a service, the icon will not be displayed in system tray
- /UNINSTALL - deletion of installed repeater service
Several repeaters with different settings can run simultaneously at the same computer
Upon launch, repeater icon shall appear in system train. Double-click on the icon opens FARCARDS graphic interface and enables operation status check:
- "Server" tab - general info
- "Chanels" tab - list of connected clients
- "DLL" tab - list of communication libraries with parameters and status. If repeater is running as application, Shutdown popup menu will be accessible
Distributed PDS
General Information
Distributed PDS is standard PDS configuration version providing possibility for autonomous Card Server operation and periodic data synchronization between servers.
Possible application areas:
- restaurants chain with single personal cards base
- geographically dispersed chain of catering points within one company
- off-premises autonomous catering points with personal cards service
Usage advantages:
- permanent connection between restaurant and primary Card Server is not required
- all info is duplicated - backup (and quite up to date) copy of primary base is actually created at each remote restaurant
- in case of any database malfunction and restoration thereof from backup archive, all changes and transactions created after the moment of backup archive creation, will be uploaded to the base after synchronization
Note: Distributed PDS support is implemented starting from Card Server version CARDSERV 7.01
Procedure
In distributed PDS configuration, there is always one primary (central) Card Server, and one or more local (subordinate) servers.
Generally, primary server is in head office, and local servers are at remote objects. Synchronization between servers is performed via TCP/IP protocol. Therewith, it does not matter how the network channel is implemented - the sync sufficiency condition is a possibility to connect to primary (or intermediate) sever by IP address and port.
Standard operational scheme:
Cash register ⇔ LAN ⇔ local CARDSERV ⇔ LAN ⇔ SYNCARD ⇔ WAN (INTERNET) ⇔ primary CARDSERV
Intermediate Card Servers (as many as needed) can be enabled additionally, for example:
Cash register ⇔ LAN ⇔ local CARDSERV ⇔ LAN ⇔ SYNCARD ⇔ WAN (Mobile 3G INTERNET) ⇔ intermediate CARDSERV ⇔ LAN ⇔ SYNCARD ⇔ WAN (ISP INTERNET) ⇔ primary CARDSERV
Distributed PDS configuration
Distributed PDS configuration includes standard PDS modules (card server, card editor), and additional SYNCARD utility for card servers synchronization.
Card Server (CARDSERV) can operate in four modes:
- Standalone
- Primary
- Local
- Intermediate (local+primary).
Server operation mode depends on tag in CARD.UDB database. The tag is placed at SYNCARD synchronizer first start - if SYNCARD is not used, there are no tags in the database (standalone server).
Important: Once placed, the tag stays in database FOREVER!
Tag modification options:
- Standalone server can be made Primary (at any moment)
- Standalone server can be made Local (subordinate) only if its database is empty
- Local server can be made Intermediate (i. e., local+primary)
- Primary server cannot be made Intermediate.
Therefore, server tree can grow one server at a time by connecting the new server as Local to existing Primary, Intermediate or Local (than it will become Intermediate) server.
If necessary, PCARDS card editor can be connected to any server.
Important: cards can only be edited by PCARDS at Standalone and Primary servers. At Local and Intermediate servers, only data and report viewing is possible.
Note: to find out the card server mode, go to PCARDS application - "Help" \ "About" \ "Access" - Full, Primary, Lower, Transit. Server mode is also displayed at card server icon: H - Primary, L - Local
Invalid actions
The table below describes invalid actions with card server database, consequences thereof, and resolution methods:
Actions performed | Consequences | Resolution method |
Copying card server database from one local restaurant to another, and connection thereof to one (common) Primary server | Full data unsync! |
|
If you try to use a base which is not empty and not Local, in a local restaurant, SYNCARD will not work with it | Error message: "Can not mark [Local] as Local DB because it is not empty" . |
|
If empty database from primary server is copied to local restaurant, SYNCARD will not work with it | Error message: "Can not mark [Local] as Local DB because it is Head DB" |
|
If Local base from a restaurant is copied to Primary server, SYNCARD will not work with it. Moreover, PCARDS card editor will not allow to edit data in this DB | Error message: "Can not mark [Head] as Head DB because [Local] DB is not empty" |
|
Note: card server creates archive copies of CARD.UDB database automatically once a day (see note above).
SYNCARD installation
Prior to SYNCARD installation, the following conditions are supposed to be met:
- there is already a Primary or Standalone card server in the working configuration
- TCP/IP connection is established is established between Local and Primary (Standalone) servers (e. g., VPN with possibility to connect via IP address and port to computer where Primary server is installed and running)
...
- install local card server. If card server was installed and used earlier, install empty CARD.UDB database
- download distribution package of SYNCARD valid version from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/SYNCARD(version change history can be checked in HISTORY.TXT file)
- unpack archive content, e. g., to \UCS\PDS\SYNCARD folder
- copy RTcp.DLL communication library to the same folder (valid communication library versions package is at FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z )
Note: considering the note regarding RLOCAL.DLL library, only RTcp.DLL shall be used to connect SYNCARD to local card server, even if both servers are located at the same PC.
Then, configure primary SYNCARD.INI config file:
[Options] - General parameters section
Period = 10 - synchronization period in minutes (in how many minutes after successful data exchange will the next communication session start)
[Local] - Section of communication settings for connection to Local server
DLL = RTcp - DLL for communication with local card server
Gate = 1 - set number of communication DLL parameters
[Head] - Section of communication settings for connection to Primary card server
DLL = RTcp - DLL for communication with Primary card server
Gate = 2 - set number of communication DLL parameters
Modem = 0 - modem usage (to be more precise - connection establishment via Windows connection): 0 - not used, 1 - use always, 2 - only use if direct connection is missing
TryLink = 1 - only works with Modem = 2 - number of unsuccessful attempts of direct connection prior to modem usage
[Modem] - Modem connection settings section
PBEntry = 3GMobile - connection name created in Windows
User = - user specified for authentication
Psw = - password specified for authentication
Domain = - domain specified for authentication
[Rtcp] - Communication library settings section
Client1 = SYNCARD - unique client name for connection to local card server
Server1 = 127.0.0.1 - IP address for connection to local card server
Port1 = 4444 - port for connection to local card server
Client2 = SYNCARD - unique client name for connection to primary card server
Server2 = 192.168.0.1 - IP address for connection to primary card server
Port2 = 5555 - port for connection to primary card server
SYNCARD.EXE is launched with the keys:
/INSTALL - installation as a service (recommended)
/UNINSTALL - deletion of installed service
/DESKTOP - launch as application
Upon the first SYNCARD launch, the databases will get all necessary tags automatically, and, if connection between servers is established, data synchronization will take place.
Additional application
CARDINFO - card info
CARDINFO application is used to collect basic personal card info without running card editor and/or cash register station.
Can be used jointly with PCards card editor, or as a separate application within PDS. Additional license or protection key is not required.
Note: starting from CARDINFO version 1.10, card reader operation is supported (setup is similar to PCARDS)
Joint operation with PCards
To operate jointly with card editor:
- copy distribution package of valid application version from ftp ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDINFO, and unpack content thereof into PCards working folder
- create desktop shortcut to launch application
- if necessary, connect card reader, setup similar to PCARDS
Note: CARDINFO application for card readers support uses the same drivers as does PCARDS - if PCARDS has already been configured to support card reader, additional SYNCARD setup is not required.
Usag as separate application
To use as separate application within PDS:
- copy distribution package of valid application version from ftp ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDINFO
- unpack archive content into, for example, \UCS\PDS\CARDINFO folder
- copy communication library into application working folder - RTCP.DLL is recommended
- if discount names need to be displayed, copy corresponding library PCGET.DLL and libraries requited for operation thereof into application working folder (see PCARDS setup description)
- create or copy RKEEPER.INI file, and configure parameters (similar to PCARDS):
[PCards]
CSLinkDLL = RTcp - communication library name
CSLinkGate = 1 - client number (added to communication library parameters)
[RTCP]
Client1 = CARDINFO - unique client name for connection to card server
Server1 = 127.0.0.1 - card server IP address
Port1 = 3030 - TCP port for connection to card server
- create desktop shortcut to launch application
- if card reader connection is necessary, setup is similar to PCARDS
Cards list import
...
- download distribution package of application valid version from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDIMP
- unpack the archive content into, for example, \UCS\PDS\CARDIMP folder
- copy communication library into application working folder - RTCP.DLL is recommended
- create CARDIMP.INI file, and configure parameters:
[Options]
LinkDLL = RTcp - communication library name
[Rtcp]
Client1 = - unique client name for connection to card server
Server1 = - card server IP address
Port1 = - TCP port for connection to card server
...
Cardimp.exe Login Password FileName
where
- Login - username for authorization at card server
- Password - user password for authorization at card server
- FileName - name of cards list file being imported
Database maintenance
...
- transactions in the period for deletion that change balance, will be grouped into one transaction per account
- the rest of transactions for this period will be deleted
- all other information in the DB will remain unchanged
- upon new DB creation, old DB is not deleted but renamed like BEFORE_CUT_yyyy-mm-dd, where yyyy-mm-dd is date up to which transactions were deleted
Important: application will not allow to delete transactions from DB for the latest 90 days.
Important: if distributed PDS (SYNCARD) is used, all databases of the server tree must be synchronized prior to transactions deletion (last sync not more than 90 days ago).
To use the application:
- download distribution package of application valid version from FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/DATACUT
- unpack archive content into CARDSERV card server working folder
- stop CARDSERV card server
- launch application, and wait till DB is successfully processed
- run CARDSERV card server, and check if it works correctly
Setup of mobile fast food HTTP interface Setup of bonuses in association with PDS