WPSlash

How to Set Up Scheduled Ordering and Store Hours for Your WooCommerce Restaurant Website (2025)

Thursday April 23, 2026

Why Scheduled Ordering and Store Hours Matter for Online Restaurants

Picture this: it’s 2 AM and a customer places an order for a pepperoni pizza through your website. Your kitchen won’t open for another seven hours. By the time your staff sees the order, the customer has already called twice, left a negative review, and disputed the charge. This scenario plays out at restaurants every single day — and it’s entirely preventable.

When you run a restaurant website without automated scheduling, you’re essentially leaving your digital storefront unlocked 24/7 with no one behind the counter. Orders pile up during off-hours, staff waste time processing refunds for orders they can’t fulfill, and customers lose trust in your operation. According to the National Restaurant Association, off-premise dining now accounts for a significant and growing share of restaurant revenue, which means the stakes for getting your online ordering right have never been higher.

Automated store hours and scheduled ordering solve these problems at the root. Instead of manually toggling your site on and off (and inevitably forgetting), the system handles it. Orders only come in when your kitchen can actually prepare them. Customers can plan ahead by scheduling future pickups or deliveries. And your team gets a predictable, manageable flow of work instead of chaotic surprises.

If you’ve already set up a WooCommerce restaurant ordering system, adding proper scheduling is the natural next step. It transforms your site from a basic menu with a checkout button into a professional operation that rivals platforms like DoorDash or Uber Eats — without the 30% commission fees.

How to Configure WooCommerce Store Open/Close Hours (Step by Step)

WooCommerce doesn’t include built-in store hours functionality out of the box. It’s designed as a general ecommerce platform, so you’ll need either a dedicated restaurant plugin or an add-on to handle time-based ordering restrictions. Here are the three main approaches, ranked by effectiveness for restaurant use.

Option 1: Using FoodMaster’s Built-In Scheduling (Recommended)

FoodMaster (formerly WooFood) includes native store hours scheduling that’s purpose-built for restaurants. Here’s how to set it up:

  1. Navigate to WooCommerce → FoodMaster Settings in your WordPress dashboard.
  2. Find the Store Hours / Scheduling section.
  3. For each day of the week, set your opening and closing times. You can define multiple time blocks per day — useful if you close between lunch and dinner service (e.g., 11:00 AM–2:00 PM and 5:00 PM–10:00 PM).
  4. Enable the option to block checkout outside operating hours. This prevents the cart from processing when you’re closed.
  5. Optionally, set a custom message that displays to visitors during closed hours, such as “We’re currently closed. You can browse our menu and place an order for our next available time slot.”

The advantage of this approach is that scheduling lives inside the same plugin that manages your menu, delivery zones, and order types. There’s no conflict between separate plugins trying to control the same checkout process.

Option 2: Using a Standalone Business Hours Plugin

If you’re running a more basic WooCommerce setup, plugins like “WooCommerce Opening Hours” or “Business Hours Indicator” can add scheduling. These typically work by hooking into WooCommerce’s checkout process and disabling the “Place Order” button outside your defined hours. The downside is that they aren’t restaurant-aware — they don’t understand concepts like prep time, delivery windows, or order types.

Option 3: Custom Code Approach

For developers comfortable with PHP, you can add a function to your theme’s functions.php file or a site-specific plugin that checks the current server time against your defined hours and conditionally removes the checkout action. This works but requires maintenance every time your hours change and doesn’t provide a user-friendly admin interface.

[IMAGE: WordPress admin panel showing FoodMaster store hours configuration with multiple time blocks set for each day of the week, including a split schedule for lunch and dinner service]

Critical Configuration Details

Whichever method you choose, pay attention to these details:

  • Timezone settings: Go to Settings → General in WordPress and confirm your timezone matches your restaurant’s physical location. A mismatch here will throw off every scheduling feature on your site.
  • Server time vs. local time: Some hosting providers run servers in UTC. Make sure your scheduling plugin uses WordPress’s timezone setting, not raw server time.
  • Cache conflicts: If you use a page caching plugin (WP Super Cache, W3 Total Cache, etc.), the open/closed status might get cached and display incorrectly. Exclude your checkout and cart pages from caching, or use AJAX-based status checks.

