Case Study · UK Convenience

How Kalkut's Convenience Store Enforces 8:30am–8:30pm Trading Hours on Shopify

Kalkut's Convenience Store, a 500+ SKU Doncaster, UK shop selling alcohol, fresh food, and multi-vendor goods, uses OrderRules to block Shopify checkout outside 8:30am–8:30pm — eliminating after-hours orders, perishable spoilage, and UK alcohol-licensing exposure across iOS, Android, and web.

By Jahangir Alam · OrderRules·Updated May 2026
Kalkut's Premier convenience store logo

At a glance

Customer
Kalkut's Convenience Store
Location
Doncaster, South Yorkshire, UK
Industry
Convenience & grocery (multi-vendor)
Platform
Shopify (web + iOS + Android apps)
Catalog size
500+ SKUs across 25 categories
Trading hours
8:30am–8:30pm, 7 days/week
OrderRules features used
Weekly Schedule, custom closed message, timezone, multi-day rules
Headline outcome
0 after-hours orders since OrderRules went live

Why did Kalkut's need order-hours enforcement?

Kalkut's needed checkout blocked outside 8:30am–8:30pm because the shop is a physical convenience store, not a 24/7 e-commerce operation. With 500+ SKUs across alcohol, fresh food, and a multi-vendor local marketplace featuring Clarkes Butchers, Curry by Chris, Death by Fudge, and Officially Roasts, every order requires a staff member in the shop to pick, pack, and deliver locally around Doncaster.

Three operational pressures made hour enforcement essential rather than nice-to-have. First, UK alcohol-licensing exposure — the Licensing Act 2003 and the Sunday Trading Act constrain when alcohol can be sold, so any after-hours alcohol order is a compliance problem, not just a logistics one. Second, perishable spoilage — fresh meat from Clarkes Butchers, dairy, and produce cannot sit in a queue overnight waiting for the shop to open. Third, customer experience parity across surfaces — Kalkut's sells through the web storefront on kalkuts.co.uk and through dedicated iOS and Android apps, and the trading window has to apply equally on all three.

A storefront banner saying "we're currently closed" was not enough — Shop Pay, Apple Pay, Google Pay, and direct checkout URLs all bypass theme-level cart scripts. The block had to live at the checkout validation layer or it would not apply consistently. (Read the longer explainer in display vs enforcement on Shopify.)

How OrderRules solves it

OrderRules runs as a Shopify Function attached to Checkout Validation. Every order, on every surface, is validated server-side against the trading window before Shopify will accept payment. Here is the exact configuration powering Kalkut's — every feature used, with links to the underlying documentation.

OrderRules Weekly Schedule admin UI for Kalkut's Convenience Store — Europe/London timezone, Monday through Sunday set to 8:30 AM to 8:30 PM, custom closed message 'Sorry our deliveries are closed! Our opening times are 8:30am-8:30pm'

The OrderRules Weekly Schedule for Kalkut's — Europe/London timezone, Mon–Sun 8:30am–8:30pm, with the live closed-state message customers see at checkout.

Weekly Schedule (8:30am–8:30pm, seven days)

Per-day open/close times configured once in OrderRules, applied at checkout via Shopify Functions. Same configuration covers Monday–Sunday with the 'Closed all day' toggle reserved for bank holidays and emergency closures.

Read the store-hours setup guide

Europe/London timezone (DST-safe)

OrderRules stores the trading window in the store's selected timezone, so the British Summer Time / GMT transitions every March and October are handled automatically. No manual schedule changes needed.

Read about automated store hours

Custom closed-state message

Kalkut's shows the text "Sorry our deliveries are closed! Our opening times are 8:30am–8:30pm" inside the checkout block, so customers always see the exact trading window — not a generic "closed" string.

Read display vs enforcement

Checkout enforcement (not theme banner)

OrderRules runs as a Shopify Function attached to Checkout Validation. Shop Pay, Apple Pay, Google Pay, and direct checkout URLs are all covered — display-only banners cannot block any of those payment paths.

See all OrderRules features

One-click UK holiday calendar (available, on standby)

OrderRules ships a 1-click UK holiday import so Christmas Day, Boxing Day, Easter, and bank holidays can be added to the schedule without manual date entry. Kept available for Kalkut's seasonal closures.

Read the holiday calendar guide

Implementation timeline

