How to sell service packages on a WordPress booking site
A normal WordPress product can collect payment for a service bundle, but it will not automatically track remaining sessions or apply package credits to future bookings. For that workflow, use a booking plugin or addon with package creation, customer redemption, expiry and usage tracking.
- 01Define the package rules
- 02Create the services first
- 03Choose the manual route if it is small
- 04Create the package in your system
- 05Publish and test the customer flow
- 06Use the fast package-addon route
What you need
- A WordPress booking system with customer accounts or a WooCommerce store
- At least two bookable services already configured
- Admin access to WordPress
- A payment gateway tested in sandbox or test mode
Define the package rules
Decide exactly what the customer is buying before you create anything. Specify the included services, number of appointments, package price, expiry period, whether sessions can be shared, and whether the customer chooses dates at checkout or books each session later.
Keep the wording visible on the sales page. A package that says “five appointments” is ambiguous if customers can use those appointments across different services, staff members or locations.
Create the services first
Set up each service as a normal bookable service before building the package. Check its duration, staff assignment, availability, buffer time, location and capacity. Package systems generally select from existing services rather than creating independent services inside the package.
Book one test appointment for every included service. If a service has no usable availability on its own, adding it to a package will not fix the underlying schedule.
Choose the manual route if it is small
For a small offer, create a normal WooCommerce product or payment item called something such as “Five coaching sessions”. After payment, send the customer instructions for booking and record the number of sessions in a customer note, spreadsheet or CRM.
This route is acceptable when sales are infrequent and one person can check every booking. Its drawback is important: WordPress will not automatically deduct credits, prevent over-redemption, enforce expiry or connect a later appointment to the original purchase. A Friday booking can therefore be accepted even when the customer has already used the package unless you check it manually.
Create the package in your system
If your booking system supports packages, open its package management area and create a new package. Add a name, description, price, expiry or duration rule and any per-customer limit. Then add either individual services with separate appointment allowances or a service group with a shared allowance, depending on how customers should redeem the package.
For example, add “Massage” with five appointments when all five credits must be used for massage. Use a service group when customers should be able to spend the total allowance across several services.
Publish and test the customer flow
Put the package purchase form on a public page and add that page to your navigation. Check the complete path in a separate customer account: register or sign in, purchase the package, receive the confirmation email, open the normal booking form, select an eligible service and redeem one package appointment. Some systems provide a package shortcode or automatically create a package page.
Test the edge cases before advertising it: the last remaining credit, an expired package, a cancelled appointment, a failed payment and an attempt to book a service that is not included. Do not assume a cancelled booking restores a credit until you verify the setting or order workflow.
Use the fast package-addon route
The quickest route is BookingPress Service Package Addon if BookingPress already powers your appointments. Activate the addon, go to BookingPress > Package, select Add New, add the existing services or a service group, set the package price and limits, and publish the package booking form. Customers can then purchase the package and apply it when booking eligible appointments.
Before committing to this setup, check its constraints against your offer. The documentation says package appointments do not support custom-duration services, waiting slots, deposits or recurring appointments, and on-site payment gateways do not work for package purchases. Package orders can be reviewed and managed from the package order area.
Let BookingPress Service Package Addon do it
Bundles multiple bookable services at a custom price, ideal when customers need to purchase several services in one transaction.
Sources
- bookingpressplugin.com /documents/service-package/?utm_source=openai
Questions
- Can WooCommerce sell a package of appointments by itself?
- WooCommerce can sell a product and take payment, but it does not by itself know how many future appointments a customer has left. You need a booking extension or separate tracking process to connect the purchase with appointments, deduct credits and enforce expiry. A normal product is suitable only when you are prepared to manage redemption manually.
- Should customers choose all package dates during checkout?
- Not always. Let customers choose dates during checkout when the sessions must occur together or availability must be reserved immediately. Let them buy first and book later when the package represents repeat visits, because customers may not know their future dates. Confirm that your booking system supports the timing you want before publishing the offer.
- Can one package include different services?
- Yes, if your booking system supports service groups or bundled services. You can make every credit apply to one service, or let a shared allowance apply across several eligible services. State the rule clearly, because “five sessions” could otherwise mean five uses of one service or five uses spread across the whole group.
- What happens when a customer cancels a package appointment?
- The result depends on the booking system’s cancellation and credit rules. Some systems return the package credit when a cancellation is made within the allowed window, while others leave the appointment consumed or require an administrator to restore it. Test this with a customer account before launch and explain the cancellation deadline in your package terms.
- Can service packages use deposits or recurring bookings?
- Only if the package feature explicitly supports them. Package workflows often use a separate payment and redemption process, so deposits, recurring appointments, custom durations and some payment methods may be unavailable. For example, the BookingPress Service Package documentation lists deposits and recurring appointments among unsupported package features.