Platform & API

Faster Availability Cache

Availability slots load in milliseconds — served from cache, not computed on every request.

Shipped June 15, 2026

✦ Key takeaways

  • Availability results served from cache instead of computed from scratch per request
  • Proactive warmer pre-populates popular dates so first-load is fast too
  • Cache invalidates automatically on any booking, cancellation, or schedule change

Availability computation is expensive. For each date a guest views, Freebo previously had to query schedules, check asset assignments, count existing reservations, and apply availability rules — every time, from scratch. On a busy Saturday afternoon with multiple guests on the checkout page, that adds up.

The availability cache stores computed results and serves them directly, skipping the computation for requests that match an already-computed result.

How it works

When a guest requests availability for a product and date, Freebo checks the cache first:

Cache hit — Result returns immediately, typically in single-digit milliseconds.

Cache miss — Full computation runs and the result is stored for subsequent requests.

~10ms Typical cache-hit response time
Automatic Invalidation on booking, cancellation, or schedule change
30 days Proactive warming window on active products

Proactive warming: Freebo pre-populates cache entries for the next 30 days of bookable dates on active products. Popular dates are ready before the first guest even asks. The warmer runs on a schedule and after any configuration change that would affect availability.

Automatic invalidation: When a booking is created or cancelled, or when an operator changes a schedule or availability rule, the relevant cache entries are immediately invalidated. The cache never serves a stale result that would let two guests book the same slot.

Will I ever see stale availability data?
No. Cache invalidation fires synchronously on every booking and schedule change. The cache only serves results that were valid at the time they were stored and have not been invalidated by a subsequent change.
Does caching affect availability accuracy during high traffic?
The cache is designed to be correct-first. If there's any ambiguity about whether a cache entry is still valid, Freebo falls back to live computation rather than serving a potentially stale result.