WPSlash

How to Add a Multi-Location Restaurant Setup in WooCommerce (Menus, Delivery Zones & Reporting)

Tuesday July 7, 2026

Running one restaurant on WordPress is straightforward. Running five, ten, or fifty branches on the same site is a completely different beast. Menus diverge, delivery zones overlap, one branch runs out of ribeye while another is slammed on a Friday night, and someone in head office still needs a clean revenue report by Monday morning.

If you’re expanding from a single location or migrating a franchise onto WooCommerce, the decisions you make in the first week will shape your operations for years. This guide walks through the architecture, menu logic, delivery zones, staff permissions, and reporting stack that actually holds up when you scale past two or three branches.

Why Multi-Location Restaurants Need a Different WordPress Setup

A single-location restaurant site is essentially one menu, one kitchen, one delivery radius, one bank account. You can bolt WooCommerce onto almost any theme, install a food ordering plugin, and be live in a weekend.

Multi-location changes every one of those assumptions. Each branch typically needs:

  • Its own menu (with items the other branches may not sell)
  • Different prices — a burger in central London is not priced the same as one in Leeds
  • Independent delivery zones, minimum order values, and prep times
  • Its own opening hours, holiday closures, and rush-hour pauses
  • Separate staff logins that can only see their branch’s orders
  • Order notifications routed to the correct kitchen printer or KDS
  • Sometimes: separate payouts, separate tax rates, and separate receipts

On top of that, the head office wants consolidated reporting — total revenue, best-sellers per branch, average order value by city — without logging into ten different dashboards.

There are essentially two philosophies for handling this on WordPress. The first is one site with a location switcher, where a customer picks their branch and the catalog, delivery rules, and checkout adapt. The second is WordPress Multisite, where each branch is technically its own site under one network. Both work; they suit very different operations.

Choosing the Right Architecture: Single Site vs. Multisite vs. Separate Installs

Before you install a single plugin, pick your architecture. Migrating between them later is painful.

Option 1: Single Site with Location Switcher

<a href="https://www.wpslash.com/how-to-manage-multiple-restaurant-locations-from-one-wordpress-website-with-woocommerce-2025/" title="How to Manage Multiple Restaurant Locations From One WordPress Website With WooCommerce (2026)”>One WordPress install, one WooCommerce database, one theme. Customers land on the homepage, pick a location (or get auto-detected by postcode), and the menu, pricing, and delivery options adapt.

Best for: 2–20 locations that share most of their menu and branding, and a single ownership group.

Pros: Cheapest hosting, one plugin license stack, unified customer accounts, easy cross-location reporting, single SEO domain that concentrates authority.

Cons: All branches share the same theme and checkout flow. If one branch wants a radically different look, you’ll hack it with conditional CSS.

Option 2: WordPress Multisite Network

One WordPress installation runs a network of sub-sites — for example london.yourbrand.com, manchester.yourbrand.com, or subfolders like yourbrand.com/london. Each sub-site has its own WooCommerce store, products, and settings.

Best for: Franchises where each branch is semi-independent, has its own manager, and may want brand flexibility. Also useful when local SEO for each city really matters.

Pros: True isolation of orders, staff, and menus. Each branch can have local landing pages optimized for “pizza delivery [city name]”. Franchisees feel ownership of their site.

Cons: Cross-site reporting requires extra tooling. Customer accounts don’t automatically sync between sub-sites. Plugin compatibility is spottier — not every WooCommerce plugin is Multisite-aware. Hosting must be beefier (managed WordPress hosts like Kinsta, WP Engine, or Cloudways handle Multisite, but the plans cost more).

Option 3: Separate WordPress Installs

Each branch gets its own domain and its own completely separate WordPress site.

Best for: Franchisees who legally operate independent businesses, different tax entities, or restaurants that share almost nothing except a logo.

Pros: Total independence. If one branch’s site goes down, others are untouched.

Cons: No shared anything. Ten sites means ten update cycles, ten plugin renewals, ten hosting bills. Reporting is fully manual unless you pipe everything into a third-party BI tool.

For most growing restaurant groups with 3–15 locations, the sweet spot is Option 1 with a purpose-built ordering plugin. It’s the fastest to launch, easiest to maintain, and cleanest for reporting. Jump to Multisite only when franchisees demand real autonomy.

