1. Common information

1.1. Version UCS Delivery system has features (set of changes) that enables easier configuration and better performance of software Delivery.

1.1.1. For previous versions see

1.2. Main changes from previous versions in are:

  • no configuration files (*.ini) for all modules of Delivery;

  • all configuration is made from R-Keeper 7 Managing station;

  • DLVServ loads configuration from RK7 (cash server XML-queries);

  • RK7 settings for Delivery can be loaded from XML file;

1.3. RK7 minimum version is

1.4. You need to make sure that you have corrrect midas.dll version registered (9 and above).

2. Preparation

2.1. Database

2.1.1. DataBase server installation

Note: FireBird installer is included in Delivery installer.

Install Firebird Server 2.5 (32-bit only) on a computer that will run Delivery modules. Windows executable installer for full Superclassic/Classic or Superserver can be downloaded from official site : http://www.firebirdsql.org/en/firebird-2-5-2/). 

To ensure that services and libraries registered correctly in 64-bit OS run Firebird installer with Administrator rights

On Windows 7 64-bit, if Gds32.dll library fails to load, make sure that library is located in C:\Windows\SysWOW64\. If not, copy fbclient.dll file from Firebird installation folder (../Firebird/Bin/) to C:\Windows\SysWOW64\ folder and rename it to Gds32.dll.

Note: FireBird 3.0 is not supported!

2.1.2 DBExpress driver installation

Included in Delivery installer. If you want to reinstall DBExpress driver download DbExpressInstallation.7z from ftp://ftp.ucs.ru/Delivery/RK7.

2.1.3 CinemaUF.dll library installation

Download CinemaUF.dll.zip from ftp://ftp.ucs.ru/Delivery/PK7, unpack and copy CinemaUF.dll to UDF folder of your FireBird installation (usually c:\Program Files (x86)\Firebird\Firebird_2_5\UDF).

2.1.4 Borlndmm.dll

It is recommended to check if Borlndmm.dll is located in OS system folder.

For 32-bit OS: C:\Windows\System32\.

For 64-bit OS: C:\Windows\SysWOW64\.

2.1.5. CharSet Choose correct character set fits your language on installation and configuration. Do not set "UTF8" (causes errors), choose "NONE" for multiple language use.

2.2. RK7 configuration

2.2.1 Configure XML port of Reference server

Note: restart reference server after changing its XML port.

2.2.2 Add XML interface and port to Cash server

Go to Service -> Interfaces, create new interface for Delivery and bind it to cash server XML interface.

Note: reboot cash server after adding/changing interfaces.

2.2.3 Create new cash station and add XML interface and port to it

This cash station will be used on the same workstation that runs Dispatcher and Operator modules.

Create new cash station and choose "Crippled version (delivery)" in Station type parameter. If that station type is unavailable then enable "Use Delivery" option in Options -> Parameters ->Enterprise working settings.

Add new XML interface and port to cash station. Create new interface and bind it to this cash station XML interface as in pt. 2.2.

2.2.4 Create new order type

Create new order type for Delivery and tie it to order category (checkbox) that will be used with Delivery.

2.2.5 Add privileges to Delivery users

Go to Service -> Operations -> User operations, find operation with Ident = 920 and rename it to "Order status change", tick "Access control" checkbox. Then edit Delivery user role accordingly (checkbox). 

2.2.6 Configure service print for delivery cash station.

If usage of service print is not intended then configure service print for "No print" printer.

2.3. CRM configuration

Create new software classifier for Delivery in CRM card editor (RKeeper_CRM_Manager.exe). This classifier will be used in RK7 delivery plugin configuration.

3. Installation

3.1. With Installer

Download Delivery installer from ftp://ftp.ucs.ru/Delivery/Rk7 and run it as Administrator. Follow next steps:

Set up Reference server and Cash server XML interfaces parameters as they were configured previously in pt. 2.1 and pt. 2.2. Choose Delivery instance name and installation folder.

