atace
All posts

Time-Based Pricing for Restaurants: Happy Hour Done Right

How to set up time-based pricing for restaurants: rule-driven happy hour instead of manual discounts, picking the right items, and measuring real profit.

6 min read

Why time-based pricing is on the table

Time-based pricing for restaurants — automatically discounting selected categories during selected hours — is a tool most operators know about and few set up properly. Happy hour is its best-known form, but the point is not making drinks cheap for a couple of hours. The point is managing a restaurant's most expensive and most perishable asset: capacity. A slow mid-afternoon hour cannot be made up by selling twice as much at dinner; the empty table from that hour stays unsold forever. Shifting demand from peak hours into dead hours is the most direct way to shrink that loss.

Hotels and airlines have run this logic for decades. Restaurants lag behind not for lack of will but for lack of tooling: with a printed menu, changing prices by the hour is practically impossible. You either print two menus or key the discount in by hand at the register — and both paths cause the problems this article is about.

The three weak points of a hand-run happy hour

Most restaurants run happy hour like this: the waiters know the hours, and a percentage discount gets keyed in when the check closes. That arrangement has three structural weaknesses:

  1. Inconsistency. Remembering and applying the discount depends on people. One waiter applies it, another forgets; two guests see two different prices for the same item. A promotion that ends at 7 p.m. quietly "stretches" to 7:40 on a busy night.
  2. No audit trail. Every discount keyed in manually at the register is an open door. A markdown given to a friend under the label "happy hour" and the genuine promotion are indistinguishable in the end-of-day report.
  3. Invisibility. If the discount only appears when the check closes, the guest browsing the menu never sees it. A promotion that was supposed to shift demand cannot create any, because nobody sees the price — the discount becomes a gift to guests who were coming anyway.

The right setup: define a rule, let the system apply it

For time-based pricing to work, the discount has to be taken away from people and attached to a rule. In a well-built system it works like this: the manager defines a rule by time window and category — say, "25% off hot drinks, weekdays 2–5 p.m." While the rule is active, the discounted price applies automatically both on the menu and on the check; when the window closes, prices revert on their own. Nobody has to remember anything, and nobody touches the register.

This setup has two technical preconditions. The first is a digital menu: when guests read the menu on their own phones, a price change reaches every table the same second — the printed menu's "outdated card left on the table" problem disappears at the root. The flexibility we described in what QR ordering brings to restaurants turns into hard cash the moment prices start moving by the hour. The second is server-side pricing: the total is computed from the system's own records and whichever rules are active at that moment, never from data sent by the guest's device. The discounted price cannot be manipulated, and an order placed a minute after the window closes is charged at the normal price.

App-Rest's price rules and happy hour module is built on exactly this logic: discount rules are defined by time window and category, and while a rule is active the price applies automatically on the menu and the check. Manual comps and discounts run through a separate channel — only authorised roles can grant them, and every one lands in the audit log with who did what and when. The promotion and the personal favour never blur together.

Which items belong in a timed promotion?

Time-based pricing does not pay off equally on every item. A good candidate has three properties:

  • High margin. Drinks, desserts and snacks still leave profit at 25% off; the same discount on a thin-margin main course can put you underwater.
  • Fast preparation. The kitchen must absorb the extra off-peak demand without strain; on slow-prep items, a promotion mostly just exhausts the line.
  • Pull for attach sales. The guest who comes in for the discounted coffee and orders a full-price dessert is the real win. Judge the discounted item by the basket it pulls in, not on its own.

This is where category-level rules earn their keep: being able to say "hot drinks and desserts, 2–5 p.m." instead of "20% off everything" is the detail that protects the promotion's profitability.

Is the promotion working? Decide on numbers, not gut feel

The riskiest version of time-based pricing is the promotion launched because "everyone does it" and left running unmeasured for years. The question to measure is plain: how much did revenue and order count in the promotion window rise compared with the same window before the promotion — and does that lift cover the discount you gave away? When every closed check is stored with line detail and its discount breakdown, that comparison takes minutes. We covered which numbers deserve a routine look in our restaurant metrics guide; for an operator running timed promotions, revenue broken down by time slot moves to the top of that list.

The second layer of measurement is cannibalisation: is the promotion creating new demand, or just moving guests who would have come at peak into the cheap window? To see it, watch peak-hour revenue alongside the promotion window's lift. If both rise together, the promotion is generating genuine demand.

Three common mistakes

  • Leaving the promotion on forever. A discount that never ends gets encoded as the real price, and the normal price starts to feel like a hike. Define the rule with hard limits by hour and day.
  • Ignoring the stock and recipe link. More demand for the discounted item means more ingredient consumption. In a recipe-aware system, stock is deducted automatically and a depleted item shows as sold out on the menu — the promotion doesn't end with a guest ordering something the kitchen ran out of an hour ago.
  • Not briefing the team. Even with prices changing automatically, waiters need to know the promotion exists so they can suggest it. System automation does not replace telling your staff.

Not a discount — capacity management

Think of time-based pricing not as a discount campaign but as capacity management: the goal is not cutting prices, it is converting the dead hour's unsold table into revenue. The precondition is moving the discount out of people's memory into a rule, showing it on the menu the instant it starts, and leaving a trace on every check.

If you are tired of running happy hour by hand, App-Rest's price rules module lets you define the promotion by hour and category and leave the rest to the system. Get in touch to talk through a trial with your own menu.