Real-Time Availability
Slots reflect actual bookings — no refresh, no stale cache, no surprises.
Shipped December 13, 2025
✦ Key takeaways
- Availability is enforced at the asset level, not just the product. If the boat is booked, every product that uses that boat is blocked — automatically.
- Concurrent checkout sessions are serialized at the database level. Two customers can’t both confirm the last slot.
- Operators can layer availability rules — blackouts, capacity overrides, booking windows — on top of the base schedule without rebuilding anything.
Most booking software tracks availability at the product level — they count reservations against a maximum headcount and call it done. That works fine until one boat powers three different products and a booking on product A doesn’t block product B.
Freebo’s availability engine works differently. Every available slot is computed from the asset — the physical thing the booking consumes. When a reservation is created, the asset’s time window is locked. Every other product that shares that asset sees that window as unavailable, instantly.
Availability rules
On top of the base schedule, operators can configure:
- Blackout dates — block a specific date or range across all products (weather, maintenance, private events)
- Booking windows — set how far in advance customers can book and how close to departure
- Capacity overrides — temporarily reduce max guests on a slot without editing the product
- Day-of cutoffs — stop accepting bookings X hours before departure
These rules are evaluated at query time, so the availability grid a customer sees always reflects the current state of your business.
Booking further out, with cutoffs that actually hold
Guests can now book up to 18 months ahead — enough runway for next season’s weddings, corporate retreats, and holiday charters instead of a window that closes before the planning does. The public booking calendar navigates by month and year, so a guest picking a date eleven months out gets there in a couple of taps rather than clicking forward one month at a time.
At the other end of the window, booking cutoffs are enforced on every path that creates a reservation — and the check runs before payment is taken, not after. A guest can’t slip through a same-day booking on a product that needs a day of lead time and end up charged for a trip you can’t run. Past time slots are filtered out entirely: once a departure time has come and gone, it never appears as bookable, on fixed-schedule or flexible-duration products alike.
What happens when a customer sits on the checkout page for a long time?
Can I manually block a date without canceling existing reservations?
Shipped in Freebo, rebuilt · December 2025