1. Common information


1.1. Version 3.1.4.0+ 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 http://support.ucs.ru/en/node/5639

1.2. Main changes from previous versions in 3.1.4.0+ 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 7.5.7.65.

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

2.1.5.1. Choose correct character set fits your language on installation and configuration.

2.1.5.2. 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".

3.2.1.1. Create a new plugin (or choose previously created with installer). "Name" must be exactly the same as in DLVServ.exe.

3.2.1.2. Edit its properties (open Basic -> Settings).

3.2.1.3. You need as many plugin configurations as many Delivery servers you do install.

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

3.2.4.1. Select "Delivery configuration" (RK7 delivery plugin configuration).

3.2.4.2. port must be the same as in RK7 delivery plugin configuration

3.2.4.3. 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. 3.1.3.154 (if upgrading from 3.1.3.154 simply copy DB to new installation)

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

 







Section Block / Commentary .ini parameter type Value RK7 plugin parameter Description
DeliveryDB Delivery database          
           
  stDBServer string ..\DELIVERYRK7.FDB Path Full path to delivery database
  stDefCharSet dbcharsets WIN1251 CharSet Character set for delivery database
  dbuname string SYSDBA User name Delivery database user name
  dbpass string masterkey Password Delivery database password
CSServer RKeeper CRM          
           
  stCSServer string 127.0.0.1 Rkeeper CRM Server IP IP address of RKeeper CRM Server
  inCSPort tcpport 9191 Rkeeper CRM Server port Port of RKeeper CRM Server
  stCSKey string 10 Rkeeper CRM Server Classifier Software Classifier Code Delivery from Rkeeper CRM
  stCSUnit string 1 Unit Code Unit code for Station at Rkeeper CRM /Do not change!
  stCSUser string 1 User code User code of RKeeper CRM / Do not change!
  inCSGroup integer 2 CRM Group Group Rkeeper CRM
  inAccountForCount integer 1 CRM Account for count CRM Account for count orders of client
  boSendSMS integer 0 SMS for order status Send SMS for order status
  boCanAppendStreet boolean 1 allow to add street Allow to add street
  UseBlackList boolean 1 Use blacklist Use a blacklist for unscrupulous clients
  boCanAppendCity integer 1 allow to add city Allow to add city
  HaveSubway integer 0 Use subway dictionary Use subway dictionary
  GiveCardToClient integer 0 Give a card to client Give a card to client
  GiveActiveCard integer 0 Give activated card Give activated card
  CardGroup integer 3 Cards group ident Cards group ident
  DaysTillExpired integer 365 Number of days till card will expire Number of days till card will expire
DLVServer Delivery server          
           
  stAuthIP string 127.0.0.1 Delivery Server IP IP address of delivery server
  inAuthPort tcpport 12314 Delivery Server port Port of delivery server
  stBoundIP string   Client ip Client ip for connection to delivery server
RK7Cash RK7 Cash stations          
           
  stCashIP string 127.0.0.1 Cash IP address IP address of xml-interface for cash station
  inXMLPort tcpport 2233 Cash port Port of xml-interface for cash station
  xmlPass     Password for xml-interfase Password for xml-interface of cash station
  inCSIdent integer 1000025 Ident CRM interface Ident of Rkeeper CRM for current cash station
RK7Order RK7 Order          
           
  stDLVExtSource string 21 Idents delivery orders Idents for delivery orders
  stInetExtSource string 31 Idents external orders Idents for external orders(internet,virtual card....)
  stAutoConfirmSource string   Idents external orders for auto confirm Idents for external orders for auto confirm(internet,virtual card....)
  inrk7category integer 2 Ident RK category Ident RK category for delivery order
  strk7table integer 19 Ident RK Table Ident RK Table for delivery order
  inRK7AutoVoid integer   Ident of order void Ident of order void used for delete order at center
  boCanEdit boolean 1 Allow editing of the order Allow editing of the order
  tiDefWayTime integer 30 Travel time Travel time for delivery of the order by default
  tiDefProdTime integer 15 Ckooking time Ckooking time for the order by default
  boRestBeforeOrder boolean 1 Restaurant before order The restaurant must be defined before create order
  boZoneBeforeOrder boolean 1 Delivery zone before order The delivery zone must be defined before create order
  CalcWaitTime TypeCalcWT wtDefault wait delivery time calculation type type calculate the expected delivery time with addition
  inMinsBeforeSendExp integer -1 Minutes before send (expeditor) Show orders in the "cooking" for x minutes before sending the forwarder (module "Expeditor")
  boUseKitReadyOrder boolean 0 Used cooking control orders Used cooking control orders
  boUseAccepted boolean 0 Used status accepted Used status accepted for orders on filial
  boSendExpNow boolean 0 Current date and time when sending Current date and time when sending the order
  boReturnExpNow boolean 0 Current date and time when return Current date and time when the return of the forwarder
  boArchiveNow boolean 0 Current date and time when finish Current date and time when sending the order to archive
  stOrderPrefix string   Prefix for RK7 order Prefix for RK7 order
  boFiskSendExp boolean 0 Send expeditor with fiscal receipt Send expeditor with fiscal receipt
  boAlwaysSMS boolean 0 Mark SMS mark "SMS" for a new phone
  boCheckDLVRestWoking boolean 1 Check timetable restaurants Check the timetable restaurants
  inMaxExpOrders tcpport 0 Maximum quantity orders Maximum quantity orders for the expeditor in one trip
  inMaxExpMoney int64Positiv 0 Maximum amount of money Maximum amount of money in the hands of the forwarder
DLVTypes Types of orders          
           
  DeliveryType integer 100022 For delivery order Type of order for delivery order
  TakeOutType integer 100023 For takeout order Type of order for takeout order
  DefaultType DLVTypes 0 Default order type Default order type
DLVEmployee Delivery employees          
           
  OperatorRoles ItemList 100073 Idents Operators Idents of role for operators
  DispatherRoles ItemList 100074 Idents Dispatchers Idents of role for Dispatchers
  ExpeditorRoles ItemList 100075 Idents Expeditors Idents of role for Expeditors
  inExpTakeOut integer 100084 Expeditor for "Takeout" Expeditor for "Takeout" order
CallerID Caller          
           
  boUseCallType caller_id_type cidNone CallerID type Type of caller id used
  inCallPort tcpport 0 TCP port for callerid TCP port for callerid
  stCountryCode string   Cut characters Cut first current characters
  stPhonePrefix string   Add characters Add at the beginning to the phone number characters
  stCMDNewCall string NEWCALL: Incomming call instruction instruction for an incoming call
  stCMDEndCall string ENDCALL: End call instruction instruction for an finished call
  inMissedCallTime integer   Display missed calls Display missed calls for N minutes
  inDaysForDeletedOrders integer   Days for deleted orders Show deleted orders in N days
  inDaysForDeletedOrders integer      
CallSoft CallSoft settings          
           
  stpbx_IP string 127.0.0.1 PBX ip address PBX ip address
  inpbx_Port tcpport 0 PBX port PBX port
  stpbx_NatIP string   NAT ip address NAT ip address
  stpbx_Login string   PBX Login Login name on the PBX
  stpbx_Pass string   PBX password Password to log on to the PBX
  stpbx_DefRefPhone string   Call transfer to Phone number for call transfer
  inpbx_Expires integer 0 PBX session expires PBX session expires(0-used default on SipModule)
  stsipM_IP string 127.0.0.1 SipModule IP IP adress SipModule
  insipM_Port tcpport 4505 SipModule port SipModule port
  stAuthID string   Authorization id Authorization id ( it needs some service providers )
  stAuthID string      
Printsettings print and preview          
           
  boPrnToStatus2 boolean 0 Invoice for "Production" Print invoice for state "Production"
  boPrnToStatus3 boolean 0 Invoice for "Sended" Print invoice for state "Sended"
  boPrnToStatus4 boolean 0 Invoice for "Takeaway" Print invoice for state "Takeaway"
  boShowReport boolean 0 Preview invoice Preview invoice before print
  stExportType rk7ExportType PDF Export format Export format invoice for send by email
  inRK7PrintLayOut integer 0 Layout ident Layout ident for send by email
  inRK7StationCode integer 0 Station ident Station ident for export (used for requests to the server)
DefaultValues defaul values          
           
  stFName string - First Name For First Name
  stLName string - Last Name For Last Name
  stMName string - Middle Name For Middle Name
  stCountry string 1 Country Country
  stCity string 1 City City
  stPhoneType string 251 Phone number type Phone number type
  stAddressType string 252 Address type Address type
  blAdvInfoClient string   Comment to custumer Comment to custumer
  blAdvInfoAddress string   Comment to address Comment to address
  blAdvInfoOrder string   Comment to the order Comment to the order
  stPhoneMask string   Telephone input mask Telephone input mask.Regular expression like "(8|\+7)(\(\d{3}\))\d{3}\-\d{2}\-\d{2}"
