What are all the Enabled State and Visible State options when mapping Automation Commands?

It can be any state you want it to be. If you have it mapped to order line then it can be any of your order states… if you map it to ticket then it can be any ticket state. Or you can put specific group code like Status=New or PStatus=Cash

If you put GStatus= it will check all states of GStatus for example

Its not restricted to just states you define in Setting/States it will work with any states defined in rules but not entered in Settings as well.

We have full control over states. what they are, when they are changed… EVERYTHING so there are no hidden states. Just try out some thats in Settings/states then look through your rules for any states not defined in settings… you can use any of those states.

1 Like

What i want to do is have some buttons removed from one state, is that possible or can we only lists the states we want the buttons visible?

For example i want the following buttons visible all the time

except when my ticket status = Refund then i just want the following “process refund” button to show and the payment buttons to vanish

I can do this if i just set the mapping on the payment buttons enabled and visible states to New and New Orders, however when logging into the POS the buttons dont show until an item is added to the ticket.

So I either need to know what the state is when you first log into the POS and the ticket is empty/nothing has been added yet so i can add this state or a way to just stop these buttons showing on my refund state?

EDIT: ive also tried setting ticket type to refund but that doesnt have any effect

You can use states to hide buttons yes.

i need to know what states to type in so that the buttons show everywhere apart from refund state

The states are located in Settings/States as well as any rule that has Update Entity State, Update Ticket State, or Update Order State action in them. You will find states there as well.

I am not giving you a direct answer because before you start doing this you need to understand states… or you will break your system. PLus your states may be different than mine.

I don’t think * is the same as “All” or “Any”.

I have seen:

New Orders,Unpaid,IsClosed
New,New Orders,Unpaid,Locked,IsClosed
and even blank:
(i.e. (blank) … the State is empty/cleared/undefined)

This came from a short discussion regarding the Close Button, here…

When dealing with states I am pretty sure * does not mean all states. Also just because you have a State check in there… does not mean the action is accessible. Open ticket with no entity for example will not close. This is driven by states as well…

YOu should really study states… its a good thing to understand them… it will open your eyes

Off topic a little but I have a little challenge I plan to work on and its deleting the entire setup and building one from scratch states and all. Just to see if I can do a 100% custom SambaPOS configuration.

1 Like

There is also a Tutorial by @emre here:

Basically this is what i want to do, ive changed my payment button mappings to “New, New Orders”

and my process refund button as “Refund”

This gives the following results:

For “New, New Orders”

For “Refund” states

The two above screen shots are how i want them to appear, however as i have set the payment buttons to only show on “New, New Orders” when you log into the POS the screen looks like this until an item is added to the ticket:

So what is that state called when the POS has been opened but nothing has been entered onto the ticket yet? when the mapping is set as * or blank all the buttons show, but then they also show when i dont want them to on my refund mapping state

I basically want to add another state to “New, New Orders” so that the buttons show when entering the POS screen, if this is possible to be set as its own mapping state??

To do this you would type Status=Refund for your payment processed Rule… for your buttons you want hidden you type Status=New,Status=New Orders

This is ok… you have nothing to pay for yet anyway… but if you want them to show here as well you need to move Refund to a new State Type… instead of Status use RStatus then you can just put Status= for your payment buttons and RStatus=for your refund button.

thatd be good to see!! Good Luck :slight_smile:

ah so i just need to add the Status= bit in front of New and New Orders ill try that now

NONO Not what I was saying read entire post.

Really you should read about States thoroughly its hard to understand until you have read it over and over and trial and error to see how they interact.

Remember a State is always “OF something” so New is a State of Status… New Orders is a State of Status Void is a State of GStatus If your defining them to change colors or show on reports… Status, GStatus etc is the Group Code… If your just using rules to define them then its listed as State Name.

So you do not want to go and start changing states of current group codes without knowing how it might affect the rest of your flow… study your rules and state flow… make sure you understand how its working then you can manipulate it.

sorry seen the rest of your post now lol, ill have a go at that thanks :slight_smile:

Thanks for your help, ive sorted it i didnt add the group code to my refund state so now when using Status= its all working

Thank again :slight_smile:

1 Like

Was there ever a verdict as to what enabled/visible states mapping of * actually meant.
Just found myself stuck in a paid/closed ticket opened via the ticket lister with my close ticket button was set * for both it seemed to be visible but disabled…
After trying many combinations found black seemed for both left my logout button available in all situations…
Not sure what the default close button mapping is as have removed its mapping for my own LOGOUT button, but were they blank for the default close button?

My installations are showing Blank for Enabled and * for Visible.

1 Like

I have added a button to the POS screen that I only want visible when a Customer has been selected on the ticket.

Can I just add something to the mapping for visible state, and if so, what?


You can update a specific ticket state when a customer selected and map button to that state. For example you can update ticket’s CustomerStatus to Customer Selected state and set button’s visible state as Customer Selected. You can name them as you need.

You’ll notice states giving a lot of flexibility so you can update a specific state when an entity selected, removed, a drink added, bill printed, discount made and update related command buttons accordingly.