Select components to install. Choose name for Delivery configuration (RK7 delivery plugin). Make sure that XML-Editing role in RK7 has "System configurations" privilege.

Choose Delivery database folder and database credentials. Set up Delivery server settings (port will be used in RK7 delivery plugin configuration). Set up cash station settings as they were configured previously in pt. 2.3 and choose interface for CRM that RK7 uses..

Fill in CRM connection parameters (set classifier as in pt. 3). Choose shortcuts to create then click "Install". Finish installation.

Installation is now finished.

Verify RK7 delivery plugin configuration as described in pt. 1 of Manual installation section below.

3.2. Manual installation

3.2.1. Open rk7man.exe and go to Service -> Plugin configurations (reference in RK7 manager station) and choose root group "Delivery". Create a new plugin (or choose previously created with installer). "Name" must be exactly the same as in DLVServ.exe. Edit its properties (open Basic -> Settings). You need as many plugin configurations as many Delivery servers you do install. Following parameters MUST be set and checked:

  • Delivery database section - all   
  • Rkeeper CRM section: Rkeeper CRM Server IP; Rkeeper CRM Server port; Rkeeper CRM Server Classifier; CRM Group
  • Delivery server section - all
  • RK7 Cash stations section - all
  • RK7 Order section: Ident RK category; Ident RK Table; Delivery zone before order - only if delivery zones are used
  • Types of orders section - all
  • Delivery employees section - all
  • Default values section: Country; City; Phone number type; Address type
  • Programms pathes section: rk7Cash start; Operator start; Dispatcher start; Expeditor start; SipModule start - only if used.

3.2.2. Download distributive from ftp://ftp.ucs.ru/Delivery/RK7.

3.2.3. Unpack it and copy to destination folder.

3.2.4. Run DLVServ.exe with /desktop parameter and set up server parameters Select "Delivery configuration" (RK7 delivery plugin configuration). port must be the same as in RK7 delivery plugin configuration Delivery server name must be set unique.

3.2.5. Settings are saved to registry HKEY_LOCAL_MACHINE\SOFTWARE\UCS\DELIVERYRK7\ + [delivery server name]

4. Licensing

4.1. Make sure Guardant Key is installed on computer.

4.2. Issue Delivery sofware licenses (RK7 Delivery Operator, RK7 Delivery Dispatcher, RK7 Delivery Expeditor) for your object at l.ucs.ru.

4.3. Run Delivery server (DLVServ.exe) with /desktop parameter and fill in following fields:

       Object - full code of your object.

       Key - choose your Guardant key for Delivery.

       Request code - press button to generate request code for license.

4.4. Copy request code and generate a license code with it at l.ucs.ru in object info page. Enter license code in "License" field.   

 Expiry date and Quantity fields will be filled automatically after entering license code.

5. Running Delivery

5.1. Run Delivery server (DLVServ.exe) with /desktop parameter. You can install Delivery server as a system service with distinct name by using following command: DLVServ.exe -install -NAME:service name.

    To uninstall delivery server from system services run following command: DLVServ.exe -uninstall -NAME:service name.

5.2. Run Operator module (Operator.exe) with /desktop parameter. Operator module will automatically run Dispatcher and Operator modules and cash station. If they do not start automatically with Operator then check their correct paths in Programms pathes section of RK7 delivery plugin configuration.

6. Upgrading from previous versions (3.1.3.x)

To upgrade from previous versions you need to do following steps:

  • install new Delivery instance

  • copy parameters from .ini files of previous Delivery to RK7 delivery plugin configuration
  • upgrade DB to ver. (if upgrading from simply copy DB to new installation)

Note: below is table of parameters for .ini and plugin configuration.

SectionBlock / Commentary.ini parametertypeValueRK7 plugin parameterDescription
DeliveryDBDelivery database

stDBServerstring..\DELIVERYRK7.FDBPathFull path to delivery database

stDefCharSetdbcharsetsWIN1251CharSetCharacter set for delivery database

dbunamestringSYSDBAUser nameDelivery database user name

