Why does my booking form say "fully booked"?
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.
If a date looks free at a glance but still shows as unavailable, this is very often why.
Blackout days on a unit
A unit can be blocked out for a period regardless of whether it has any bookings, most commonly because it is down for maintenance. Check the unit's own availability settings for any blackout days covering the date in question.
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 three 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. And their own blackout days or holidays, entered on their internal 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.

