WooCommerce Booking and Reservation DocumentationWooCommerce Booking and Reservation Documentation
  • Getting Started

    • Documentation Home
    • Overview
    • Features
    • Booking Comparison
    • Installation
  • Daily Operations

    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
  • Setting Up a Product

    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
  • Store-wide Settings

    • Global Settings
    • Notifications
  • Your Customers

    • The Booking Experience
    • My Bookings
    • Shortcodes and Blocks
  • Help & Support

    • Troubleshooting
    • FAQ
Demo
Buy Now
  • Getting Started

    • Documentation Home
    • Overview
    • Features
    • Booking Comparison
    • Installation
  • Daily Operations

    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
  • Setting Up a Product

    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
  • Store-wide Settings

    • Global Settings
    • Notifications
  • Your Customers

    • The Booking Experience
    • My Bookings
    • Shortcodes and Blocks
  • Help & Support

    • Troubleshooting
    • FAQ
Demo
Buy Now
  • Booking and Reservation

    • WooCommerce Booking and Reservation
    • Overview
    • Features
    • WooCommerce Booking Plugin Comparison
    • Installation
    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
    • Global Settings
    • Notifications and Reminders
    • The Customer Booking Experience
    • My Bookings
    • Shortcodes and Blocks
    • Troubleshooting
    • Frequently Asked Questions

Availability

Availability rules decide which days and times a customer can actually pick. They are set per product on the Availability tab of Product Settings, on top of the store-wide defaults in Global Settings.

The Availability tab

The tab opens with the product's availability settings panel, then the rule lists beneath it.

The Availability tab and its settings panel

How availability is decided

A date or time is offered to the customer only if all of these are true:

  1. It is inside the store's booking window and past the minimum notice.
  2. It is inside the product's own Max Advance Booking and Cutoff settings.
  3. No availability rule blocks it.
  4. No existing booking is holding it — bookings in pending, confirmed or processing hold their slot.
  5. The resource the customer selected is free, if the product uses resources.

On the storefront the result is colour-coded: Available, Booked, Not available, and the customer's own Selected dates.

Adding a rule

  1. Click Add availability rule.
  2. Choose What do you want to control? — the rest of the form changes to match.
  3. Fill in the fields, set a Priority and a Status, and add an Internal Note if it helps.
  4. Click Create.

Adding an availability rule

The list then shows the rule, a plain-language summary of what it does, and its status. Each row has Inactive / Active to switch it off and on without deleting it, and Delete — which asks "Delete this Availability rule?" first.

Tips

Use Internal Note for the reason, not the effect — "Closed on Sundays" or "Refurbishment" — so the next person to look at the list knows why the rule exists.

The rule types

RuleFieldsUse it for
Only allow selected weekdaysAllowed weekdays as a comma list, 0 = Sunday to 6 = Saturday"We are open Monday to Saturday"
Block the same time every dayClosed from, Closed untilA lunch break, a cleaning window, a nightly shutdown
Block a specific date/time rangeBlocked From, Blocked UntilA one-off closure
Block a closure windowBlocked From, Blocked UntilA seasonal shutdown
Block an exception windowBlocked From, Blocked UntilA one-off exception to your normal pattern
Weekly schedule with slotsA JSON schedule of days and slots, each with an optional booking capA full opening timetable
Multiple slots per dayA JSON list of slots with capsSeveral bookable windows in one day
Block specific dates (holidays)Dates as a comma list, YYYY-MM-DDPublic holidays, staff days off
Close entire month(s)Months as a comma list, 1–12An off-season
Limit bookings per periodMode — Per date, Per day, Per hour, Per slot — and a Limit"No more than three tours a day"
Variable lockout thresholdsA JSON list of windows, each with a thresholdDifferent caps in different periods
Ad-hoc date/time blockBlocked From, Blocked UntilA last-minute closure
Slot overrideBlocked From, Blocked Until, Force closed, Override max bookingsChange one slot's rules without touching the schedule
Ad-hoc slot overrideAs aboveA one-off change to a single slot

Weekday numbers

0 Sunday · 1 Monday · 2 Tuesday · 3 Wednesday · 4 Thursday · 5 Friday · 6 Saturday.

So 1,2,3,4,5,6 means open Monday to Saturday, closed Sunday — and that is exactly what the customer sees: every Sunday greys out on the calendar and cannot be clicked.

The JSON fields

Three rule types take a small block of JSON. Copy the placeholder shown in the form and edit the values.

Weekly schedule with slots

{"days":[{"day":1,"slots":[{"from":"09:00","to":"12:00","max_bookings":5}]}]}

Multiple slots per day

[{"from":"09:00","to":"12:00","max_bookings":5}]

Variable lockout thresholds

[{"from":"2026-06-01 00:00:00","to":"2026-06-03 23:59:59","threshold":10}]

Important

The JSON must be valid or the rule is refused with "Please fill required fields." Keep the quotation marks and commas exactly as shown, and change only the values.

Priority

Every rule has a Priority, default 10. Lower numbers are applied first. Give the rules that must always win — a holiday closure, an emergency block — a low number such as 1 or 5, and leave general patterns at 10.

Slot-based price adjustments

The second card on the Availability tab holds slot pricing, kept here on purpose so slot timing and slot price live together.

FieldNotes
Resource IDOptional — price a slot differently for one room or member of staff
Slot starts / Slot endsThe time window
Slot amountThe price for that slot
Priority, Status, Internal NoteAs for any rule

Everything else about pricing is on the Pricing tab.

Store-wide availability defaults

Set in Global Settings → Products → Global Availability. A product uses these until you save a product override.

Global availability defaults

SectionSettingDefaultMeaning
Global RulesLimit Future BookingsEnabledEnforce a maximum booking window
Global RulesDefault Window (days)365How far ahead bookings open
Global RulesMinimum Notice (hours)0The shortest notice you will accept
HolidaysHoliday Dates (CSV YYYY-MM-DD)emptyDates closed store-wide
HolidaysBlock Public HolidaysDisabledBlock recognised public holidays
HolidaysHoliday LabelHolidayWhat a blocked holiday is called
ClosuresClosed Date RangesemptyStore-wide closure periods
ClosuresWeekly Off DaysemptyDays you are never open
ClosuresCustomer NoticeemptyA message shown about the closure
Slot RulesSlot Interval (minutes)30The granularity of slot-based products
Slot RulesBuffer Time Between Slots (minutes)0Turnaround time between bookings
Slot RulesAllow Bookings Beyond CapacityDisabledLet bookings exceed capacity
Capacity RulesDefault Booking Capacity1How many bookings a window holds by default
Capacity RulesMaximum Allowed Capacity50The upper limit you can set
Capacity RulesEnable WaitlistDisabledCollect interest when full

Warning

Allow Bookings Beyond Capacity deliberately lets you overbook. Leave it disabled unless you knowingly want to take more bookings than you can serve.

Worked examples

"Open Monday to Saturday, closed for Christmas and New Year"

  1. Add Only allow selected weekdays with 1,2,3,4,5,6, priority 10.
  2. Add Block specific dates (holidays) with 2026-12-25,2027-01-01, priority 5.

Sundays and those two dates are now unselectable on the storefront calendar.

"Closed for lunch, 1 pm to 2 pm"

Add Block the same time every day with Closed from 13:00 and Closed until 14:00.

"No more than three tours a day"

Add Limit bookings per period with Mode Per day and Limit 3.

"Shut for refurbishment, 4–18 January"

Add Block a closure window with Blocked From 2027-01-04 00:00 and Blocked Until 2027-01-18 23:59, priority 1, and note Refurbishment.

Checking your work

  1. Open the product on your storefront.
  2. Look at the calendar: green days are available, red are booked, grey are not available.
  3. Try clicking a day you expect to be closed — it should not respond.
  4. Use Search Builder → Search Availability on the product tab to test a specific window without leaving the admin. See Location and Search.

Next step

  • Pricing — what those available days cost.
  • Resources — per-room and per-staff schedules.
Prev
Booking Types
Next
Pricing