Shabbify automatically closes your Shopify store during Shabbat and Jewish holidays, based on halachic times at your shop’s location. You control what gets blocked, what customers see, and when the store reopens.
This guide covers every feature in the app and how to use it.
What Shabbify does
When your store is closed, Shabbify can:
- Block add to cart — customers cannot add new items
- Block checkout (server-side) — checkout is rejected at Shopify’s checkout step
- Block checkout button — the checkout button on the cart page is disabled
- Block entire site — a full-page overlay with your message and countdown
When your store is open, Shabbify stays invisible to shoppers.
Closure windows are calculated from:
- Weekly Shabbat — candle-lighting / sunset and havdalah / nightfall at your location
- Jewish holidays — auto-generated from the Hebrew calendar (with options to edit or add custom closures)
Quick start
Open Apps → Shabbify → Setup for a step-by-step checklist. The full flow:
| Step | What to do |
|---|---|
| 1 | Settings → enable Enable Shabbify → Save |
| 2 | Theme editor → App embeds → turn on Shabbify: Core Logic → Save theme |
| 3 | Add a storefront block (Text Banner or Contact Form) via Theme Setup |
| 4 | Home → set location, Shabbat window, and blocking options |
| 5 | Shopify Admin → Settings → Checkout → add Shabbify Cart Checkout Validation rule → set Active → Save |
| 6 | Turn on Test Mode, verify on your storefront, then turn Test Mode off to go live |
Admin pages overview
| Page | Purpose |
|---|---|
| Home | Live open/closed status, blocking behavior, Shabbat settings, manual close |
| Setup | Interactive onboarding checklist with theme editor links |
| Settings | Master on/off switch, Test Mode, Shabbat timing, Klaviyo (if available) |
| Holidays | View, edit, add, or regenerate holiday closure windows |
| Theme Setup | One-click links to enable the app embed and add blocks |
| Events | Activity log for status changes, notifications, and errors |
Settings
Path: Apps → Shabbify → Settings
Enable Shabbify
The master switch. When disabled, your store stays open during Shabbat and holidays regardless of schedule.
Test Mode
When enabled, closure behavior applies only to test customers (see Test mode). Use this before going live.
Shabbat configuration
Same options as on Home (see Shabbat & zmanim configuration):
- Weekly close mode — when Shabbat closure starts (
candles= before sunset, orchatzos= halachic midday) - Minutes before — how many minutes before candle-lighting to close (default: 18)
- Minutes after — how many minutes after nightfall to reopen (default: 60)
- Location — uses your Shopify store address by default; you can set a custom location if zmanim should be calculated elsewhere
Klaviyo (select installs)
If your shop has Klaviyo integration enabled, enter your API key and Flow ID here to send SMS notifications when the store reopens to shoppers who signed up during closure.
Home — store status & blocking
Path: Apps → Shabbify → Home
Status dashboard
Shows whether your store is currently OPEN or CLOSED, including:
- Next closure or reopening time
- Live countdown
- Reason (e.g., Shabbat, Yom Kippur)
- Time until the next automatic status check
Use Refresh status if the display looks out of date.
Manual close mode
Forces the store closed immediately, independent of the schedule.
When to use it: emergency closures, closing early before a holiday, or any time you need to block purchases outside the automatic schedule.
To return to normal: uncheck Manual close mode and save. The store will follow the automatic schedule again.
Blocking behavior
Choose one or more options (they can be combined):
| Option | What happens |
|---|---|
| Block add to cart | Customers cannot add items to the cart |
| Block checkout | Checkout is blocked server-side (requires checkout rule — see below) |
| Block checkout button | Checkout button on the cart page is disabled |
| Block entire site | Full-page overlay on every page with your message and countdown |
Requires theme embed: add-to-cart blocking, checkout button blocking, and site overlay need Shabbify: Core Logic enabled in your theme.
Block message
The text customers see when the store is closed. Supports dynamic placeholders (see Message placeholders).
Default message:
Checkout is currently not available because the shop is currently closed. It will reopen at [[opentime]].
Set times manually
Opens a modal to set exact closure start and end times instead of computed zmanim. Useful for testing or special one-off closures.
Shabbat & zmanim configuration
Shabbify calculates weekly Shabbat windows using kosher-zmanim at your shop’s coordinates and timezone.
| Setting | Description |
|---|---|
| Location | Latitude/longitude for zmanim. Defaults to your Shopify store address. Use custom location if your business follows a different community’s times. |
| Weekly close mode | Candles (Shkiah) — close before sunset; Chatzos — close at halachic midday |
| Minutes before | Offset before candle-lighting to start closure |
| Minutes after | Offset after nightfall to end closure |
| Rest day | Weekly rest day (typically Friday) |
After changing location or minutes, save your settings. Holidays may be regenerated when timing offsets change.
Holidays
Path: Apps → Shabbify → Holidays
Auto-generated holidays
On install, Shabbify generates holiday closure windows for the current year based on your location and timing settings. Supported holidays include:
- Rosh Hashana, Yom Kippur
- Succos (first/second days, Chol Hamoed, Hoshana Rabah)
- Pesach (first/second days, Chol Hamoed)
- Shavuos, Purim, Tisha B’Av
- Custom — your own named closure periods
Managing holidays
| Action | How |
|---|---|
| View | See all upcoming holidays in the table |
| Edit | Toggle active/inactive, adjust start/end times, customize per-holiday message |
| Add holiday | Create a fully custom closure period |
| Delete | Remove custom holidays you created |
| Regenerate holidays | Re-fetch from the Hebrew calendar for selected year(s) — use after location or timezone changes |
Holidays are also refreshed automatically on a quarterly schedule (January, April, July, October).
Theme setup (storefront)
Path: Apps → Shabbify → Theme Setup
Required: Shabbify Core Logic (app embed)
Theme editor → App embeds → Shabbify: Core Logic → Enable → Save
This powers:
- Add-to-cart blocking
- Checkout button blocking
- Full-site overlay
- Live status updates from the Shabbify API
Without this embed, blocking and overlays will not work on your storefront.
Storefront blocks
Add these in the theme editor (Online Store → Themes → Customize):
Shabbify: Text Banner
A banner with your closure message and live countdown.
| Setting | Description |
|---|---|
| Force display | Preview the banner in the theme editor only; on the live store it appears only during closure |
| Position | Normal, fixed top, or fixed bottom |
| Colors, padding, typography | Match your theme |
| Message | Richtext with [[opentime]] and [[countdown]] placeholders |
Tip: Place in the header for maximum visibility.
Shabbify: Contact Form
A popup or inline form during closure so shoppers can leave their phone number to be notified when you reopen.
Only appears on the storefront after you save a Klaviyo API key and Flow ID in Settings. In the theme editor you can still preview and style the block before Klaviyo is configured.
| Setting | Description |
|---|---|
| Desktop/mobile display mode | Popup or inline |
| Overlay colors & blur | Customize appearance |
| Form copy | Heading, description, button text, success/error messages |
| Force display | Preview in theme editor |
Requires Klaviyo setup for SMS delivery (see SMS notifications).
Shabbify: Cart Warning
Injects a closure warning and optional SMS signup into your cart drawer or cart page.
| Setting | Description |
|---|---|
| Cart CSS selector | CSS class for your theme’s cart container (e.g. .mini-cart__items) |
| Header, description, phone label | Customize copy |
| Colors | Match your theme |
Replacing older blocks
Older blocks (Shabbify Messaging, Shabbify Klaviyo - HP, Shabbify Klaviyo - Cart) were removed. If your theme still references one of them, replace it in the theme editor:
| Old block | Use instead |
|---|---|
| Shabbify Messaging | Shabbify: Text Banner |
| Shabbify Klaviyo - HP | Shabbify: Contact Form |
| Shabbify Klaviyo - Cart | Shabbify: Cart Warning |
You can also open Apps → Shabbify → Theme Setup for one-click add links.
Checkout blocking
Checkout blocking has two parts:
1. Enable in Shabbify (Home)
Check Block checkout under Blocking behavior and save.
2. Activate the Shopify checkout rule (one-time)
- Go to Shopify Admin → Settings → Checkout
- Scroll to Checkout rules
- Click Add rule
- Select Shabbify Cart Checkout Validation
- Set the rule to Active
- Click Save
Without this rule, server-side checkout blocking will not work. Client-side checkout button blocking still works via the theme embed.
Checkout banner
When checkout blocking is enabled and the store is closed, a warning banner automatically appears at checkout with your message, reopen time, and countdown. No extra setup is required.
Test mode
Test Mode lets you preview closure behavior without affecting real customers.
How to use Test Mode
- Settings → enable Test Mode → Save
- Tag a customer account with
admin,test, orshabbify-admin - Log in to your storefront as that customer
- Verify banners, blocking, and messages appear as expected
- Settings → disable Test Mode → Save to go live
What Test Mode does
- Closure blocking applies only to tagged test customers
- Regular shoppers can purchase normally
- Messages are prefixed with "TEST -" for test customers
SMS notifications (Klaviyo)
When Klaviyo is configured, shoppers can sign up during closure to receive an SMS when your store reopens.
Setup
- Settings → enter Klaviyo API key and Flow ID → Save
- Add a Contact Form or Cart Warning block to your theme
- Shoppers enter their phone number during closure
- When the store reopens, Shabbify triggers your Klaviyo flow to send the SMS
The Contact Form block stays hidden on the live storefront until both Klaviyo fields are saved.
Requirements
- Klaviyo account with an SMS flow configured
- Contact Form or Cart Warning block on your storefront
- Klaviyo settings visible in Shabbify (available on select app installs)
Message placeholders
Use these in block messages (admin or theme editor):
| Placeholder | Replaced with |
|---|---|
[[opentime]] | Formatted reopen time (e.g., "Saturday at 8:42 PM") |
[[countdown]] | Live countdown until the store reopens |
Example:
We are closed for Shabbat and will reopen at [[opentime]]. Time remaining: [[countdown]]
Events log
Path: Apps → Shabbify → Events
A paginated timeline of app activity:
- Store status changes (open ↔ closed)
- Notification signups
- Klaviyo events (if enabled)
- Errors and workflow completions
Useful for auditing and troubleshooting.
Troubleshooting
Store isn’t closing during Shabbat
- Confirm Enable Shabbify is on in Settings
- Check Home — is status showing CLOSED?
- Verify your location and minutes before/after are correct
- Click Refresh status on Home
- On Holidays, confirm the relevant holiday is active
Blocking doesn’t work on the storefront
- Enable Shabbify: Core Logic app embed in the theme editor
- Save the theme
- Confirm the correct block levels are checked on Home
Checkout still works when closed
- Enable Block checkout on Home
- Activate Shabbify Cart Checkout Validation in Shopify Checkout settings (see Checkout blocking)
Banner doesn’t appear
- Add a Text Banner or Contact Form block in the theme editor
- On the live store, banners only show during closure (use Force display in the editor to preview styling)
- Confirm the app embed is enabled
Wrong reopen/close times
- Check location — zmanim are calculated from coordinates
- Adjust minutes before and minutes after to match your minhag
- On Holidays, edit individual holiday times or Regenerate holidays after location changes
Test Mode: I don’t see closure behavior
- Confirm Test Mode is enabled in Settings
- Log in as a customer tagged
admin,test, orshabbify-admin - Visit the storefront during a closure window (or use manual close mode)
FAQ
Does Shabbify work automatically after install?
Partially. Holidays are seeded on install, but you must complete setup: enable the app, theme embed, blocking options, and the checkout rule.
Can I close the store outside of Shabbat/holidays?
Yes. Use Manual close mode on Home for immediate closure, or Add holiday on the Holidays page for scheduled custom closures.
Can I keep the store open during a scheduled closure?
Use manual override options in the admin (Manual close mode off, or force-open via support/Sidekick if needed).
What happens if Shabbify’s API is temporarily unavailable?
Storefront extensions read shop metafields and use cached zman data. The app is designed to fail safely and avoid blocking purchases due to transient errors unless you have explicitly configured closure.
Do I need every theme block?
No. Minimum setup:
- Core Logic app embed (required for blocking)
- At least one messaging block (Text Banner recommended)
- Checkout validation rule (required for server-side checkout blocking)
How often does status update?
A background job recalculates status continuously (approximately every minute). Home shows a countdown to the next check.
Can I use Shabbify with multiple themes?
Enable the app embed and add blocks on your live/published theme. Repeat for other themes if you switch themes frequently.
Need more help?
Contact Shabbify support through the help widget in the app, get in touch, or visit the Shopify App Store listing.
