To set automated store hours on Shopify, install OrderRules (free) and configure per-day open/close times in the dashboard. Checkout enables automatically at opening time and disables at closing — Shopify Functions enforce the schedule server-side, so Shop Pay, Apple Pay, and direct checkout URLs are all covered. Multiple time windows per day, overnight hours, timezone-aware enforcement, and a 1-click holiday calendar are all included on the free Starter plan.

Shopify is built for always-open digital commerce. There's no built-in concept of "we're closed until tomorrow at 7 AM" — the platform treats your store as 24/7 by default. For a restaurant, bakery, meal prep service, or any business with real operating hours, that default is wrong. This guide covers the three approaches to managing store hours on Shopify (display only, enforcement, and both), and walks through the step-by-step setup with OrderRules.
Why Manage Store Hours on Shopify?
Most physical businesses don't operate 24/7, but their Shopify checkout does by default. That mismatch causes real operational problems:
- Restaurants: A 3 AM takeout order arrives when the kitchen is closed. Either you refund (negative review) or fulfill late (food quality complaint).
- Bakeries: A custom cake ordered Sunday night for Monday morning pickup — except you're closed Mondays and the customer didn't know.
- Meal prep services: Orders pile in over the weekend that can't be packed until Tuesday's prep day.
- Local retail with click-and-collect: Customers schedule pickup for hours your store is closed.
- B2B / wholesale: Trade accounts placing orders outside your AR team's business hours, creating processing backlogs.
The fix is automating store hours so checkout matches your real operating reality.
Use Cases by Business Type
| Business type | Common hour pattern | What to enforce |
|---|---|---|
| Bakery / Cafe | M-Sat 7 AM-6 PM, closed Sun | Daily hours + holiday calendar |
| Restaurant / Takeaway | Shift-based: 11-2 lunch, 5-9 dinner | Multiple windows per day |
| Meal prep service | Mon-Wed only for next week's orders | Weekly ordering window |
| Catering / Events | Business hours for inquiries; pre-order for events | Business hours + per-day caps |
| Local retail | Store hours match physical store | Daily hours, timezone-aware |
| Coffee roaster | Order daily, ships Wed | Order window Sun-Tue |
| Solo maker / artisan | "By appointment" — limited daily | Daily hours + daily order caps |
The Three Approaches to Store Hours on Shopify
There are three categories of "store hours" solutions, and they're not interchangeable.
Option 1: Display Hours Only (widget apps)
Apps in this category — Opening Hours, Store Hours (GoodApps), Common Ninja, Closing Time Manager — show your business hours on the storefront as a widget. They're useful for:
- Informational display ("we're open M-F 9-5")
- Storefront aesthetics
- Google Maps sync (some apps)
They cannot:
- Stop a customer from placing an order at 2 AM
- Prevent checkout outside hours
- Bypass-proof against Shop Pay or direct checkout URLs
Pick a display-only app if you genuinely don't mind customers ordering outside hours and just want a hours widget on the page.
Option 2: Enforce Hours at Checkout (OrderRules, We Are Open)
These apps use Shopify's Checkout Validation API (Shopify Functions) to actually block orders outside business hours. The enforcement runs server-side inside Shopify's checkout engine, so it covers:
- Standard checkout
- Shop Pay
- Apple Pay / Google Pay
- Direct checkout URLs (the customer-shared link)
- Headless storefronts
Pick an enforcement app if you have any operational reason to NOT accept orders outside hours — capacity, perishability, staffing, fulfillment SLAs.
Option 3: Display AND Enforce (Best Practice)
The right setup combines both: hours visible on the storefront so customers know when to come back, AND enforced at checkout so the few who try anyway are blocked. OrderRules does this in one app — the storefront message variables let you display hours dynamically, and Shopify Functions enforce them at checkout. We covered the underlying technology in Shopify Checkout Validation: How to Block Invalid Orders.
Pick the combined approach if you want the cleanest customer experience — informed customers + bypass-proof enforcement.
For a deeper dive into the display-vs-enforcement split across the market, see Display vs Enforcement: Why Showing Store Hours Isn't Enough.
Real-world example: Kalkut's Convenience Store (Doncaster, UK) uses this exact setup for its 500+ SKU Shopify store — 8:30am–8:30pm trading hours enforced via Shopify Functions across the web storefront, iOS app, and Android app, covering alcohol, fresh food, and multi-vendor goods. The wider operational picture for retail shops moving online is in Shopify for convenience stores.
Setting Up Business Hours with OrderRules — Step by Step
Configuring store hours in OrderRules takes about 3 minutes for a basic schedule. Here's the walkthrough.
Step 1: Install OrderRules
Install OrderRules from the Shopify App Store. Store hours and the holiday calendar are included on the free Starter plan — you don't need to upgrade for basic scheduling.
Step 2: Set your store timezone
Go to Settings in OrderRules and select your store's timezone (e.g., America/Los_Angeles, Europe/London). This is the single most important setup step. The wrong timezone is the #1 cause of orders going through outside hours — your enforcement clock will be off by however many hours the timezones differ.
Step 3: Configure daily open and close times
In the Schedule section, for each day of the week, set:
- Whether the store is open that day at all (toggle off for closed days like Sunday for a bakery)
- Open time (24-hour or 12-hour format)
- Close time
For shift-based businesses, add multiple windows per day. Restaurants often configure:
- Monday-Friday: 11 AM-2 PM (lunch), 5 PM-9 PM (dinner)
- Saturday: 11 AM-10 PM (continuous)
- Sunday: closed
Step 4: Handle overnight hours (if applicable)
If your hours span midnight (e.g., 9 PM-2 AM for a late-night kitchen), OrderRules handles these natively. Some competitor apps have a known bug where overnight windows don't work — OPH (Addify) specifically. With OrderRules, just enter the start and end times as you'd say them aloud and the timezone math is handled.
Step 5: Add holiday and custom closures
In the Calendar section:
- Click Import Holidays to add all US, Canadian, or UK national holidays in one click
- Add custom closure dates for vacations, special events, or temporary maintenance
- Configure a custom message for each closure (or use the default)
Your store automatically closes on those dates and reopens the next business day. See Shopify Holiday Calendar: Auto-Close Your Store for more on this.
Step 6: Customize the closed message
In Settings → Messages, write the text customers see at checkout when the store is closed. Effective messages:
- Tell customers when to come back ("Open tomorrow at 7 AM")
- Match your brand voice
- Optionally include a CTA (newsletter signup, social media link)
Example: "We're closed until tomorrow at 7 AM Pacific. Sign up for our newsletter to get a heads-up when new drops go live."
Step 7: Test with a draft order
Create a draft order in Shopify admin during a closed window and try to check out. You should see the OrderRules block message. This confirms:
- The function is wired up correctly
- Server-side enforcement is active (not just cart-level)
- Shop Pay, Apple Pay, and direct checkout URLs are all covered
For a live working example, the OrderRules demo store has business hours configured on the meal prep collection — try ordering outside the configured window to see enforcement in action.
Common Issues and How to Avoid Them
A few patterns we see when merchants set up store hours:
Wrong timezone
The most common mistake. Always verify the timezone in OrderRules matches your physical operating location, not Shopify's default UTC. Daylight saving time transitions are handled automatically.
Overnight hours not working
If you've configured 9 PM-2 AM but it's accepting orders at 11 PM, you're probably on an app that doesn't handle overnight windows. OPH (Addify) has a documented bug here. OrderRules handles overnight windows correctly.
Display widget but no enforcement
Customers see the hours on the storefront and still get to checkout at 2 AM. You've installed a display-only app, not an enforcement app. Replace with OrderRules or We Are Open.
Shop Pay bypassing hours
If you're using cart-level JavaScript validation (some older apps and theme hacks), Shop Pay bypasses it. Server-side Shopify Functions enforcement is the only fix.
Forgetting to set holiday closures
Customers ordering on Thanksgiving when you're closed. The OrderRules 1-click holiday import takes 10 seconds and covers the full year of US/CA/UK holidays — there's no reason to skip it.
Hours match physical store but online customers are remote
If you're in Pacific time but customers are in Eastern time, your Pacific closing time of 6 PM is 9 PM Eastern. Customers may complain they can't order at "6 PM their time." Decide whether your hours represent your operations or your customer experience — both are valid choices, but be deliberate.
Combining Store Hours with Other OrderRules Features
Store hours alone is the right setup for some stores. For others, layering more rules creates the full capacity-control system.
- Store hours + daily order caps: For bakeries and restaurants — open from 7 AM but stop accepting orders once you hit 50 for the day. See How to Limit Daily Orders on Shopify.
- Store hours + holiday calendar: For seasonal businesses — automated holiday closures with no manual intervention. See Shopify Holiday Calendar: Auto-Close Your Store.
- Store hours + per-customer limits: For drops and limited releases — open at a specific time AND limit each customer to 1-2 units. See Per-Customer Order Limits on Shopify.
- Store hours + MOQ: For B2B wholesalers — open during business hours AND enforce case-pack minimums. See How to Set Minimum Order Quantity on Shopify.
How OrderRules Compares to Other Store Hours Apps
| App | Pricing | Enforces at checkout | Free plan | Also covers order limits |
|---|---|---|---|---|
| OrderRules | Free–$9.99/mo | Yes | Yes | Yes |
| We Are Open | $9.99/mo | Yes | No | No |
| Opening Hours (Daniel) | Free + $1.99–$4.99 | No (display only) | Yes | No |
| Store Hours (GoodApps) | $4.99/mo | No (display only) | No | No |
| Common Ninja Opening Hours | Free + $4.99 | No (display only) | Yes | No |
| OPH (Addify) | Free | Partial (cart-level, bypassable) | Yes | No |
| Closing Time Manager | Free | No (display only) | Yes | No |
Full comparison on the Shopify store hours app guide. For the underlying enforcement-vs-display explainer, see Display vs Enforcement: Why Showing Store Hours Isn't Enough.
Next Steps
If you run a business with real operating hours and your Shopify checkout doesn't respect them, store hours enforcement is the highest-leverage rule you can add. It takes 3 minutes to set up and prevents the entire category of "we got an order while we were closed" problems.
Install OrderRules from the Shopify App Store to set up automated store hours in under 5 minutes — free on the Starter plan, no credit card required.
For broader context on the store hours app market, see the best Shopify store hours apps guide. For order limit features beyond scheduling, see the order limit app comparison hub.