A booking reserves a date and time. Its linked WooCommerce order handles the purchase and payment. The two records have separate statuses, so a Confirmed booking can still have an order awaiting payment, and a Completed order can belong to a booking that has not happened yet.
- Booking: Tracks the date, time, persons, resource, reservation status, and attendance. Find it under Bookings > All Bookings.
- Order: Tracks purchased items, totals, payment method, and order status. Find it under WooCommerce > Orders.
Customer checkout creates and links the order automatically. You do not need to create a second order for that reservation. When you add a booking manually, you can create an order, use an existing order, or leave the booking without an order.
Find the order for a booking
↑ Back to topGo to Bookings > All Bookings and select the order number in the Order column. You can also open the booking and follow the linked order number under Booking details.
If there is no linked order, check whether the booking was created manually without one or is still in the cart. The Checkout block can create a draft order before checkout is submitted, so an In Cart booking does not prove that the customer placed an order.
Find the booking for an order
↑ Back to topGo to WooCommerce > Orders and open the order. Find the bookable product in the items table, then select View booking beneath its booking details. An order can contain several bookings; check the booking number and dates for the relevant item.
Before changing either record, compare the linked booking and order numbers, dates, totals, and statuses. A status change does not collect money or issue a refund by itself. Verify payment with the payment provider, especially when a status was changed manually.
Booking statuses
↑ Back to top| Booking status | Meaning |
|---|---|
| In Cart | A temporary reservation holds availability while the customer shops. |
| Was In Cart | The booking was removed from the cart and no longer holds availability. |
| Unpaid | The booking exists, but has not been marked paid. This can follow checkout or manual creation with an order. |
| Pending Confirmation | The booking needs your approval before the customer can pay. |
| Confirmed | You approved the reservation. This status does not mean payment was received. |
| Paid | The booking has been marked paid, normally through its linked order. Check the payment record if you need to verify funds. |
| Complete | The scheduled completion task has run after the booking end time. This does not prove payment or attendance. |
| Cancelled | The reservation is cancelled and no longer holds availability. |
In Cart, Unpaid, Pending Confirmation, Confirmed, Paid, and Complete count toward availability for their reserved dates. Cancelling releases that reservation. See In Cart Bookings for temporary reservation expiry; do not assume every submitted unpaid order follows cart cleanup rules.
Booking checkout flows
↑ Back to topThe product’s confirmation setting determines whether customers pay at checkout or request approval first.
No confirmation required
↑ Back to top- The customer chooses a date and time and adds the booking to the cart. The booking holds availability with the In Cart status.
- The customer submits checkout using an available payment method. WooCommerce links the booking to the order. An order awaiting payment normally has an Unpaid booking.
- When the order becomes Processing or Completed, an eligible unpaid or confirmed booking becomes Paid. Cash on Delivery orders entering Processing are an exception: this transition does not mark the booking paid.
Confirmation required
↑ Back to topWhen the product requires confirmation, approval comes before payment:
- Checkout offers the Bookings confirmation method instead of the normal payment methods. Its default title is Check booking availability; the title can be customized. The customer selects Request Confirmation.
- WooCommerce creates an order with the Pending payment status and a booking with the Pending Confirmation status. No payment is collected at this step.
- You review the request and confirm or cancel the booking. Confirming changes the booking to Confirmed, while the unpaid order stays Pending payment.
- If the Booking Confirmed email is enabled and the customer has an email address, it includes a payment link for the pending-payment order. After successful payment updates the order, the booking becomes Paid.
If the customer cannot pay, check that the booking is confirmed and that you are using its linked order. A pending-confirmation booking blocks payment. If you cancel a booking, check the order separately, especially when it contains other items.
Why an order is Processing or Completed
↑ Back to topAn order’s Completed status describes fulfillment, not whether the booked appointment has ended. With the standard payment flow:
- An order containing only virtual bookable products can become Completed automatically after payment.
- A virtual booking combined with other virtual, downloadable products can also complete automatically.
- A non-virtual booking, a physical product, or another item that requires processing normally leaves the order Processing.
Payment methods and extensions can affect order statuses. Review every item in a mixed order before marking it Completed. You can use Order Status Manager if you need additional order-status controls.
Booking reminders and completion
↑ Back to topConfirmed and paid bookings schedule completion for the booking end time. The status changes to Complete when the scheduled task runs, so the change may not happen at the exact end time. Attendance is tracked separately.
Reminder emails are normally scheduled for one day before the booking starts. However, a confirmed booking whose linked order is still Pending payment or On hold does not get that reminder scheduled through the normal confirmation flow. Cancelled or refunded orders also prevent that scheduling. Check both records and the email settings when investigating a missing reminder.
How order changes affect bookings
↑ Back to topThese are the standard links between order changes and booking statuses. Review the affected bookings before changing an order, because one order can contain several reservations.
| Order change | Effect on linked bookings |
|---|---|
| To Processing or Completed | In Cart, Unpaid, or Confirmed bookings normally become Paid. A Cash on Delivery order entering Processing does not mark them paid. |
| From Processing or Completed to Pending payment | Linked bookings become Unpaid. |
| To Cancelled or Refunded | Unpaid, Pending Confirmation, Confirmed, and Paid bookings become Cancelled. Complete bookings are left unchanged. |
| To Failed | Linked bookings outside the trash return to In Cart. A follow-up check is scheduled for one hour later by default. |
| Still Failed when the follow-up check runs | Bookings still linked to that failed order, and outside the trash, become Cancelled. |
A partial refund can also cancel the booking attached to a refunded line item when a refunded quantity is recorded. Check the booking after processing a refund.
Changes from a booking back to its order are more limited. For a single-item order, marking the booking Paid can move the order to Processing, marking it Unpaid can move the order to Pending payment, and cancelling it can cancel the order. Marking a booking Paid does not move an already Completed order back to Processing; cancelling does not replace Refunded; marking it Unpaid does not replace Failed. For orders with several items, changing one booking does not normally rewrite the whole order status; a bookings-only order can be cancelled when all its bookings are cancelled.
Cancel unpaid booking orders with AutomateWoo
↑ Back to topAn approved but unpaid booking can continue to hold its time slot. Bookings protects confirmation orders from WooCommerce’s normal unpaid-order cancellation. If you want a time limit, AutomateWoo can cancel matching pending-payment orders after a delay.
Choose the cancellation deadline carefully
This workflow starts its timer when the order enters Pending payment, which can be before you confirm the booking. It can cancel requests still awaiting your approval. It changes the whole order to Cancelled and cancels its linked active bookings, so use it only when a deadline measured from the order entering Pending payment matches your policy.
- Set the trigger to Order Pending Payment.
- Keep Recheck status before run enabled so an order that is no longer pending payment does not run the cancellation action.
- Add an Order – Payment Gateway rule that matches your confirmation method. Select its configured title, which defaults to Check booking availability.
- Add an Order – Change Status action with the status Cancelled.
- Set the timing to Delayed and choose the waiting period. Leave rule revalidation enabled. Test with a fictional booking order before enabling the workflow for customers.
After the test delay, verify that the unpaid order and its linked active booking are Cancelled and the time slot is available again. Also test an order paid before the delay expires: it should retain its paid status and its booking should remain active. If either test fails, leave the workflow disabled and review the trigger, gateway rule, and status recheck before trying again.
Questions and support
↑ Back to topSomething missing from this documentation? Still have questions and need assistance?
- If you have a question about a specific extension or theme you’d like to purchase, contact us to get answers.
- If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.