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

@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

I’ve fixed the screen shot. Thank you!

@emre when you plan to release second part of the tutorial :slight_smile: i’m new to SambaPOS and i love it… i applied all steps above and everything is working except I’m trying to modify small thing, my flow is:

1- customer orders
2- customer pays
3- customer seated
4- customer order prepared and served

so whenever customer pays the tickets in the kitchen or bar display disappear, and if you have anything prepared and moved to waiter display if ticket is paid it will stuck there.

i’m looking to keep these orders displayed even after the customer pays and they removed manually by clicking order ready or order served.

Appreciate you help and have a great day :wink:

1 Like

@Jesse appreciate your help too bro…

I cant get my Bar Order Ready button to work, I have followed the four steps perfectly and no spelling mistake on the Automation commands section. The button is there but nothing happens when you press it.

Helo @emre i have a problem with the waiter screen. Sometimes the Orders will not be disapear. And my knowledge about SambaPos its not the best… Have you a solution for me…?

I have the same workflow, but unfortunately not a solution.
As a first step, you can change the Kitchen Display Ticket Widget setting for State to be Paid instead of Unpaid. That way, orders will not appear in the kitchen until they are paid for, and they will remain on the kitchen display after the ticket is settled.
The problem for me is that my Kitchen Order Ready button does not make the ticket disappear from the kitchen display.

@tabbseafoodllc paid tickets are closed so it does not allow further modification. There are ways to repoen and modify state so if you are familiar with state feature searching for “repoen closed ticket” action might help. However I remember some people solved that by adding a time based filter so it displays tickets for 30-60 minutes after paid. It might be easier to implement but I don’t remember how we did that lol. @pizzaeilat4 do you remember something about that implementation?

1 Like

This is a simple fix. Your rule that handles the button needs to have the Reopen closed Ticket action added directly after the Load Ticket action. A paid ticket can not be modified unless it is reopened first.


Yes. @Jesse Is right you must reopen ticket before you can change it’s order stat.

Also notice that if you set ticket lister to display a paid tickets you must put a expression to limit display to the time you need or sambapos will try to load all tickets since day one.

On my case I’ve set it to display tickets for today and yesterday only.

1 Like