WooCommerce Appointments Documentation
Official documentation for WooCommerce Appointments — install and configure booking on WooCommerce, run the admin calendar day to day, and extend the plugin with optional features or the REST API when you need them.
What you need
- WordPress 5.9+, WooCommerce 9.6+, PHP 7.4+ (details)
- WooCommerce active before Appointments
- WordPress → Settings → General timezone set correctly before you create products
You are ready to go live when
- ✅ An appointable product exists with duration and availability rules
- ✅ You completed a test booking yourself and see the appointment in Appointments → Calendar
- ✅ Confirmation email arrives (if notifications are enabled)
Do this first — not later
- ❌ Do not skip timezone setup (affects every slot and email)
- ❌ Do not enable Google Calendar or indexing until basic booking works
- ❌ Do not customize the booking form with code until the default flow is tested
Quick Start
3. Appointable product
Duration, capacity, and staff for your first bookable service.
Create product →Next: Test a booking on the storefront · Path 1 (full checklist)
Tutorial paths
Pick the path that matches where you are. Video tutorials follow the same order.
Path 1 — Launch your first bookable service
Goal: A customer can book and pay on your site; you see the appointment in admin.
- Installation — plugin and license
- Global Settings — timezone and formats (also WordPress → Settings → General)
- Appointable product — duration, capacity, staff
- Availability rules — open bookable slots
- Pricing rules (optional)
- Customer booking process — test on the storefront
- Calendar — confirm in admin
Done when: checkout completes, the appointment is on the calendar, and the slot is unavailable to others.
Path 2 — Run the schedule (daily work)
Goal: Create, move, and update appointments from the calendar.
- Calendar — home screen; drag, resize, filter
- Admin appointment panel — create from a slot
- Managing appointments — view and edit
- Export & import — bulk manage
Phone and walk-in bookings use the same panel.
Path 3 — Staff and teams
Goal: Each person is bookable with their own hours.
- Staff — users and Shop staff role
- Appointable product — assign staff; customer picks vs auto
- Availability rules — staff-specific hours
- Google Calendar (optional) — staff calendars
- Roles & capabilities (optional)
Path 4 — Optional features (add when you need them)
Goal: Turn on advanced behavior only after Path 1 works. See Which feature do I need? for packages vs subscription credits.
- Google Calendar busy times — Google Calendar
- Class packs or series — Recurring packages
- Subscription credits — Membership credits
- Extra form fields — Add-ons
- Form on a landing page — Blocks · Shortcodes
- Slow slot loading — Indexing
- Custom app or API — Developers (full API reference)
Path 5 — What your customers see
Goal: Smooth booking and self-service.
- Customer booking process — book, cart hold, My Account → Appointments
- Recurring packages — View series and balance pay
- ICS via email — calendar file on confirmation email
Customize code or design? See Developers and Customization recipes (license required).
Frequently asked questions
How do I add appointment booking to WooCommerce?
Install the plugin, set site settings, create an Appointable product, add availability rules, and place a test booking. Full steps: Path 1.
How do availability rules work?
Nothing is bookable until a Yes rule opens time. Rules stack at global, product, and staff levels — last match wins (not “AND”). See Availability rules and Mon–Fri 9–5 examples.
Can I sync with Google Calendar?
Yes — one-way or two-way sync with Continue with Google. See Google Calendar sync.
Is there a REST API?
Yes — v2 at /wp-json/wc-appointments/v2/. See Developers for scope; full reference requires developer login.
Can customers book class packs or recurring series?
Yes — 5.4+ Recurring appointment packages support prepaid and pay-first models. Membership credits work with WooCommerce Subscriptions.