dbpassstringmasterkeyPasswordDelivery database password
CSServerRKeeper CRM

stCSServerstring127.0.0.1Rkeeper CRM Server IPIP address of RKeeper CRM Server

inCSPorttcpport9191Rkeeper CRM Server portPort of RKeeper CRM Server

stCSKeystring10Rkeeper CRM Server ClassifierSoftware Classifier Code Delivery from Rkeeper CRM

stCSUnitstring1Unit CodeUnit code for Station at Rkeeper CRM /Do not change!

stCSUserstring1User codeUser code of RKeeper CRM / Do not change!

inCSGroupinteger2CRM GroupGroup Rkeeper CRM

inAccountForCountinteger1CRM Account for countCRM Account for count orders of client

boSendSMSinteger0SMS for order statusSend SMS for order status

boCanAppendStreetboolean1allow to add streetAllow to add street

UseBlackListboolean1Use blacklistUse a blacklist for unscrupulous clients

boCanAppendCityinteger1allow to add cityAllow to add city

HaveSubwayinteger0Use subway dictionaryUse subway dictionary

GiveCardToClientinteger0Give a card to clientGive a card to client

GiveActiveCardinteger0Give activated cardGive activated card

CardGroupinteger3Cards group identCards group ident

DaysTillExpiredinteger365Number of days till card will expireNumber of days till card will expire
DLVServerDelivery server

stAuthIPstring127.0.0.1Delivery Server IPIP address of delivery server

inAuthPorttcpport12314Delivery Server portPort of delivery server

Client ipClient ip for connection to delivery server
RK7CashRK7 Cash stations

stCashIPstring127.0.0.1Cash IP addressIP address of xml-interface for cash station

inXMLPorttcpport2233Cash portPort of xml-interface for cash station


Password for xml-interfasePassword for xml-interface of cash station

inCSIdentinteger1000025Ident CRM interfaceIdent of Rkeeper CRM for current cash station
RK7OrderRK7 Order

stDLVExtSourcestring21Idents delivery ordersIdents for delivery orders

stInetExtSourcestring31Idents external ordersIdents for external orders(internet,virtual card....)

Idents external orders for auto confirmIdents for external orders for auto confirm(internet,virtual card....)

inrk7categoryinteger2Ident RK categoryIdent RK category for delivery order

strk7tableinteger19Ident RK TableIdent RK Table for delivery order

Ident of order voidIdent of order void used for delete order at center

boCanEditboolean1Allow editing of the orderAllow editing of the order

tiDefWayTimeinteger30Travel timeTravel time for delivery of the order by default

tiDefProdTimeinteger15Ckooking timeCkooking time for the order by default

boRestBeforeOrderboolean1Restaurant before orderThe restaurant must be defined before create order

boZoneBeforeOrderboolean1Delivery zone before orderThe delivery zone must be defined before create order

CalcWaitTimeTypeCalcWTwtDefaultwait delivery time calculation typetype calculate the expected delivery time with addition

inMinsBeforeSendExpinteger-1Minutes before send (expeditor)Show orders in the "cooking" for x minutes before sending the forwarder (module "Expeditor")

boUseKitReadyOrderboolean0Used cooking control ordersUsed cooking control orders

boUseAcceptedboolean0Used status acceptedUsed status accepted for orders on filial

boSendExpNowboolean0Current date and time when sendingCurrent date and time when sending the order

boReturnExpNowboolean0Current date and time when returnCurrent date and time when the return of the forwarder

boArchiveNowboolean0Current date and time when finishCurrent date and time when sending the order to archive

Prefix for RK7 orderPrefix for RK7 order

boFiskSendExpboolean0Send expeditor with fiscal receiptSend expeditor with fiscal receipt

boAlwaysSMSboolean0Mark SMSmark "SMS" for a new phone

boCheckDLVRestWokingboolean1Check timetable restaurantsCheck the timetable restaurants

inMaxExpOrderstcpport0Maximum quantity ordersMaximum quantity orders for the expeditor in one trip

