Setup Courses - different serving areas on same order.. with entity screens

Hi @emre
because I am having to learn - I am not aware of all of the features that are available and what the best method is for certain setups. I try searching for topics to help but often fail to find topics to help.

The different areas that I have eg. Kitchen , Bar , Counter don’t have printers just screens with ‘Ticket Listers’ I will play with print jobs and mappings to see if I can set this up in that way.

If an order contains different product groups - using print mappings if I mark for example the ‘bar’ items as ready - will this then clear the order from the other areas too ?



No print mappings does not help kitchen display configuration. I thought submits the bar means bar printer but now I realized you have a screen there.

As I can remember you already have configured ticket listers to display certain product groups. So why you still need to split them to separate tickets?

if I create an order on the same ticket with items for bar, kitchen and counter - when either of the departments marks items as ‘ready’ clears the order completely from all ticket listers. If I ‘add ticket’ for each department then this doesn’t clear the whole order. Then when the customer requests the bill we merge the tickets.

Is there another way that I should be doing this so that when 1 department clicks order ready this doesn’t clear the order for all departments?

I have been trying to get this to work for a long time without success - only by using ‘add ticket’ can I get this to work so any help would be great. thanks Emre

OK I’ll try to demonstrate a solution shortly.

Brilliant! Thank you @emre

Hello @windinghouse. Can you check attached sdf file to let me know if such solution will solve your issue? Since I’m not familiar with your exact workflow I did it from what I’ve understood from your posts. I’ve included three screens for kitchen, bar and waiter. You can map them to specific departments, user accounts or even terminals to display appropriate screens to users. (132.2 KB)

@emre I am using sql express - can I import the sdf file using ‘database tools’

No don’t touch your production data. I sent it just to get your idea. Copy this sdf to a test computer under [My Documents]\SambaPOS4 and type the file name to connection string.

Please don’t forget to save your current connection string somewhere to be able to restore your connection.


@emre as we are not live yet I am still working on production - however would it be possible to have the kdisplay as .txt so that I can import ( I am happy to backing up and restoring my prod data back once ive looked at your sample) I don’t have any spare machines at the moment to test with so .txt would be great - sorry to mess you about

@emre I managed to set this up - and it is perfect, just what I need! Brilliant.

I just need to figure out how it is working and then implement it into my setup :smile:

You are a genius! thank you for showing me the possibilities!

I hope I can work it out

@emre I need a little more help, whne you have time.

As stated above this is perfect for what I need. I have tried exporting the ‘automation commands’ ‘Rules’ ‘actions’ ‘states’ and ‘entity screens’ and importing into my setup

made changes to the ‘Update Kitchen Order Display State Rule’ so it includes the groups I wish to display. and the same for bar.

All this works fine - when I add products to an order they show as New, kitchen or New, Bar and they show in the correct entity screens. However when I click on ‘Kitchen Order Ready’ or ‘Bar Order Ready’ nothing happens.

I know I must be missing something simple - but I have been looking for hours and still cant fix this!!!

I have also tried to find a way to export my products so that I can import them into the test system to then create a new production system … but I can’t fine a way to do this other than from SQL Server Management - and I am not very knowledgeable with SQL

If there is an easy way to import the kdisplay into my current system that would be fantastic.

Many Thanks for your time as ever!


@windinghouse I’ll release a step by step implementation shortly.

I know running a restaurant business is hard and people needs quick solutions to solve issues. However this is a very basic implementation and as you run it you’ll want changes to automate things better. I believe understanding these SambaPOS features will give you enough powers to apply your awesome ideas to your business so even it takes hours to prepare such tutorials I’ll prefer doing that.

1 Like

Thank you so much @emre I appreciate all of your help and also appreciate that you must have 1000’s of other things you are working on. I’m sorry that I keep taking up your time but am truly very grateful.

Thank you as always

@emre I have just cleared everything - exported from your kdisplay and re-imported into my system and everything is working!!!
Sorry for being a pest :slight_smile:

and once again - thanks for your help

In this tutorial I’ll show you how to prepare a Kitchen & Bar display to notify staff for new orders.

We’ll start by creating action to update orders’ display state.

We want to update beverage orders display state as Bar. We’ll create Order Added to Ticket rule to handle this.

Hint: Create a default mapping for all rules that we’ll create on this tutorial. For simplicity I’ll skip that step for remaining rules.

So when we add an order to ticket it’s display state becomes Bar if it is a beverage.

Now we’ll update non-beverage orders’ display state as Kitchen. I’ll create another rule.

Don’t forget adding default mapping…

