Managing Bookings
The Bookings tab is where the day's work happens. Open Webkul WC Addons → Booking Management System → Bookings.

The tab has two sub-tabs: Bookings (this page) and Logs and Tools (see Logs and Tools).
What each column tells you
| Column | Meaning |
|---|---|
| ID | The booking's own reference, #N |
| Order | The WooCommerce order it came from, or - for a booking you created by hand |
| Order Status | The order's status, plus any warning flags — see below |
| Product | The bookable product's ID |
| Customer | The customer's user ID, or - for a guest |
| Type | The booking type used, e.g. multiple nights |
| Start / End | The booked window, date on top and time below, in UTC |
| Total | The booking total and currency |
| Payment | Paid in full, or a Now / Later split when a deposit or instalment rule applied |
| Status | The booking status, as a dropdown you can change in place |
| Actions | Edit, Send reminder, and any request awaiting your decision |
The warning flags
Small coloured notes can appear under the order status:
| Flag | What it means | What to do |
|---|---|---|
| Quote request | The booking came in through quote mode rather than a normal checkout | Price it and follow up with the customer |
| Booking/Order mismatch | The booking status and the WooCommerce order status disagree | Open Edit and bring the two back in line |
| Refund request pending | A refund has been asked for and not processed | Refund in WooCommerce, then use Mark refunded |
Filtering the list

| Filter | Options |
|---|---|
| Status | All statuses, pending, confirmed, processing, completed, cancelled, refunded, expired |
| Product ID | A single bookable product's ID; blank means all products |
| Action Queue | All, Quote Requests, Refund Pending, Reschedule Pending |
Tips
Action Queue → Reschedule Pending is the fastest way to find every customer waiting on an answer. Work through it once a day and nobody is left hanging.
Use Rows per page and the pager to move through long lists. The default page size comes from the Items Per Page screen option at the top right of the screen.
Booking statuses
There are seven statuses, and they may only move along a fixed path.
| Status | Meaning | Can move to |
|---|---|---|
| pending | Taken but not yet accepted | confirmed, cancelled, expired |
| confirmed | Accepted and holding the slot | processing, cancelled, refunded |
| processing | In progress — the guest has arrived, the hire is out | completed, cancelled, refunded |
| completed | Finished | refunded |
| cancelled | Called off | — |
| refunded | Money returned | — |
| expired | Never confirmed in time | — |
Pending, confirmed and processing all hold the slot: while a booking is in one of those statuses, nobody else can book that window. Cancelled, expired, completed and refunded release it.
Important
You cannot jump straight from pending to completed, and cancelled, refunded and expired are final. If a status change is refused, move through the intermediate status first.
Changing one booking's status
Pick a new value in the row's Status dropdown. A confirmation appears — Booking #N updated to confirmed — and the list reloads.
Changing several at once
- Tick the rows you want, or the header checkbox to select the whole page.
- Choose a value in Bulk action → Change status to…
- Click Apply.
The count beside the dropdown tells you how many rows are selected. When it finishes you get N bookings updated to …
Creating a booking by hand
Use this for a phone or walk-in reservation that never went through the storefront.
- Click Create Manual Booking.
- Fill the form.

| Field | Notes |
|---|---|
| Product ID | Required. Type it, or use the search box below to find a bookable product by name or SKU and click the result |
| Customer ID | The WordPress user ID. Leave 0 for a walk-in with no account |
| Booking Type | Pre-filled from the product you picked |
| Start (UTC) / End (UTC) | Required. Both are entered in UTC, not your local time |
| Quantity | How many of the product |
| Person count | How many guests |
| Base rate | The nightly / hourly / daily rate to price from |
| Currency | The currency code |
| Status | Usually confirmed for a booking you have already agreed |
- Click Create Booking. You get Booking created #N and the row appears at the top of the list.
Warning
Start and end times are UTC. If your store runs on a different timezone, convert before you type — a 2 pm check-in in a UTC+5:30 store is 08:30 UTC.
If you leave out the product, the start or the end you get "Product ID, start time, and end time are required."
Editing a booking
Click Edit on any row. The edit panel opens underneath the list and scrolls itself into view.
| Field | Notes |
|---|---|
| Order ID | Link the booking to a different WooCommerce order |
| Order Status | Do not change (the default), Pending payment, Confirm order (Processing), On hold, Completed, Cancelled, Refunded, Failed |
| Product ID | With the same search box as the create form |
| Customer ID | Move the booking to another customer |
| Start (UTC) / End (UTC) | Move the booking window |
| Quantity, Person count | Adjust the size of the booking |
| Total amount, Currency | Correct the price |
| Status | The booking status |
Save Booking confirms with Booking #N updated, and both the list and the dashboard calendar refresh. Cancel closes the panel without saving.
Tips
Order Status is the fastest way to fix a Booking/Order mismatch: set the booking status you want, pick the matching order status, and save once.
Sending a reminder
- At the top of the tab, choose a Reminder type: Before start, After start, Before end, After end or Balance due.
- Click Send reminder on the booking's row.
You get Reminder sent for booking #N, and the row then lists which reminder types have already gone out, with their timestamps — so you can see at a glance whether the customer has been chased.
Reminders need a customer email on the booking. Without one you get "No customer email found for this booking."
Automatic reminders are configured separately — see Notifications and Reminders.
Answering a reschedule request
When a customer asks to move a booking from their account, the row shows:
Reschedule requested: 2026-09-14 14:00 → 2026-09-21 14:00
with Approve and Reject buttons.
- Approve moves the booking to the requested window and tells the customer it was approved.
- Reject leaves the booking where it is and marks the request rejected.
Either way the customer sees the outcome on their My Bookings page.
Handling a refund request
A booking flagged Refund request pending gains a Mark refunded action, which sets the booking status to refunded.
Important
Mark refunded only changes the booking status. Issue the actual money back through the WooCommerce order first, then mark the booking, so your accounts and your booking list agree.
Exporting to CSV
Export CSV downloads exactly the rows currently shown by your filters, as wcbrs-bookings-<product>-<status>.csv. The file contains the booking ID, order ID, product ID, customer ID, booking type, start and end, quantity, person count, base and total amount, currency, status, source and the created and updated timestamps.
Use it for a monthly occupancy report, a hand-over sheet for the front desk, or a reconciliation against your accounts.
Where bookings come from
| Source | Created when |
|---|---|
| Storefront checkout | A customer books on the product page and completes checkout |
| Manual | You use Create Manual Booking |
| Migration | You import records from the WooCommerce Bookings extension — see Logs and Tools |
Bookings made at checkout are kept in step with their order: the booking is created or refreshed when the order is placed, when the customer reaches the thank-you page, when payment completes, and whenever the order status changes.
Next step
- Logs and Tools — sync logs, migration and maintenance.
- Notifications and Reminders — automate the reminders.
- My Bookings — what the customer sees.
