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>
2.5 KiB
2.5 KiB
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
Endpoints
packages.mdGET /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.
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 — bulk package import
- finance.md — spend by category reflects package rules