This repository has been archived on 2026-08-11. You can view files and clone it, but cannot push or open issues or pull requests.
Gishen-B2B/docs/features/packages.md
kirukib 3778801ef5 Ship Gishen B2B institutional portal with polished layout and mock-backed flows.
Deliver role-aware shell (sidebar, breadcrumbs, quick search, tables, detail/create layouts), locale-ready pages, shared backend/feature docs, and Vercel project config so HR, finance, and members can demo against typed mocks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 21:18:23 +03:00

89 lines
2.5 KiB
Markdown

# Feature: Packages & entitlements
Corporate benefit plans — allowance, co-pay, categories, perks, caps, exclusions, and per-member overrides.
**Workspace:** `/Users/kirukib/Desktop/Yaltopia Project/Gishen-B2B`
## Pages
| Route | Purpose |
|-------|---------|
| `/packages` | Package list with search/status filter |
| `/packages/new` | Create corporate package (allowance, co-pay, categories, perks) |
| `/packages/[id]` | Package detail/edit — rules, assigned members |
| `/me` | Member view of assigned package + allowance (see member-experience) |
## Entities
- [`Package`](../backend/entities/package.md)
- [`Member.overrides`](../backend/entities/member.md)
## Endpoints
- [`packages.md`](../backend/endpoints/packages.md)
- `GET /v1/me/package` — member allowance view
## Package structure
| Component | Purpose |
|-----------|---------|
| Allowance | Monthly/quarterly/annual cap per member |
| Co-pay % | Member pays remainder on covered items |
| Category rules | Coverage % per product category (chronic, OTC, etc.) |
| Perks | Custom benefits (free delivery, priority dispense) |
| Caps | Max order amount, orders/month, Rx fills/month |
| Exclusions | Blocked SKUs or categories |
## Status lifecycle
```
draft → active → archived
```
Pending orgs: packages saved as `draft` only until Admin activates org.
## Per-member overrides
Set on member detail (`/members/[id]`):
- Allowance cap override
- Co-pay override
- Extra categories or perks
- Exclusions
Overrides layer on top of base package at entitlement calculation time.
## Validation / errors
| Scenario | Code |
|----------|------|
| Duplicate package code | `DUPLICATE_PACKAGE` |
| Archive with assigned members | `PACKAGE_IN_USE` |
| Activate while org pending | `ORG_PENDING` |
| No category rules | `VALIDATION_FAILED` |
## Clinical withhold
Packages define coverage rules only — visible to all roles. No patient data.
## Checkout integration
Remaining allowance computed from:
```
allowance_remaining = package.allowance - allowance_used + overrides
```
Displayed on B2B `/me`. Actual basket split at checkout is **Ecom** — see [`gishen-ecom.md`](../coordination/gishen-ecom.md).
## UI components
- Package list cards/table with status badges
- Detail form: allowance input, co-pay slider, category rule builder, caps section
- Assigned members tab with reassign action
## Related
- [migration.md](migration.md) — bulk package import
- [finance.md](finance.md) — spend by category reflects package rules