Skip to main content

Indexing & Performance

Indexed availability pre-calculates slots in a cache table so booking forms stay fast on busy stores (5.0+).

Before you begin

How it works

Without indexing, each slot check runs full availability logic. With Use indexed availability enabled, lookups use the wc_appointments_availability cache, expanded automatically within your caching horizon.

When to enable

  1. ✅ High booking volume or complex rules
  2. ✅ Many staff or long booking windows
  3. ✅ Slow storefront slot loading

Important

  • Run Manual re-index after bulk rule changes or if slots look stale
  • Re-index is resource-heavy on very large stores — use low-traffic windows
  • Horizon 3–6 months is a common default (range 1–12)

Setup: EnableRe-index when needed · Also under Global settings

Enable indexed availability

  1. WooCommerce → Settings → Appointments → Indexing & Performance
  2. Check Use indexed availability
  3. Set Caching horizon (months to pre-cache)
  4. Save changes

Indexing & Performance — enable cache and caching horizon

Manual re-index

Run when:

  • You bulk-imported or changed availability rules
  • Slots disagree with rules after edits
  • You just enabled indexing on an existing store
  1. Confirm indexing is enabled and saved
  2. Open Manual re-indexRe-index Now
  3. Wait for completion (Stop re-index only if you must halt a run)

Manual re-index — Re-index Now, progress, and last update

During re-index the storefront stays correct but may respond slower until the run finishes.

warning

Thousands of products or very long horizons: schedule re-index during quiet hours.

Performance notes

  • Cache table size grows with rules, staff, and horizon length
  • Indexed lookups can be significantly faster for storefront search and the admin calendar
  • When the index is healthy, sold-out checks can use the appointment cache for faster occupancy lookups; the plugin falls back to live data during backfill so slots stay accurate