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

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:

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:

Specify other parameters if necessary.

REPORT Field

The REPORT field is used to set an active display form. You can use the default forms or create your own ones.

Use the REPORT field to choose a form to display the dishes or the order on the KDS display:

A list of preset forms

The order is displayed in the form of a dynamic window each of which contains one order item — one per dish. It supports the simultaneous delivery mode. I.e. some of the dishes are displayed as inactive and with a timer for each dish as regard to the overall preparation time.

The order is displayed in the form of a dynamic window each of which contains one order item — one per dish. The simultaneous delivery mode cannot be applied in this case. I.e. the dishes from are displayed with a timer set for each dish individually.

The order is displayed in the form of lines spanning across the display with each KDS line containing one line from the order. It supports the simultaneous delivery mode. I.e. some of the dishes in the order are displayed as inactive and with a timer for each dish as regard to  the overall preparation time.

The order is displayed in the form of lines spanning across the display with each KDS line containing one line from the order. 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.

The order is displayed in the form of a dynamic window which fully shows the order session with a timer set for a dish requiring the longest preparation time.

An auxiliary form. If the layout used in the display form gets deleted — a file is deleted by mistake from the installation package — the NO EXIST message will be displayed when viewing this display form.

The Take Away waiter mode — the order is displayed in the form of a dynamic window showing the entire order session.

The Being Prepared waiter mode — the order is displayed in the form of a dynamic window showing the entire order session.

SQL Field

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 your own algorithm.

In the SQL field, you need to choose the option for the information display rules.

For example, to display only the ready dishes, dishes to be delivered, orders being prepared, 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 a color corresponding to their current status. Items not meeting the request's requirements will not be displayed. For this reason, when selecting the dish or order, they will either be removed from the display, or change their highlight color.

After the dish data is transferred from the cash station to KDS, the dish and the order get the Unprocessed status. It is possible to change the status when selecting the dish or order:

Status - Unprocessed --->

Status - Prepare ---> Status - Prepared

Status - Prepare ---> Status - Ready

Status - Deliver/Pick Up ---> Status - Taken out


Standard Scripts Table

Item NoScript NameScriptDescription

1

Not prepared

SELECT * FROM BaseView WHERE (preptime IS NULL) ORDER BY ID, LineID, IID

  • Not prepared — the display shows the dishes or orders that have been transferred from the cash station and whose status has not yet been changed. As soon as the dish gets the Prepared status it automatically receives the Ready status

Not recommended for use in a standard configuration.


2

Not ready dishes

SELECT * FROM BaseView WHERE (finishcook < 0) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Not Ready status, i.e. those transferred from the cash station and whose status has not yet been changed, or the dishes with the Prepared status

3

Not ready orders

SELECT * FROM BaseView WHERE (ready < 0) ORDER BY ID, LineID, IID

  • An order with the Not Ready status is displayed. It does not matter whether it contains dishes with the Ready and Not Ready statuses. The order will be displayed until it gets the Ready status
  • This is an option which will highlight the prepared dishes within an order in purple by default. As soon as the last dish gets the Ready status giving the Ready status to the entire order, the order will be fully deleted from the display

4

Not taken out dishes

SELECT * FROM BaseView WHERE (ltakeout IS NULL) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Not Taken Out status, i.e. dishes with the Not Ready and Ready statuses — dishes that have not been prepared and dishes that have been prepared but not taken away

5

Not taked out orders

SELECT * FROM BaseView WHERE (takeout < 0) ORDER BY ID, LineID, IID

  • The display shows an order with the Not Taken Out status.It does not matter whether it has dishes with the Taken Out and Not Taken Out statuses. The order will be displayed until it gets the Taken Out status
  • This is an option which will highlight the delivered dishes within an order in purple by default. As soon as the last dish gets the Taken Out status giving the Taken Out status to the entire order, the order will be fully deleted from the display

6

Prepared and not ready dishes

SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (finishcook < 0) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Prepared status but without the Ready status. Do not use it in a standard configuration

7

Prepared and not ready orders

SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ready < 0) ORDER BY ID, LineID, IID

  • The display shows the orders with the Prepared status but without the Ready status. Do not use in it a standard configuration

