Booking Availability
"Booking Availability" on the Mega Report answers a specific marketing question: how many more appointments of a given length could we still take in this period? It is not "how many free hours are left" — the two numbers usually differ, and that difference is the whole point of the stat.
Booking Availability vs. Utilisation Rate
These metrics are similar but different.
We use Booking Availability in smaller periods like weekly view to compare against UT rate to work out if calendars are booked "well".
EG: if i book my 30 min appointments with a 15 min gap between each one, then my UT will only be like 66% so it looks like i have heaps of space to fit in more bookings, even though no 30 min booking could possibly fit in anywhere. So the "low UT, low booking availability" at individual practitioner level would let you know that they may need the appointments rearranged to be back-to-back.
Or, if looking at a clinic level and you want to see how many "slots" exist in a given day/week for a 1 hour appointment, rather than just "what is the total sum of available hours".
What it counts
For each practitioner/location/day in the selected period we take the scheduled hours, add any one-off availability blocks (extra time the practitioner has opened up outside their normal hours), subtract scheduled breaks, any unavailable blocks (including public-holiday blocks synced from the practice management system), and existing (non-cancelled) appointments. What's left is a set of contiguous free windows. Each window is then divided into whole blocks of your configured length, and those blocks are summed.
Key rule: each contiguous window is divided independently, and we always round down.
blocks in a window = floor(window_length_in_minutes / block_length)
total = sum over all windows
A 2-hour free window at 60-min blocks = 2 blocks, even though you could technically slot a 60-min appointment starting at 12:00, 12:15, 12:30 and so on. We only count how many appointments would actually fit, not every possible start time.
Why the displayed number is usually less than (free minutes ÷ block length)
Because of floor() and because every window is divided on its own:
| Situation | Free minutes | At 60-min blocks |
|---|---|---|
| One 200-min window | 200 | 3 |
| Two separate 100-min windows | 200 | 2 |
| Four separate 55-min windows | 220 | 0 |
| One 420-min window | 420 | 7 |
| Six 60-min + one 60-min window | 420 | 7 |
| One 50-min + six 60-min windows | 410 | 6 |
Any contiguous window shorter than the block length contributes 0, and every
window loses up to block_length - 1 minutes to rounding. Many short gaps is
the usual reason a big total-minutes number produces a small block count.
Block length
- The default block length for your tenant is set in Tenant Settings → Availability Block Duration Options (the option marked as Default).
- If nothing is configured, the default is 60 minutes.
- You can add multiple durations here (for example 30, 45, 60, 90).
- On the Mega Report you can break the stat down by any of the configured durations to see availability for different appointment lengths side by side.
The stat tooltip always shows the current block length so it is clear what "Booking Availability" is measuring in that report.
The popup breakdown
Clicking a cell opens the Availability Block popup, which lists every contiguous free window: practitioner, location, date, start/end time, and length in minutes. The top-level number is derived from these windows using the rule above — if you add up the "length" column and divide by the block length you will almost always get a larger number than the cell shows, and that is expected.
Unavailable blocks, extra availability, and public holidays
One-off blocks synced from the practice management system are applied on top of the practitioner's normal scheduled hours for that day:
Both block types are synced from the practice management system and are attached to a practitioner and location.
FAQ
Why is the block count so much lower than I expect?
Usually one of: lots of short gaps between appointments, or a block length
that is longer than many of your free windows. Open the popup and look at the
length column — any entry smaller than the block length contributes 0.
Can I change the block length just for one cell? Yes — use the Appointment Length breakdown on the stat. The breakdown uses the durations configured in Tenant Settings.
Why does a public holiday still show availability? It shouldn't — PH unavailable blocks synced from the practice management system are subtracted before the count is calculated. If you are still seeing availability on a PH, check that the unavailable blocks for that day actually made it into the system (they are synced from the practice management system and attached to a practitioner and location).