--- tags: - eventkit --- # Module Integration ## Purpose This document describes how the three core modules ([[01-InventoryManagement|Inventory]], [[02-PlanningModule|Planning]], [[03-CRMModule|CRM]]) work together, including the key cross-module workflows and the unified features that span all modules. --- ## Integration Map ```mermaid graph LR subgraph CRM Client["Client"] Deal["Deal"] Quote["Quote"] end subgraph Planning Event["Event"] PullList["Pull List"] Crew["Crew"] Transport["Transport"] end subgraph Inventory Catalogue["Product Catalogue"] Assets["Assets"] Availability["Availability Engine"] Cases["Cases"] end Client -->|"requests event"| Deal Deal -->|"generates"| Quote Quote -->|"references products from"| Catalogue Quote -->|"checks"| Availability Deal -->|"won → creates"| Event Event -->|"has"| PullList PullList -->|"reserves"| Assets PullList -->|"checks"| Availability Event -->|"books"| Crew Event -->|"arranges"| Transport Assets -->|"packed into"| Cases Cases -->|"loaded onto"| Transport Event -->|"closes → final costs to"| Deal ``` --- ## Key Cross-Module Workflows ### 1. Enquiry to Event (CRM → Planning → Inventory) | Step | Module | Action | | ---- | --------- | --------------------------------------------------------------------------------- | | 1 | CRM | Client enquiry received → Lead created | | 2 | CRM | Lead qualified → Deal created with dates and venue | | 3 | CRM | Sales rep builds a Quote using products from the **Inventory catalogue** | | 4 | Inventory | **Availability engine** confirms stock for requested dates | | 5 | CRM | Quote sent to client | | 6 | CRM | Client accepts → Deal marked as "Won" | | 7 | Planning | **Event auto-created** from the deal, with pull list pre-populated from the quote | | 8 | Inventory | Equipment **reserved** for the event dates | ### 2. Event Execution (Planning → Inventory) | Step | Module | Action | | ---- | --------- | ----------------------------------------------------------------- | | 1 | Planning | Event moves to "Prep" phase | | 2 | Inventory | Warehouse team receives **pull list** for prep | | 3 | Inventory | Equipment pulled, tested, **packed into cases** (via scanning) | | 4 | Planning | Cases assigned to **truck pack** with weight/volume | | 5 | Inventory | Equipment **checked out** (status: Checked Out) via scanning | | 6 | Planning | Event status: "Load-Out" → "On-Site" | | 7 | Planning | Event completes → "Load-In" (return) | | 8 | Inventory | Equipment **checked in** with condition inspection (via scanning) | | 9 | Inventory | Damaged items flagged → **repair workflow** triggered | | 10 | Inventory | Equipment **re-shelved** → status: Available | ### 3. Sub-hire Flow (Planning → Inventory → Federation) | Step | Module | Action | | ---- | --------- | ------------------------------------------------------------------- | | 1 | Planning | Pull list shows **shortage** — not enough stock | | 2 | Inventory | System suggests **sub-hire** from federated partners | | 3 | Inventory | **Availability query** sent to partner instances via federation | | 4 | Inventory | Partner confirms availability → **Sub-hire request** sent | | 5 | Inventory | Partner dispatches equipment | | 6 | Inventory | Equipment received — **scanned in** with federated asset resolution | | 7 | Planning | Sub-hired items added to event pull list | | 8 | Planning | Event completes | | 9 | Inventory | Sub-hired items **scanned out** → returned to partner | | 10 | Inventory | Partner confirms receipt via federation | | 11 | CRM | Sub-hire costs added to event financials | ### 4. Event Close-out (Planning → CRM → Inventory) | Step | Module | Action | | ---- | --------- | ------------------------------------------------------------------------------- | | 1 | Planning | All equipment returned and inspected | | 2 | Planning | Event status → "Closed" | | 3 | Planning | **Final costs calculated**: equipment, crew hours, transport, sub-hire, damages | | 4 | CRM | Costs flow to the deal → **profit/loss analysis** | | 5 | CRM | **Invoice generated** from final costs | | 6 | Inventory | Any **damage costs** attributed to the event for reporting | --- ## Unified Features ### Unified Dashboard A single home screen showing: | Widget | Source Module | Shows | | ------------------------- | ------------- | ------------------------------------------- | | **Upcoming Events** | Planning | Next 7 days of events with status | | **Pipeline Value** | CRM | Total weighted pipeline value | | **Equipment Utilisation** | Inventory | % of equipment currently deployed | | **Stock Alerts** | Inventory | Low stock, overdue returns, maintenance due | | **Crew Availability** | Planning | Available vs. booked crew this week | | **Recent Activity** | All | Latest actions across the system | ### Unified Search Search across all modules from a single search bar: - **Contacts & companies** (CRM) - **Events & projects** (Planning) - **Products & assets** (Inventory) - **Cases & locations** (Inventory) - **Crew members** (Planning) ### Unified Activity Feed A cross-module activity stream showing: ``` 📋 Deal "Summer Festival 2026" → Won (CRM) 📦 Event "Summer Festival" auto-created with 142 line items (Planning) 🔒 48× L-Acoustics K2 reserved for June 14-18 (Inventory) 👤 3 crew members assigned: John (Sound), Lisa (Lighting) (Planning) 🚛 Truck pack created: 2× trucks, 4.2 tonnes (Planning) ⚠️ Shortage: 4× moving heads — sub-hire suggested (Inventory) 🤝 Sub-hire request sent to Partner Co. (Federation) ``` ### Unified Notifications | Notification | Trigger | Recipient | | ------------------------- | ----------------------------------------- | -------------------- | | New enquiry received | Lead created in CRM | Sales team | | Quote accepted | Deal status → Won | Planning team | | Equipment shortage | Pull list exceeds stock | Inventory manager | | Maintenance due | Service date approaching | Warehouse manager | | Sub-hire request received | Federation request from partner | Inventory manager | | Event tomorrow | Event date is tomorrow | Assigned crew | | Overdue return | Equipment not checked in by expected date | Warehouse + planning | | Damage reported | Item flagged during check-in | Inventory manager | ### Unified Reporting | Report | Spans | | --------------------- | -------------------------------------------------------------- | | Event profitability | Planning + CRM + Inventory (all costs vs. revenue) | | Client lifetime value | CRM + Planning (revenue over time per client) | | Equipment ROI | Inventory + Planning (revenue generated vs. cost of ownership) | | Seasonal analysis | All (demand patterns across months/quarters) | | Capacity planning | Inventory + Planning (can we handle upcoming bookings?) | --- ## Related Documentation - [[00-SystemOverview]] — High-level system overview - [[01-InventoryManagement]] — Equipment and availability - [[02-PlanningModule]] — Events and scheduling - [[03-CRMModule]] — Clients and pipeline - [[04-FederationArchitecture]] — Cross-company flows - [[05-BarcodeAndQRScanning]] — Scanning workflows powering check-in/out