8

Prepared and not taked out dishes

SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Prepared status but without the Taken Out status. Do not use it in a standard configuration

9

Prepared and not taked out orders

SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (takeout < 0) ORDER BY ID, LineID, IID

  • The display shows the orders with the Prepared status but without the Taken Out status. Do not use it in a standard configuration

10

Ready dishes and not taked out dishes

SELECT * FROM BaseView WHERE (finishcook > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Ready status but without the Taken Out status, i.e. only the dishes that have been prepared but not taken out

11

Ready dishes and not taked out orders

SELECT * FROM BaseView WHERE (finishcook > 0) AND (takeout < 0) ORDER BY ID, LineID, IID

  • The display shows the dishes with the Ready status and the dishes with the Delivered status highlighted in purple until the entire order gets the Taken Out status
  • As soon as the last dish from the order gets the Taken Out status, the order will be deleted from the display

12

Ready orders and not taked out dishes

SELECT * FROM BaseView WHERE (ready > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID

  • The display shows the orders with the Ready status containing dishes with the Not Taken Out status. I.e. as soon as the dish receives the Taken Out status, it will be deleted from the order

13

Ready orders and not taked out orders

SELECT * FROM BaseView WHERE (ready > 0) AND (takeout < 0) ORDER BY ID, LineID, IID

  • The display shows the orders with the Ready and Not Taken Out statuses
  • All the taken out dishes within the order are highlighted in purple
  • As soon as the last dish receives the Taken Out status, the order gets the Taken Out status and is deleted from the display

14

Prepared dishes

SELECT * FROM BaseView WHERE (preptime IS NOT NULL) ORDER BY ID, LineID, IID

  • Only the dishes with the Prepared status are displayed

15

Ready dishes

SELECT * FROM BaseView WHERE (finishcook > 0) ORDER BY ID, LineID, IID

  • Only the dishes with the Ready and Taken Out statuses are displayed, as the Taken Out status suggests that the dish also has the Ready status

16

Ready orders

SELECT * FROM BaseView WHERE (ready > 0) ORDER BY ID, LineID, IID

  • Only the orders with the Ready and Taken Out statuses are displayed, as the Taken Out status suggests that the order also has the Ready status

17

Taked out dishes

SELECT * FROM BaseView WHERE (ltakeout IS NOT NULL) ORDER BY ID, LineID, IID

  • Only the dishes with the Taken Out status are displayed. I.e. the dishes with the Ready and Not Taken Out statuses will not be shown. They will be displayed as soon as they are shown as prepared and delivered on other displays

18

Taked out orders

SELECT * FROM BaseView WHERE (takeout > 0) ORDER BY ID, LineID, IID

  • Only the orders with the Taken Out status are displayed. I.e. the orders with the Ready and Not Taken Out statuses will not be visible
  • They will be displayed as soon as they are shown as prepared and taken out on other displays

19

All

SELECT * FROM BaseView ORDER BY ID, LineID, IID

  • All dishes are displayed and cannot be removed from the display

Operation Field

In the Operation field, you need to specify the event that will happen when selecting the dish or the order.

The system uses four statuses. Once the dish is transferred from the cash station to KDS, the dish and the order are given the Not Processed status.

When selecting a dish, you can change the status to the following:

The status can only be changed in the following order:

Not Processed ---> Prepared ---> Ready ---> Taken Out

Therefore, it is impossible, for example, to change the status of a dish from Not Processed directly to Taken Out.

By defaultm the following colors are used for highlighting each status:

kds13.png

Operations Table

Item No.

Transaction Name

Description

0

opNone

  • Nothing will happen when selecting the dish or the order

1

opReadyDish

  • When selected, the dish will get the Ready status. If it is the last one in the order, then the entire order will get the Ready status. This operation is used for the cook's display

2

opReadyOrder

  • When the order is selected, the entire order will get the Ready status. This operation is used for different displays to show the orders one by one.
  • If it is used in displays showing line by line, then after selecting a window with a dish, all dishes in the order will receive the Ready status — i.e., will be removed from the display and will be highlighted in another color

3

opTakeOut

  • When selected, the entire order will receive the Taken Out status, if the entire order has the Ready status. If the order contains unprepared dishes, nothing will change
  • It is only used for waiter displays as it is recommended to take an order out using them, although it is possible to do it with any other display

4

opReadyAndTakeOut

  • When selected, the entire order will get the Ready and Taken Out status
  • It is used for the cook's display, when a dish is prepared and taken out at once, f.ex., in bars. In this case, no special action is needed for taking out the order, which saves time

5

opTakeOutDish

  • When the dish is selected, it receives the Taken Out status, if the dish already has the Ready status. If it is the last one in the order, the entire order will receive the Taken Out status
  • This operation is used for the waiter's display

6

opSendMessage

  • When the order is selected, the waiter will get a message informing that the order is ready
  • It is not recommended for use, as it is outdated and requires complex settings, i.e. cannot be set as a task

7

opReadyDishOnly

  • When selected, the dish will get the Ready status
  • If it is the last one in the order, then only this dish will get the Ready status while the entire order will keep the Not Ready status
  • Such an order cannot be taken out
  • It is not recommended for use, as it was made for a special project

8

opPrepareDish

  • When selected, the dish will get the Prepared status. This is an internal, i.e. intermediate status which is used before ReadyDish
  • It is not recommended for use in a standard configuration
  • It is used only for the three-stage option: cook (Prepared), order assembler (Ready), and waiter (Taken Out), for example, when using the substitution editor
  • In a standard configuration, when a dish gets the Ready status, the dish always gets Prepared status automatically

9

opCustom

  • Enables you to perform several actions on one station. When selecting this operation, you get an additional opportunity to configure the operations for this display form — preparation, readiness, delivery
  • Depending on the settings, a single display can be used to prepare, cook and deliver a dish
  • You can perform from one to three actions depending on the enterprise's needs. But the status check procedure required for upgrading the status remains standard.

The additional fields used for the opCustom operation are shown in the figure below:

Screen Name Field

In the Screen Name field, you should specify the name of the display form to be shown on the KDS display.

Print Groups Field

In the Print Groups field, you need to select the service print groups to be shown in this display form. Dishes from other service print groups will not be shown in this display form.

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

  • Under this setting if the orders fully fill the display form's first page the next dish which is to appear on the second page will be shown the last on the first page as the very first dish on the first page will be automatically deleted if the display is assigned the opReadyDish event, or this first dish will be transferred into the status corresponding to the event assigned for this display.

2

History screen

  • Under this setting and provided that the request has been re-written in a reverse order the display will show all the orders under an event illustrating an assigned event from all displays (for example, you can display all the deleted (prepared) dishes).
  • For the dishlist.fr3 and dline.fr3 forms and their varieties this setting is used to show different dish statuses (ready, picked up). If this setting is not used for these forms their displays will only show dishes with the Not Ready status and nothing will appear on the screen when choosing another SQL.

3

Way of marking

  • Select one of three options for numbering KDS windows.

An example of how windows can be numbered:

Fig. Window numbering options

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

  • The scanner port is indicated if the technology for casting off an order by scanning a barcode is used (a special barcode is used) — custom made.
  • DO NOT use in a standard configuration!

5

Barcode prefix

  • Used for printing the barcode (exclude the 'RK7 blank' prefix from the code) — custom made.
  • DO NOT use in a standard configuration!

6

Mark first record by F1/Done

  • If you press F1 (on the old keyboard) or Cancel (on the new keyboard) then the operation selected for this display form for the first item on the display will be performed.
  • Example: the first order in the list will be cancelled for the DishList display in ReadyDish.

7

Confirmation on mark record

  • It is used for the cook's display. Under this setting when selecting a dish or an order a message will pop up enabling you to choose an operation for this display (as planned), cancel the operation, or send a message to the waiter, msg for waiter, (to the station, to the mobile waiter, pager, etc.).

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.

Fig. ARM controller settings

Fig. Dialog box for confirmation

Table 3 — Other Screen Settings Parameters

Item No.

Parameter

Description

8

Use ARM-compatible confirmation window

  • Use ARM-compatible confirmation windows. Used only jointly with the Confirmation on Mark Record setting.

9

Send a message to the waiter when Ready dish (RK6 only)

  • Sending a message informing that one of the dished in the order is ready. Can only be used for the ReadyDish event and RK6.

10

Move marked record to top

  • The order window will move to the top of the list on the display when an operation with an order or a dish in the order is performed.

11

Show some last operation

  • Used at the time of adjustment to view what operations were performed with the dish (log).
  • Not supported by ARM.
  • It makes is possible to set how many last operations should be displayed and their viewing rules.

An example of using the Show Some Last Operation parameter:

Fig. Selecting the number of displayed last operations

Fig. Log Parameters

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)

  • Under this setting the images will either be grouped by print groups, or by order number (for instance, the orders from the bars and the kitchen will either be shown in one window, or in different ones). Similar to the Joint By Order setting.

13

Sound file or beep theme

  • When specifying the sound file in this field (for instance, C:\WINDOWS\Media\ringin.wav), an alarm will go off as soon as a new order appears on the KDS display (the order numbering is tracked with the last number entered into the memory, and the next ordinal order will appear on the display accompanied by an alarm).

14

Duration of sound

  • This field can be used to set the duration of the alarm in case it is used.

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

  • If the Use Letter Enumerate setting is active the need to save the Letters in the database is specified in this field.
  • When an order is saved its Letter is analyzed and when the orders are shown on different displays it comes under the same Letter (without this setting only the numbering is used).

17

Zoom

  • In this field you can specify the scale of the display form to be shown on the station's display (is set individually).

18

Join By Order

  • Combining dishes from different service print groups into one order at KDS.
  • Under this setting if the dishes from different service print groups are entered into the cash register at the same session, then the KDS display all the dishes in this session will be displayed in the same order only provided that REPORT - fullorder.fr3 has been installed. Within this order the dishes will be grouped by service print groups.
  • Without this setting under the same conditions such an order will be split into several orders depending on the number of service print groups on the KDS display.

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)

  • If the RK6 cash register uses the OneKdsCheck=ON server setting (specified in Rkeeper6.ini at the cash server) then whether this setting is present or not does not affect how the order is displayed at KDS. All dishes within one session will be displayed in one order without being grouped by service print groups, i.e. in the same order as at the cash register (can be used for meal course modelling, if the courses are entered as dishes).
  • The OneKdsCheck=ON setting is available for cash register versions starting 6.97.1.
  • Under this setting the order in the Order Control is formed as one order and its sequence of dishes fully corresponds to the sequence of dishes entered at the cash register. I.e. a single order is generated for the session as opposed to several orders grouped by service print groups.

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

