TorbatYar/docs/phases/BeautyBusiness/phase-14-5-package-membership.md
Mortezakoohjani d579d0b142 feat(loyalty): add Loyalty Platform Frontend module
Add frontend/modules/loyalty with types, API client, design system, feature pages and thin App Router routes under app/loyalty/. BFF proxy at app/api/loyalty/. Include loyalty frontend docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:50:55 +03:30

84 lines
3.1 KiB
Markdown

# Phase: Package & Membership
| Field | Value |
| --- | --- |
| Identifier | `beauty-business-14-5` |
| Status | Planned |
| Owner | Platform |
| Module(s) | `beauty_business.packages`, `beauty_business.memberships` |
| Service(s) | `beauty_business` |
| Depends On | `beauty-business-14-0`, `beauty-business-14-3` (service refs), `beauty-business-14-4` (customer refs) |
| ADR(s) | TBD |
| Manifest | [phase-manifest.yaml](../../ai-framework/phase-manifest.yaml) |
| Framework | [ADR-013](../../architecture/adr/ADR-013.md) · [ADR-018](../../architecture/adr/ADR-018.md) · [ADR-019](../../architecture/adr/ADR-019.md) |
## Objective
Deliver beauty **commercial packages and memberships**: prepaid multi-session bundles, session balance tracking, recurring membership plans (monthly spa, unlimited blow-dry tiers), redemption against appointments — without owning Loyalty program ledger or Accounting subscription billing.
## Enterprise Phase Discovery
> **Required before Implementation.**
### Target Responsibility (this phase when Complete)
- PackageDefinition (sessions, services included, validity)
- CustomerPackage with session balance and redemption history
- MembershipPlan and CustomerMembership (renewal, freeze, cancel shells)
- Redemption hooks on appointment completion (14.1)
- Events: `beauty_business.package.*`, `beauty_business.membership.*`
- Permissions: `beauty_business.packages.*`, `beauty_business.memberships.*`
### Explicitly Excluded
- Loyalty PointAccount / Wallet (Loyalty service)
- Accounting invoice/subscription engine
- Healthcare treatment plans / insurance packages
## Business Analysis
| Item | Detail |
| --- | --- |
| Actors | Front desk, salon owner, customer |
| Business capabilities | Sell packages, track sessions, manage memberships |
| Success metrics | Accurate session balance; idempotent redemption |
| Non-goals | Platform-wide SaaS subscription (Core) |
## Scope
### In Scope
- PackageDefinition, PackageLine (service refs)
- CustomerPackage, PackageRedemption
- MembershipPlan, CustomerMembership, MembershipLifecycleEvent
- Integration intents to Accounting (payment ref only)
### High-Level Entities
| Entity | Purpose |
| --- | --- |
| PackageDefinition | 10-session laser package |
| CustomerPackage | Purchased package instance |
| PackageRedemption | Session consumed on visit |
| MembershipPlan | Monthly spa membership |
| CustomerMembership | Active membership instance |
## Out of Scope
- Loyalty campaigns and points (14.7 / Loyalty service)
- Full payment gateway (Accounting / future payment provider)
- Commission on package sales (14.6)
## Completion Criteria
- [ ] Package redemption integrated with appointment completion by ref
- [ ] No Loyalty ledger duplication
- [ ] Healthcare billing packages untouched
## Related Documents
- [Phase 14.3](phase-14-3-service-catalog.md)
- [Phase 14.4](phase-14-4-customer-management.md)
- [Beauty Business Roadmap](../../beauty-business-roadmap.md)
- [Loyalty module registry](../../module-registry.md#loyalty)