A service package might include ten support sessions shared across several people in one customer organization. How should I model the package, eligible users, and usage records in Busabase? I need to distinguish who may use the service from how much of the shared allowance remains.
Question
Closed · AnsweredHow should I record the scope of a service entitlement?
Wenke Li

Model three layers separately: the package (shared quota), who may use it, and usage that burns the quota. Do not store “remaining sessions” only as a sticky number on a person—that mixes eligibility with consumption.

*Diagram · package quota vs eligible people vs usage*
Suggested tables / fields
| Layer | What to store |
|---|---|
| Service package | Customer org, product name, total allowance (e.g. 10), valid from/to, status |
| Eligible users | Relation to package + person (or seat); optional role; “active” flag |
| Usage | Relation to package (+ optional person), date, session type, units consumed (usually 1) |
Remaining = package total − sum(usage units). Prefer a Formula / rollup-style total, or recalculate in a view, instead of hand-editing “left” on every use.
Distinctions that matter
- Eligible answers “may this person book?”
- Usage answers “how much of the shared pool was used?”
- Someone can be eligible and still have zero personal allotment—the pool is shared at package level.
How to verify
- Create a package with allowance 10 and two eligible people.
- Log three usages (any mix of people) → remaining should read 7.
- Deactivate one eligible user → they should disappear from booking views, but past usage stays on the package.
- Formal reports filter packages by status/dates so expired packs do not look open.
Boundaries
- If each person has a private cap inside a shared pack, add
personalCapon eligibility and still sum usage by person—do not replace the shared total. - Do not create ten duplicate “one-session” package rows to simulate a pool; one package + usage rows is clearer.
- Cancellations: either delete/void the usage row or mark it
voidso remaining math ignores it.
Happy to sketch field types for your exact Base if you share whether booking is done by Agent or by form.
Your reply
Sign in to join the discussion. Reading is always open; you only need an account to post.
Sign in