Global Settings
Configure defaults at WooCommerce → Settings → Appointments.
Staff Permissions
Global settings define system-wide defaults, but staff access is controlled separately through Staff Permissions.
- Where to configure: Appointments → Settings → Staff Permissions
- What it controls: What Shop Staff can view and manage in calendar, appointments, products, customers, orders, and reporting
- Scope behavior: Global permission defaults apply to all staff, with optional per-staff overrides from each staff profile
See Roles & Capabilities for the complete permission matrix and dependency rules.
Date & Time Settings
Date and time settings are configured in WordPress → Settings → General.

WordPress Date & Time Configuration
- Timezone: Store timezone used for all appointment storage and admin views
- Date Format: How dates are displayed throughout the site
- Time Format: How times are displayed (12-hour or 24-hour)
- Week Starts On: First day of the week for calendar displays
Appointments are stored in the WordPress timezone. Customer timezone conversion is handled per-product when enabled.
Global Availability
Define default availability rules that apply to all appointable products. These can be overridden at the product or staff level.

Global Availability has two types of rules:
Site Rules
Manually created availability rules that you add and manage directly in the admin. These rules apply globally to all appointable products unless overridden at the product or staff level.
Availability Rule Options:
- Range Type: Date range, day of week, time of day, month, etc.
- From/To: Start and end dates or times
- Title: Admin label for the rule
- Priority: Higher values override lower ones when rules conflict
- Appointable: Yes/No to allow or block time slots
You can add, edit, and delete Site rules as needed.
Synced Rules
Availability rules automatically synced from Google Calendar when two-way sync is enabled. These rules are read-only and appear when events from your Google Calendar are imported as availability blocks.

Key Features:
- Read-only: Synced rules cannot be edited, except priority and title. The changes will be overwritten if synced event is updated.
- Auto-updated: Changes in Google Calendar are reflected in synced rules after sync
- Blocks availability: Google Calendar events block time slots from being booked
- Event-based: Each synced rule corresponds to a Google Calendar event
To manage synced rules, edit or delete the corresponding events in Google Calendar, then trigger a manual sync or wait for the automatic sync.
Rules are saved via unified JSON decoder with validation. Implemented in includes/admin/class-wc-appointments-admin-settings.php.
Google Calendar
Configure two-way sync between WooCommerce Appointments and Google Calendar.

Configuration Options
- Client ID: Google OAuth Client ID from Google Cloud Console
- Client Secret: Google OAuth Client Secret
- Connect with Google: Authorize the connection
- Calendar ID: Global calendar for sync (leave empty for staff-only sync)
- Sync Preference:
- One-way: Store → Google only
- Two-way: Store ↔ Google (Google events block availability)
- Debug Log: Enable to record API requests for troubleshooting
- Manual Sync: Trigger immediate sync (shows last sync time when two-way is enabled)
Staff access to Google Calendar and related admin screens still depends on their configured Staff Permissions.
See Google Calendar Sync for detailed setup instructions.
Indexing & Performance
Enable high-performance caching for availability lookups on busy stores.

Performance Options
- Use Indexed Availability: Enables the high-performance cache table for slots and appointments
- Manual Re-index: Available when indexing is enabled - rebuilds the cache table
- Caching Horizon: Months of future slots to pre-cache (1-12 months)
- Index Status: Shows current index health and last rebuild time
Settings defined in includes/admin/class-wc-appointments-admin-settings.php.
For stores with many appointments, enable indexing immediately after installation to keep availability lookups fast.