Treatment packages let clients buy a bundle of sessions upfront. They pay once via Stripe and redeem one session per booking, with sessions and expiry tracked automatically.

Pricing modes

When creating a package you choose one of two pricing modes:

  • Discount % (default) — Set a percentage discount (e.g. 10%). When a client buys the package, they choose which service it applies to. The total price is calculated from the service price multiplied by the number of sessions, with the discount applied. That service and per-session price are then locked to their package.
  • Fixed price — Set a single total price for the bundle. The package can be used for any service.

Creating a package

Go to Settings → Payments and scroll to Treatment packages. Click + New package and fill in:

  • Package name — e.g. "5-Session Bundle"
  • Description (optional) — shown to clients in their portal
  • Number of sessions — how many bookings the package covers
  • Pricing mode — Discount % or Fixed price
  • Discount % or Total price — depending on mode
  • Valid for (days) (optional) — leave blank for no expiry

Click Create package. A Stripe Product is created automatically on your connected account.

How clients buy a package

Clients can purchase a package from their client portal under Treatment packages. They click Buy and — for discount % packages — choose which service to apply it to. Services are shown grouped by type with the original price crossed out and the discounted total price highlighted. After selecting a service they pay by card via Stripe and sessions are available immediately.

How sessions are redeemed at booking

When a client with an active package books an appointment, the booking page automatically detects their package and offers to use one session. If they also have a membership credit, they'll be shown a choice: use a package session, use a membership credit, or pay normally.

The booking summary shows 1 package session throughout all steps, and confirmation emails reflect this.

For discount % packages, the session will only be offered for the service the client chose when they purchased the package.

Viewing package usage

On the Treatment packages screen in Settings, expand any package to see which clients have purchased it, how many sessions they've used, and whether their package has expired. Client names are clickable and link to their client record.

Clients can see their package status in their portal — sessions remaining, purchase date, and expiry date if applicable.

Selling a package in person (charge saved card)

If a client is with you and has a saved card on file, you can charge them immediately. On the client's detail page, scroll to Treatment packages and click Charge card. Select the package (and service if required), review the amount and card, then confirm. The card is charged via Stripe and the package is granted instantly.

If the client doesn't have a saved card, click Copy payment link to copy a link to their client portal — they can purchase the package there at their convenience.

Granting a package manually (offline sales)

If a client pays by cash or bank transfer outside of MassageHub, you can record the sale manually. On the client's detail page, scroll to Treatment packages and click + Grant package. Choose the package template and enter the amount charged — no Stripe payment is needed. The sessions are added immediately and appear in the client's portal.

Linking a package to a recurring appointment

When creating or editing an appointment for a client who has an active package, a Package dropdown appears in the appointment form. Select the package to link that appointment to it. This does not deduct a credit immediately — credits are deducted when the appointment is marked complete.

Credit deduction on completion

When you mark an appointment as complete, one credit is deducted from the linked package automatically. If the appointment has no package linked but the client has active credits, you'll be prompted: you can link the package and complete in one step, or complete without deducting a credit.

Seeing credits remaining

The remaining session count is shown:

  • On the calendar tile — "X sessions left" appears on the appointment block so you can answer the question at a glance. The badge turns amber when 2 or fewer sessions remain.
  • In the appointment detail panel — the package name and sessions remaining are shown when you tap the appointment.
  • On the client detail page — the full history of sessions used and remaining is shown under Treatment packages.
  • In the client portal — clients can see their package status and sessions remaining at any time.

Archiving a package

Click Archive to stop new clients buying a package. Clients who already purchased it can still use their remaining sessions.