If order’s state is not a beverage we’ll update it as Kitchen.
Let’s create a ticket to test how it works.

We should see BAR under beverages and Kitchen under other orders. If it does not work please check your rules and mappings.

Now we’ll create a custom entity screen to display Bar orders.

I’ve named it as Bar Display and set View Mode as Custom. We won’t create tickets through this screens but I have to set a Ticket Type and and an Entity Type to be able to save it.

As always don’t forget to add mapping…

After saving it switch to POS and you should see Bar Display on top navigation.

Enable design mode on this screen.

… add a Ticket Lister Widget

Drag it multiple times until it reaches bottom right corner of the window.

Resize it with top left handle until it reaches to the top left corner of the window.

Right click on widget and click Settings menu item.

Update Order State as Bar and type desired Format. You can change format as how you want to display tickets.

[<T>Table - {ENTITY NAME:Table}]

This ticket lister lists a ticket if it contains orders marked as Bar and it will display only Bar items.

Bar staff will see Bar Orders on this screen. We’ll create a Order Ready button so bar staff can remove bar items from this list.

We’ll create an Automation Command for that.

We can assign this Automation Command to Ticket Lister widget. Edit Bar Screen and edit settings to set Automation Command.

It displays a button under widget.

Now we’ll handle this button with Automation Command Executed Rule. But before creating this rule we’ll create an action to be able to load a ticket and change it.

This action loads a ticket with given ID.

… and this action updates Ticket’s Service state. When order’s ready we’ll also update Ticket’s Service state.

Now we can setup Automation Command handling rule.

We’ll call Load Ticket, Update Bar Orders’ state as Ready and close ticket. Next screenshot will show action parameters.

We can test what will happen when we click on Bar Order Ready

It should disappear from list. Open ticket to check if states updates correctly.

  • Ticket’s Service State became Ready
  • Kitchen orders states remains Kitchen
  • Bar orders states updated to Ready

Next step will be creating a Waiter Screen so staff can track Ready to Serve orders.

I’ll create a clone of Bar Display Entity Screen.

Rename it to Waiter Screen. Switch to POS > Waiter Screen and edit Ticket Lister properties.

I’ve changed State to Ready and Order State to Ready. Also while I’m editing this screen I’ve renamed command button to Orders Served. We don’t have this command yet so we’ll configure it on next step. After saving this screen please check if Ticket displays properly.

Waiter can see Ready to Serve orders.

We need Orders Served command.

For simplicity I’ll clone KD_Bar Orders ready button rule and change it as follows.

… and configure actions as follows.

This action will clear orders’ Display State and also ticket’s Service State.

We can test how waiter screen works. Clicking Orders Ready button should remove ticket from screen and ticket should be updated as follows.

  • Ticket’s Service State cleared.
  • Kitchen orders’ display state still remains as Kitchen
  • Bar orders’ display state cleared.

Finally we can clone Bar Display to create Kitchen Display

I’ll edit Kitchen Display widget settings to display Kitchen orders.

As we can see on the screenshot I’ve changed widget to display Kitchen Orders. I’ve also changed command to Kitchen Order Ready.

Now we’ll create this command.

… and I’ll clone KD_Bar Orders ready button rule to create same rule for Kitchen Orders.

I also need to change Display State action parameter to Kitchen.

It should display Kitchen orders and clicking Order Ready button should remove item from display.

Now Waiter Screen should display this ticket and clicking Served button should remove it from list.

On next part of this tutorial to show how to display notifications on table screen to notify staff about ready orders.


Well … OK. I’ve prepared first part of the tutorial. If needed I can prepare second part… Thanks.

This is brilliant @emre and is great for reference thank you for your hard work… I’m so happy with your software and can’t wait to go live… We will post photos on Fb of our setup. Sambapos is by far the best software I have come across… So much functionality and customisation is excelllant… I hope that your hard work and dedication pays dividends in the long term… I cannot recommend you and sambapos enough!

Thank you


@emre Why did you include Ticket’s Service State ? I’m a bit confused about why you included it?

He is using 2 screens… 1 for waiters 1 for kitchen. Waiters screen reads the Tickets service state so when Kitchen Presses Ready the waiters screen will now show the ticket instead of Kitchen screen. When the Waiter presses Served it will change the state again so that it clears it from waiters screen typically it will either clear the state or make it something that does not show up on the screens but can still be read for other functions like payments and reports.

States are such a GREAT way to define flows. You can execute and mimic EXTREMELY advanced algorithms using States opening up all sorts of great possibilities and integrations.


This tutorial screen is not correct. It is the same as the one below. Thanks