The Mobile Waiter software is usually used on handhelds, which should be given to waters. The software allows waiters to make orders for clients of restaurant. This software has user-friendly R-Keeper-kind interface, so, the waiters can make orders more quickly and serve more tables in the same time.

Technical reqirements

The Mobile Waiter system contains of two parts: one part is the server (MobilGuard2.exe application), it connects to separate Win32 cash server. And the client part should be installed on handhelds.
The TMS server connects to separate cash server by NetBEUI protocol, and client parts, which are installed on handhelds, connect to TMS server by TCP/IP protocol.
So, we need a separate Win32 cash server ver. 6.62 up to ver. 6.77 (running under NetBEUI on any adapter except 0, or under TCP/IP on adapter 0), and workable local network running under TCP/IP protocol, which was already set-up, including well-working Wi-Fi access point(s). There is no requirement to install cash station to work under TCP/IP.
And it’s recommended to use Windows 2000/XP (SP1 or SP2) on PC for TMS server, but you can also use Windows 98/ME/NT4, if there is no way. On Windows 2003 Server it’s rather complicated to set up a network for TMS needs, and it is not tested under Windows Vista.

Installaton process


Prepare all handhelds to have static IP-address. Remember, that all handhelds, access-points and windows PCs should be in one network and should have one sub network mask (e.g. 192.168.22.XXX, subnet mask, where XXX – unique number for each device). If you can ping your access-point, and all handhelds – your network for TMS was set up successfully.

After that, create in manager part a virtual unit (e.g. UNIT50, unit type – waiter station). You can do it by DealRK.exe. All your handhelds will be connected to cash server through TMS server with this name (in our case, it will be UNIT50). In Restaurant editor, set up service-printing for this unit. Also, in Restaurant editor, open employee menu, and go to that person (waiter), who will use handhelds. Open his card and on bookmark “Password” create his password (digits ONLY!!!!) for accessing the handheld system. It will be his password to log in mobile R-Keeper.

Installation on Windows PC 