Fig. Selecting print groups for KDS client

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

Fig. A view of the same order with PackLines=On

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

  • The operational RK (6 or 7) version is installed

2

Station Name

  • The KDS station name is set (manually for win, keep the field empty for ARM).

3

Alarm Time (minutes)

  • The time in minutes (until the nominal cooking time countdown starts) after which the timer's highlight color will change to the color set below (Alarm Time Color).

4

Alarm Time Color

  • The color in which the timer will be highlighted (in this example the color code is 255.128.0)

Example:

Fig. Setting the Alarm Time Color parameter

Table 2 – General Settings Parameters.

Item No.

Parameter

Description

5

RS-232 Port

  • Not used.

6

RS-232 Baud

  • Not used.

7

Use Scheduler

  • If the function is activated (ticked) the display forms can be automatically rotated after certain periods of time.
  • The main display form is set in the Main Report field, while the additional form is set in the Second Report field.
  • The duration of the periods for rotating the main and additional display forms is set in the Second Report Time field according with the specified format.

Example:

Fig. An example of the Use Scheduler parameter setting

Table 3 – General Settings Parameters.

Item No.

Parameter

Description

8

Refresh Screens (milliseconds)

  • Refresh time – should be preferably kept as it is

9

Refresh data (milliseconds)

  • Refresh time – should be preferably kept as it is

10

Time to delay command (seconds)

  • Delay time for performing the operation for changing the dish/order status. I.e. the operation can still be rejected within this time frame.

11

Localization

  • Localizing the operation confirmation window (starting from version 1.3.0.7)

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

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.