Files
obsidian/Test/EventKit/01-InventoryManagement.md

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