Menu and offer

Promotions, Omnibus and happy hours

The sale price in the menu, the lowest price in the 30 days before a reduction (Omnibus Directive) and happy hours – an automatic discount on chosen days and times.

Applies to WP InPlate 1.35.2 · Updated:

WP InPlate shows reductions in the menu the way the law requires: for every announced reduction the customer sees the lowest price from the 30 days before it. On top of that there are happy hours – a discount applied automatically on chosen days and at chosen times, without discount codes.

Product prices in WooCommerce don't change in the process. WP InPlate saves the price history and the happy hours rules in its own tables.

Free delivery from an amount, order discounts, 2+1 and free items are described in Promotions.

The sale price in the menu

You set the sale price as before: in the manager panel (Products → price) or in the WooCommerce product editor. In Settings → Sales → Products → Sale price you choose how to show it to the customer:

OptionWhat the customer sees
Show the sale price instead of the regular price (default)Only the current price, as before
Strike through the regular price and show the sale priceThe struck-through regular price next to the sale price

The setting applies to the list of products in the menu, the product window and related products (cross-sell).

The lowest price in 30 days (Omnibus)

Poland's act on informing about the prices of goods and services (implementing the Omnibus Directive, EU 2019/2161) requires that every announcement of a reduction states the lowest price from the 30 days before it was introduced. WP InPlate does this by itself:

  • In the product window – at the very bottom, under the add button: “Lowest price in the 30 days before the reduction: €15.00”. The line appears for every product on sale, in both price display modes.
  • On the menu card and in related products – a shorter line under the price, whenever the card shows a reduction: a struck-through price or happy hours.

The switch: Settings → System → Omnibus Directive → Show the lowest price of the last 30 days (on by default).

How WP InPlate knows past prices

WooCommerce stores only the current price, so WP InPlate keeps its own price history. It saves every price change – from the manager panel, from WooCommerce, from an import and from scheduled WooCommerce sales. Once a day it checks that no change was missed.

After the update to version 1.27.0, each product's history starts from its last save in WooCommerce: from that moment the price certainly hasn't changed. This way the lowest price is known from day one for most products.

When a reduction isn't shown

If WP InPlate doesn't know the lowest price from the last 30 days, it doesn't announce a reduction – the customer sees only the current price, without a strike-through and without the happy hours badge. The discount in the cart works normally. This applies to:

  • products that were already on sale in WooCommerce before the update (their history starts together with the reduction),
  • products added or changed during a running happy hours window – the badge appears from the next window.

After you turn off the Omnibus switch, the line with the lowest price disappears, and the strike-through follows the Sale price setting.

Happy hours

A discount on chosen categories or products that works by itself on the days and at the times you set – e.g. −20% on burgers Monday to Friday 15:00–17:00, at QR tables only.

You turn the feature on in Settings → Sales → Happy hours → Enable the Happy hours feature (off by default). A restaurant that doesn't use happy hours doesn't see it anywhere. Once it is on and the settings are saved, you set the rules in two places, with the same options:

  • in the manager panel in the KDS: the Happy hours tab,
  • in the WordPress dashboard: InPlate → Happy hours.

The Happy hours on switch in the panel turns all rules on and off at once, for day-to-day use. Turning the feature off in the settings hides the tab and the page and stops the discounts – the rules stay saved and come back when you turn it on again.

A happy hours rule

FieldDescription
Name for customersShown next to the products and in the order summary, e.g. “Happy Hours”
Days of the weekThe days the rule works on
HoursFrom–to. A window past midnight (e.g. 22:00–02:00) belongs to the day it starts on
DiscountA percentage or an amount off the product's price
Categories, ProductsWhat the rule covers. A category also covers its subcategories
Sales channelsQR table, Dine-in, Pickup, Delivery. You can tick a channel that is off in the schedule or has no active QR tables in advance – the discount works once the channel starts taking orders
Valid dates (optional)Dates from–to. Empty fields = no limit
Options → Include add-ons in the discountA percentage discount also covers the extra charges for the dish's add-ons. Off by default: add-ons stay at full price
Options → Apply to products on saleHappy hours also works on products on sale in WooCommerce, calculating the discount from the sale price. Off by default
Options → Combine with discount codesThe discount combines with the customer's discount codes, also with “individual use only” codes. On by default
ActiveTurns the rule off without deleting it

What counts is the time the order is placed, not the pickup or delivery time. An order placed at 11:00 for 16:00 during happy hours 10:00–12:00 gets the discount.

How the discount is applied

  • The discount is applied by itself in the cart, as an item with the rule's name. The customer can't remove it or enter it as a code.
  • It covers the dish's add-ons and products on sale in WooCommerce only if you turn this on in the rule's Options. For a product on sale, the customer sees the struck-through regular price, and the discount is calculated from the sale price.
  • Discount codes: with Combine with discount codes on, the discounts add up. With it off, whatever is in the cart first wins: if the customer already has a code, the rule isn't applied on top of it; if the rule applies, a code can't be added (the customer sees a message). The product window tells the customer that the discount doesn't combine with codes.
  • When two rules cover a product, the one with the lower price applies – the discounts don't add up.
  • The order minimum and the delivery zone's minimum are counted after the discount.

What customers see

  • A bar above the menu: “Happy Hours until 17:00 – selected products discounted”, with a countdown in the last 15 minutes.
  • On the card and in the product window: the badge “Happy Hours −20% | until 17:00”, under it the methods the discount applies to (e.g. “Applies to: Dine-in, Delivery”), the price after the discount and the line with the lowest price in 30 days.
  • In the order summary: a separate row with the rule's name and the discount amount.

Menu prices change by themselves at the window's start and end time, without refreshing the page.

Sales channels in the menu

  • A rule for QR tables only shows only in the menu for ordering at a table.
  • In the regular online menu the customer hasn't chosen the fulfillment method yet. That's why the menu shows only rules that cover all enabled online methods. A rule for e.g. pickup only appears in the order summary when the customer chooses pickup.

Happy hours ending while the customer orders

What counts is the moment the order is placed. If the window ends before the customer clicks Order and pay, the order isn't quietly placed at a different price: the customer sees the message “Happy hours have just ended. Check the new total and place the order again.” and the new total. Once the order is placed, the price no longer changes, also with a later online payment.

Happy hours in the order

  • The WooCommerce order has a regular discount line – it shows in the order screen, in emails and on invoices.
  • The KDS and the label show the rule's name. The order keeps a copy of the rule from the moment it was placed, so a later change or deletion of the rule doesn't change it.
  • In the order editor in the WordPress dashboard the discount has a code like happy-hours-12.
  • WooCommerce Analytics coupon reports may not include happy hours discounts – they are visible in the orders and their totals.

Happy hours and Omnibus

Prices from earlier happy hours windows count toward the lowest price in 30 days – on every channel, also when the rule covered e.g. QR tables only. For a product on sale in WooCommerce, the sale price from that period counts too. With daily happy hours the line therefore usually shows yesterday's happy hours price, e.g. “Lowest price in the 30 days before the reduction: €16.00” next to a current price of €16.00. This is less impressive, but it complies with the law. Only windows from periods when happy hours were running count – with the feature on and the switch in the panel on.