Skip to main content

Booking Availability

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.

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:

  • Unavailable blocks (including full-day public-holiday blocks) are subtracted. A practitioner with an 08:00–17:00 schedule and a full-day PH unavailable block contributes zero availability for that day.
  • Extra availability blocks (time the practitioner has opened up outside their normal hours) are added. An 08:00–17:00 schedule plus an 18:00–20:00 extra availability block gives 11 hours of scheduled time, before appointments and unavailable blocks are subtracted.

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).