Change Ticket State only if Bar and Kitchen Orders Served?

Dificult to show you a rule at the moment…or more precisely a good example…

There is a report ticket orders qty expression, use that with order state filter/constraint to count orders of particular state.

Hello @JTRTech can you show me an example please how to write that?

from what you have told me no. Lol

:sweat_smile: both :stuck_out_tongue: how to use the report ticket orders qty exp. and how to write down it in the constrain

This is my food drink split from ticket template, uses value rather than qty but same result for your purpose.
I have a coding state for another part of system and fopd/drink sllit calculated using these states.

If you really wanted quantity pretty sure its just QUANTITY instead of TOTAL and obviously loose the FF wrap since its not a money value.

what are the meanings of ODI and NewBook GLA? and OS?
atm moment im not so familiar with the reports but im learning :smiley: i will be go much better…

Order Decrease Inventory - ie not void
OS is order state. I have Order State of NewBook GLA for my other intergration setup

but ODI i dont need right?
sorry but i dont know how to write that right…

From what you have said something like;

{TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=NewOrder)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=Preparation)} == 0

This should be true if there are no orders on the ticket in either NewOrder or Preperation states

ok only for understanding what has it to do with ODI ? it has to do with VOID?

I would include because your not going to mark a voided order and in preparation or ready so would break the flow if included.
Default void process marks orders as ODI false.
Its for inventory but is a hady factor to key to to exclude voided items from a report/expression.

ok if i put that in the action constrain rule then the action fires only if there is KStatus=Served?

no it fires if there are no orders with those 2 states…
There is a difference.
Whether than means all orders are in served state depends on your flow.
You said there was a ready state so there could be orders with ready or served states or no state

ah ok and if i have two diferent Order States KitchenState=KStatus and BarState=BStatus ?

{TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=NewOrder)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=Preparation)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.BStatus=NewOrder)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.BStatus=Preparation)} == 0

like this?

You can create as complexer constraints as you like with &&/AND and ||/OR as well as use brackets.
Its simple logic processing.
(x==y && a==b) || (x==y && a==c)

or more like this???

Hello @JTRTech this is the rule where it change the ticket state when order state is “ready” i put this in the action constrain:
{TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=KNichtGesendet)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=KSenden)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.KStatus=KGesendet)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.BStatus=BNichtGesendet)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.BStatus=BSenden)} == 0 && {TICKET ORDER QUANTITY EXP:(ODI=True) AND (OS.BStatus=BGesendet)} == 0

Thats an “Orderstate Updatet” Rule but its not working atm. hmmm maybe because there is no value to test it :smiley:

Are you using a kitchen display? If you are, can you give the link to the kitchen display that you used to create the kitchen display?