How to Enable Pre-Order and Future Scheduling So Customers Can Order Ahead

Blocking orders when you’re closed is only half the equation. The real power comes from letting customers schedule orders for future time slots. A customer browsing your menu at 11 PM should be able to place an order for noon the next day. This captures revenue you’d otherwise lose.

Setting Up Delivery and Pickup Time Slot Selection

FoodMaster provides a date and time picker that appears during checkout, allowing customers to select when they want their order. To configure it:

  1. In FoodMaster Settings, enable the Order Scheduling / Time Slots feature.
  2. Define your available time slots — for example, every 15 or 30 minutes during operating hours. A typical setup might offer slots like 12:00 PM, 12:30 PM, 1:00 PM, and so on.
  3. Set a minimum lead time. This is the buffer between when an order is placed and the earliest available slot. If your kitchen needs 30 minutes to prepare a typical order, set the lead time to 30 or 45 minutes. This prevents someone from ordering at 12:15 and selecting a 12:20 pickup.
  4. Define how far in advance customers can order. Allowing orders up to 7 days ahead is common. Going beyond that can create inventory planning headaches.

Limiting Orders Per Time Slot

This is where many restaurant owners make a costly mistake: they enable scheduling without capping how many orders each slot can accept. On a busy Friday night, you might get 40 orders all requesting the 7:00 PM slot, overwhelming your kitchen and creating a cascade of late deliveries.

Set a maximum orders per slot based on your kitchen’s actual throughput. If your team can comfortably handle 8 orders every 30 minutes, cap each slot at 8. When a slot fills up, it automatically becomes unavailable and customers see the next open window. This keeps your kitchen running smoothly and your delivery times accurate.

Differentiating Between Delivery and Pickup Slots

Pickup orders are typically faster to fulfill than delivery orders since there’s no driver transit time involved. Consider offering separate slot configurations: tighter intervals for pickup (every 15 minutes) and wider intervals for delivery (every 30 minutes). FoodMaster supports different scheduling for each order type, which gives you this flexibility without needing additional plugins.

Setting Up Holiday Closures, Special Hours, and Temporary Pauses

Regular weekly hours are the foundation, but real restaurant life is messier. You need to handle Thanksgiving closures, shortened Christmas Eve hours, private event buyouts, unexpected kitchen equipment failures, and seasonal schedule shifts.

Creating Exception Dates

Most scheduling systems, including FoodMaster, let you define exception dates that override your regular weekly schedule. Here’s a practical approach:

  • Full-day closures: Add dates like December 25, January 1, or any day you’re completely closed. The system treats these as non-operating days — no orders accepted, no time slots available.
  • Modified hours: For days like New Year’s Eve where you might close early (say 8 PM instead of 11 PM), create an exception that overrides just that day’s closing time while keeping the opening time the same.
  • Extended hours: Super Bowl Sunday, Valentine’s Day, or local events might warrant staying open later. Add these as exceptions with later closing times.

Temporary Pauses for Emergencies

When your oven breaks down at 6 PM on a Saturday, you need to stop orders immediately — not after the next 15 orders come in. Look for a quick pause toggle in your plugin settings. FoodMaster includes this as a one-click option in the WordPress admin bar, so a manager can pause ordering from any admin page without digging through settings menus.

When you activate a pause, display a clear frontend message: “We’re temporarily unable to accept orders. Please check back shortly.” Avoid vague messages that leave customers guessing. If you know when you’ll reopen, say so: “We’ll be back accepting orders at 7:30 PM.”

Communicating Schedule Changes

Don’t rely solely on your ordering system to communicate closures. Supplement with:

  • A site-wide banner at the top of your pages announcing holiday hours at least a week in advance.
  • An updated Google Business Profile with special hours (this also helps your local SEO).
  • Social media posts and email notifications to your regular customers.

How to Display a Live Open/Closed Status Badge on Your Restaurant Website

A visitor landing on your restaurant site shouldn’t have to guess whether you’re currently accepting orders. A dynamic status indicator eliminates confusion and reduces bounce rates — people won’t leave your site in frustration if they immediately see “Open Now” or “Closed — Order for Tomorrow.”

