When a receipt is generated, a record about a possible future discount is added. The discount identifier is added to the receipt as a barcode. Then, when the barcode is read, the discount is blocked. When a receipt with a discount is generated, the discount transaction takes place. After that, the discount is considered as a used one.

RDS – Receipt discount server. The path to the executable file: bin\rds\rdsserv.exe.

Manager Station Settings

  1. Go to Service > Stations and Devices. Select a required cash server and add RDS (Receipt Discount Server) Interface to the Drivers tab.
  2. Add a percentage discount — 100% is allowed — that will be applied when a barcode is read.
  3. Specify the interface parameters
  4. Go to Service > Interfaces and create an RDS logical interface. Select RDS (Receipt Discount Server) Interface in the property with the cash server name.
  5. Open Service > Device Signals Processing > MCR Algorithms. Create an MCR algorithm of the Mask or Prefix type.
    Mask example: 9876iiiiiiii?
    For barcode prefix 9876: Device type — Barcode, Object — the interface created in the previous paragraph. 
  6. Configure the receipt print layout. Add a field, and enter the <barcode XXXX00000000> escape command in it, where XXXX is a prefix, f.ex., 9876. Barcode length shall be 12, zeros shall be at the right. For receipts without discounts, use another layout without such a barcode.

    Starting from version <barcode [PrintChecks.StrTag]> shall be entered instead of <barcode XXXX00000000>.

  7. Select the EAN-13 barcode type in the printer driver settings.
  8. At the cash server, run preload .\rkeeper.ini. Get intrds.dll from the preload subfolder, and place it along with the cash server (midserv.exe).

Main Section Parameters — [Config]

The default config file RDS.INI is located in bin\rds\ini folder.

Server =RDSServer   //  server network name
BasePath = .\path\      //  path to folder where RDSDB.udb database will be created; usually, folder with RDSSERV.EXE file
StartLang = .\rds.rus  //  server localization file
RECREATEBASE =0   //   if 1, re-creates working base at launch, if –1, does not re-create even if version is changed
TransactionLag =3600000  //  time in milliseconds permitted after a discount active period if the discount has already been registered on the order but receipt has not been generated.

Additional Interface Parameters

RDS Server Name = RDSServer — RDS server network name
Default Disc. Code = 0 — default discount code, if limits are not specified, or the first receipt amount is below limits
Percent For Discount = 0 — percent of the first receipt amount that defines the amount limiting the future discount. The maximal value is 100000000 (million first receipts discount).
Active Time(hours) = 24 — time for using discount, in hours
Call Timeout(ms) = 60000 — timeout of calling RDS server network operation, in milliseconds
Bar Code Prefix = 9876 — discount barcode prefix. Same as in printing layout and MCR algorithm mask. Add <Barcode 987600000000> command to the layout (for prefix value 9876). The barcode length shall be 12.
Holder Info () — cardholder info for discount. If empty, the Global ID of the initial receipt will be transmitted.
Min. Disc. Limit 1 = 0 — minimal discount limit. Will be used if above 0 and below Disc. Limit 2. If the first receipt amount is below this limit, Default Disc. Code is used. 
Min. Disc. Code 1 = 0 — discount code for first receipts with amounts below Min. Disc. Limit 1 (and below Disc. Limit 2 if used)
Disc. Limit 2 … Disc. Limit 8, Max. Disc. Limit 9 = 0 — discount limit. Will be used if above 0 and below the next limit
Disc. Code 2 … Disc. Code 8, Max. Disc. Code 9 = 0 — discount code for the first receipts with amounts not less than the corresponding limit (and below the next limit if used).