[IMAGE: side-by-side comparison diagram of single site with location switcher versus WordPress Multisite architecture for restaurants]

Setting Up Location-Based Menus and Pricing in WooCommerce

Once your architecture is settled, the next hurdle is making sure customers only see what they can actually order from their chosen branch.

Vanilla WooCommerce doesn’t have a “location” concept out of the box. You have three practical routes:

1. Product Categories per Location

Create categories like Menu – London, Menu – Manchester, and assign products accordingly. Combine this with a location cookie that filters the shop archive to only show the matching category. It works, but it doubles up product entries when items overlap, and price changes become a chore.

2. Custom Taxonomy for Locations

A cleaner developer approach: register a custom taxonomy called restaurant_location, tag each product with the branches that sell it, and filter queries by the currently selected location. One product record, multiple branch tags. Price variations can be handled with WooCommerce’s variable products or a custom meta field per location.

3. A Dedicated Restaurant Ordering Plugin

This is where the DIY route stops making sense past two branches. A plugin like FoodMaster’s multi-location restaurant system is built around the reality that one product might be sold at three branches at three different prices, with different availability windows and different prep times.

With FoodMaster you can:

  • Define each branch as a location with its own address, phone, and manager
  • Assign products to specific locations with per-branch pricing
  • Toggle item availability per branch (mark “sold out” without removing the product)
  • Show a location picker as the first step in the ordering flow, so the customer commits to a branch before they see the menu
  • Automatically route the order to that branch’s kitchen printer or KDS

The location picker matters more than people think. If a customer builds a cart of items from a page that doesn’t know which branch it belongs to, you’ll spend the next six months issuing refunds because branch B doesn’t actually stock the truffle fries.

Practical Tip: Postcode Auto-Detection

Ask for a postcode on the landing page. Match it to the delivery radius of the nearest branch and auto-select it. If no branch covers that postcode, show pickup-only branches within a reasonable distance instead of a dead-end “sorry, we don’t deliver” message. This single UX change tends to lift conversion noticeably on multi-branch sites because customers never dead-end.

Configuring Delivery Zones, Pickup Points, and Opening Hours per Branch

Each branch is a mini-business with its own operational rules. Your setup has to reflect that.

Postcode-Based Delivery Zones

WooCommerce’s built-in shipping zones accept postcodes, but they’re global — one zone applies regardless of which branch fulfills the order. That falls apart the moment two branches’ delivery areas overlap.

You need per-location zones. In FoodMaster, each location has its own delivery zones defined by postcode, radius (in km or miles), or drawn polygon on a map. When a customer enters their address:

  1. The system checks which branches can deliver there
  2. If only one covers it, that branch is auto-selected
  3. If multiple cover it, the customer picks (or the nearest wins by default)
  4. Delivery fee, minimum order, and estimated time all pull from that branch’s config

Opening Hours and Real-Time Pauses

Every branch needs independent opening hours, including split shifts (lunch 12–3, dinner 6–11 is common). More importantly, managers need a pause button. When the kitchen is 40 tickets deep on a Friday, the manager should be able to hit “pause new orders for 20 minutes” without taking the whole site offline.

Look for a plugin that offers:

  • Weekly schedules per branch
  • Holiday overrides (Christmas Day closed, New Year’s Eve extended hours)
  • Temporary pause with automatic resume
  • Pre-orders for later in the day or next day, even when the branch is currently closed

Routing Orders to the Right Kitchen

Once an order is placed, it needs to reach the right people fast. A proper multi-location setup routes orders to:

  • The branch’s thermal printer via a cloud print bridge or a local print agent
  • A Kitchen Display System mounted in that kitchen
  • The branch manager’s phone via SMS or WhatsApp
  • An email to the branch inbox as backup

FoodMaster ships with automatic printing and a built-in KDS, and both are location-aware — a London order never appears on the Manchester screen. If you’re planning a KDS rollout, our tutorials section has step-by-step guides covering hardware choices and network setup you’ll want to bookmark.

[IMAGE: kitchen display system tablet mounted in a restaurant showing incoming orders with location tags]

Managing Staff Roles, Order Routing, and Payments Across Locations

The fastest way to lose control of a multi-branch site is giving every manager the WordPress “Shop Manager” role. That role sees every order across every branch, can edit any product, and can accidentally change global settings.

