Important!
KDS has not been updated since June 1, 2020. Please use KDS PRO.
The software has not been suported since December 31, 2020.
Introduction
Before reading this article, please, get acquainted with the main one about installing and configuring the KDS system.
The KDS system can fully replace or be used alongside the print service. It is more convenient as the cook and waiters working on an order, as well as the prepared and delivered orders or separate dishes can be viewed in different modes.
Several cook's display forms — for orders being prepared — and several waiters display forms — for orders delivered — can be used.
The user can adjust the display form using the Fast Report technology. The inbuilt report designer can be launched from the required active KDS client display by pressing the D key on the keyboard.
All the orders made at the cash station are displayed on the cook's display after they are saved. A cook can supervise the preparation of the orders and dishes on their display, and delete them once they have been prepared. A water can view and analyze the order readiness on their display, f.ex., how many dishes from an order are ready, and manage the ready orders and dishes — remove them from the display once they are handed to the client. Instead of deleting the dish or the order it is possible to leave them displayed but against the different background.
To analyze the efficiency of the kitchen's work, it is possible to use the nominal, i.e. theoretical preparation time specified in the dish card. In this case, as soon as the order/dish is ready, the system will record the actual dish preparation time; and once the order is delivered the system will record the time period between its preparation and delivery. The difference between these two indicators will show how efficient the kitchen and waiters are in the Kitchen Operation report.
The software can operate in the Simultaneous Serving mode, i.e. when all the dishes from an order should be prepared simultaneously, and the standard Serve as Ready mode.
KDS System Features
- Since version 1.3, it is possible for several KDS servers to work with one database, with each KDS server working with its own r_keeper cash server
- Earlier versions allowed only one KDS database, one KDS server, and one r_keeper cash server
- RK6 and RK7 Support
- It is possible to install KDS client's win32 version or the WinCE version at the ARM controllers.
Client Settings
General Settings
The KDS client general settings are activated in the General Settings section and are backed up in the kdsclient.ini. configuration file.
The values of some general parameters can only be set in the kdsclient.ini configuration file:
- UseNewKBD = 0 — the used keyboard type: 0 — do not use, 1 — for a new 3-row USC/COM keyboard, 2 — a new 3-row USB-keyboard for Win32 clients
- StayOnTop=OFF — display the client overhead other windows (ON), or do not display (OFF)
- Left — the horizontal initial coordinate for the lower left-hand corner of the client's active window, in pixels
- Top — the vertical initial coordinate for the lower left-hand corner of the client's active window, in pixels
- Height — the height of the client's active window, in pixels
- Width — the width of the client's active window, in pixels
- LogLevel — the log level (0-9)
- LogSizeMB — the maximum size of the log file, in MB
You can configure simultaneous view of several KDS clients on the same display using the Left, Top, Height and Width parameters.
Display Settings
During the first client launch the display settings are taken from the kdsclient.ini file. They are then entered into the database — if the StationName parameter is not empty and there is no StationName with such a name in the database yet — and the file is no longer used for reference.
To save the file settings in the database, create a new, i.e. previously non-existing StationName parameter.
If the StationName is empty, the display parameters are taken only from the kdsclient.ini file. Such a configuration is used for ARM hardware controller (T700) which identifies the StationName based on the device's MAC address.
In order to access display settings, launch the KDS client and press the F2 key on any of the displays:
Screens Settings Section
Each KDS client stores their settings in the database. If there are several KDS clients, you can copy the previously made settings from one client to another, using the button in the lower left-hand corner. A window with a choice of stations from which you can copy the settings will open at the time of copying:
The settings editing window consists of two tabs: Screens Settings and General Settings.
Creating New Display Form
On the first Screens Settings tab, it is necessary to create all the display forms or keep the default ones, and apply the settings.
To generate a new display form press the + key in the lower left-hand corner and specify the main parameters for it:
- Report settings field
- SQL settings field
- Operation settings field
- Prints Group settings field
Specify other parameters if necessary.
REPORT Field – Display Form
Important! The REPORT field is used to set an active display form. You can use the forms listed as default forms. Or create your own.
Use the REPORT field to choose a form to display the dishes or the order on the KDS display:
Fig. A list of preset display forms shown.
A list of preset forms
- Form dishlist.fr3
The order is displayed in the form of a dynamic windows each of which containing one order item (one per dish). It supports the simultaneous delivery mode. I.e. some of the dishes in the order are displayed as inactive and show a timer for each dish which is linked to the overall preparation time.
Fig. Order displayed using the dishlist.fr3 form
- Form dishlist_by_line.fr3
The order is displayed in the form of a dynamic windows each of which containing one order item (one per dish). The simultaneous delivery mode cannot be applied in this case. I.e. the dishes from the order are displayed with a timer set for each dish individually.
Fig. Order displayed using the dishlist_by_line.fr3
- Form dline.fr3
The order is displayed in the form of lines spanning across the display with each KDS line containing one line from the order (for each individual dish and line). It supports the simultaneous delivery mode. I.e. some of the dishes in the order are displayed as inactive and show a timer for each dish which is linked to the overall preparation time.
Fig. Order displayed using the dline.fr3 form
- Form dline_by_line.fr3
The order is displayed in the form of lines spanning across the display with each KDS line containing one line from the order (for each individual dish and line). The simultaneous delivery mode cannot be applied in this case. I.e. the dishes from the order are displayed with a timer set for each dish individually.
Fig. Order displayed using the dline_by_line.fr3 display form
- Form fullorder.fr3
The order is displayed in the form of a dynamic window which fully shows the order session (for each order) with a timer set for a dish requiring the longest preparation time.
Fig. Order displayed using the fullorder.fr3 display form
- Form NotExist.fr3
Auxiliary form. If the layout used in the display form gets deleted (file deleted by mistake from the installation package) the NO EXIST message will be displayed when viewing this display form.
- Form ReadyOrder.fr3
Take Away Waiter Mode (the order is displayed in the form of a dynamic window showing the entire order session).
Fig. - Order displayed using the readyorder.fr3 display form
- Form wfullorder.fr3
In the Works waiter mode (the order is displayed in the form of a dynamic window showing the entire order session).
Fig. Order displayed using the wfullorder.fr3 display form
SQL Field — Action Script
Important! The operations algorithm of the KDS client app is set in the SQL settings field. You can choose one of the preset scripts. Or create/write your own algorithm.
You need to choose the option for the information display rules (what we see on the KDS display) in the SQL.
- You can set the rules to display only the necessary information using the SQL request.
For instance, display only the ready dishes, dishes to be delivered, outstanding orders, etc. As the selection of a dish or an order changes their status the KDS display will only show those meeting the request's conditions that will be highlighted in color in accordance with their current status. Items not meeting the request's requirements will not be displayed. For this reason at the time of selecting the dish or order they will either be removed from the display, or change their highlight color.
- Several standard options are offered but the user can generate the necessary request on his/her own.
After the dish is transferred from the cash register to KDS, the dish and the order get the unprocessed status. It is possible to change the status, i.e. assign a status, at the time of selecting the dish or order:
Status - Unprocessed --->
Status - Prepare ---> Status Prepared
Status - Prepare ---> Status - Ready
Status - Deliver/Pick Up ---> Status - Delivered/Picked Up
Fig. Options of ready SQL scripts set in the SQL field.
Table — Standard Scripts
Item No. | Script Name | Script | Description |
1 | Not prepared | SELECT * FROM BaseView WHERE (preptime IS NULL) ORDER BY ID, LineID, IID |
Important! Not recommended for use in a standard configuration. |
2 | Not ready dishes | SELECT * FROM BaseView WHERE (finishcook < 0) ORDER BY ID, LineID, IID |
|
3 | Not ready orders | SELECT * FROM BaseView WHERE (ready < 0) ORDER BY ID, LineID, IID |
|
4 | Not taked out dishes | SELECT * FROM BaseView WHERE (ltakeout IS NULL) ORDER BY ID, LineID, IID |
|
5 | Not taken out orders | SELECT * FROM BaseView WHERE (takeout < 0) ORDER BY ID, LineID, IID |
|
6 | Prepared and not ready dishes | SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (finishcook < 0) ORDER BY ID, LineID, IID |
|
7 | Prepared and not ready orders | SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ready < 0) ORDER BY ID, LineID, IID |
|
8 | Prepared and not taked out dishes | SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID |
|
9 | Prepared and not taken out orders | SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (takeout < 0) ORDER BY ID, LineID, IID |
|
10 | Ready dishes and not taked out dishes | SELECT * FROM BaseView WHERE (finishcook > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID |
|
11 | Ready dishes and not taken out orders | SELECT * FROM BaseView WHERE (finishcook > 0) AND (takeout < 0) ORDER BY ID, LineID, IID |
|
12 | Ready orders and not taken out dishes | SELECT * FROM BaseView WHERE (ready > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID |
|
13 | Ready orders and not taken out orders | SELECT * FROM BaseView WHERE (ready > 0) AND (takeout < 0) ORDER BY ID, LineID, IID |
|
14 | Prepared dishes | SELECT * FROM BaseView WHERE (preptime IS NOT NULL) ORDER BY ID, LineID, IID |
|
15 | Ready dishes | SELECT * FROM BaseView WHERE (finishcook > 0) ORDER BY ID, LineID, IID |
|
16 | Ready orders | SELECT * FROM BaseView WHERE (ready > 0) ORDER BY ID, LineID, IID |
|
17 | Taken out dishes | SELECT * FROM BaseView WHERE (ltakeout IS NOT NULL) ORDER BY ID, LineID, IID |
|
18 | Taken out orders | SELECT * FROM BaseView WHERE (takeout > 0) ORDER BY ID, LineID, IID |
|
19 | All | SELECT * FROM BaseView ORDER BY ID, LineID, IID |
|
Operation Field — Event
In the Operation field you need to define the event that will take place at the time of selecting the dish or order.
- Dish and order management suggests that their status will be changed during the work process.
The system uses four statuses. Once the dish is transferred from the cash register to KDS the dish and the order are assigned the Not Processed status.
You can make the following changes to the status of the dish and the order at the time of selection:
- Prepare
- Ready
- Deliver (TakeOut)
The status can only be changed in the following order:
Not Processed ---> Prepared ---> Ready ---> Picked Up/Delivered
Therefore, it is impossible, for instance, to switch the status of a dish from Not Processed to Picked Up/Delivered.
By default the following colors are used for highlighting each status:
- Transferred from the cash register – white;
- Prepared – yellow;
- Ready – purple ;
- Delivered/Picked Up – blue .
Fig. List of available operations.
Table – List of Operations
Item No. | Transaction Name | Description |
0 | opNone |
|
1 | opReadyDish |
|
2 | opReadyOrder |
|
3 | opTakeOut |
|
4 | opReadyAndTakeOut |
|
5 | opTakeOutDish |
|
6 | opSendMessage |
|
7 | opReadyDishOnly |
|
8 | opPrepareDish |
|
9 | opCustom |
|
The additional fields used for the opCustom operation are shown in the figure below.
Fig. Setting additional fields at the time of selecting an opCustom event.
Screen Name — Display Form Name
You should state the name of the display form to be shown on the KDS display in the Screen Name.
- The name and ordinal number of the newly created form are inserted by default.
Fig. Setting the display form name
Print Groups Field — Print Groups
In Print Groups you need to select the service print groups to be shown on this display form. Dishes from other service print groups will not be shown on this display form.
- If none of the groups are selected ALL groups will be shown.
Fig. Setting the visible print groups for the selected display
Other settings in the Screen Settings Section
View and set other parameters in the Screen Settings section as required.
Table 1 — Other Screen Settings Parameters
Item No. | Parameter | Description |
1 | Auto mark first record if record count more then one screen |
|
2 | History screen |
|
3 | Way of marking |
|
An example of how windows can be numbered:
Fig. Window numbering options
- A unique value within the display (if #1 is cast off it can be assigned to the next order)
- By RK order number
- By RK7 package number
Note: Starting with the KDS version 1.3.0.4 a new Mark Whole Order by Order Caption Click option is available which can only be used with the activated Way of Marking: markByGenValues" or "MarkByOrderNumber". Allows you to perform a set operation dish by dish for the entire order by pressing the order header.
Table 2 — Other Screen Settings Parameters
Item No. | Parameter | Description |
4 | Barcode Scanner port |
|
5 | Barcode prefix |
|
6 | Mark first record by F1/Done |
|
7 | Confirmation on mark record |
Important! The message will be sent independent of the display form, service principle, operation and location in the order area. I.e. if you selected the Msg for Waiter item the dispatched message will contain the text from RK settings, for instance, Ready Table #XX, or Kitchen Paging Waiter. |
A view of the dialog box:
Fig. An additional request for confirming the action and sending the message to the waiter.
- When using ARM, if this setting is on then the next setting should also be activated (Use ARM-compatible confirmation window).
Fig. ARM controller settings
Fig. Dialog box for confirmation
- There is a prompt under each button for what to press on the cook's keyboard, as ARM does not support sensory input (TS).
- Only a picture which is not a fully-fledged client is displayed.
Table 3 — Other Screen Settings Parameters
Item No. | Parameter | Description |
8 | Use ARM-compatible confirmation window |
|
9 | Send a message to the waiter when Ready dish (RK6 only) |
|
10 | Move marked record to top |
|
11 | Show some last operation |
|
An example of using the Show Some Last Operation parameter:
Fig. Selecting the number of displayed last operations
Fig. Log Parameters
- Under these settings five log lines will be displayed. The next operation will be shown as the last in the list while the first line will be deleted from the list.
Fig. A view of the set operation log on the display.
Table 4 — Other Screen Settings Parameters
Item No. | Parameter | Description |
12 | Group By: Print Group(True)/Order Number(False) |
|
13 | Sound file or beep theme |
|
14 | Duration of sound |
|
15 | Use letter enumerate | The need for using letters (as special identifiers) for the order is indicated in this field (whether the is a need to use letters A, B, C, D). |
16 | Static letter number |
|
17 | Zoom |
|
18 | Join By Order |
An example of how an order is displayed using the Join By Order parameter: Fig. With the Join by Oder setting Fig. Without the Join by Order setting |
19 | Group Combo Dish | Using this parameter, you can show combo dishes on the display. If the Show Combo Dish As Line parameter is selected the dishes will be shown as a line; if the parameter if not selected the dishes will be shown vertically. Examples of how orders are displayed using the Show Combo Dish As Line parameter: Fig. With the Show Combo Dish As Line parameter on Fig. With the Show Combo Dish As Line parameter off Note: For the combo dishes to be displayed in the proper format you need to use the manager station directory, go to Settings ⇒ Parameters ⇒ Installation ⇒ Communication with other systems ⇒ KDS and VDU, and set the Value property as Components Only. If this setting is skipped then not all data on combo dishes will be transmitted through the xml interface leading to misdisplayed information on KDS displays. |
Table 5 — Other Screen Settings Parameters
Item No. | Parameter | Description |
20 | Join By Order + OneKDSCheck (RK6) |
Important! When such an order is generated it is allocated the first service print group (the print group with a minimal cipher) from the RK6 Editor (you can see the cipher in streams.db). It is necessary to tick this service print group on the KDS server otherwise this service print group will be cast off and the order will fail to reach the KDS server. |
Example: The service print group has a minimal cipher of 1 and is called Print. The dishes within the order have service print groups with ciphers 3 (Kitchen), 8 (Bar), and 10 (Hot Kitchen). For the dishes to be shown on KDS displays it is necessary to tick all four groups.
Fig. An example of KDS server settings
- When the KDS display is set using the F2 key only the actual service print groups that use the dishes (Bar, Kitchen, Hot Kitchen) need to be ticked. It is not essential to tick the Print group. You can either tick it or not. But if the Print group uses the dishes for this display you should tick it.
Fig. Selecting print groups for KDS client
- When using the Join By Order and OneKdsCheck=ON setting the order on the display will be the same as entered at the cash register (with the same dish sequence) (order 1) and with OneKdsCheck=OFF (order 2).
Fig. An example of the OneKDSCheck setting. Note how the dishes are placed in identical orders.
It is also obligatory to set the following in the FSVDU.ini settings file:
PackLines=OFF
- In this case the dishes will not be packed.
Fig. A view of the same order with PackLines=On
- When working with Ipod devices it is necessary to set KDSSolid=1 in tms2.ini in section [TMS] (starting with TMS version5.39) to rule out dishes being grouped by print service groups. This setting only operates jointly with the OneKdsCheck=ON server keeper setting (see first order). If the setting is OneKdsCheck=OFF the Ipod will send the orders classified by service print groups and in different windows.
Fig. An example of an order sent from an Ipod
General Settings Section
It is necessary to specify the main settings in the second tab of the General Settings.
Fig. The General Settings window
DataBase Settings Field – Database Settings
Fig. Connecting to the KDS database
Table 1 – General Settings Parameters
Item No. | Parameter | Description |
1 | RK Version |
|
2 | Station Name |
|
3 | Alarm Time (minutes) |
|
4 | Alarm Time Color |
|
Example:
Fig. Setting the Alarm Time Color parameter
Table 2 – General Settings Parameters.
Item No. | Parameter | Description |
5 | RS-232 Port |
|
6 | RS-232 Baud |
|
7 | Use Scheduler |
|
Example:
Fig. An example of the Use Scheduler parameter setting
Table 3 – General Settings Parameters.
Item No. | Parameter | Description |
8 | Refresh Screens (milliseconds) |
|
9 | Refresh data (milliseconds) |
|
10 | Time to delay command (seconds) |
|
11 | Localization |
|
Additional KDS client settings
Changing the field colors in the display form
There is a description of how to change from blue to another color in the example. Open the display form in the report designer (D key), find and change the following part of the set algorithm in the form code after ScreenNumberOnBeforePrint(Sender: TfrxComponent):
begin
if screenNumber.Color=clBlue then begin
ScreenNumber.Color:=$0000DDDD;
end;
with $0000DDDD - rgb as the color, you can specify a color other than blue.
Fig. An example of changing the field's color.
Additional KDS server settings
- Specifying the service print groups on the KDS server does not affect how they are displayed on the KDS stations and how orders are formed on KDS. They are required only for the process of selecting the formed orders
- At KDS for the server. I.e. if some of the orders are not required at the server they can be cast off this way (to reduce the load on the server).
- If the Preparation Control function is not activated in the RK6 Editor for the service print feed, the service print groups will still be visible in the KDS display settings (ScreenOptions) and at the KDS server (Options), but in this case no orders will be sent to KDS from the cash register!
Parameters of the FSVDU.INI configuration file
The following FSVDU.INI parameters have been added for RK7 in server settings starting from KDS version 1.3.1.2:
UseOrderNameAsTable – It should be switched on if new persons are welcome to join a party at a table. In this case the table's full number is transmitted as OrderName
AutoChangeMainWaiter – Updating the orders at the time of changing the main waiter.
The following FSVDU.INI parameters have been added to KDS sever settings starting version 1.3.2:
DelayTimeSec – The possibility of delaying sending a message on the readiness of a dish (in seconds)
DelayedPrintGroups - Listing print groups separated by a coma, similar to the PrintGroups client settings.