How to offer service packages for appointments on WordPress
WordPress does not include appointment packages or session tracking by itself. You can sell a package manually and track remaining visits in a spreadsheet, but a booking plugin is the practical route when customers must choose dates and use credits themselves.
- 01Define the package rules
- 02Prepare the underlying service
- 03Use the manual route if needed
- 04Create the package offer
- 05Add customer access to bookings
- 06Test payment and session use
- 07Choose the fast way
What you need
- A WordPress site with an appointment booking system or payment method
- Admin access to WordPress
- A defined service, session quantity and expiry period
- A test customer account or email address
Define the package rules
Decide exactly what the customer receives before creating anything: the service included, number of appointments, price, expiry period, staff restrictions and whether sessions must be booked separately. Keep the first package simple, such as six 60-minute consultations valid for 90 days.
Do not describe a recurring subscription as a package. A package normally means a fixed number of prepaid sessions; a subscription charges repeatedly and needs different billing and cancellation rules.
Prepare the underlying service
Create the ordinary appointment service first and check its duration, availability, staff assignment, buffer time and cancellation rules. The package will normally consume one appointment each time the customer schedules a session, so an incorrect service duration can create clashes in the calendar.
Confirm that the booking form shows the correct staff and availability. Make a test booking before selling the package, especially if more than one staff member can provide the service.
Use the manual route if needed
For a small operation, you can sell the package as a normal product or payment item, then record the customer's entitlement in a spreadsheet or customer note. When the customer books, create a standard appointment, reduce the remaining-session count and record the new balance and expiry date.
This route is workable for a handful of customers, but it does not give customers a reliable self-service balance. The common Friday-afternoon failure is forgetting to subtract a rescheduled or cancelled appointment, so define when a session is consumed and reconcile the list against the calendar regularly.
Create the package offer
In a booking system that supports packages, add a package based on the existing simple service. Set its title, price, included appointment quantity and validity period. In Bookly, package quantity means the number of appointments included, while the lifetime is measured in days and begins with the first scheduled appointment. Packages cannot be created from compound or collaborative service types.
Use a clear customer-facing name such as Six consultation sessions. If you offer a discount, show the single-session price and package saving on the sales page so customers understand what they are buying.
Add customer access to bookings
Give customers a way to see and schedule unused sessions. In Bookly, customers can manage package appointments from their user account, and the package list can be displayed on a page using the [bookly-packages-list] shortcode. The customer must be logged in to see purchased packages, expiry dates and scheduling controls.
Check the front-end form before launch. Bookly's newer Search, Services and Staff forms support customer package purchases, while the classic step-by-step form does not support customers booking packages on the front end.
Test payment and session use
Run a complete test with a separate customer account: purchase the package, schedule one appointment, cancel or reschedule it according to your policy, and confirm that the remaining balance and expiry date behave as expected. Also check the confirmation and reminder messages.
Make sure staff know how to identify package appointments in the calendar and what to do when a customer wants to book after expiry. If customers can book only one session at a time, say that clearly; some systems treat a package as a balance of separate appointments rather than one multi-date checkout.
Choose the fast way
For recurring service packages with prepaid sessions, use Bookly Pro Packages Add-on rather than maintaining balances by hand. It adds package services, quantity and validity settings, package management, customer scheduling and package-related notifications to Bookly. The current documentation states that Bookly add-ons require Bookly PRO, so confirm that the core version and booking form you use meet that requirement before installing.
Install the add-on through WordPress, create the package from the Services area, add the package-list page for logged-in customers, then test one purchase and one scheduled session before publishing the offer.
Let Bookly Pro Packages Add-on do it
Bundles multiple appointments with package pricing and usage tracking; choose it when recurring service packages matter.
Sources
- support.booking-wp-plugin.com /hc/en-us/articles/115003045634-Packages-Add-on?utm_source=o…
- bookly.net /faq/get-the-most-out-of-bookly-the-basics/how-do-they-book-…
Questions
- Can WordPress offer appointment packages without a plugin?
- No, WordPress alone does not provide an appointment calendar, checkout flow or package balance. You can combine a payment product, an existing booking form and a spreadsheet, then manually track each customer's remaining sessions. That is acceptable for a small client list, but it becomes error-prone when customers reschedule, packages expire or several staff members update appointments.
- Should a package contain one service or several different services?
- A package should contain one clearly defined service unless your booking system specifically supports mixed-service packages. Many package tools treat the package as a quantity of the same underlying service. If customers need different treatments, check whether the system supports carts, compound services or multiple package types instead of assuming one package can combine them.
- How should unused appointment sessions expire?
- Set an expiry period when you create the package and publish the rule beside the price. Decide whether the period starts at purchase or at the first scheduled appointment, and apply the same rule to cancellations and no-shows. In Bookly, the package lifetime starts from the first scheduled appointment, so explain that detail before customers buy.
- Can customers choose all package dates at checkout?
- Not always. Some systems sell the package first and let the customer schedule each appointment later from an account page. Bookly's package workflow lets customers schedule package appointments through their account, while its newer booking forms support package purchases and the classic form does not support front-end package booking. Check your exact form before advertising multiple dates in one checkout.
- Do I need a subscription plugin for service packages?
- No, not for a fixed prepaid package. A package is usually a set number of sessions purchased once, while a subscription repeats payment on a schedule. Use a subscription only when you intend to bill customers repeatedly; it will not automatically provide appointment credits unless the booking system supports that connection.