Branch-Scoped User Roles

Use a role editor (User Role Editor or Members are the two mature options) to create a Branch Manager role that:

  • Can view and edit only orders tagged with their location
  • Can toggle their branch’s opening hours and pause status
  • Can mark their branch’s products as sold out
  • Cannot access other branches, plugin settings, or user management

FoodMaster handles this scoping natively — assign a user to a location and the dashboard filters everything to that branch automatically.

Splitting Payments Between Locations

If each branch is its own legal entity or franchisee, one Stripe account for the whole site isn’t going to work. Two clean patterns:

  • Stripe Connect with a separate connected account per branch. The customer pays once, Stripe splits the funds to the correct branch minus a platform fee if you charge one. This is the franchise-standard approach.
  • Multiple gateway instances, where each branch has its own Stripe or PayPal keys, and the checkout uses the keys tied to the selected location.

Whichever you pick, test refunds thoroughly. Split-payment refunds are the number one place these setups break.

Tax, Receipts, and Compliance

Tax rates can differ by branch — different states in the US, different VAT registration status in the EU, or simply different local rates. WooCommerce supports tax classes and location-based rates, but you’ll need to make sure the tax is calculated based on the branch location, not just the customer’s shipping address, for eat-in and pickup orders.

Receipts should show the correct branch name, address, VAT number, and any legally required text. Don’t rely on a single global receipt template — configure per-location receipt headers and footers.

For a deeper look at PCI and data handling specifics, our compliance-focused articles cover what restaurant operators need to check off before going live.

Reporting, Analytics, and Scaling to 10+ Locations

Once you’re past three branches, “gut feel” reporting stops working. You need numbers, per location, refreshed daily.

Consolidated Dashboards

The head-office view should answer, at a glance:

  • Today’s revenue per branch and total
  • Orders per branch, average order value, and average prep time
  • Top 10 items per branch (and network-wide)
  • Delivery vs pickup vs dine-in split
  • Refund rate and cancellation rate per branch

WooCommerce Analytics gives you the raw numbers but doesn’t segment by custom location out of the box. Either use a plugin that adds a “location” dimension to reports (FoodMaster’s dashboard does this natively), or pipe orders into a lightweight BI tool like Metabase or Google Looker Studio connected to your WooCommerce database.

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Articles

Tutorials

How to Accept Apple Pay and Google Pay on Your WooCommerce Restaurant (Faster Checkout, Fewer Abandoned Orders)

Watch someone order dinner on their phone. They tap a burger, add fries, hit checkout — and then hesitate. If your form asks for a card number, expiry, CVV, billing address, and phone number, you’ve already lost about a third of them. Hungry people are impatient people, and typing a 16-digit card number with one […]
July 7, 2026
Tutorials

How to Secure Your WooCommerce Restaurant Website: WordPress Security Checklist for 2025

Running a restaurant website isn’t like running a blog. When your site goes down at 7 PM on a Friday, you’re not losing pageviews — you’re losing actual dinner orders, frustrated customers, and the trust you spent years building. And unfortunately, restaurant sites running WooCommerce have become a favorite playground for attackers in 2024 and […]
May 17, 2026
Tutorials

How to Set Up SMS and WhatsApp Order Notifications for Your WooCommerce Restaurant (2026)

Why SMS and WhatsApp Notifications Matter for Restaurant Orders A customer places an order on your <a href="https://www.wpslash.com/how-to-set-up-real-time-order-tracking-for-your-woocommerce-restaurant-website-2025-2/" title="How to Set Up Real-Time Order Tracking for Your <a href="https://www.wpslash.com/how-to-set-up-catering-and-large-group-orders-on-your-woocommerce-restaurant-website-2025/" title="How to Set Up Catering and Large Group Orders on Your WooCommerce Restaurant Website (2025)”>WooCommerce Restaurant Website (2025)”>restaurant website at 7:15 PM during the Friday rush. […]
May 3, 2026
×

🔥 ONE DAY ONLY OFFER 🔥

Upgrade FoodMaster Today

Normally your license is limited to 1 Website.

Today only, get a LIFETIME Unlimited Websites License for just:
$499

✔ Unlimited Client Websites
✔ Unlimited Personal Projects
✔ Future Updates Included
✔ Save Hundreds on Additional Licenses

Offer Ends In: