# Canonical machine-readable Business Bundle catalog.
# Source of truth with docs/reference/business-bundles.md
# Frontend MUST be generated from this file in a future phase — do not treat React as authoritative.
schema_version: 1
contract_version: business-bundle.v1
updated: "2026-07-28"
owner: core-platform

bundles:
  - bundle_code: bundle.restaurant.starter
    display_name: Restaurant Starter
    status: active
    version_code: "2026.07.1"
    business_types: [restaurant]
    services:
      - { service_identifier: hospitality, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: experience, required: true }
      - { service_identifier: delivery, required: false }
      - { service_identifier: loyalty, required: false }
      - { service_identifier: communication, required: false }
      - { service_identifier: accounting, required: false }
    pricing_refs:
      - { pricing_item_code: price.restaurant.starter.monthly, role: primary }
      - { pricing_item_code: price.restaurant.starter.yearly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.restaurant.growth
    display_name: Restaurant Growth
    status: active
    version_code: "2026.07.1"
    business_types: [restaurant]
    services:
      - { service_identifier: hospitality, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: experience, required: true }
      - { service_identifier: delivery, required: true }
      - { service_identifier: loyalty, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: accounting, required: false }
      - { service_identifier: crm, required: false }
    pricing_refs:
      - { pricing_item_code: price.restaurant.growth.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.cafe.starter
    display_name: Cafe Starter
    status: active
    version_code: "2026.07.1"
    business_types: [cafe]
    services:
      - { service_identifier: hospitality, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: experience, required: true }
      - { service_identifier: loyalty, required: false }
      - { service_identifier: communication, required: false }
    pricing_refs:
      - { pricing_item_code: price.cafe.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.clinic.starter
    display_name: Clinic Starter
    status: active
    version_code: "2026.07.1"
    business_types: [clinic]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: payment, required: false }
      - { service_identifier: crm, required: false }
    pricing_refs:
      - { pricing_item_code: price.clinic.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.beauty.starter
    display_name: Beauty Salon Starter
    status: active
    version_code: "2026.07.1"
    business_types: [beauty_salon]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: crm, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: loyalty, required: false }
    pricing_refs:
      - { pricing_item_code: price.beauty.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.sports.starter
    display_name: Sports Center Starter
    status: active
    version_code: "2026.07.1"
    business_types: [sports_center]
    services:
      - { service_identifier: sports-center, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: loyalty, required: true }
      - { service_identifier: communication, required: false }
      - { service_identifier: accounting, required: false }
    pricing_refs:
      - { pricing_item_code: price.sports.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.retail.starter
    display_name: Retail Starter
    status: active
    version_code: "2026.07.1"
    business_types: [retail_shop]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: delivery, required: false }
      - { service_identifier: loyalty, required: false }
      - { service_identifier: accounting, required: false }
    pricing_refs:
      - { pricing_item_code: price.retail.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.marketplace.seller
    display_name: Marketplace Seller
    status: draft
    version_code: "2026.07.1"
    business_types: [marketplace_seller]
    services:
      - { service_identifier: payment, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: marketplace, required: false }
    pricing_refs:
      - { pricing_item_code: price.marketplace.seller.monthly, role: primary }
    visibility: { public_catalog: false, admin_only: true, hidden: false }
    lifecycle: { sellable: false, renewable: false, grandfathered: false }
    notes: Marketplace product not implemented in commercial-foundation wave.

  - bundle_code: bundle.education.starter
    display_name: Education Starter
    status: active
    version_code: "2026.07.1"
    business_types: [educational_center]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: crm, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: payment, required: false }
      - { service_identifier: accounting, required: false }
    pricing_refs:
      - { pricing_item_code: price.education.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.corporate.crm
    display_name: Corporate CRM
    status: active
    version_code: "2026.07.1"
    business_types: [corporate_company]
    services:
      - { service_identifier: crm, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: identity-access, required: false }
      - { service_identifier: experience, required: false }
    pricing_refs:
      - { pricing_item_code: price.corporate.crm.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.professional.starter
    display_name: Professional Services
    status: active
    version_code: "2026.07.1"
    business_types: [professional_services]
    services:
      - { service_identifier: crm, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: experience, required: true }
      - { service_identifier: communication, required: false }
      - { service_identifier: payment, required: false }
    pricing_refs:
      - { pricing_item_code: price.professional.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.freelancer.starter
    display_name: Freelancer
    status: active
    version_code: "2026.07.1"
    business_types: [freelancer]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: accounting, required: false }
      - { service_identifier: communication, required: false }
    pricing_refs:
      - { pricing_item_code: price.freelancer.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.manufacturer.starter
    display_name: Manufacturer
    status: active
    version_code: "2026.07.1"
    business_types: [manufacturer]
    services:
      - { service_identifier: crm, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: communication, required: false }
    pricing_refs:
      - { pricing_item_code: price.manufacturer.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.wholesale.starter
    display_name: Wholesale
    status: active
    version_code: "2026.07.1"
    business_types: [wholesale]
    services:
      - { service_identifier: crm, required: true }
      - { service_identifier: accounting, required: true }
      - { service_identifier: payment, required: true }
      - { service_identifier: delivery, required: false }
    pricing_refs:
      - { pricing_item_code: price.wholesale.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.real_estate.starter
    display_name: Real Estate
    status: active
    version_code: "2026.07.1"
    business_types: [real_estate]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: crm, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: payment, required: false }
    pricing_refs:
      - { pricing_item_code: price.real_estate.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.government.starter
    display_name: Government
    status: active
    version_code: "2026.07.1"
    business_types: [government]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: accounting, required: true }
    pricing_refs:
      - { pricing_item_code: price.enterprise.custom, role: enterprise_quote }
    visibility: { public_catalog: false, admin_only: true, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.ngo.starter
    display_name: NGO
    status: active
    version_code: "2026.07.1"
    business_types: [ngo]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: crm, required: true }
      - { service_identifier: communication, required: true }
      - { service_identifier: accounting, required: false }
    pricing_refs:
      - { pricing_item_code: price.ngo.starter.monthly, role: primary }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: true, grandfathered: false }

  - bundle_code: bundle.platform.trial
    display_name: Platform Trial
    status: active
    version_code: "2026.07.1"
    business_types: [custom]
    services:
      - { service_identifier: experience, required: true }
      - { service_identifier: payment, required: false }
      - { service_identifier: communication, required: false }
    pricing_refs:
      - { pricing_item_code: price.platform.trial.14d, role: trial }
    visibility: { public_catalog: true, admin_only: false, hidden: false }
    lifecycle: { sellable: true, renewable: false, grandfathered: false }
