WordPress + WooCommerce Plugin

Appointment WooCommerce Plugin Documentation

This documentation explains how to install, configure and use the Appointment WooCommerce Plugin to sell appointment-based services directly through WooCommerce.

Checkout Booking

Customers can select an available date and time directly during WooCommerce checkout.

Smart Availability

Define working days, working hours, breaks and unavailable periods from the admin panel.

Auto Confirmation

The plugin waits for payment confirmation before permanently confirming the booking.

1. Overview

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:

2. Main Features

3. Installation

  1. Upload the plugin folder to your WordPress plugins directory.
  2. Go to WordPress Admin → Plugins.
  3. Activate Appointment WooCommerce.
  4. Go to Appointments → Settings.
/wp-content/plugins/appointment-woocommerce/

4. Enable Booking on a Product

To show the booking calendar at checkout, the product must be marked as an appointment product.

  1. Go to Products.
  2. Edit the product.
  3. Enable the appointment option.
  4. Update the product.

The plugin uses the product meta key:

_aw_enable = 1
The booking calendar will only appear at checkout when the cart contains at least one appointment-enabled product.

5. General Settings

Go to:

Appointments → Settings → General

In this section you can configure:

Slot Duration

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.

Checkout Position

You can display the calendar in different checkout areas:

6. Schedule Settings

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.

7. Breaks

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

8. Text Customization

Go to:

Appointments → Settings → Texts

You can customize the text shown to customers during checkout.

This makes the plugin easy to translate and adapt to different languages.

9. Style Settings

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.

10. How the Booking Flow Works

  1. Customer adds an appointment product to the cart.
  2. Customer goes to checkout.
  3. The booking calendar appears.
  4. Customer selects a date and time.
  5. Customer places the order.
  6. The booking is saved as pending.
  7. The plugin waits for payment/order confirmation.
  8. If the order is paid, the booking is confirmed.
  9. If the order fails or is cancelled, the booking is released.

11. Booking Status System

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.

12. Payment Waiting System

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
Cancelled bookings release the time slot, allowing another customer to book it.

13. Bookings Admin Page

Go to:

Appointments → Bookings

The bookings page displays:

14. Developer Information

Order Meta Keys

aw_date
aw_time
aw_booking_status

Product Meta Key

_aw_enable

Custom Slots Endpoint

/?aw_get_slots=1

Main WooCommerce Hooks

woocommerce_checkout_process
woocommerce_checkout_create_order
woocommerce_checkout_order_processed

WordPress Cron Hook

aw_check_pending_booking

15. Troubleshooting

The calendar does not appear

No time slots are available

Booking is not confirmed immediately

This is expected behavior. The plugin waits for the order/payment status before confirming the appointment.

Automatic cancellation did not run

The plugin uses WordPress Cron. WordPress Cron depends on website visits. On low-traffic websites, scheduled tasks may run later than expected.

16. Future Improvements

17. Support

For support, installation help or custom development, please contact the plugin developer.

Developer: Hedomi
Plugin: Appointment WooCommerce Plugin