A booking form showing "fully booked", or simply hiding the option altogether depending on your settings, is one generic message that can mean any of several different things underneath.

Start from the top and work down. The causes below are ordered roughly from most common to least common.


You've been testing your own form


This is one of the most common causes, and it isn't actually an availability problem at all.

The moment a service is added to a cart, whether by a real customer or by you testing your own form, that item goes into a temporary hold so a second person can't book the same thing while the first is still checking out. That hold expires after 15 minutes, but until it does, the availability is reserved.

If you test your own booking form repeatedly, a new tab, an incognito window, however you're doing it, each attempt creates another one of these holds. Do that enough times in a row and you can consume all your own availability with nothing but test carts, then end up confused as to why nothing shows as available when you don't actually have any real bookings yet.

To check for this, go to Reports, then Sessions. Every active checkout session is listed there, including ones nobody has completed. If you recognise sessions as your own testing, use Clear Session to release the availability that session was holding and void the checkout in progress.

If you've been testing your own form at all recently, check here before working through anything else on this list.


The service has no units, or its units are disabled


Some services depend on units, meaning the actual bookable things behind them. If a service has no units added at all, or the units it has are switched off, there is nothing to book, so it will show as unavailable on every date rather than just some.

Check the service itself and confirm it has at least one enabled unit attached.


The unit is already booked


The most direct cause. If the unit needed for that slot is already reserved on another job at that time, it cannot also be offered here.


Buffer time around an existing booking


A date can show as unavailable even without a direct time conflict, because the scheduling engine also accounts for everything that has to happen around a booking, not just the booking itself.

This includes setup and pack-down time either side of the job, a minimum gap setting between jobs, the duration of the job itself, especially where that has been extended beyond the standard event length, and travel time between locations. The engine works out whether there is realistically enough time to pack down, drive back, collect equipment, drive to the next job and set up again, not simply whether two bookings overlap on paper.

The minimum gap is set in Settings, then Job Management, on the Settings tab under Minimum Time Between Jobs. See How to set a Minimum Time Between Jobs.

If a date looks free at a glance but still shows as unavailable, this is very often why.


A unit marked as in maintenance or unavailable


A unit can be blocked out for a period regardless of whether it has any bookings, most commonly because it is down for maintenance. You do this from the units calendar, where you can mark a unit as in maintenance or unavailable for the dates in question.

If a unit is unavailable on a date you weren't expecting, check the units calendar for anything marked on that date.


The service needs a unit and a staff member


Some services depend on both a unit and a person from a team being available, not just the unit on its own. In this case the unit can be completely free and the service will still show as unavailable if nobody qualified to run it has any time on that date.


What controls a staff member's availability


If staffing looks like the cause, a person's availability is controlled by 3 separate things, any of which can be the actual reason:

  • The working days set in their own profile.

  • Conflicts picked up automatically through a connected third party calendar.

  • Their own blackout days or holidays. These can be entered on their internal calendar, and you can also mark a staff member as unavailable from the staff calendar.


Items assigned to the wrong location


If more than one location is set up, services, staff and products can each be assigned to a specific one. Something can be genuinely available at one location and still show as unavailable when booking through another, simply because it was never assigned there.


A limit visibility rule


Services, packages and products can each have limit visibility rules applied, restricting when they are available based on conditions such as the day of the week, the date, the venue, or what else is being booked alongside them. These rules are fully customisable, so there is a real chance a rule someone set up for a specific reason is now blocking availability more broadly than intended.

Check whether the item in question has any limit visibility rules configured, and what conditions they are set against.


A package unavailable because of a product inside it


A package can go unavailable for reasons that have nothing to do with the package itself, if a product included in it is unavailable.

Products are consumable, rentable or digital, and each type carries its own availability rules. Consumable and rentable products in particular can have a maximum quantity or stock level, and once that is reached, everything relying on that product goes with it, including any package that includes it.

Stock is shared. If the same product is included in more than one package, every booking that uses it reduces the stock available to all of those packages automatically. So a product used in one package can make a different package unavailable on the same date.