Files
hub/docs/V1_SCOPE.md
kelly 3905f86d6a feat: V1 Release - Complete platform with all premium modules
Major Features:
- CRM Lite: Pipeline, tasks, accounts, calendar, inbox
- AI Copilot: Multi-provider support, brand voice, content rules
- Marketing: Campaigns, templates, channels, broadcasts
- Intelligence: Buyer analytics, market intelligence dashboard
- Orchestrator: Sales & marketing automation with AI
- Compliance: License tracking (minimal shell)
- Conversations: Buyer-seller messaging with email/SMS routing

Infrastructure:
- Suites & Plans system for feature gating
- 60+ new migrations
- Module middleware for access control
- Database seeders for production sync
- Enhanced product management (varieties, inventory modes)

Documentation:
- V1 scope, launch checklist, QA scripts
- Module current state audit
- Feature matrix (standard vs premium)
2025-12-01 09:48:40 -07:00

13 KiB

V1 Scope Document

Generated: November 2025 Based on: Full system audit of 295 migrations, 161 controllers, 130+ models, 416 views


Table of Contents

  1. Overview
  2. Personas
  3. Route Areas
  4. Implementation Status by Area
  5. Premium vs Standard Feature Tiers
  6. Known Gaps & Stubs
  7. Post-V1 Features

Overview

Cannabrands is a two-sided B2B marketplace connecting cannabis brands (sellers) with dispensaries (buyers). The platform uses manual business_id scoping for multi-tenancy (NOT spatie/laravel-multitenancy).

Tech Stack

  • Backend: Laravel 12.38.1, PHP 8.4.14, PostgreSQL
  • Frontend: Blade + DaisyUI + Tailwind CSS + Alpine.js
  • Admin Panel: Filament v3 (for /admin only)
  • Storage: MinIO (S3-compatible)
  • Queue: Redis + Laravel Horizon

Personas

