# Business Bundles — Canonical Catalog

> **Source of truth** for commercial business bundles.  
> Machine-readable twin: [business-bundles.catalog.yaml](business-bundles.catalog.yaml)  
> Contracts: [business-bundle-contracts.md](business-bundle-contracts.md)  
> ADR: [ADR-023](../architecture/adr/ADR-023.md)

**Frontend rule:** `frontend/lib/business-bundles.ts` is a **temporary mirror / generated artifact candidate**. Do not treat React as authoritative. Future codegen MUST emit FE artifacts from this catalog.

Pricing amounts are **illustrative hints** via Pricing Catalog refs only — see [pricing-catalog.md](pricing-catalog.md).

---

## 1. Bundle matrix

| Bundle code | Display name | Primary business types | Required services | Optional services | Pricing refs (primary) | Status |
| --- | --- | --- | --- | --- | --- | --- |
| `bundle.restaurant.starter` | Restaurant Starter | restaurant | hospitality, payment, experience | delivery, loyalty, communication, accounting | `price.restaurant.starter.monthly`, `price.restaurant.starter.yearly` | active |
| `bundle.restaurant.growth` | Restaurant Growth | restaurant | hospitality, payment, experience, delivery, loyalty, communication | accounting, crm | `price.restaurant.growth.monthly` | active |
| `bundle.cafe.starter` | Cafe Starter | cafe | hospitality, payment, experience | loyalty, communication | `price.cafe.starter.monthly` | active |
| `bundle.clinic.starter` | Clinic Starter | clinic | experience, communication, accounting | payment, crm | `price.clinic.starter.monthly` | active |
| `bundle.beauty.starter` | Beauty Salon Starter | beauty_salon | experience, crm, payment, communication | loyalty | `price.beauty.starter.monthly` | active |
| `bundle.sports.starter` | Sports Center Starter | sports_center | sports-center, payment, loyalty | communication, accounting | `price.sports.starter.monthly` | active |
| `bundle.retail.starter` | Retail Starter | retail_shop | experience, payment | delivery, loyalty, accounting | `price.retail.starter.monthly` | active |
| `bundle.marketplace.seller` | Marketplace Seller | marketplace_seller | payment, accounting, communication | marketplace *(future product)* | `price.marketplace.seller.monthly` | draft |
| `bundle.education.starter` | Education Starter | educational_center | experience, crm, communication | payment, accounting | `price.education.starter.monthly` | active |
| `bundle.corporate.crm` | Corporate CRM | corporate_company | crm, accounting, communication | identity-access, experience | `price.corporate.crm.monthly` | active |
| `bundle.professional.starter` | Professional Services | professional_services | crm, accounting, experience | communication, payment | `price.professional.starter.monthly` | active |
| `bundle.freelancer.starter` | Freelancer | freelancer | experience, payment | accounting, communication | `price.freelancer.starter.monthly` | active |
| `bundle.manufacturer.starter` | Manufacturer | manufacturer | crm, accounting | communication | `price.manufacturer.starter.monthly` | active |
| `bundle.wholesale.starter` | Wholesale | wholesale | crm, accounting, payment | delivery | `price.wholesale.starter.monthly` | active |
| `bundle.real_estate.starter` | Real Estate | real_estate | experience, crm, communication | payment | `price.real_estate.starter.monthly` | active |
| `bundle.government.starter` | Government | government | experience, communication, accounting | — | `price.enterprise.custom` | active |
| `bundle.ngo.starter` | NGO | ngo | experience, crm, communication | accounting | `price.ngo.starter.monthly` | active |
| `bundle.platform.trial` | Platform Trial | custom | experience | payment, communication | `price.platform.trial.14d` | active |

---

## 2. Feature keys commonly referenced (L1 examples)

| Feature key | Typical bundles |
| --- | --- |
| `payment.module.enabled` | Most sellable bundles |
| `crm.module.enabled` | corporate, beauty, professional, education |
| `loyalty.module.enabled` | restaurant growth, sports, retail |
| `communication.module.enabled` | clinic, beauty, corporate |
| `experience.module.enabled` | Most public-surface bundles |
| `hospitality.module.enabled` | restaurant, cafe |
| `delivery.module.enabled` | restaurant growth, retail, wholesale |
| `sports.module.enabled` | sports |
| `accounting.module.enabled` | clinic, corporate, manufacturer |

Exact key strings may already exist per service; commercial grants **request** enablement — services validate locally.

---

## 3. Business type → bundle map

See [business-type-catalog.md](business-type-catalog.md) for the full type matrix. Summary:

| Business type | Default recommended bundle |
| --- | --- |
| restaurant | `bundle.restaurant.starter` |
| cafe | `bundle.cafe.starter` |
| clinic | `bundle.clinic.starter` |
| beauty_salon | `bundle.beauty.starter` |
| sports_center | `bundle.sports.starter` |
| retail_shop | `bundle.retail.starter` |
| marketplace_seller | `bundle.marketplace.seller` (draft) |
| educational_center | `bundle.education.starter` |
| corporate_company | `bundle.corporate.crm` |
| professional_services | `bundle.professional.starter` |
| freelancer | `bundle.freelancer.starter` |
| manufacturer | `bundle.manufacturer.starter` |
| wholesale | `bundle.wholesale.starter` |
| real_estate | `bundle.real_estate.starter` |
| government | `bundle.government.starter` |
| ngo | `bundle.ngo.starter` |
| custom | none |

---

## 4. Generation note

```
docs/reference/business-bundles.catalog.yaml
        │  (codegen — future registered phase)
        ▼
frontend/lib/generated/business-bundles.generated.ts
```

Until codegen lands, any hand-edited FE mirror MUST carry a generated-artifact banner and stay aligned with this document.
