Availability settings define normal hours and exceptions. Availability Blocks temporarily remove time that would otherwise be bookable.
• Use Location hours for the normal weekly pattern at a site. Edit this recurring pattern on the schedule editor's Weekly template tab.
• Use a date-specific exception when a date should replace the normal pattern with special hours. Add this on the schedule editor's Exceptions & holidays tab, which only offers one-time, date-only changes.
• Use an Availability Block for a temporary closure, meeting, equipment outage, or service interruption without changing regular hours.
• Use staff availability when only one person's working time changes.
A schedule's editor has two tabs:
• Weekly template: the recurring hours for each day of the week. Changes here repeat every week going forward.
• Exceptions & holidays: a calendar for single-date changes. Dates still following the weekly pattern show a repeat icon; dates with an override appear in red. This calendar no longer offers an option to edit an entire recurring weekday; use the Weekly template tab for that.
Each day on the Weekly template also has its own slots field, next to that day's hours. This sets how many appointments can be booked into the same time on that day: raise it for a day that should allow more than one appointment at once, or set it to 0 to keep the day closed. This is separate from a shared Resource; it applies to the schedule itself rather than to a specific room or piece of equipment.
To undo a date-specific override, reopen Edit this date on that date and select Remove exception. This deletes the override and returns the date to the Weekly template hours, rather than saving a new override over it. The button only appears when the selected date already has one to remove.
A single date can carry more than one open time window, such as 9:00 AM-11:00 AM and 1:00 PM-3:00 PM on the same exception. The calendar treats every open window on that date as bookable, not only the first one entered, so a morning-and-afternoon exception with a closed lunch gap correctly opens both windows and keeps the gap between them closed.
Go to Settings > Schedule > Availability Blocks. You can also open the Appointments calendar and select Block availability; CoolFocus opens the editor with the calendar's current date already selected.
The page shows upcoming blocks by default. Switch to Past to review earlier blocks.
Availability Blocks do not repeat on their own. Each block only covers the single date or date range you set when you create it, so it won't come back next week on its own. If the same time is unavailable every week, such as a recurring staff meeting or a service that is never offered on Friday afternoons, set that directly on the Weekly template tab of the location's or appointment type's schedule instead of adding a new block each week.
1. Select Add block.
2. Choose one location or All locations.
3. Choose one appointment type or All appointment types.
4. Select a date or date range.
5. Leave Block the full day selected, or clear it and enter start and end times.
6. Add an internal reason such as Staff meeting, Holiday closure, or Equipment maintenance.
7. Select Save block.
The reason is for your team and helps administrators understand why availability was removed.
A date range covers consecutive days with the same reason and times, for example a week-long clinic closure. It is still a single, one-time entry: to close the same days every week or every month, use the Weekly template instead, as described above.
• One location or every location.
• One appointment type or every appointment type.
• One day or a date range.
• A partial-day time window or the full day.
Choose the narrowest scope that matches the interruption. For example, if Ultrasound is unavailable at Downtown from 1-3 PM but other services remain open, select Downtown, Ultrasound, that date, and 1-3 PM.
Use Edit to change a block. Use the delete action to restore the time to normal availability. Other rules, such as regular hours, staff coverage, resources, lead time, or booking limits, may still keep the time unavailable.
The Appointments calendar and Scheduler grid use two different gray patterns so you can tell at a glance why a slot isn't bookable:
• Closed time, such as hours outside the location's schedule, a holiday, a date exception, or a scheduler block, displays as a diagonal gray cross-hatch.
• Past time, meaning the time has already elapsed, displays as a solid gray fill. This is distinct from the closed hatch so you can quickly separate "already happened" from "not available".
If a slot is both past and closed, the calendar shows the solid past fill, since elapsed time takes visual priority. Check the legend above the calendar for a reminder of what each shade means.
A date affected by a closure, holiday, date exception, or scheduler block shows a compact status label under the date number instead of a full-height, event-style block. This keeps the schedule grid readable while still making unavailable time obvious. It applies in Day, Week, grouped Day, and Month views, and in both light and dark mode.
• A day that is closed all day shows a red "Closed" label. If a reason was entered (for example, a holiday name), it appears underneath the label.
• A day with modified hours shows an orange label with the open time range, such as "9:00 AM-1:00 PM", instead of a generic "Modified Hours" block. If more than one open range applies to the same day, the ranges are listed together, such as "9:00 AM-11:00 AM, 1:00 PM-3:00 PM".
• Days that are fully open show no label at all, so the grid stays uncluttered.
• If any override on a day is a full closure, the day-level label and the month view's shading both summarize the day as closed, even if part of the day is also modified. Open the label to see the full breakdown.
When more than one override applies to the same day, or an override has a reason to show, the label becomes clickable (shown with a dotted underline). Selecting it opens a small "Schedule overrides" popover listing each rule that applies to that date, with its time range and reason, without navigating away from the calendar or changing which day is selected. A day with a single override and no reason does not need this popover and simply shows the plain label.
These labels only appear when the calendar is showing business hours. If business hours are hidden for a view, override labels are hidden along with the closed-day shading.
Unavailable periods remain non-bookable and available periods remain bookable regardless of how the label is displayed; this change only affects how overrides are visualized, not scheduling behavior.
On a staff member's own availability calendar, a date exception reads Unavailable rather than "Closed". A person is not a building, so the label for a staff day off matches the wording already used for that person's weekly hours. Location and appointment-type schedules keep the "Closed" label, since those really do close for the day.
A date exception can define more than one open window on the same day, for example a morning shift and an afternoon shift split by a lunch break. Every open window on that date is bookable, not just the first one entered. This holds even when the location's Weekly template is closed every week and the day only opens through occasional date exceptions, such as a service that normally runs weekdays but adds a one-off Saturday morning and evening clinic.
A closed window on the same date still wins over any open window it overlaps. For example, if a date has a 9 AM-5 PM open exception plus a 12-1 PM closed exception layered on top, the calendar and booking pages treat 12-1 PM as unavailable while the rest of the 9-5 window stays bookable.
If the location and the appointment type you're testing happen to point at the exact same schedule, date exceptions on that schedule still open the day correctly; the slot engine no longer double-applies the weekly template in a way that could cancel out the exception.
If an exception day includes hours well outside the location's usual business hours, such as an early-morning or late-evening one-off clinic, the calendar automatically widens the visible time range for that day so those hours aren't scrolled out of view.
When a date exception opens hours earlier or later than the schedule's normal display window, such as a 5:30 AM start or a 10:30 PM end on a day whose weekly template is otherwise closed, the Day and Week grid automatically scrolls to include that exception, with about an hour of padding on each side. You do not need to change any display settings to see an early-morning or late-evening exception; the calendar expands to show it.
Availability Blocks do not target an individual staff member. Use staff availability for full-day time off or custom staff hours. Partial staff-time blocking directly from the calendar is planned separately so it can correctly reduce that person's coverage without closing the entire service.
A staff date exception holds one time range per date; only the first range saved is ever used, so the editor does not offer a way to add a second range in staff mode. Weekly recurring hours still support multiple ranges per weekday. Removing a staff date exception clears the override and returns that date to the person's regular weekly hours.
A staff member's date exception shows the label Unavailable instead of Closed, since it describes one person's time rather than a site or service closing. It also holds only one time range per date: staff mode does not offer Add another time in the date-exception dialog, because only the first range would ever be saved and used. Recurring weekly hours for staff still support multiple ranges per weekday.
Weekly staff hours are scoped to a location: a person can have a different weekly row for each center, or one row for all locations. A date-specific exception is different. It belongs to the person, not to a location, so it applies wherever that person is booked. This matters for named staff and required positions: if someone's weekly hours are only set up on one center but a required position or named-staff appointment type books them at a different center, their date exception still counts as working time at that other center. Without this, a person's calendar could look open while online booking or the client portal showed no times for them at a center where they only have date-specific hours.
After saving, check the same appointment type, location, and date in Scheduler availability or online booking. The slot engine enforces Availability Blocks for both full-day and partial-day closures.
An availability schedule's editor shows a Delete action when your user group grants delete permission for schedules. You can delete a schedule once no location, appointment type, or purchased phone number is still using it for hours.
If any of those are still linked, CoolFocus refuses the delete and names what is still using the schedule, for example "still used by 2 locations", so you know to make the schedule inactive instead of deleting it.
Deleting a schedule also deletes its own date-specific overrides and any Availability Blocks scoped to it. This is a soft delete: the schedule and its history are preserved behind the scenes rather than erased, so it can be recovered if needed.