Files
obsidian/Test/EventKit/06 - Module Integration.md

186 lines
9.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags:
- eventkit
---
# Module Integration
## Purpose
This document describes how the three core modules ([[01 - Inventory Management|Inventory]], [[02 - Planning Module|Planning]], [[03 - CRM Module|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 - System Overview]] — High-level system overview
- [[01 - Inventory Management]] — Equipment and availability
- [[02 - Planning Module]] — Events and scheduling
- [[03 - CRM Module]] — Clients and pipeline
- [[04 - Federation Architecture]] — Cross-company flows
- [[05 - Barcode and QR Scanning]] — Scanning workflows powering check-in/out