Sales Blocks
Overview
A sales block lets you say "stop selling this, for this period." It was built for facilities where several plans share the same room type (with only 1 unit of inventory) and an owner needs to close just one plan on a specific date — for example, blocking Personal Training only on a day the trainer is out, while Rental keeps selling unattended. Day-of-week rules can only close a plan on a recurring cycle; there was previously no way to close a plan on a specific date.
Since then, the target can also be the whole facility, and a block can be narrowed to specific hours and days of the week instead of an entire day (see below).
This feature is enabled per facility. If the Special Dates tab does not appear in Settings, the
ui_settings_date_tabfeature flag is off for that facility. Ask support to enable it.
Where to find it
Settings → the "Special Dates" tab → "Sales Blocks" (at the top of the tab).
Facility Owners and Organization Owners can edit it (facility members can view only).
You can also add, edit and delete the same sales blocks from the reservation calendar (see below).
Key Features
- Add, edit and delete sales blocks targeting the "whole facility" or a single "plan"
- Cover a single day or a date range (up to 366 days)
- Narrow a block to specific hours and days of the week to close only part of business hours
- An optional internal-only note (reason)
- Ended sales blocks are hidden from the list by default, with a toggle to show them
- A "Sales Block" band on the reservation calendar's month and week views (including past dates)
- Reflected on the weekly grid in the booking flow, including time-window blocks
- Add, edit and delete directly from the calendar
What You Can Target
You can target either the whole facility or a single plan.
- Choosing the whole facility blocks every plan at that facility. The plan selector is not shown in this case — there is nothing to individually pick, since the facility itself is the target
- A facility-wide block automatically covers plans added after it was created. You don't need to re-register the same block for every new plan. At one facility, this workaround had grown to 2 rules spanning 12 rows, and newly added plans still weren't covered
- Rooms and room types cannot be targeted yet. Allowing a room-level block could let "this plan stops selling while another plan sharing the same room keeps selling," so this is held back until the inventory side is ready
Inventory (the room type's remaining unit count) does not change. Targeting the whole facility means "stop every plan at this facility at once" — it does not rewrite the room type's remaining unit count. With a plan-level block, other plans sharing the same room type keep selling as normal (this is intentional). To close an entire facility for a date, simply choose "Whole facility" as the target.
Adding a Sales Block
- Open Settings → the "Special Dates" tab
- Click "Add sales block" in the Sales Blocks section
- Fill in the following
| Field | Description | Required |
|---|---|---|
| Target type | Choose "Whole facility" or "Plan" | Yes |
| Target | Shown only when the target type is "Plan". Choose the plan to block. Disabled plans are shown with a "(Disabled)" label and deleted plans with a "(Deleted)" label (a deleted plan stays in the list only if the block you're editing already targets it). If the facility has only one plan, it is selected automatically | Yes when Target type is "Plan" |
| Start date | The first day of the block | Yes |
| Single day | ON by default; while ON, the block ends on the same day it starts and the end date field is hidden | - |
| End date | Shown once "Single day" is turned off. Must be on or after the start date | Required when Single day is off |
| Limit to specific hours | Turning this on reveals start/end time fields and narrows the block to part of the day. Left off (the default), the day is blocked all day | - |
| Start time / End time | Only entered when "Limit to specific hours" is on. Bookings overlapping these hours cannot be made. A booking starting exactly at the end time is still allowed (for example, with 17:00–19:00 set, a booking starting at 19:00 is fine) | Required when hours are limited |
| Days of the week | Check specific days to narrow the block to them. Leaving all unchecked applies the block to every day in the range | No (saving is rejected if the checked days never occur within the chosen range) |
| Reason | For example "Trainer unavailable." An internal note only — guests never see it on the booking site. 200 characters max | No |
- Saving stops sales for that target on any date, hour and weekday that matches the conditions
Limiting to Specific Hours and Days
This covers cases where you need to close only part of your business hours — for example, "Tue–Fri 17:00–19:00 is the junior school, so it's not sold to the general public." Before this, the only way to close specific hours was to enumerate time-slot plan tiers one by one.
- Hours are a half-open interval. The start time is included; the end time is not. Setting 17:00–19:00 does not block a booking starting at 19:00
- Days of the week are an independent condition. Setting only days (no hours) blocks those days all day. Setting only hours (no days) blocks that time window on every day in the range
- Leaving both hours and days unset blocks the whole day for the whole range, as before. Existing sales blocks are unaffected
- This is also reflected on the weekly grid in the booking flow. Cells overlapping the blocked hours become unselectable; the hours before and after remain bookable as usual
- A single sales block covers only one time window. To block two separate windows in the same day (for example, both a morning and an evening slot), register two separate sales blocks
Where It Applies (Important)
A sales block applies to:
- Guest online bookings
- Front desk bookings made on a guest's behalf
- Changing a booking's date/time
- Extending a booking
- Walk-in check-ins (checking in on the spot, same day) — evaluated against the exact moment the walk-in is happening
A sales block does not apply to:
- Existing bookings are not cancelled. Reservations already on the books stay exactly as they are once a sales block is added
- Guests with an existing booking can still check in as normal. For example, if a guest booked Wednesday on Monday, and you add a sales block for Wednesday on Tuesday, that guest can still check in without issue on Wednesday. This is by design, and applies the same way to blocks limited to specific hours or days of the week
How the List Looks
- Each sales block in the "Special Dates" tab list shows its period as a "Single day" or "N days" badge
- Each row also shows the hours (for example "17:00–19:00", or "All day" when no hours are set) and, if days of the week are set, those days (for example "Tue · Wed · Thu · Fri")
- Ended sales blocks (past their end date) are hidden from the list by default. Click "Show ended sales blocks (N)" to reveal them — the record is kept so you can trace who blocked what, and when
- If the list grows very large, only some entries are shown and you are prompted to remove ones you no longer need
Managing Sales Blocks from the Calendar
The reservation calendar's month and week views show each sales block's period as a "Sales Block" band — for a facility-wide block just as much as for a plan-level one.
- It also appears on past dates, so you can later answer "why didn't we get bookings last Wednesday?"
- Hovering (or tapping) the band shows the target, the period and the reason. If hours are set, they're shown too
- Multiple sales blocks on the same day collapse into a summary like "Sales Blocks: 2"; opening it lets you choose which one to edit
- You can add, edit and delete sales blocks directly from the calendar. Opening the editor from the calendar pre-fills the date
- The Settings page and the calendar save through the same path, so editing from either place produces the same result
- Viewing is available to facility members too (front desk staff often need to know why a date has no bookings). Adding, editing and deleting require Facility Owner or above — the buttons are hidden if you don't have that permission
See Reservation Calendar for details.
What Guests See
- On the weekly grid in the booking flow, a cell covered by a sales block is shown as unselectable. No reason is shown
- For a block limited to specific hours, only the cells in that window become unselectable. The hours before and after remain bookable as usual
- If a guest tries to force a booking anyway, they see: "Reservations for this plan are not being accepted on the selected date. Please choose a different date."
- If the system cannot confirm the sales block status, the booking is rejected and the guest sees "We're unable to check availability right now. Please try again shortly." This is a deliberate fail-safe: it is safer to briefly block a booking than to accidentally sell a date that was supposed to be closed
Deleting a Sales Block
Clicking "Delete" shows a confirmation: "This will remove the sales block for [target] on [period]. Sales for this period will resume."
The record is kept internally for audit purposes even after deletion (it just disappears from the screen).
Limitations
- A single sales block covers at most 366 days. Split longer periods into multiple sales blocks
- The end date must be on or after the start date
- You can target the whole facility or a plan. Rooms and room types cannot be targeted yet. Allowing a room-level block could let "this plan stops selling while another plan sharing the same room keeps selling," so this is held back until the inventory side is ready
- A single sales block covers only one time window. To block multiple separate windows in a day, register multiple sales blocks
- When days of the week are set, saving is rejected if none of the checked days occur within the chosen date range
FAQ
Q: What happens to existing bookings when I add a sales block?
A: They are not cancelled. A sales block only blocks new bookings, changes, extensions and walk-ins from that point on.
Q: Can a guest with an existing booking still check in during a blocked period?
A: Yes. Guests with an existing booking can check in as normal. A sales block only stops new bookings — it never blocks check-in for a reservation that already exists. This is the same whether or not the block is limited to specific hours or days of the week.
Q: Does blocking one plan also block other plans that share the same room type?
A: Not with a plan-level block. A sales block only stops sales for that one plan. Inventory (the room type's remaining unit count) is unchanged, so other plans sharing the same room type keep selling. To stop every plan at the facility at once, choose "Whole facility" as the target.
Q: I want to close the whole facility for a day — how do I do that?
A: Choose "Whole facility" as the target when you add the sales block. You don't need to set it up for each plan individually — it automatically applies to every plan at the facility, including plans you add later, so there's nothing to redo when your plan list changes.
Q: If I add a facility-wide block and then create a new plan, is the new plan covered too?
A: Yes. A facility-wide block isn't tied to individual plans, so it automatically applies to any plan added afterward.
Q: Can I target a room or room type with a sales block?
A: Not yet. Allowing a room-level block could let "this plan stops selling while another plan sharing the same room keeps selling," so it's held back until the inventory side is ready. Right now you can target the whole facility or a plan.
Q: What does "Limit to specific hours" do?
A: It reveals start/end time fields so you can block only part of the day. Bookings overlapping that window are blocked, but a booking starting exactly at the end time is still allowed. Leaving it off (the default) blocks the whole day, as before.
Q: What happens if I don't check any days of the week?
A: The block applies to every day in the range (the same behavior as before this feature). Check specific days only if you want to narrow it down. If the days you check never occur within the chosen date range, saving fails with an error.
Q: Are blocks limited to specific hours or days reflected in the booking screen too?
A: Yes. On the weekly grid, only the cells covering the blocked hours become unselectable. The hours before and after remain bookable as usual.
Q: Can guests see the reason I entered?
A: No. The reason is an internal note only and is never shown on the booking site. Guests only see the standard "not accepting reservations" message.
Q: Why don't I see the "Special Dates" tab?
A: The ui_settings_date_tab feature flag is off for that facility. It has to be enabled per facility, so ask support to turn it on.
Q: I need to block more than 366 days — what do I do?
A: A single sales block covers at most 366 days. Split the period into multiple sales blocks.
Q: Where can I see sales blocks that have ended?
A: Click "Show ended sales blocks (N)" in the Sales Blocks list on the "Special Dates" tab. The record stays even after a block is deleted, so you can trace who blocked what and when.
Q: Can I edit a sales block from the reservation calendar?
A: Yes. Tap or click the "Sales Block" band on the calendar to open the editor with the date pre-filled — you only need to adjust the period. Editing from the calendar produces the same result as editing from Settings.
Q: Who can add, edit and delete sales blocks?
A: Facility Owners and Organization Owners. Facility members can only view them — the add/edit/delete buttons are hidden without that permission.
Related Pages
- Special Dates & Seasons - Per-date pricing, on the same "Special Dates" tab
- Basic Settings - Currency, timezone, business hours and holiday settings
- Reservation Calendar - Adding and editing sales blocks from the calendar
- Price Plan Settings - Configuring the plans a sales block can target
- Weekly Grid Settings (for Facility Owners & Admins) - How a time-limited sales block appears on the weekly grid
Last updated: 2026-09-02 - The target can now be the whole facility (no more per-plan setup needed), and blocks can be limited to specific start/end times and days of the week (#3061 #3082 #3042 #3057)