[IMAGE: Restaurant website homepage header showing a green “We’re Open — Order Now” badge next to the restaurant logo, with operating hours displayed below]

Widget and Plugin-Based Approaches

Several WordPress widgets can display your current status based on your defined business hours. If you’re using FoodMaster, the plugin can output open/closed status dynamically based on the same schedule you’ve already configured — no duplicate setup needed. This status can appear in your header, sidebar, or as a floating element.

Lightweight Code Snippet Method

For developers who want full control, you can create a simple shortcode that checks the current time against your operating hours and outputs an appropriate badge. Place this shortcode in your header template or use a widget to position it. The key is using WordPress’s current_time() function (which respects your timezone settings) rather than PHP’s raw date() function.

Style the badge with CSS: a green background with “We’re Open” during operating hours, switching to an amber or red background with “Currently Closed” outside hours. If you’ve enabled future scheduling, add a call-to-action on the closed badge: “Order for Later →” linking directly to your menu page.

Why This Matters for Conversions

Think about the customer journey. Someone searches “pizza delivery near me,” lands on your site, and sees no indication of whether you’re open. They might browse the menu, add items to the cart, reach checkout, and then discover you’re closed. That’s a terrible experience. A status badge at the top of the page sets expectations immediately and, when you’re open, creates urgency that drives faster ordering decisions.

Best Practices: Combining Scheduled Ordering With Delivery Zones, Notifications, and Kitchen Workflow

Scheduled ordering doesn’t exist in isolation. It’s one piece of a larger operational system, and getting the most out of it means integrating it thoughtfully with your other tools.

Coordinate Scheduling With Delivery Zones

If you offer delivery, your time slots should account for delivery distance. A customer 2 miles away can realistically receive their order in 30 minutes, but someone at the edge of your 8-mile delivery radius might need 50 minutes. FoodMaster’s delivery zone management works alongside its scheduling features, so you can factor distance into your time slot calculations rather than treating all deliveries identically.

Automate Order Notifications Based on Schedule

When a customer places a scheduled order for tomorrow at noon, your kitchen doesn’t need an alert at 2 AM when the order is placed. Configure your notification system to send kitchen alerts at an appropriate time — for example, 30 minutes before the scheduled fulfillment time. This keeps your notification channels clean and actionable.

Use Your Kitchen Display System Effectively

If you’re using a kitchen display system (KDS), scheduled orders should appear in the queue at the right time, sorted by their fulfillment deadline — not by when they were placed. FoodMaster’s KDS feature handles this automatically, showing your kitchen staff what needs to go out next regardless of when the order was originally submitted.

Analyze and Optimize Your Time Slots

After running scheduled ordering for a few weeks, dig into your order data. Look for patterns:

  • Which slots fill up first? These are your peak windows. Consider adding kitchen staff during these periods or slightly increasing prices for premium time slots.
  • Which slots go unused? You might be offering too many options. Consolidating underused slots simplifies the customer experience.
  • What’s your average prep-to-delivery time? If orders consistently take longer than your minimum lead time suggests, increase the buffer.
  • Are certain days consistently overbooked? Lower your per-slot cap on those days, or extend your operating hours to spread demand.

Avoid Over-Scheduling

It’s tempting to accept as many orders as possible, but restaurant quality degrades fast when the kitchen is overwhelmed. A good rule of thumb: set your maximum orders per slot at about 75-80% of your theoretical kitchen capacity. This leaves room for walk-in orders, order modifications, and the inevitable hiccups that happen in any kitchen.

Test Your Setup as a Customer

Before going live, walk through the entire ordering process yourself — during open hours, during closed hours, and for a scheduled future order. Check that the time picker shows correct slots, that filled slots disappear, that your closed message displays properly, and that order confirmation emails include the scheduled time. Small bugs in scheduling erode customer trust faster than almost anything else.

Getting store hours and scheduled ordering right isn’t glamorous work, but it’s the operational backbone that separates amateur restaurant websites from professional ones. With the right configuration — especially using a purpose-built tool like FoodMaster that handles scheduling, delivery zones, kitchen displays, and order management in one integrated system — you’ll reduce refunds, smooth out your kitchen workflow, and give customers the kind of reliable ordering experience that keeps them coming back.

Leave a Comment

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