CallCenter Call center          
           
  boUseCallCenter boolean 0 used scheme of work - Call Center used scheme of work - Call Center
  inTimeForAddition integer 5 minuts to edit order minutes before the estimated time of sending the forwarder to edit order
  boValidateRestOrder boolean 0 Validate order on the remote restaurant Validate order on the remote restaurant
  boFilialProduce boolean 0 management branch orders manage orders on a remote restaurant from dispatcher of centre
  inRestInThread integer 3 Restaurants for 1 thread(Transport) Restaurants for 1 thread(Transport)
MapsAndZones maps and zones          
           
  UseDeliveryZones boolean 1 delivery zones use delivery zones
  boUSE_GPX boolean 0 GPX Server GPX server used to determine the delivery zones
  stMapType mapTypes mtNull Map type map type to show the way and getting GPS coordinates from address
  stMapKey string   Key for Map The key is to use the map (required for different types of cards and their versions)
  stGMapKey string   Key for google map The key is to use the goole map (required for different types of maps and their versions)
  stMapCenter string stMapCenter Center of map Center the map such as "Great Britan, London"
  stMapLanguage maplanguages en language for map language for map
  stMapRegion mapregions RU Region for map Region for map
  inPrecisionLevel PrecisionLevels plNone geolocation precision geolocation precision
Confirmations Confirmations          
           
  boQ_Phone_Delete boolean 0 Warning when deleting phone number Warning when deleting phone number
  boQ_Street_Not_Exist_Add boolean 0 Request to add street Request to add street if it does not exist
  boQ_FName_Not_Exist_Add boolean 0 Request to add first name Request to add first name if it does not exist
  boQ_MName_Not_Exist_Add boolean 0 Request to add middle name Request to add middle name if it does not exist
  boQ_Clear_Current boolean 0 Request on the client card clearing Request on the client card clearing
  boQ_AddStreetToZone boolean 0 Request to add address into zone Request to add address into zone
  boQ_NotFoundParam boolean 0 Warning when searching without the input data Warning when searching without the input data
  boQ_SaveAndExit boolean 0 Request on save order Request on save order
  boQ_UnSaveAndExit boolean 0 Request on cancell order Request on cancell order
  boErr_Anonim_LNAme boolean 0 Disable anonymous last name Disable anonymous last name
  boErr_Anonim_FNAme boolean 0 Disable anonymous first name Disable anonymous first name
  boErr_Anonim_MNAme boolean 0 Disable anonymous middle name Disable anonymous middle name
  boQ_RBOMenu extBoolConf 1 Warning / error when checking the order on a remote restaurant Warning / error when checking the order on a remote restaurant
  boQ_NoRest extBoolConf -1 Restaurant not defined Warning / error when restaurant not defined or it`s central
  boQ_ExpFirstOrder extBoolConf -1 Marked not the first order Error / warning if not marked the first order when sending the forwarder
  boNeedFirstOrder extBoolConf 0 1-st order for expeditor Expeditor must take  first order for delivery
StatusesNames status names          
           
  Status0 string unconfirmed status name for unconfirmed Status name for unconfirmed external order
  Status1 string wait status name for new orders Status name for new confirmed orders
  Status2 string cooking status name for started cooking ordrers name for the status of the order which has been sent to the kitchen to cook
  Status3 string sended status name for sended orders name for the status of the order which has been sent to the client
  Status4 string delivered status name for delivered orders status name for the order which is delivered to the client
  Status5 string archive status name for completed orders status name for the work order status to which the completed
  Status6 string editing status name for editing orders status name for the order status is being edited
  Status7 string ready (kitchen) status name for fineshed cooking orders name for the status of the order finished cooking
  Status8 string accepted status name for accepted orders the name of the status of the order which was accepted at the branch
StatusColors status colors          
           
  Status_0 string   Color for unconfirmed Color for unconfirmed external order
  Status_1 string #F1E989 color for new orders color for new confirmed orders
  Status_2 string #A4E9BC color for started cooking orders color for the status of the order which has been sent to the kitchen to cook
  Status_3 string #D7C7F5 color for sended orders color for the status of the order which has been sent to the client
  Status_4 string #A2D3FC color for delivered orders color for the order which is delivered to the client
  Status_5 string #CDCDCD color for completed orders color for the work order status to which the completed
  Status_6 string #F6F2A9 color for editing orders color for the order status is being edited
  Status_7 string #C4E49A color for fineshed cooking orders color for the status of the order finished cooking
  Status_8 string #E39F5B color for accepted orders color of the status of the order which was accepted at the branch
  AlarmColor string #FFB3B3 flickering color flickering color for orders that are late with sending
StartPrograms programms pathes          
           
  RK7CashPath string .\RunCash.cmd rk7Cash start Path to bat/cmd/js/exe file for start rk7Cash
  Operator string .\Operator.exe Operator start Path to operator.exe
  SDispatcher string .\SDispatcher.exe Dispatcher start Path to dispather.exe
  Expeditor string .\Expeditor.exe Expeditor start Path to Expeditor.exe
  SIPModule string   SipModule start Path to SipModule.exe or same bat/cmd file
  AnyFile1 string   Any File 1 start Path to any bat/cmd/js/exe file
  AnyFile2 string   Any File 2 start Path to any bat/cmd/js/exe file
DLVLogs log files          
           
  OperatorLogSize logSize 4096 Operator.log size Operator.log file size
  OperatorXMLLogPath string OpLogXML Operator XMLs Path to XML logs for operator
  OperatorXMLLogSize xmlLogCount 4000 Operator XML quantity the quantity of XML files for the operator
  DispatcherLogSize logSize 4096 Dispatcher.log size Dispatcher.log file size
  DispatcherXMLLogPath string DispLogXML Dispatcher XMLs Path to XML logs for dispatcher
  DispatcherXMLLogSize xmlLogCount 4000 Dispatcher XML quantity the quantity of XML files for the dispatcher
  ExpeditorLogSize logSize 4096 Expeditor.log size Expeditor.log file size
  ExpeditorXMLLogPath string ExpLogXML Expeditor XMLs Path to XML logs for expeditor
  ExpeditorXMLLogSize xmlLogCount 4000 Expeditor XML quantity the quantity of XML files for the expeditor
  TransportLogSize logSize 4096 CCTransport.log size CCTransport.log file size
  TransportXMLLogPath string TrLogXML Transport XMLs Path to XML logs for transport
  TransportXMLLogSize xmlLogCount 4000 Transport XML quantity the quantity of XML files for the Transport
  DictanoryEditorLogSize logSize 4096 DictanoryEditor.log size DictanoryEditor.log file size
  DictanoryEditorXMLLogPath string DicLogXML DictanoryEditor XMLs Path to XML logs for DictanoryEditor
  DictanoryEditorXMLLogSize xmlLogCount 4000 DictanoryEditor XML quantity the quantity of XML files for the dictanoryeditor
  DLVServerLogSize logSize 4096 DLVServer.log size DLVServer.log file size
  DLVServerXMLLogPath string DSRVLogXML Delivery Server XMLs Path to XML logs for delivery Server
  DLVServerXMLLogSize xmlLogCount 4000 Delivery server XML quantity the quantity of XML files for the delivery server
Email Email server          
           
  SMTPServer string   SMTP Server SMTP Server name or ip
  SMTPPort tcpport 465 SMTP Server port SMTP Server port
  SMTPLogin string   SMTP Server user SMTP Server user
  SMTPPass string   SMTP Server password SMTP Server password
  stSMTPSSLType emailSecurity sslvTLSv1 SMTP Server security SMTP Server security
DLVSounds Sounds to program events          
           
  SoundInet string Ringing.wav WAV file for new external order(operator) WAV file for new external order(operator)
  SoundInetLen integer 3 Sound duration for new external order Sound duration for new external order
  SoundInetEachSec integer 120 Play sound every N seconds(external order) Play sound every N seconds(external order)
  SoundCall string Ringing.wav WAV file for new call WAV file for new call(operator callerid)
  SoundCallLen integer 5 Sound duration for new call Sound duration for new call
  SoundCallEachSec integer 3 Play sound every N seconds(Call) Play sound every N seconds(Call)
  SoundDispatcher string Ringing.wav WAV file for new order(dispatcher) WAV file for new order(dispatcher)
  SoundDispatcherLen integer 3 Sound duration for new order(dispatcher) Sound duration for new order(dispatcher)
  SoundExpeditor string Ringing.wav WAV file for new order(expeditor) WAV file for new order(expeditor)
  SoundExpeditorLen integer 5 Sound duration for new order(expeditor) Sound duration for new order(expeditor)
StationUI Station user interface          
           
  WindowLeft integer 0 X X coordinate of top-left corner
  WindowTop integer 0 Y Y coordinate of top-left corner
  UseTouchScreen integer 0 Allow to use touch screen Allow to use touch screen
  CanAppendZone integer 0 Allow to append zone Allow to append zone
  UseMainSearch integer 1 Show order search Show 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/