This chapter describes what customers see and do. It helps you prepare the texts for your website and answer your guests' questions.
1. Menu and cart
- The customer browses the menu, clicks a dish and chooses add-ons. The price in the dish window includes the extra charges.
- For a dish in several sizes the customer first chooses the size – the price, weight and add-on prices change with it. See Sizes and variants.
- The “+” button on the card adds the dish straight away. If the dish has required add-ons or several sizes, the button has an arrow instead of “+” and opens the dish window.
- The mandatory surcharge shows under the price on the card, e.g. “+ €2.00 · Packaging”.
- A dish with allergens has a Contains allergens note on the card – on hover or tap it shows the list. In the dish window the ingredients with the allergens in bold and the allergens are under the description. See Allergens.
- After adding a dish, a window with “goes well with” suggestions may appear (cross-sell).
- In the cart panel the customer changes quantities, removes items and changes add-ons or the size (Personalize).
- When you turn on the menu in several languages, a language switcher (e.g. PL · EN · UA) shows above the menu and in the order form, and a customer from abroad sees the menu in their browser's language straight away.
When ordering is closed (outside the hours or after the order deadline), the menu still shows, but dishes can't be added to the cart.
2. Fulfillment method
On the order page the customer chooses one of the enabled methods:
| Method | What the customer chooses |
|---|---|
| Pickup | The pickup time |
| Delivery | The address and delivery time (or a range, if you set a delivery window) |
| I'll eat here | The arrival time |
You can rename the methods, e.g. “Collect at the venue” instead of “Pickup” – see Schedule.
If you turn on the packaging fee, a line with the fee appears in the summary after the fulfillment method is chosen, e.g. “Packaging €1.00”, and the total includes it.
If the customer chose a fulfillment method earlier in the delivery checker, that choice is already selected.
A method unavailable today (e.g. the delivery window has passed) is marked as unavailable. When today's window has passed and ordering for the next day is on, the customer can choose a time for tomorrow.
3. Time
The list of times comes from the schedule: the fulfillment window, the interval between times and the preparation time. Times you switched off at peak hours are greyed out, marked “unavailable”, and can't be chosen. The earliest time is now plus the preparation time, rounded up to the nearest time in the list.
Example: an order at 12:07, a preparation time of 30 minutes, times every 15 minutes → 12:45 at the earliest.
4. Delivery address
The customer enters the city, street, house number and optionally the flat number, and then clicks Check address. WP InPlate:
- finds the address on the map (OpenStreetMap),
- rejects house numbers that don't exist at that address,
- checks which delivery zone the address is in,
- shows the delivery fee and the minimum order value for that zone and, when the zone has free delivery from an amount, the threshold too. The order summary then shows how much is missing for free delivery and, from the threshold, the fee struck through and “Free”.
An address outside the zones: the customer gets a message and can choose pickup.
Saved addresses
A signed-in customer sees their saved addresses as cards – they choose an address with one click, without typing it or searching the map. The default address is selected straight away (or the one the customer chose a moment earlier in the “How are you ordering?” window).
- An address card shows its zone's fee and, with a threshold, the threshold too, e.g. “Delivery €20 · Free delivery from €199”.
- The zone is checked for every order – zones change. An address outside the zones is visible but can't be chosen; the card says why.
- + New address opens the usual form with two extras: Notes for the courier (e.g. “staircase B, intercom 12, 3rd floor”) and Save this address for next time with a name for the address (e.g. Home, Work). The address is saved after the order is placed.
- The notes for the courier go to the start of the order note (“For the courier: …”), so the kitchen sees them in the KDS, the courier in the app and they appear on the label.
- An account can save up to 10 addresses. Editing, deleting and choosing the default are in My account → Delivery addresses (the Manage addresses link under the cards).
A guest has no cards – the browser remembers only the last address from the “How are you ordering?” window, as before.
5. Minimum order value
If the cart is below the minimum, the customer sees how much is missing, e.g. “The minimum order value for delivery is €40.00. You are €7.50 short.” They can add a dish or – if the zone allows it – pay the missing amount on top of the delivery cost (“Pay €7.50 surcharge and order”). Before placing the order, the customer confirms the total delivery cost.
A minimum for pickup, eating in and QR tables works only if you turn it on – see Settings.
6. Contact details
| Field | Notes |
|---|---|
| Full name | Required |
| Required for guests. A signed-in customer uses the email from their account | |
| Phone | Needed by the courier and the staff |
| I need a VAT invoice | When ticked: the company name and VAT number. The address on the invoice is the billing address from the customer's account (My account → Addresses); a guest, or an account without such an address, enters the company address – street and number, postcode and city. A VAT number saved in My account → Addresses (billing address) fills in by itself |
| Order note | E.g. “wing C, room 114, no onion”. The whole kitchen sees it |
Addresses on the order: the billing address is the address from the customer's account, and for an invoice without such an address – the company address entered in the form. The delivery address always goes to the order's shipping address; the KDS, the courier app and the label use it. The form doesn't save anything to the addresses on the account.
Customer account
An order can always be placed without an account – on every channel, also when the Guest checkout: Enable guest checkout option is off in WooCommerce. An account only helps; it is never required.
Whether the form offers signing in and creating an account depends on the settings in Sales panel → Settings → Accounts & Privacy:
| WooCommerce setting | What the customer sees in the form |
|---|---|
| Account creation: During checkout | Sign in or create an account – signing in and creating an account |
| Log-in: Enable log-in during checkout | Log in – existing accounts only |
| Both off (WooCommerce default) | No sign-in – the customer orders as a guest |
Signing in with a code from email
The order form has no passwords. The customer:
- enters their email and clicks Send code,
- gets a “Your sign-in code” email with a 6-digit code – valid for 10 minutes and working only once,
- enters the code and is signed in.
If the address doesn't have an account yet, the account is created at that moment. When you set consents for account creation, the customer ticks them first – see Customer accounts.
- A new code can be sent after 60 seconds, at most 5 codes per hour for one address. After 5 wrong attempts the code stops working.
- The form always answers the same way – it doesn't reveal whether an address has an account.
- Only customers sign in with a code. Administrators, managers, KDS staff and couriers sign in with the standard WordPress sign-in – codes are never sent to them.
- Customers who have a password can still use it to sign in to WooCommerce My account.
- The code comes by email, so your store must send email. You can check this with the Send me a test code button in the settings.
After the order, the account fills in empty details – full name, phone, company and VAT number – and a new address goes to the saved addresses. Next time the form fills in by itself. Details already saved on the account and WooCommerce addresses (billing, shipping) aren't overwritten. A signed-in customer sees their name and Log out. Logging out refreshes the page, and WooCommerce then empties the cart. For an order with the QR code at a table, the form doesn't show sign-in.
Consents
Consents you set for every order show in the form in the Consents section – also to guests. They are unticked; without ticking a required consent the order can't be placed. In My account → Consents the customer sees the consents they gave and can withdraw them or give optional ones.
7. Discount code
The customer enters a code in the Discount code field on the order page. The codes are standard WooCommerce coupons (Marketing → Coupons). The discount shows in the summary, in the KDS and on the label.
8. Payment
The customer chooses a payment method available for the chosen fulfillment method, e.g. “Pay at the counter” for pickup or an online payment through a gateway. See Payments.
Before the payment, the server checks everything once more: the hours (including whether the chosen time is still available), closing days, the zone and the address, the minimum, the availability of dishes and the validity of add-ons. Prices are calculated by the server, not the browser.
9. Confirmation
After placing the order the customer sees a thank-you page: the order number, the fulfillment method and time (with the date, if it isn't today) and the items. They also get an order confirmation email from WooCommerce.
Further messages come when the status changes:
- Ready for pickup – for pickup, when the kitchen marks the order as ready,
- On the way – for delivery, when the courier picks up the order,
- Completed or Cancelled – standard WooCommerce emails.
When ordering is closed
Outside the order-taking hours the form shows the message “Sorry, ordering for today has ended.” with the time you accept orders again, and a button back to the menu.