Next Inventory 6.1.0: App Manager, dark mode, and more Joomla 6.1 "Nyota" Is Here Building the Future of Joomla Extensions
NextSoftware
Next Restaurant — Documentation

Online Ordering

The storefront ordering page lets guests order from your own site — pickup, delivery or dine-in — without a marketplace taking a commission or owning the customer.

The page is a Joomla menu item of type Next Restaurant → Order. It is server-rendered and enhanced with a React island, so the menu is in the HTML for search engines while the cart and checkout behave like an application.


The ordering flow

1. Browse

The guest sees your live menu, grouped by category, with images, descriptions, prices and allergen tags. Items that are unpublished, outside their availability window, or 86'd do not appear — availability is resolved server-side, so nothing that cannot be made is ever offered.

2. Configure

Selecting an item opens its options. Modifier groups render according to their rules: a required single-choice group must be answered before the item can be added; a multi-select group stops at its maximum. Price deltas update the running line total as choices are made.

3. Cart

The cart holds lines with their chosen modifiers and quantities. Totals break down into subtotal, any discount, delivery fee where applicable, service charge and tax, using the location's configured rates.

4. Order type

Type What it needs
Pickup A collection time
Delivery An address that falls inside a configured delivery zone — the zone sets the fee, the minimum order value and the available windows
Dine-in A table, where you are taking dine-in orders through the storefront rather than QR codes

An address outside every zone is refused at this step with an explanation, rather than accepted and cancelled later.

5. Coupons

A coupon code entered at checkout is validated server-side against its rules — validity dates, usage limits, minimum spend — and applied to the total. See Customers & Loyalty.

6. Checkout and payment

The guest supplies contact details, then pays with whichever providers you have enabled. Card providers hand off to their own hosted checkout and return the guest to a confirmation page; the settlement is confirmed by webhook so it completes even if the guest never comes back. See Payments.

The storefront ordering page with the category menu, item grid and the cart panel showing totals


What happens after the order is placed

The order becomes the same record every other channel produces. In sequence:

  1. It appears in Orders in the admin, tagged with the online channel.
  2. Its lines are routed to kitchen stations by your routing rules and appear on the KDS board.
  3. If the items have recipes, their ingredients are depleted from stock at the ordering location.
  4. The payment lands in the transactions ledger.
  5. It counts towards the sales summary, top items, payment breakdown and channel mix reports.

There is no separate "online orders" silo to reconcile at the end of the day.


Order confirmation and status

Guests receive an order confirmation, and can follow the order's status from the confirmation page — accepted, in the kitchen, ready, out for delivery, completed. Where a guest has an account, past orders are available in the customer account area (the App menu item type).


Configuring the ordering page

Most of the behaviour comes from settings you have already made elsewhere:

Behaviour Where it's configured
Which items are offered Menu — publish state, availability windows, 86
Prices, tax and service charge Locations and Settings → Currency
Delivery fees, minimums and zones Delivery
Payment options at checkout Payment Gateways
Look and layout of the page Storefront
Whether guests may cancel Order Corrections

Turning it off

Online ordering belongs to the orders module. Switching orders off under Apps disables it — along with KDS, POS, delivery and corrections, which all depend on it. If you want the menu published but no online ordering at all, leave the module on and simply don't create the Order menu item; the menu showcase works on its own.


See also

  • QR Ordering — the same flow, bound to a table
  • Menu — what the ordering page renders
  • Delivery — zones, fees and dispatch
  • Payments — how checkout settles

All Extensions