This documentation explains how to install, configure and use the Appointment WooCommerce Plugin to sell appointment-based services directly through WooCommerce.
Customers can select an available date and time directly during WooCommerce checkout.
Define working days, working hours, breaks and unavailable periods from the admin panel.
The plugin waits for payment confirmation before permanently confirming the booking.
The Appointment WooCommerce Plugin allows store owners to sell services that require date and time scheduling. It integrates directly with WooCommerce, so customers can book an appointment while completing their order.
The plugin can be used for:
/wp-content/plugins/appointment-woocommerce/
To show the booking calendar at checkout, the product must be marked as an appointment product.
The plugin uses the product meta key:
_aw_enable = 1
Go to:
Appointments → Settings → General
In this section you can configure:
Defines the length of each available appointment slot. Example: if the working time is from 09:00 to 12:00 and the slot duration is 60 minutes, the available times will be 09:00, 10:00 and 11:00.
You can display the calendar in different checkout areas:
Go to:
Appointments → Settings → Schedule
Here you can configure availability for each day of the week.
Closed days will not be available in the calendar.
Go to:
Appointments → Settings → Breaks
Breaks allow you to block periods inside a working day.
Example:
| Working Hours | Break | Available Slots |
|---|---|---|
| 09:00 - 17:00 | 12:00 - 13:00 | All slots except 12:00 - 13:00 |
Go to:
Appointments → Settings → Texts
You can customize the text shown to customers during checkout.
Go to:
Appointments → Settings → Styles
You can customize the visual appearance of the booking area.
These settings allow the booking calendar to match the design of your website.
The plugin uses a dedicated booking status to control availability.
aw_booking_status
| Status | Meaning |
|---|---|
pending |
The time slot is temporarily reserved. |
confirmed |
The payment/order was confirmed and the booking is active. |
cancelled |
The booking was cancelled and the time slot is available again. |
When an order is created, the appointment is not immediately confirmed. The plugin first saves it as:
pending
Then the plugin schedules an automatic check using WordPress Cron.
aw_check_pending_booking
After approximately 2 hours, the plugin checks the WooCommerce order status.
| WooCommerce Order Status | Booking Result |
|---|---|
| Processing | Booking confirmed |
| Completed | Booking confirmed |
| Pending payment | Booking cancelled |
| Failed | Booking cancelled |
| Cancelled | Booking cancelled |
| Refunded | Booking cancelled |
Go to:
Appointments → Bookings
The bookings page displays:
aw_date
aw_time
aw_booking_status
_aw_enable
/?aw_get_slots=1
woocommerce_checkout_process
woocommerce_checkout_create_order
woocommerce_checkout_order_processed
aw_check_pending_booking
This is expected behavior. The plugin waits for the order/payment status before confirming the appointment.
The plugin uses WordPress Cron. WordPress Cron depends on website visits. On low-traffic websites, scheduled tasks may run later than expected.
For support, installation help or custom development, please contact the plugin developer.
Developer: Hedomi
Plugin: Appointment WooCommerce Plugin