inMaxExpMoneyint64Positiv0Maximum amount of moneyMaximum amount of money in the hands of the forwarder
DLVTypesTypes of orders

DeliveryTypeinteger100022For delivery orderType of order for delivery order

TakeOutTypeinteger100023For takeout orderType of order for takeout order

DefaultTypeDLVTypes0Default order typeDefault order type
DLVEmployeeDelivery employees

OperatorRolesItemList100073Idents OperatorsIdents of role for operators

DispatherRolesItemList100074Idents DispatchersIdents of role for Dispatchers

ExpeditorRolesItemList100075Idents ExpeditorsIdents of role for Expeditors

inExpTakeOutinteger100084Expeditor for "Takeout"Expeditor for "Takeout" order

boUseCallTypecaller_id_typecidNoneCallerID typeType of caller id used

inCallPorttcpport0TCP port for calleridTCP port for callerid

Cut charactersCut first current characters

Add charactersAdd at the beginning to the phone number characters

stCMDNewCallstringNEWCALL:Incomming call instructioninstruction for an incoming call

stCMDEndCallstringENDCALL:End call instructioninstruction for an finished call

Display missed callsDisplay missed calls for N minutes

Days for deleted ordersShow deleted orders in N days


CallSoftCallSoft settings

stpbx_IPstring127.0.0.1PBX ip addressPBX ip address

inpbx_Porttcpport0PBX portPBX port

NAT ip addressNAT ip address

PBX LoginLogin name on the PBX

PBX passwordPassword to log on to the PBX

Call transfer toPhone number for call transfer

inpbx_Expiresinteger0PBX session expiresPBX session expires(0-used default on SipModule)

stsipM_IPstring127.0.0.1SipModule IPIP adress SipModule

insipM_Porttcpport4505SipModule portSipModule port

Authorization idAuthorization id ( it needs some service providers )


Printsettingsprint and preview

boPrnToStatus2boolean0Invoice for "Production"Print invoice for state "Production"

boPrnToStatus3boolean0Invoice for "Sended"Print invoice for state "Sended"

boPrnToStatus4boolean0Invoice for "Takeaway"Print invoice for state "Takeaway"

boShowReportboolean0Preview invoicePreview invoice before print

stExportTyperk7ExportTypePDFExport formatExport format invoice for send by email

inRK7PrintLayOutinteger0Layout identLayout ident for send by email

inRK7StationCodeinteger0Station identStation ident for export (used for requests to the server)
DefaultValuesdefaul values

stFNamestring-First NameFor First Name

stLNamestring-Last NameFor Last Name

stMNamestring-Middle NameFor Middle Name



stPhoneTypestring251Phone number typePhone number type

stAddressTypestring252Address typeAddress type

Comment to custumerComment to custumer

Comment to addressComment to address

Comment to the orderComment to the order

Telephone input maskTelephone input mask.Regular expression like "(8|\+7)(\(\d{3}\))\d{3}\-\d{2}\-\d{2}"
CallCenterCall center

boUseCallCenterboolean0used scheme of work - Call Centerused scheme of work - Call Center

inTimeForAdditioninteger5minuts to edit orderminutes before the estimated time of sending the forwarder to edit order

boValidateRestOrderboolean0Validate order on the remote restaurantValidate order on the remote restaurant

boFilialProduceboolean0management branch ordersmanage orders on a remote restaurant from dispatcher of centre

inRestInThreadinteger3Restaurants for 1 thread(Transport)Restaurants for 1 thread(Transport)
MapsAndZonesmaps and zones

UseDeliveryZonesboolean1delivery zonesuse delivery zones

boUSE_GPXboolean0GPX ServerGPX server used to determine the delivery zones

stMapTypemapTypesmtNullMap typemap type to show the way and getting GPS coordinates from address

Key for MapThe key is to use the map (required for different types of cards and their versions)

Key for google mapThe key is to use the goole map (required for different types of maps and their versions)

stMapCenterstringstMapCenterCenter of mapCenter the map such as "Great Britan, London"

stMapLanguagemaplanguagesenlanguage for maplanguage for map

stMapRegionmapregionsRURegion for mapRegion for map

inPrecisionLevelPrecisionLevelsplNonegeolocation precisiongeolocation precision

boQ_Phone_Deleteboolean0Warning when deleting phone numberWarning when deleting phone number

boQ_Street_Not_Exist_Addboolean0Request to add streetRequest to add street if it does not exist

boQ_FName_Not_Exist_Addboolean0Request to add first nameRequest to add first name if it does not exist

boQ_MName_Not_Exist_Addboolean0Request to add middle nameRequest to add middle name if it does not exist

boQ_Clear_Currentboolean0Request on the client card clearingRequest on the client card clearing

boQ_AddStreetToZoneboolean0Request to add address into zoneRequest to add address into zone

boQ_NotFoundParamboolean0Warning when searching without the input dataWarning when searching without the input data

boQ_SaveAndExitboolean0Request on save orderRequest on save order

boQ_UnSaveAndExitboolean0Request on cancell orderRequest on cancell order

boErr_Anonim_LNAmeboolean0Disable anonymous last nameDisable anonymous last name

boErr_Anonim_FNAmeboolean0Disable anonymous first nameDisable anonymous first name

boErr_Anonim_MNAmeboolean0Disable anonymous middle nameDisable anonymous middle name

boQ_RBOMenuextBoolConf1Warning / error when checking the order on a remote restaurantWarning / error when checking the order on a remote restaurant