1. Superadmin

  • Access: /admin/*
  • Framework: Filament v3
  • Scope: Platform-wide (all businesses, users, system config)
  • Key Functions: Business approval, module toggles, AI settings, usage monitoring

Permission Tiers (V1):

Capability Superadmin Admin Staff
View resources (Users, Businesses, Orders)
Edit basic business info
Module toggles (Modules tab) Hidden
AI Settings & Content Rules Hidden
Module Usage Reports Hidden
Quick Switch / Impersonation Hidden
Horizon Queue Monitor Hidden

Role Detection: Uses Spatie hasRole('Super Admin'). Admin Staff = user_type === 'admin' without the role.

2. Seller (Brand)

  • Access: /s/{business}/*
  • Framework: Blade + DaisyUI
  • Scope: Business-scoped (their brands, products, orders)
  • Key Functions: Product catalog, order fulfillment, invoicing, CRM, analytics

3. Buyer (Dispensary)

  • Access: /b/{business}/*
  • Framework: Blade + DaisyUI
  • Scope: Business-scoped (their orders, invoices, team)
  • Key Functions: Marketplace browsing, ordering, team management, analytics

Route Areas

/admin — Superadmin Platform

Area Status Notes
User management Complete UserResource with approval workflow
Business management Complete BusinessResource with Modules tab
Brand management Complete BrandResource
Product management Complete ProductResource with RelationManagers
Order oversight Complete OrderResource
Invoice oversight Complete InvoiceResource
Component management Complete ComponentResource
Batch management Complete BatchResource
Lab management Complete LabResource
AI Settings Complete AiConnectionResource + AiContentRuleResource
Module toggles Complete In BusinessResource Modules tab
Usage reporting Complete ModuleUsageReport page
Quick switch Complete QuickSwitchController for testing
Failed jobs Complete FailedJobResource

/s/{business} — Seller Platform

Area Status Notes
Dashboard Complete Stats, recent orders, quick actions
Products list Complete Full CRUD with filtering
Product edit (multi-tab) ⚠️ Partial 13 tab stubs (see Known Gaps)
Product preview Complete Buyer-view preview
Brands Complete Full CRUD, dashboard, stats, AI voice
Orders Complete Full workflow, picking, manifest
Invoices Complete Create, list, PDF export
Customers Complete List + CRM integration
Contacts Complete Full CRUD with types
Locations Complete Full CRUD
Fleet (Drivers) Complete Full CRUD
Fleet (Vehicles) Complete Full CRUD
Components Complete Full CRUD for BOM
BOM Complete Editor, templates, PDF
Batches Complete CRUD, QR codes, COA
Settings Complete 15+ settings pages
CRM-Lite Complete Pipeline, tasks, calendar, accounts
Marketing Complete Broadcasts, campaigns, templates
Analytics Complete KPI cards, revenue chart, top products/buyers
Processing Complete Conversions, wash reports
Manufacturing Complete POs, work orders
Inventory Complete Items, movements, alerts
Conversations Complete Messaging with buyers
Bulk Actions Complete Prices, visibility, assign, inventory

/b/{business} — Buyer Platform

Area Status Notes
Dashboard Complete Business switcher, browse links
Marketplace Complete Products, brands, categories
Brand detail Complete Brand page with products
Product detail Complete Product page with batch info
Cart Complete Add/remove/update
Checkout Complete Delivery windows, payment terms
Orders Complete List, detail, acceptance
Invoices Complete List, detail, PDF
Favorites Complete Product bookmarks
Notifications Complete Stock alerts, order updates
Settings Complete Profile, locations, contacts
CRM Complete Inbox, tasks, analytics, team
Setup wizard Complete 3-step dispensary setup

Implementation Status by Area

Core Platform (Always Enabled)

Feature Seller Buyer Admin
Dashboard
Product catalog (browse)
Order management
Invoice management
Contact management
Location management
User/team management
Business profile
Onboarding wizard N/A

Optional Modules (Feature Flagged)

Module Flag Seller Buyer Admin
CRM-Lite has_crm Config
Marketing has_marketing N/A Config
Analytics has_analytics Implemented ⚠️ Basic Config
Inventory has_inventory N/A Config
Processing has_processing N/A Config
Manufacturing has_manufacturing N/A Config
Compliance has_compliance Minimal N/A Config
Conversations has_conversations Config
Buyer Intelligence has_buyer_intelligence Implemented N/A Config
AI Copilot copilot_enabled N/A Config

Premium vs Standard Feature Tiers

Standard Tier (V1 Required)

All businesses get these by default:

  1. Dashboard - Stats, quick actions, recent activity
  2. Product Catalog - Full CRUD, images, SEO, pricing
  3. Order Management - Full workflow from new to finalized
  4. Invoice Management - Create, track, PDF export
  5. Contact Management - All contact types, soft delete
  6. Location Management - Multiple locations per business
  7. Team Management - Users, roles, permissions
  8. Fleet Management - Drivers and vehicles
  9. BOM System - Components, templates, cost calculation
  10. Batch/COA Tracking - Lab results, QR codes
  11. Basic Analytics - Sales Dashboard (/s/{business}/dashboard/sales), basic analytics index (/s/{business}/analytics) - NOT gated by any module flags
  12. Onboarding - 5-step business setup wizard
  13. Notifications - Stock alerts, order updates, reminders

Premium Tier (Module-Gated)

Businesses enable these via admin toggles:

Module Tier Flag Status
CRM-Lite (Standard) Standard has_crm Implemented
CRM-Premium Premium crm_tier ⚠️ Tables exist, no UI
Marketing Premium has_marketing Implemented
Advanced Analytics Premium has_analytics Implemented
Inventory Premium has_inventory Implemented
Processing Premium has_processing Implemented
Manufacturing Premium has_manufacturing Implemented
Compliance Premium has_compliance Minimal shell
Conversations Premium has_conversations Implemented
Buyer Intelligence Premium has_buyer_intelligence Implemented
AI Copilot Premium copilot_enabled Implemented

Module Tiers (basic/premium/custom)

Each module can have a tier level stored in businesses table:

  • copilot_tier - basic, premium, custom
  • crm_tier - basic, premium, custom
  • analytics_tier - basic, premium, custom
  • inventory_tier - basic, premium, custom
  • marketing_tier - basic, premium, custom

Module Route Protection

All premium modules enforce access at the route middleware level:

Module Flag Route Protection
Processing has_processing Routes and UI gated by EnsureBusinessHasProcessing middleware
Manufacturing has_manufacturing Routes and UI gated by EnsureBusinessHasManufacturing middleware
Conversations has_conversations Routes and UI gated by EnsureBusinessHasConversations middleware
Buyer Intelligence has_buyer_intelligence Routes and UI gated by EnsureBusinessHasBuyerIntelligence middleware
AI Copilot copilot_enabled Routes and UI gated by EnsureBusinessHasCopilot middleware
Inventory has_inventory Routes and UI gated by EnsureBusinessHasInventory middleware
Compliance has_compliance Routes and UI gated by EnsureBusinessHasCompliance middleware
CRM has_crm Routes and UI gated by EnsureBusinessHasCrm middleware
Marketing has_marketing Routes and UI gated by EnsureBusinessHasMarketing middleware

Known Gaps & Stubs

Critical: 13 Product Tab Stubs

The following views are 1-line placeholders:

  1. seller/products/partials/inventory-tab.blade.php
  2. seller/products/partials/batch-management-tab.blade.php
  3. seller/products/partials/archived-tab.blade.php
  4. seller/products/partials/promotions-tab.blade.php
  5. seller/products/partials/listings-tab.blade.php
  6. seller/products/partials/templates-tab.blade.php
  7. seller/products/partials/custom-menus-tab.blade.php
  8. seller/products/partials/faqs-tab.blade.php
  9. seller/products/partials/strains-tab.blade.php
  10. seller/products/partials/bulk-add-edit-tab.blade.php
  11. seller/products/partials/product-packaging-tab.blade.php

Critical: Empty Views

1. seller/analytics/index.blade.php - 0 lines Implemented

Critical: Not Wired

1. Bulk Actions - seller/bulk-actions/index.blade.php (522 lines Alpine.js) not connected to backend Wired

Schema Exists, No UI

  1. CRM Premium Tables - 12 tables (crm_premium_*) created but no views
  2. Buyer Intelligence - All 5 views implemented with gating (Nov 2025)
  3. Compliance Module - Minimal shell implemented with dashboard + license list (Nov 2025)

Minimal Views

  1. onboarding/confirmation.blade.php - Polished with quick start guide (Nov 2025)
  2. onboarding/processing.blade.php - Polished with progress UI (Nov 2025)
  3. seller/crm/feature-disabled.blade.php - 58 lines (placeholder)

Post-V1 Features

Defined in Spec (Not Started)

  1. WhatsApp Integration - Additional messaging channel
  2. Campaign A/B Testing - Subject line and timing tests
  3. Drip Campaigns - Multi-step automated sequences
  4. Predictive Segments - ML-based audience prediction
  5. Advanced Copilot - Multi-step content generation
  6. Internal Notes - Brand-only notes on conversations
  7. Conversation Assignment - Assign to team members
  8. SLA Tracking - Response time metrics and alerts
  9. Meilisearch - Full-text search (currently LIKE queries)
  10. Calendar Sync - Google/Outlook integration

Technical Debt

  1. Migrate Precognition → Livewire - Real-time form validation
  2. Optimize Large Files - seller-sidebar (41K lines), modal (3K lines)
  3. Consolidate Brand Switcher - Two versions exist
  4. Clean Up Migrations - Rename cycles (businesses→companies→businesses)
  5. Remove Unused Tables - retailers table not referenced

Summary

V1 Readiness: 90%+ implemented

The core B2B marketplace functionality is production-ready. Main gaps are:

  • 13 product tab stubs need content 11 tabs implemented (Nov 2025)
  • 1 analytics view is empty Implemented (Nov 2025)
  • Bulk actions frontend needs wiring Wired (Nov 2025)
  • Buyer Intelligence views incomplete All 5 views implemented with gating (Nov 2025)
  • Compliance module needs building Minimal shell with dashboard + license list (Nov 2025)
  • CRM Premium features need UI

All module flags and tiers are in place for gradual feature rollout.