232 lines
15 KiB
Markdown
232 lines
15 KiB
Markdown
---
|
||
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
|