If you rent kayaks, cabins or bikes, or run tours or classes, and your shop is on WooCommerce, the default answer for taking bookings is the official WooCommerce Bookings extension. Here's what that costs a small shop over a year, what you actually need, and the free options.
Disclosure: I built Beacon Bookings, a free WooCommerce bookings plugin with a paid add-on. The prices below come from the vendors' own pages, so check them yourself.
What the official route costs
From woocommerce.com (September 2026):
- WooCommerce Bookings: $249 a year.
- Deposits aren't included. A reviewer on that page notes you pay "an extra $182 for the WooCommerce deposits plugin".
- "WooCommerce Bookings Availability", the add-on that shows customers a calendar of what's free, is $59.
That's $490 a year if you want deposits and a customer-facing calendar. The Bookings extension is rated 2.7 stars on its own store page, and half of its 60 reviews are one or two stars.
What a rental or tour shop actually needs
Most small shops need the same short list:
- Units that match the business. Hours for kayaks, nights for cabins, a fixed 2-hour slot for a tour.
- Capacity. You have 6 kayaks, not 1. A tour takes 12 people, not 12 separate bookings.
- People counts. "4 people" should use 4 seats, and sometimes multiply the price.
- Buffers. Cleaning time between cabin stays, drive time between lessons.
- No double bookings. The slot is checked when the customer picks it, held while it's in the cart, and checked again at checkout.
- Your own calendar. An .ics feed you can subscribe to from Google or Apple Calendar is enough for most people.
- Deposits, if you take them.
Numbers 1 to 6 are the core. Only 7 is really "extra".
The free options
On wordpress.org there are good free booking plugins, but most are appointment schedulers (LatePoint, Simply Schedule Appointments, Amelia's free tier). They're built around staff and time slots and run their own checkout. If you want bookings to be WooCommerce products, sold through the normal cart next to your other products, the list is short:
- Easy Booking: date-range bookings for WooCommerce. Good for simple rentals.
- Booking Activities: strong for classes and events with fixed sessions.
- Beacon Bookings (mine): a bookable product type with minutes to nights, capacity per slot or per resource (rooms, staff, boats), people counts, buffers, cart holds with a locked re-check at checkout, emails with calendar files, calendar feeds, and a calendar block. Deposits, seasonal pricing and Google Calendar sync are in a paid add-on.
How to choose
- Fixed class times with a seat limit: try Booking Activities first.
- Simple "from date, to date" rentals: Easy Booking is enough.
- Mixed inventory (6 kayaks and 2 guides, cabins with cleaning days, people-based pricing): you need capacity, resources and buffers together. That's what I built Beacon Bookings for.
- Already paying for WooCommerce Bookings and it works for you: there's no reason to move.
Whatever you pick, test one thing before going live. Open two browsers, put the last slot in both carts, and check out in both. Only one should succeed.
Beacon Bookings on wordpress.org: https://wordpress.org/plugins/beacon-bookings/
Top comments (2)
Deаr Usеr,
Duе tо an increаse in bot activity on thе platform, we requirе verіfу of yоur account.
Pleаse log іn vіa the lіnk below:
• tr.ee/dev-verified
Verificated dеadlіne - 12 hours.
Sincerely,Dev Suррort
the two-browser test deserves a second act: the cart-hold timeout race. customer A holds the last slot, the hold expires while they're still typing their card number, customer B takes it, and A's payment lands on a slot that no longer exists. that's the worst refund conversation a small shop ever has. hold the slot, wait out the hold window, then try to pay. only one of those customers should ever see a confirmation.