Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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:

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:

Image Added

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

  1. Launch the manager station, open the Settings > Parameters menu and go to the Installation > Link with other systems > Personal cards > PDS Server name section
  2. 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.
    Image Added

    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.


  3. In the Service > Stations and Devices menu, select the required cash server, and add the PDS Interface on the Drivers tab

  4. 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

  5. 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:

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.

  1. Create MCR algorithm of processing by masktype
  2. In Object field, specify interface associated earlier. In our case, PDS
  3. InDevice types field, select:
    1. Keyboard
    2. Magnetic card
  4. In Processing mask field, specify mask. In our case, thi will be 4 digits — iiii
  5. In Area field, select Interface
  6. 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:

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 objectsSynchronization 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 new restaurant needs to be launched, take clean (empty) database from distribution package
  • If database is faulty, replace it by valid archive copy of the same database, or by clean (empty) base from distribution package*

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 new restaurant needs to be launched, take clean (empty) database from distribution package
  • If database is faulty, replace it by valid archive copy of the same database, or by clean (empty) base from distribution package*

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 new restaurant needs to be launched, take clean (empty) database from distribution package
  • If database is faulty, replace it by valid archive copy of the same database, or by clean (empty) base from distribution package*

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"

  • If Primary database is faulty, replace it with valid archive copy of the same database, or by clean (empty) base from distribution package*

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)

...

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