--- tags: - eventkit --- # Inventory Management Module ## Purpose Track and manage all physical equipment assets throughout their lifecycle — from procurement through daily rental operations to maintenance and retirement. Specialised for the event industry's unique needs: equipment goes out to [[02-PlanningModule|events]], gets used, and comes back. --- ## Core Concepts ### Entity Hierarchy ```mermaid graph TD Product["Product / Model\n(e.g. Shure SM58)"] Asset["Asset\n(Serial: SM58-00142)"] Case["Flight Case\n(Case #FC-210)"] Kit["Kit / Set\n(DJ Booth Kit)"] Location["Location\n(Warehouse A, Shelf B3)"] Consumable["Consumable\n(Gaffer Tape, Batteries)"] Product -->|"has many"| Asset Case -->|"contains"| Asset Kit -->|"groups"| Product Location -->|"stores"| Asset Location -->|"stores"| Case Location -->|"stores"| Consumable ``` ### Entity Definitions | Entity | Description | Tracking | | ---------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------- | | **Product / Model** | A type of equipment (e.g. "Shure SM58 Microphone") | Category, specs, weight, dimensions, photos, manuals | | **Asset** | A single physical item with a unique identity | Serial number, UUID, QR code, purchase date, cost, condition | | **Case / Flight Case** | A container holding multiple assets | Case UUID, contents (packing list), weight, dimensions, label | | **Kit / Set** | A logical grouping of products/assets that typically deploy together | Component list, auto-expansion on pull lists | | **Location** | Where assets live — warehouse, shelf, venue, truck, repair shop, sub-hire partner | Address, type, capacity, contact | | **Consumable** | Non-returnable stock items | Product ID, stock level, reorder point, par level | --- ## Asset Lifecycle & Statuses ```mermaid stateDiagram-v2 [*] --> Available : Purchased / registered Available --> Reserved : Allocated to event Reserved --> CheckedOut : Dispatched CheckedOut --> OnSite : Arrived at venue OnSite --> CheckedOut : Strike / departed venue CheckedOut --> CheckedIn : Returned to warehouse CheckedIn --> Available : Passed inspection CheckedIn --> Damaged : Failed inspection Damaged --> InRepair : Sent for repair InRepair --> Available : Repair complete Damaged --> WrittenOff : Beyond repair Available --> SubHiredOut : Lent to partner SubHiredOut --> CheckedIn : Returned from sub-hire Available --> Retired : End of life ``` ### Status Definitions | Status | Description | | ----------------- | ----------------------------------------------- | | **Available** | In warehouse, ready for use | | **Reserved** | Allocated to a future event, not yet dispatched | | **Checked Out** | Left the warehouse — in transit or en route | | **On-Site** | Confirmed at event venue | | **Checked In** | Returned to warehouse, awaiting inspection | | **In Repair** | At repair shop or undergoing maintenance | | **Damaged** | Flagged during return inspection | | **Lost** | Missing — cannot be located | | **Written Off** | Beyond economic repair or permanently lost | | **Sub-hired Out** | Lent to another company (federated tracking) | | **Sub-hired In** | Borrowed from another company via federation | | **Retired** | End of life, no longer in active inventory | --- ## Feature Breakdown ### Asset Register | Feature | Description | | --------------------------- | ----------------------------------------------------------------------------------------------------------- | | Individual asset tracking | Each asset has a UUID, serial number, and QR code | | Asset numbering scheme | Human-readable IDs: product prefix + sequential number (e.g. `SM58-001`, `SM58-002`). UUID for internal use | | Legacy barcode support | Import and map existing barcode/label schemes — dual scanning supported alongside new QR codes | | Purchase & financial data | Purchase date, supplier, cost, insurance value, depreciation | | Documentation | Photos, manuals, spec sheets, certificates attached per asset | | Firmware / version tracking | Track software/firmware versions on digital equipment | | Custom attributes | User-defined fields per product category (e.g. "wattage" for amps, "throw distance" for projectors) | | Condition tracking | User-definable states — defaults: **Good** / **Damaged** / **Written Off** | | Condition notes | Free-text notes updated at each check-in inspection | | Full audit trail | Every status change, location change, and edit is logged with timestamp and user (field-level diffs) | ### Cases & Packing | Feature | Description | | ------------------------- | ---------------------------------------------------------------------------- | | Case as entity | Each case has its own UUID, QR code, weight, and dimensions | | Contents management | Define what assets are packed in each case | | Packing list generation | Printable packing list per case | | Case label printing | Print QR-coded labels for case lids | | Smart packing suggestions | System suggests optimal case allocation based on pull list and case capacity | | Nested cases | Support for cases within cases (e.g. small pelican cases inside a trunk) | | Weight calculation | Auto-calculate total case weight from contents | ### Warehouse & Locations | Feature | Description | | ------------------------------ | ------------------------------------------------------ | | Multiple warehouses | Support any number of storage locations | | Bin/shelf/bay/rack locations | Granular location tracking within a warehouse | | Visual warehouse map | Optional visual layout showing where items are stored | | Check-in / check-out workflows | Scanning-based workflows for dispatching and receiving | | Stock transfers | Move assets between warehouses with full tracking | | Location-based stocktake | Scan everything at a location, flag discrepancies | ### Availability Engine | Feature | Description | | ---------------------- | ------------------------------------------------------------------------------- | | Real-time availability | See what's available for any date range, per product or category | | Conflict detection | Alert when the same asset is double-booked across events | | Availability search | "Show me 10× available SM58s for March 15-18" | | Calendar view | Heatmap-style availability calendar showing utilisation density | | Shortage alerts | Warn planners when demand exceeds available stock | | Reservation rules | Configurable per event priority level (hard lock vs. overridable with approval) | ### Sub-hire Management | Feature | Description | | ------------------------ | --------------------------------------------------------------------------------------------------------- | | Outbound sub-hire | Track equipment lent to other companies | | Inbound sub-hire | Track equipment borrowed from others | | Federated sub-hire | When both companies use EventKit, track the asset across instances (see [[04-FederationArchitecture]]) | | Sub-hire rates & costs | Track day rates, insurance charges, cross-charges | | Return deadline tracking | Alerts for overdue sub-hire returns | | Condition tracking | Record condition at dispatch and return for dispute resolution | ### Consumables | Feature | Description | | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | Stock level tracking | Current quantity per consumable product | | Reorder thresholds | Automated alerts when stock falls below a defined level | | Par levels | Target stock levels to maintain | | Consumption per event | Estimated at planning stage, actual recorded after event — deducted from stock when physically dispatched (scan-based) | | Purchase order generation | Generate POs to restock consumables — requires manual confirmation before sending | ### Maintenance & Testing | Feature | Description | | -------------------------- | --------------------------------------------------------------------------------------------- | | PAT testing records | Track Portable Appliance Testing dates and results per asset | | ÖVE/ÖNORM compliance | Austrian electrical safety standards (ÖVE/ÖNORM E 8701) tracking | | CE marking verification | Track CE conformity declarations for EU compliance | | Service schedules | Define recurring maintenance intervals (e.g. every 12 months) | | Next-service-due reminders | Automated alerts for upcoming maintenance | | Repair history | Full repair log per asset — what was done, cost, duration | | Maintenance cost tracking | Aggregate repair costs per asset for ROI analysis | | Certification tracking | Track certifications with expiry dates (rigging gear, fire safety, etc.) | | Dispatch gating | Prevent check-out of assets with expired tests, overdue maintenance, or lapsed certifications | ### Reporting & Analytics | Report | Description | | ------------------------- | ------------------------------------------------------------------------------ | | Utilisation rate | % of time each asset/category is in use vs. available | | Revenue per asset | Income generated per individual asset or category (linked to CRM revenue data) | | Maintenance cost analysis | Total maintenance spend per asset, category, or period | | Loss & damage rate | Frequency and cost of losses and damages | | ABC analysis | Categorise inventory by value/usage (A = high, C = low) | | Stock aging | How long items have been sitting unused | | Insurance valuation | Current value of all assets for insurance purposes | | Depreciation report | Book value vs. purchase price over time | ### Stocktake All approaches are supported — user selectable: | Mode | Description | | ---------------- | --------------------------------------------------- | | **Full** | Scan everything, compare against expected inventory | | **Partial/zone** | Scan specific areas, shelves, or categories | | **Rolling** | Continuous — scan a section each day | ### Prep Checklists Optional per-product checklists for event preparation (e.g. "test power", "check firmware", "include accessories"). Checklists are user-definable per product category. ### Damage Reporting Configurable workflow per damage severity: | Step | Description | | ----------------------- | ---------------------------------------------------- | | Flag asset | Mark as damaged, auto-create maintenance task | | Photo evidence | Required or optional depending on configuration | | Cost estimate | Optional — estimate for client charge-back | | Severity-based workflow | Different actions triggered by damage severity level | ### Return Inspection Detailed return inspection workflow: | Step | Action | | ---- | ---------------------------------------------- | | 1 | Scan asset | | 2 | Per-item checklist (product-category-specific) | | 3 | Photos of current condition | | 4 | Condition update (good / damaged / write-off) | | 5 | Route to cleaning queue if needed | | 6 | Shelve / re-stock | --- ## Related Documentation - [[00-SystemOverview]] — High-level system overview - [[02-PlanningModule]] — Event planning and pull lists consume inventory data - [[05-BarcodeAndQRScanning]] — Scanning workflows for check-in/out - [[04-FederationArchitecture]] — Cross-company asset tracking