Keep bookings and session credits aligned.
First checks
- Separate value from dates
A six-session package is not six appointments until the customer actually books them.
- Define eligibility
Name which services, classes, staff, locations, customers, and dates may use the entitlement.
- Use a real ledger
Issue, hold, redeem, restore, expire, void, and transfer are different balance events.
- Reconcile changes
Cancellations, refunds, pauses, renewals, and failed checkout must leave an explainable result.
What happens to a held credit when the booking changes?
Start with issued, redeemed, and currently held credits. Apply one explicit outcome to the affected hold. The result shows the spendable balance before and after without pretending to decide the business's cancellation policy.
Return value to the balance
Release 1 held credit back to the customer's spendable balance and preserve the reason in the ledger.
- Spendable before
- 3
- Held after
- 0
- Spendable after
- 4
- Restored
- 1
This planning aid does not charge or refund money, change a real customer balance, decide policy fairness or legality, send messages, or prove product behavior.
The customer balance must explain ownership, eligibility, and history.
Two customers can both show three sessions remaining while having completely different rights. One package may expire next week, another may roll over, a membership may renew monthly, and one credit may already be held by an unfinished checkout. A single editable number cannot explain those differences.
Reliable entitlement = ownership record + eligibility rules + hold/redemption ledger + explicit change outcomes
A customer owns six credits, has used two, and has one held for an upcoming appointment. Three are immediately spendable. If that appointment is cancelled, the business must explicitly restore, forfeit, or review the held credit.
Follow the complete value-and-booking workflow
A package or membership gives a customer value they may use later. It does not reserve a date by itself. Safe booking software keeps the entitlement, each scheduled appointment or class, the money record, and every balance change connected without treating them as one record.
Know who owns the value, what it can book, and where every credit went.
- Define what the customer owns
Record whether the purchase creates fixed session credits, time-limited access, a recurring allowance, unlimited eligibility, or another clearly named entitlement.
- Attach eligibility rules
Name allowed services or classes, quantities, locations, staff, customer or household ownership, valid dates, booking windows, and any transfer rule.
- Issue value from a traceable event
Connect every credit or access period to a purchase, staff grant, migration, promotion, rollover, or approved adjustment instead of editing a balance without a reason.
- Hold value during booking
Temporarily hold the required credit while checkout or confirmation is incomplete, then release it if the attempt expires or fails.
- Redeem at one explicit point
Choose whether redemption happens at confirmation, appointment start, check-in, or completion and apply that rule consistently across customer and staff paths.
- Reconcile every later change
Cancellation, rescheduling, no-show, expiry, pause, renewal, refund, dispute, and transfer must append a new ledger event rather than erase the earlier one.
Compare the five entitlement models
Fixed prepaid package
Example: six private lessons purchased once and redeemed one session at a time.
- Rule
- Track a fixed issued quantity, eligible booking types, remaining spendable units, and a complete redemption history.
- Watch for
- Do not create six dates automatically unless the customer also chooses a recurring appointment series.
Time-limited package
Example: ten treatments that must be used within 90 days of purchase or activation.
- Rule
- Define when the clock starts, the time zone, whether existing future bookings survive expiry, and the extension authority.
- Watch for
- A hidden expiry job can remove value without explaining the date, unused units, exception, or customer notice.
Recurring membership allowance
Example: four new session credits issued at each successful monthly renewal.
- Rule
- Keep the billing cycle, entitlement period, credit issuance, rollover cap, failed-payment state, pause, and cancellation date separate.
- Watch for
- A subscription charge alone does not prove that credits were issued or that previously earned credits remain usable.
Access membership
Example: active members may book selected classes without decrementing a session balance.
- Rule
- Check eligibility at booking and again when access status changes, while preserving bookings that need manual review.
- Watch for
- Unlimited access still needs capacity, fair-use, booking-window, cancellation, and no-show rules.
Shared or transferable balance
Example: a household shares twelve tutoring credits or a business assigns credits to several employees.
- Rule
- Name the legal owner, permitted users, allocation history, transfer authority, and what happens when a member leaves.
- Watch for
- Do not overwrite ownership or expose another person's bookings when moving value between people.
Reconcile changes and demo failures
Checkout fails or expires
Release the temporary hold without creating a redemptionThe customer should regain spendable value, and retrying the same request must not create a second hold or double redemption.
Booking confirms or completes
Redeem once at the configured lifecycle pointCustomer booking, staff booking, check-in, and completion paths must agree on when the unit becomes used and what reverses it.
Customer cancels or does not attend
Apply the dated cancellation or no-show ruleRestore, forfeit, or review the credit explicitly while keeping the appointment, policy event, notice, and resulting balance linked.
Business cancels or reschedules
Preserve customer value unless an approved rule says otherwiseMove the hold to the replacement booking or return it visibly; never consume a session because the provider could not deliver it.
Membership renews, pauses, fails, or ends
Separate billing state from earned and future accessState whether new credits issue, existing credits roll over, future bookings remain valid, or access enters review at each boundary date.
Package is refunded, disputed, expired, or transferred
Reconcile money, value, ownership, and future bookingsAppend void, expiry, transfer, or adjustment events, preserve already delivered sessions, and identify any booking that now lacks valid entitlement.
The balance is just an editable number
Staff cannot explain which purchase, booking, cancellation, expiry, refund, or adjustment created the current value.
Booking and entitlement are the same record
Buying a package creates unwanted dates, or changing one appointment damages the package balance or the customer's other bookings.
Failed checkout consumes value
A payment, network, or confirmation failure leaves a permanent hold or redeems the same credit again when the customer retries.
Membership billing silently controls history
A pause, failed renewal, cancellation, or refund deletes earned credits, completed visits, future bookings, or the evidence needed to resolve a dispute.
Customer and staff views disagree
The customer sees spendable value while the staff calendar rejects it, or staff adjustments never appear in the customer's balance and messages.
Follow one package through purchase, booking, cancellation, expiry, and refund.
A packages or memberships checkbox proves very little. Give each shortlisted system the same synthetic customer, service rules, balance events, and failure paths, then reconcile every customer, staff, booking, money, and notification record.
- Issue six synthetic credits, redeem two, hold one during checkout, and confirm that the customer and staff views agree on the three immediately spendable credits.
- Restore one timely cancellation, apply one documented late-cancellation outcome, retry one failed checkout, and verify that no credit is duplicated or stranded.
- Run expiry or membership pause, a partial package refund, and an authorized transfer while preserving completed service and identifying affected future bookings.