Korat
POS systems

A buffet till that counts the clock and the children for you

A buffet is charged by head and by clock, not by what was ordered. A POS that adds up lines on a bill cannot price one at all, so shops end up faking it in the discount box until the sales report stops meaning anything.

So this system prices people first. A table holds one buffet package, with adults and children counted separately, and with its own start time and end time. The bill is built from those numbers. Anything ordered adds to it only if the shop has said that item should. The guest's half of the same table — scanning the QR, watching the bill build, splitting it at the end — is on the restaurant page. It is free to use, with no monthly fee.

Packages: price per head, time, and last orders

A shop can run several packages at once and order them itself, cheapest first or however it likes. Each package carries a full set of its own values: the price per head, the minutes allowed per session, and the last order cutoff — how many minutes before the end the kitchen stops accepting orders. The database enforces that the cutoff falls inside the session, so a table can never open in a state where nothing can be ordered at all.

The "90 minutes" on the sign outside is a promise to the guest, so the timer belongs in the system where both sides can see the same number, not in a waiter's memory to be argued about at the till. The table stores its start, its end, its order cutoff and the minutes the shop has granted as an extension, each as a separate value — so extending a table's time is an auditable number rather than a recollection of that shift.

Child pricing is a ladder, not a single box

Buffets almost always price children differently, and in practice not at one rate but as a ladder: free below this, half above it, full price above that. So a package holds several child tiers, each a range that the database forbids from overlapping any other, and the shop chooses whether the ladder is measured by age or by height — one or the other for the whole package.

  • Height tiers can be declared in centimetres or inches; the stored value is always millimetres, so changing the displayed unit never shifts a price.
  • A tier's price is set either as an amount per child or as a percentage of that package's adult price.
  • A tier can cap how many children get that rate, with a defined rule for what happens beyond the cap.
  • The bill names every tier it applied, so a guest can see why two children were charged differently instead of seeing only a total.

Leftover charges in three units, on the bill

Charging for uneaten food is a normal condition of a Thai buffet. With nowhere to record it, shops type it into the notes field and the printed total stops matching the money collected. Here it belongs to the package and can be set in three units: once for the whole table, per person, or per 100 grams — so a shop that weighs leftovers at the counter enters the weight and lets the system price it.

There is no connection to a digital scale. The per-100-grams unit exists and prices correctly, but the weight is typed in by hand; nothing is read from the scale automatically. The full list of what this system answers no to is on which POS software is best.

Most systems can only mark a dish as in the buffet or out of it. Real buffets need three. Each item here carries one of: included (order it, no charge) · surcharge (order it, add the amount set) · a la carte only (a buffet table cannot order it at all — the bottle of spirits, whose age rules are per country and re-checked on every order, or the celebration dessert set).

If a shop runs several packages that include different food, it can tick the items belonging to each package separately. Once ticked, anything not on that package's list cannot be ordered under it. A package that has never been ticked keeps using the item's own role, so a shop that does not want this level of detail does not have to do anything.

Self-service or ordered from a screen

Buffets come in three shapes: everything ordered from a screen, an entirely self-served line, and a mix where the line is self-served but drinks are still ordered. A package picks one of the three. The only rule the system actually enforces is that when the style is not screen-ordered, included items cannot be ordered — surcharge items still can. Every existing shop defaults to screen-ordered, so nothing moves until somebody chooses to change it.

Running a buffet does not stop at the till

Buffets lose money in the back of house, not at the counter. The console carries the tiles that follow on from the till: ingredient and goods stock · purchasing and payables · menu cost and margin · menu availability driven by ingredients, which closes a dish when its ingredients run out · shift checklists · rosters and hours · and table reservations — all in the same business console, not a second program. They are the same stock and purchasing tiles a grocery lives on.

And because eating in counts as a real transaction, only guests the database can prove ate there may review the restaurant. The star average is recomputed by a trigger from the real rows; it is not a number anyone types in.

Frequently asked questions

Can I set several child price bands?

Yes. Child pricing is several tiers per package, each a range that may not overlap another, measured either by age or by height — one measure for the whole package.

Each tier's price is either an amount per child or a percentage of that package's adult price, and the bill names every tier it applied.

Can the guest see the buffet timer too?

Yes. The start, the end and the order cutoff are stored on the table itself, and the guest's QR view and the staff screen read the same values. There is no second version to argue with.

Can I charge for leftover food?

Yes. It is a value on the package, in one of three units: once for the table, per person, or per 100 grams. It lands on the real bill rather than in a notes field.

The weight itself is typed in — the system does not read a digital scale.

We are fully self-service with nothing to order. Does that work?

Yes. A package can be set to fully self-served. The rule the system enforces is that included items cannot then be ordered, while surcharge items such as drinks can still be sent to the bar.

Can I stop buffet tables from ordering certain dishes?

Yes. Mark the dish a la carte only and a buffet table cannot order it at all. It is what the bottle of spirits and the celebration set are for.

Set up your first buffet package

Create a restaurant in the console, then open the buffet packages tile and the child pricing tiers next to it.