Unpack installation set somewhere (e.g. D:\RK6\TMS). Install hardware key driver (better to download newest from After driver installation, plug your hardware key for TMS PDA system into physically first USB port (refer to motherboard manual to find it). Run R-Keeper separate win32 cash server. Run MobilGuard2.exe application. The icon (pic. 1) should appear in your system tray. Double click on it. The window as on pic. 2 should appear.
Open bookmark “Configuration” (pic. 3).

In “Password” field, type chainik and press [ENTER]. After that you will be able to edit “Port”, “RK Server name”, “Mobil Server Name”.
In “TCP/IP Port” field you should type the port number for handhelds connecting to TMS server. It’s recommended value to be set to 610.
In “RK Server Name” fields you should type the netbios name of your R-Keeper win32 cash server and it’s adapter number.
In “Mobil Server Name” you should type the logical unit name you created by DealRK.exe before. Also it’ll be the netbios name of your TMS server (it’s UNIT50 in our case).
After that, press “Save changes and close” button. Right-click on tray icon and choose “Restart TMS”. If everything was OK, you can see connection on R-Keeper cash server.
NOTICE: if you already connect WiFi access point into network, the application reaction on changing can be very slow.



<?xml version="1.0" standalone="yes"?>
<PING IP="" WaitTime="1" TryNumber="2" />
<SERV IP="" PORT="610" />
<TIMES Sync="5" ST="10" Serv="15" />
<CAN DD="0" CC="1" QOS="0" />
<ORDFCL T="40" H="250" V="1" CW0="62" CW1="256" CW2="68" CW3="90" TFSZ="22" SFSZ="32" LFSZ="28" QDN="1" />
<ORDMBTN W="140" H="50" DX="5" DY="5" BW="42" BH="42" BAL="1" TXTW="100" TXTH="22" TXTMH="15" TXTFW=”400” />
<ORDMSBT W="42" H="42" DX="5" DY="5" TH="0" TL="3" />
<BMPCASH SID="10000" EID="10010" />
<SPBT S="" />
<LOG Options="255" />
<Plan Scale="0.66666" TH="14" TW="700" TBW="50" TBH="50" />
<BAT PCR="15" />
<OGV OSO="5" OCW0="100" OCW1="380" OCH="130" OBW="155" OBH="82" ODX="3" ODY="3" />
<SCLS SCLBW="155" SCLBH="82" SCLDX="3" SCLDY="3" />
<APNT SSID="linksys" />
<APNT SSID="linksys3" />

In mwnsettings.xml file tag parameters should be without spaces and in shown order. Changing the order can cause the system to malfunction. If some tag is missed, default parameter will be used. Syntax can be checked by opening this file in Internet Exolorer.


TAG NAME TAG DESCRIPTION                                                                                                                                                                        
PING Parameter of pinging definition.
“IP” – IP-address for pinging. It’s better to write here an IP of computer, where cash server is installed, or access point IP.
“WaitTime=1” – time interval between pinging, it’s equal 0.1 sec. in our case. If WaitTime=0, the ping will be switched off.
“TryNumber” – the amount of pings.
SERV TMS parameters.
“IP” – IP-address of computer, where TMS server is running.
“Port” – port number.
“MSGIP” – IP-address of message server (if present). It will be equal “IP” if it’s not set.
TIMES Time parameters.
“Sync” – time period between automatic synchronizations in minutes.
“ST” – synchronization timeout in seconds.
“Serv” – service time in minutes. If you don’t save an order, after “Serv” minutes it will be deleted automatically.
“TmpEx” – the time of temporary exit from the program. Waiter can exit from the program for time no larger, then “TmpEx” seconds. In this case, all data will be saved automatically. Also see tag CAN.
CAN  Optional doings.
“DD” – allow non-integer dishes,
“CC” – user can close application,
“QOS” – request when save an order.
ORDFCL Parameters of check title.
“T” – high border of control,
“H” – control height, “V” (binary) – show title or not,
“CW0”, “CW1”, “CW2”, “CW3” – column width,
“TFSZ” – title font height,
“SFSZ” – order font height,
“LFSZ” – sum font height,
“QDN” – amount of size after comma in non-integer pieces of dish (max 3).
It’s necessary to set in TMS2.ini in section [CFGXML] parameter UseDig=N, where N – the value of QDN parameter. In lang.ini, in section [Remote print], it’s necessary to set the parameter QDN, the value should be amount of digits (equal UseDig).
ORDMBTN Menu buttons parameters:
“W” – width,
“H” – height,
“DX” – horizontal interval between buttons,
“DY” – vertical interval between buttons,
“BW” – picture width,
“BH” – picture height,
“BAL” – button smoothing (1-6, type of smoothing, 1 – picture on the left, 2 – picture on the right, 3 – picture on the top, 4 – picture on the bottom, 5 – text only, 6 – picture only),
“TXTW” – text width,
“TXTH” – text height,
“TXTMH” – minimal text height,
“TXTFW” – font power (400 – normal, 700 - bold). While text showing, if text is too long to fit in one string, it will be broken to 2or 3 strings. You should remember it, when set up the size of font. If there is no enough room for the next string, text will be cut.
ORDMSBT “Quick” menu button parameters:
“W” – width,
“H” – height,
“DX” – horizontal interval between buttons,
“DY” – vertical interval between buttons,
“TH” – font size for low resolution,
“TL” – text length for low resolution.
“quick” buttons are with text in low resolution only. In hi resolution they have an icons. 
BMPCASH  Picture cash parameters:
“SID” – start ID,
“EID” – final ID
SBTS  Tag group for “quick” menu buttons. It contains of SPBT tags list.
SPBT  Tag of “quick” menu button.
“SF” – code of menu group
LOG Log parameters. Options: (bit mask in HEX)
0x2 – entering/quitting application,
0x4 – opening/closing table,
0x8 – synchronization calling,
0x10 – getting synchronization list,
0x20 – orders consistence,
0x40 – ping error,
0x80 – message saving.
Plan Plan showing parameters:
“Scale” – scale,
“TH” – on-map table font height,
“TW” – font power (see tag ORDMBTN description for details),
“TBW” – table width,
“TBH” – table height.
BAT Parameters of battery indicator.
“PCR” – if battery charge is lower of this value, the battery indicator becomes red. In percent, from 10 to 50. If not set, or if the value is not from the interval, will be default (15).
MENU Switching on/off menu cashing. To disable cashing, set Cash=0.
OGV Parameters of orders control.
“OSO” – service check sorting (0 – without sorting, 1 – by sending time, 2 – by start time, 3 – by time ready, 4 – by check number, 5 – by serial number),
“OCW0”, “OCW1” – weight of column with list of dishes,
“OCH” – height of list of dishes,
“OBW”, “OBH” – width and height of service check button,
“ODX”, “ODY” – horizontal and vertical distance between buttons.
SCLS Scale type.
“SCLBW”, “SCLBH” – height and weight of scale button,
“SCLDX”, “SCLDY” – horizontal and vertical interval between buttons
ZCFGTAG The name of zero configuration service in registry.
“Tag” – tag name. Tag name should be written in registry on Pocket PC in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\WZCSVC\Parameters\Interfaces as a string parameter. This tag is used with tag APNTS.
APNTS  It contains of the list of used access points as a list of internal tags. Example:
Where SSID_1…SSID_N – hardware SSIDs of used access points. The hardware SSID and SSID that you can manually edit in access point’s setup are not the same. The value you need you can get by Smartion program (you can download it from our ftp by ftp://dealers/r-keeper/WaiterNotepad/Smartione ). Using this program, in the registry, in key described before, should be one ore more parameters with name Static#0000, Static#0001…. In values of this parameters, in binary from 21 sign to the end you can get the hardware SSID. If Static# is in several keys, you can choose the proper, if you add a not existing in WIFI client of pocket. And check again. Changed Static# value will show you proper key. Tag ZCFTAG required.


Just leave all parameters as is, except described below. The *.xml file that you need usually transferred to pocket automatically except personal configuration files for each waiter (if needed), as already described.

//Like QDN in ORDFCL tag. If no QDN or UseDig was set, will be equal 1. If you wont to set it, set QDN also.
320_240 = mwnsettings_320_240.xml
640_480 = mwnsettings_640_480.xml
// These parameters for *.xml files to be automatically transferred to PocketPC. If you’re already have mwnsettings*.xml file on your pocket, it will not overwritten.

If you want to use barcode in service printing from pockets, in TMS2.ini it should be set:

PrnNumber = n
– amount of printers for barcode printing;
UseSlashInBarcode – print slashes in barcode or not;
StreamName<n> - stream name from streams.db;
CodeStart<n> - parameters code before printing;(*)
WaiterCodeOpen<n> - code before waiter name printing (*)
CodeOpen<n> - code of begin barcode printing(*)
CodeClose<n> - code of finish barcode printing(*)
Where n is from 1 to n in hex.

(*) – see printer manual for getting this values.


; epson

Section [Restart]

In this section you should enter a time of TMS to be restarted automatically (it’s when cash server restarts after day closing) and wait period in seconds.



Pocket PC client ver. 5 (MobWaiterNP5.exe) installation.

Install ActiveSync from driver CD of your pocket and connect pocket to PC. In root folder create folder UCS and copy here files for your resolution (NormRes for 320x240, HiRes for 640x480) and language from PocketPC5 folder of TMS to UCS folder on pocket. Here should be 2 files – *.dll and *.exe. Dll you can’t see in PocketPC explorer. After that, disconnect pocket PC from your computer and run MobWaiterNP5.exe. When program starts, press the right button on the screen. Enter the password: 051791. Press settings button, input IP-address and port number as was written in SERV IP and PORT parameter in *.xml file. Save it. Uncheck “Demo” field. Press “License” button, if you’re first time install the software on this pocket. Here will be some digits at the top of the screen. Sent this digits to the person, who is responsible to create licenses for TMS. When you’ll get the answer, type it and press “OK”. Restart application. Press the left button and login with a password, which you created in Restaurant Editor before.

Some notes about PDA client ver. 6 (MobWaiterNP6.exe)

From the August, 2008, new version of PDA client is available and recommended to install. It’s international Multilanguage version (all supported languages in one file). This client’s filema is MobWaiterNP6.exe, you can find it in PocketPC6 folder of installation set. All resolutions is supported.
The installation process is almost the same. But instead of using mwnsettings*.xml with your PDA’s screen resolution (files mwnsettings_320_240.xml or mwnsettings_640_480.xml), you should set up mwnsettings6.xml.

Example of this file:

<?xml version="1.0" standalone="yes"?>
<PING IP="" WaitTime="1" TryNumber="2" />
<SERV IP="" PORT="610" />
<TIMES Sync="5" ST="10" Serv="15" Lgf=”10” />
<CAN DD="0" CC="1" QOS="0" />
<ORDFCL T="40" H="250" V="1" CW0="62" CW1="256" CW2="68" CW3="90" TFSZ="22" SFSZ="32" LFSZ="28" QDN="1" />
<ORDMBTN W="140" H="50" DX="5" DY="5" BW="42" BH="42" BAL="1" TXTW="100" TXTH="22" TXTMH="15" TXTFW=”400” />
<ORDMSBT W="42" H="42" DX="5" DY="5" TH="0" TL="3" USE=”1” />
<SPBT S="" />
<LOG Options="255" />
<Plan Use="1" Scale="0.66666" TH="14" TW="700" TBW="50" TBH="50" />
<BAT PCR="15" />
<OGV OSO="5" OCW0="100" OCW1="380" OCH="130" OBW="155" OBH="82" ODX="3" ODY="3" />
<SCLS SCLBW="155" SCLBH="82" SCLDX="3" SCLDY="3" />
<APNT SSID="linksys" />
<APNT SSID="linksys3" />
< EXTDEV Use="0" />
<MENU Cash="1" UpTm="10" />
< KEYS K1=”202" K2=”203" K3=”204" K4=”205" />
<LANG Use="0" />

In this file all parameters in tags should be in shown order without missing. Order changing in any kind will be a reason of non-correct interpretation of file consistence. If one or more parameters are missed, they will be initialized by their default values. To check file syntax you can open it in Internet Explorer – correct syntax will be highlighted.
NOTE: If configuration file was written on pocket PC (as a result of saving settings or manual writing, or after file transferring), after next data transferring it will not be overwritten. If you need to update this file (on pocket PC), you have to delete it firstly.
NOTE: For each waiter it’s possible to create his own configuration file. To do it you should manually put on pocket PC file mwnsettings6.xml renamed to <waiter_password>_6.xml (for example, 15616_6.xml).
NOTE: The order of the parameters should be like described in this manual.
Tag parameters will be described below. Almost everything is the same, as in client ver.5, only some changes added.

TAG NAME TAG DESCRIPTION                                                                                                                                                                                      
 TIMES "Ldf" – time of exit from table list if no any operations was performed, in minutes. If nothing or 0, exit will not be. Should be 0 or larger than time of automatic synchronization.
Can "CLC" – show calculator (yes, by default)
ORDFCL  For normal resolution tag name should be ORDFCLNR
ORDMBTN  For normal resolution tag name should be ORDMBTNNR
ORDMSBT  For normal resolution tag name should be ORDMSBTNR.
“USE” – use or not, (yes by default or if not defined)
 Plan For normal resolution tag name should be PlanNR,
“USE” – use or not.
MENU  If it’s necessary to cash menu in defined time interval, cash time should be defined in minutes in “UpTm” parameter (e.g. UpTm=10). This parameter can not be larger than 60 minutes. If not defined or 0, menu cashing takes place ones on first successful menu reading.
OGV  For normal resolution tag name should be OGVNR
EXTDEV  Use external card reader or not. For example,
< EXTDEV Use="0" CrdFmt=”2” COM=”7” />
0 – not use,
1 – use keyboard emulation for socket,
2 – use Bixolon as card reader,
3 – use Bixolon as printer,
4 – use Bixolon as a card reader and printer
If there is no such tag, or not defined – don’t use any external devices.
For card reading it’s possible to add parameter
“CrdFmt”, which defines a card format. If there is no such parameter, card format is short.
For PDS card you should set CrdFmt=”2”.
COM defines Bluetooth com-port number.
To use Bixilon it’s necessary to put in UCS folder on pocket PC BixilonPrn.dll and bxl.dll for your pocket processor. You can find these files in installation set. Just use windows search.
KEYS  Contains key codes which can be proceeded. For example,
< KEYS K1=”202" K2=”203" K3=”204" K4=”205" />
K1 – maximizing/minimizing of order item list,
K2 - maximizing/minimizing of menu,
K3 – move order item up,
K4 – move order item down
LANG 0 – Russian,
1 – Bulgarian,
2 – Spanish,
3 – Ukrainian,
4 – Lithuanian,
5 – Latvian,
6 – Estonian,
7 – Hungarian,
8 – Czech,
9 – Polish,
10 – Romanian,
11 – French,
12 – English.
If there is no tag or not defined – Russian.

File mwnsettings6.xml should be in UCS folder of root folder on pocket PC. In Tms2.ini it should be:

Quick installation guide for non-complicated basic installation

  1. Add the virtual unit by DealRk.exe and set up service-printing for it. Create passwords for waiters you want to use the pocket ;
  2. Unpack installation set to some folder, in tms2.ini set up reboot time;
  3.  Start TMS server (MobilGuard2.exe). Set up connection for cash server.
  4. In mwnsettings.xml for your resolution set up 2 IP-addresses and port. Restart TMS server;
  5. Install ActiveSync. Connect your pocket to PC. In root folder of the pocket create folder UCS. Copy here the files for your resolution and language from PocketPC5 folder or just 2 files for any language and resolution from PocketPC6 folder.
  6. Disconnect your pocket from PC. Set up WIFI network on pocket. WIFI settings are correct, if you can reach pocket from your PC by ping command. Start MobWaiterNPX.exe, where X is 5 or 6, from UCS folder. Go to settings and set up IP, port and license.
  7.  Restart MobWaiterNPX.exe, where X is 5 or 6. Now you can log in and work.

Instalation of several TMS servers on 1 PC

In case if in restaurant it is required to use different service printing for different PDA’s, use
several TMS copies

1. Make several folders for separate TMS.
2. Each TMS serevr should have different title. To change that open TMS2.INI and change parameter Title=TMSX for every copy of TMS.
3. In each TMS copy you should define how many licenses this copy will use. This should be set in parameter UseLic=x in section [TMS]

Recommended hardware



  • Casio Cassiopea IT-600 (WinCE ver. 4.2 or higher)
  • Symbol MC-50 (320x240 – not very good for end-user)
  • WideFly WD-35 (320x240)


  • HP iPAQ 4700
  • Dell AXIM 51v
  • ACER N311 (for small distance – max. 50 m.)
  • Fujitsu-Siemens C550
  • HP iPAQ 214 Enterprise Handheld

Access points


  • Linksys wap54b/g (most popular)


  • Dlink DWL-3200AP
  • Dlink DWL-8200AP
  • Planet WAP-6100