What does State mean?

###What is a State?

State is a general SambaPOS feature that defines operational properties of things. SambaPOS have three different types of states.

  • Entity State
  • Ticket State
  • Order State

###Updating States

We change state of things by using these actions.

  • Update Entity State
  • Update Ticket State
  • Update Order State

There is no need to define states somewhere. State changing actions accepts any values. If you define states under Management > Settings > States you’ll be able to define colors, report appearance and rules will fill parameter combo boxes with configured states for easier usage.

###Default States

On first installation we crate some states by default.

  • Entity States (Tables, Customers)
    • State Name : Status
      • New Orders
      • Available
      • Bill Requested
  • Ticket States
    • State Name : Status
      • New
      • New Orders
      • Unpaid
      • Locked
      • Paid
  • Order States
    • State Name : Status
      • New
      • Submitted
    • State Name : GStatus
      • Gift
      • Void

Entity States

On default configuration creating a ticket changes entity’s Status state to New Orders. That behavior configured with Update New Order Entity Color Rule. Since default entity screens displays Status state of entities, changing Status state of an entity to New Orders changes color of entity buttons to Orange. That color configured at Settings > States > New Orders State.

Entity state changing rules changes both table and customer entity states. So “All Tables” and “Customer Tickets” screens displays same entity colors.

Ticket States

As soon as we create new ticket it’s “Status” state becomes New. Adding first order changes state to New Orders. Closing ticket updates state to Unpaid. Clicking “Print Bill” updates ticket state to Locked and finally settling a ticket updates state to Paid. All these behavior controlled by Rules such as “New Ticket Creating Rule”, “New Order Adding Rule”, “Ticket Payment Check Rule” or “Print Bill Rule”. You can change whole workflow for your needs.

Changing ticket’s state updates command buttons availability or visibility. For example you can’t click Print Bill button if ticket state is “New” or “Locked”. That configured by related Automation Command’s Enabled and Visible states.

###Order States

Orders have two different states.

  1. Status. Can be New or Submitted. New order’s Status state is New. “New Order Adding Rule” updates this. Closing a ticket prints all new orders to kitchen printer and updates their status to Submitted. “Ticket Closing Rule” does this.
  2. GStatus. Can be Gift or Void. Again there are specific rules here. For example you can’t gift a voided order. Gift and Void automation command mapping defines that behavior. Also Clicking Void button updates order’s state to New so it prints to kitchen printer again.

###Entity Screens

All Tables Screen

Table screen displays Table entities. As configured with Display State setting, it displays Status state of tables. Since these states configured to display Orange, Maroon and White colors, this screen displays buttons as:

  • White if Table’s Status state is Available
  • Orange if Table’s Status state is New Orders
  • Maroon if Table’s Status state is Bill Requested

State filter setting left empty because we need to display all states here.

Customer Tickets Screen

We display customers that have open tickets here. So this screen displays entities where Status state is New Orders only. We configured it by updating State Filter setting. Since New Orders state is a sub value of Status state there is no need to update Display State. If you use same state values for different states you can change Display State setting.

Visit Simple Reservation Example sample to learn how to add additional states for tables and how to display that state on entity screens.


So what is the purpose of “locked” ticket state? I noticed that I have to “unlock” it first before I can reprint the ticket. I’m guessing this is to do with security concern?

Also, Let’s say I submitted table T_02’s order. Then, T_02 ordered something else later. Should I add order to existing ticket, or should I “add ticket” on the same table? what’s the advantage of doing so?

thanks in advance

1 Like
  1. Locked state have two purposes. It updates table color to maroon so waiters will know table requested bill and about to leave. Second purpose is disabling multiple prints. If you disable unlock feature for a waiter he won’t be able to get multiple prints of a bill. Multiple prints may lead to fraud in some venues.

  2. For additional orders (some people calls it captain orders) it will be better to continue using same ticket. Creating multiple tickets to a table have some uses but most common use is tracking bills by seat (customer). In some venues people who don’t know each other may sit on same table.


Totally didn’t think of that. Hats off for your thoughtfulness :open_mouth: .

Thanks for clarifying that :).