boQ_NoRestextBoolConf-1Restaurant not definedWarning / error when restaurant not defined or it`s central

boQ_ExpFirstOrderextBoolConf-1Marked not the first orderError / warning if not marked the first order when sending the forwarder

boNeedFirstOrderextBoolConf01-st order for expeditorExpeditor must take  first order for delivery
StatusesNamesstatus names

Status0stringunconfirmedstatus name for unconfirmedStatus name for unconfirmed external order

Status1stringwaitstatus name for new ordersStatus name for new confirmed orders

Status2stringcookingstatus name for started cooking ordrersname for the status of the order which has been sent to the kitchen to cook

Status3stringsendedstatus name for sended ordersname for the status of the order which has been sent to the client

Status4stringdeliveredstatus name for delivered ordersstatus name for the order which is delivered to the client

Status5stringarchivestatus name for completed ordersstatus name for the work order status to which the completed

Status6stringeditingstatus name for editing ordersstatus name for the order status is being edited

Status7stringready (kitchen)status name for fineshed cooking ordersname for the status of the order finished cooking

Status8stringacceptedstatus name for accepted ordersthe name of the status of the order which was accepted at the branch
StatusColorsstatus colors

Color for unconfirmedColor for unconfirmed external order

Status_1string#F1E989color for new orderscolor for new confirmed orders

Status_2string#A4E9BCcolor for started cooking orderscolor for the status of the order which has been sent to the kitchen to cook

Status_3string#D7C7F5color for sended orderscolor for the status of the order which has been sent to the client

Status_4string#A2D3FCcolor for delivered orderscolor for the order which is delivered to the client

Status_5string#CDCDCDcolor for completed orderscolor for the work order status to which the completed

Status_6string#F6F2A9color for editing orderscolor for the order status is being edited

Status_7string#C4E49Acolor for fineshed cooking orderscolor for the status of the order finished cooking

Status_8string#E39F5Bcolor for accepted orderscolor of the status of the order which was accepted at the branch

AlarmColorstring#FFB3B3flickering colorflickering color for orders that are late with sending
StartProgramsprogramms pathes

RK7CashPathstring.\RunCash.cmdrk7Cash startPath to bat/cmd/js/exe file for start rk7Cash

Operatorstring.\Operator.exeOperator startPath to operator.exe

SDispatcherstring.\SDispatcher.exeDispatcher startPath to dispather.exe

Expeditorstring.\Expeditor.exeExpeditor startPath to Expeditor.exe

SipModule startPath to SipModule.exe or same bat/cmd file

Any File 1 startPath to any bat/cmd/js/exe file

Any File 2 startPath to any bat/cmd/js/exe file
DLVLogslog files

OperatorLogSizelogSize4096Operator.log sizeOperator.log file size

OperatorXMLLogPathstringOpLogXMLOperator XMLsPath to XML logs for operator

OperatorXMLLogSizexmlLogCount4000Operator XML quantitythe quantity of XML files for the operator

DispatcherLogSizelogSize4096Dispatcher.log sizeDispatcher.log file size

DispatcherXMLLogPathstringDispLogXMLDispatcher XMLsPath to XML logs for dispatcher

DispatcherXMLLogSizexmlLogCount4000Dispatcher XML quantitythe quantity of XML files for the dispatcher

ExpeditorLogSizelogSize4096Expeditor.log sizeExpeditor.log file size

ExpeditorXMLLogPathstringExpLogXMLExpeditor XMLsPath to XML logs for expeditor

ExpeditorXMLLogSizexmlLogCount4000Expeditor XML quantitythe quantity of XML files for the expeditor

TransportLogSizelogSize4096CCTransport.log sizeCCTransport.log file size

TransportXMLLogPathstringTrLogXMLTransport XMLsPath to XML logs for transport

TransportXMLLogSizexmlLogCount4000Transport XML quantitythe quantity of XML files for the Transport

DictanoryEditorLogSizelogSize4096DictanoryEditor.log sizeDictanoryEditor.log file size

DictanoryEditorXMLLogPathstringDicLogXMLDictanoryEditor XMLsPath to XML logs for DictanoryEditor

DictanoryEditorXMLLogSizexmlLogCount4000DictanoryEditor XML quantitythe quantity of XML files for the dictanoryeditor

DLVServerLogSizelogSize4096DLVServer.log sizeDLVServer.log file size

DLVServerXMLLogPathstringDSRVLogXMLDelivery Server XMLsPath to XML logs for delivery Server

DLVServerXMLLogSizexmlLogCount4000Delivery server XML quantitythe quantity of XML files for the delivery server
EmailEmail server

SMTP ServerSMTP Server name or ip

SMTPPorttcpport465SMTP Server portSMTP Server port

SMTP Server userSMTP Server user

SMTP Server passwordSMTP Server password

stSMTPSSLTypeemailSecuritysslvTLSv1SMTP Server securitySMTP Server security
DLVSoundsSounds to program events

SoundInetstringRinging.wavWAV file for new external order(operator)WAV file for new external order(operator)

SoundInetLeninteger3Sound duration for new external orderSound duration for new external order

SoundInetEachSecinteger120Play sound every N seconds(external order)Play sound every N seconds(external order)

SoundCallstringRinging.wavWAV file for new callWAV file for new call(operator callerid)

SoundCallLeninteger5Sound duration for new callSound duration for new call

SoundCallEachSecinteger3Play sound every N seconds(Call)Play sound every N seconds(Call)

SoundDispatcherstringRinging.wavWAV file for new order(dispatcher)WAV file for new order(dispatcher)

SoundDispatcherLeninteger3Sound duration for new order(dispatcher)Sound duration for new order(dispatcher)

SoundExpeditorstringRinging.wavWAV file for new order(expeditor)WAV file for new order(expeditor)

SoundExpeditorLeninteger5Sound duration for new order(expeditor)Sound duration for new order(expeditor)
StationUIStation user interface

WindowLeftinteger0XX coordinate of top-left corner

WindowTopinteger0YY coordinate of top-left corner

UseTouchScreeninteger0Allow to use touch screenAllow to use touch screen

CanAppendZoneinteger0Allow to append zoneAllow to append zone

UseMainSearchinteger1Show order searchShow order search

7. Translation

7.1. As for server user interface, change text in file DLVServ.XML

7.2. As for client user interface, follow the same method as for previous Delivery versions.

7.3. Complete future translation pending http://localize.ucs.ru/projects/delivery/