Skip to content

Service Packages

A service package is prepaid credit: the customer buys a number of sessions up front, then books against that balance instead of paying each time. "Buy 10 massages, use them within 6 months." "20-class gym pass." "Unlimited yoga for 3 months."

Packages are the single prepaid-balance system across the whole product. They work for regular services and for courses, they are what loyalty rewards and stamp cards issue when a customer wins a free session, and they plug straight into the booking flow — a session is deducted the moment a booking is made, and returned if it is cancelled.

Navigation Path:
Booking TypesPackages


1. Why Run Packages

  • Cash up front — revenue today for service delivered later.
  • Commitment — a customer with 8 sessions left comes back 8 times.
  • Higher average value — bundle pricing beats single-session pricing.
  • Less admin — no cash at the counter, no paper punch card, no spreadsheet of who has what left.

2. Building a Package

Setting What it does
Name, description, image How it appears in the customer's LINE app
Price The list price
Discount An optional percentage or fixed discount — the selling price is calculated for you and shown to the customer as a saving
Total sessions How many visits it is worth
Valid for (days) How long the customer has to use it — the expiry date is set automatically at purchase
Which services it covers One service, or several (see below)
Enable payments Whether it is sold online or issued by staff only
Status Active or inactive — retire a package without deleting its history

3. Single-Service, Multi-Service and Unlimited

  • Single service — the classic: 10 sessions of one treatment, or one course.
  • Multi-service, per-service allocation — one package holding a set number of sessions for each service, e.g. "5 massages + 3 facials". Each service draws on its own allocation.
  • Unlimited — a pass with no session count, limited only by its validity period. This is how you sell a monthly membership.

Note

A shared pool of sessions usable across several services is also available, but it is switched on per account rather than enabled by default. Contact support if you want it for your business.


4. How a Customer Gets a Package

Four routes, all producing the same kind of balance:

Route How it works
Buys it in LINE Browses packages in your booking app, picks one and pays
Staff assigns it An admin issues a package directly, with an optional note, a custom expiry date and a recorded reason
Loyalty reward The customer redeems points for a package from the rewards catalogue
Stamp card reward A completed stamp card issues a free single-session package

Every package records where it came from, so your reporting can tell paid volume from issued volume.

Paying for it — online purchases support your full payment line-up, each individually switchable: bank transfer with slip upload, pay at shop, PromptPay QR, credit card and PromptPay via PaySolution.

Free packages, and packages with payments turned off, activate instantly. Paid packages sit as pending until payment is confirmed — automatically for card and gateway payments, or by staff approving the uploaded slip. Unpaid purchases are cancelled automatically once your account's time limit passes, so your pipeline doesn't fill with abandoned checkouts.

Both the customer and your admin LINE group get a message when a package is purchased or issued.


5. Using a Package to Book

This is where packages earn their keep, and it is invisible to the customer:

  1. The customer picks a service or course and a time, as normal.
  2. The system finds their active package covering that service — they never have to choose one.
  3. The booking is created with nothing to pay, and one session is deducted.
  4. Their remaining balance updates immediately, in the app and in your admin.

When plans change:

  • Cancelled booking — the session is returned to the balance automatically.
  • No-show — recorded as used or returned according to how you handle it, and always logged.
  • Booking moved to a different service — validated against what the package actually covers, rather than silently draining the wrong allocation.

Courses can require a package. Switch on "require a package to book" on a course and it can only be booked by customers holding a balance — the model for gyms and class studios that sell passes rather than single classes. See Courses.


6. The Session Ledger

Every package carries a full history: which booking used which session, for which service, when, and its outcome. Nothing is a bare counter, so you can always answer "how many sessions are left and until when", "which visits used this package", and "why does the balance say 6 and not 7".

The system continuously checks that the counters, the allocations and the ledger agree with each other. If they ever disagree, the package is flagged rather than quietly allowed to over-deliver.

Package status follows the lifecycle automatically: pendingactivecompleted (all sessions used) or expired (past its validity date), with cancelled available for refunds and mistakes.


7. What the Customer Sees in LINE

  • Package store — browse what's available, with the original price, the discount and the saving
  • Package detail — what's included, how many sessions, how long it's valid
  • Buy and pay in a few taps, with slip upload where needed
  • My packages — every package they hold, sessions used and remaining, expiry date, and what they used them on
  • Automatic use at booking — no code to enter, no balance to select
  • Reward packages from stamp cards and loyalty, sitting alongside purchased ones

8. What the Admin Sees

  • Package catalogue — create, edit, price, discount and retire packages; upload images
  • Assign to customer — issue a package directly, with notes, a custom expiry and a reason
  • Purchase history — every package sold or issued, with status and payment method
  • Approve or reject slip-based purchases, and resend a payment link to a customer who didn't finish
  • Per-customer view — every package a customer holds, with sessions used, remaining and expiry
  • Per-course purchase tab — for courses sold on a package model, everyone holding credit for that course
  • Adjust a customer's package when something needs correcting, with the change recorded

9. Built-in Safeguards

Prepaid balances are money owed to the customer, and are treated that way:

  • No double-spending — two devices booking at the same moment can't both take the last session.
  • Prices are calculated by the system from the package record, never taken from the customer's device.
  • A purchase and its payment are written together — a payment failure can't leave a half-created package.
  • Expiry is enforced at booking time, not just displayed.
  • Coverage is enforced — a package can only be used for the services it actually includes.
  • Every issue, use, refund and adjustment is recorded with its source.

Summary Checklist

  • Package name, description and image set.
  • Price and optional discount configured.
  • Total sessions (or unlimited) and validity days set.
  • Covered services or course chosen.
  • Payments enabled if selling online.
  • Status set to Active.