OrderRules is a no-code, single-install Shopify app, so setup for Kalkut's took minutes rather than days. The full sequence from install to live enforcement:

  1. 1

    Install OrderRules from the Shopify App Store

    One-click install. No theme edits, no API keys, no developer required. App permissions limited to what Shopify Functions needs to read the cart at checkout.

  2. 2

    Set timezone to Europe/London

    The single most important setup step — wrong timezone is the most common cause of orders slipping through outside hours.

  3. 3

    Configure 8:30am–8:30pm for Monday through Sunday

    Identical hours across the week, no "Closed all day" toggles. Open and close times are set once and apply forever; daylight saving is handled automatically by the Europe/London timezone.

  4. 4

    Write the closed-state message

    Custom message reads: "Sorry our deliveries are closed! Our opening times are 8:30am–8:30pm". Customers see the real trading window, not a generic string.

  5. 5

    Verify with a test order outside hours

    Draft order placed at midnight confirms Shopify Functions block the checkout before payment is captured. Same behaviour verified on the iOS and Android apps.

Results — before and after OrderRules

The point of enforcing trading hours is that the system has to do work the storefront banner cannot. Below is what changed at Kalkut's once OrderRules was live.

Kalkut's Convenience Store live storefront on kalkuts.co.uk during closed hours — top-of-page banner reads 'We're currently closed. Please check back during our business hours' and a product page shows the same message inline next to the Add to cart button. OrderRules blocks checkout for the entire cart through Shopify Functions.

Kalkut's live storefront during closed hours — both the page banner and the inline product-page message are powered by OrderRules' checkout block.

Operational metricBefore OrderRulesAfter OrderRules
Orders received outside trading hoursDaily — overnight orders for next-day delivery0 — checkout blocked by Shopify Functions
Customer-facing closed-state UXTheme-only banner, easy to ignore"We're currently closed" banner + checkout block + custom message
UK alcohol-licensing exposure on ShopifyNo hour-based gate at checkout for alcohol productsTrading-hours window enforced for entire cart, including alcohol
Perishable spoilage from un-fulfillable ordersFresh produce, dairy, and butcher orders placed for closed hoursOrders only accepted when staff is in the shop to pick + deliver
Time staff spent issuing refunds for off-hours ordersRecurring weekly taskEliminated
Coverage of iOS + Android storefront appsMobile app could complete checkout outside hoursSame Shopify Functions enforcement applies on web and both apps
We needed something that actually stops orders after 8:30pm, not just shows a message. OrderRules does exactly that.
Kalkut's Convenience Store, Doncaster, UK

Frequently asked questions

No. Shopify has no native way to display, schedule, or enforce business hours. Any of these capabilities requires a Shopify app. Display-only widgets render hours on the storefront but cannot block checkout. Apps that enforce hours at checkout — OrderRules and We Are Open — use Shopify Functions to validate every order server-side, so Shop Pay, Apple Pay, Google Pay, and direct checkout URLs all respect the hours.

Kalkut's sets its OrderRules Weekly Schedule to 8:30am–8:30pm seven days a week — well inside the UK Licensing Act 2003 sale windows. Outside that window, OrderRules' Shopify Functions block the checkout for the entire cart, which means alcohol products cannot complete checkout outside trading hours regardless of whether the customer is on web, the iOS app, or the Android app. The store also keeps the schedule timezone set to Europe/London so daylight-saving transitions are handled automatically.

Yes. Kalkut's sources from local vendors — Clarkes Butchers for fresh meat, Curry by Chris for prepared food, Death by Fudge for desserts, Officially Roasts for catering — alongside its own grocery, alcohol, and household ranges. OrderRules applies the weekly schedule at the checkout layer, so the trading window applies to every product in the catalogue, including all vendor partner SKUs. No vendor-specific configuration is required for the shared trading window.

A banner is a theme component — it displays text but cannot block checkout. Customers can add to cart and pay with Shop Pay, Apple Pay, or a direct checkout URL while the banner says "closed." OrderRules uses Shopify's Checkout Validation API (Shopify Functions) to block checkout server-side, which is the same enforcement layer Shopify itself uses for inventory and fraud checks. Display and enforcement are two different capabilities — 5 of 6 Shopify store-hours apps offer only display.

Store hours and the holiday calendar are included on the OrderRules Starter plan, which is free. Kalkut's only needs scheduling, so the Starter plan covers the entire use case at no monthly cost. The $9.99/mo Pro plan adds storewide order caps, per-customer purchase limits, MOQ rules, customer-tag rules, CSV bulk management, and email capacity alerts — only relevant if a store needs more than scheduling.

Running a convenience store on Shopify?

OrderRules' Weekly Schedule is included on the free Starter plan. Set your trading hours, write a closed-state message, and Shopify Functions will enforce checkout on every order — under 5 minutes.