Managing the master fixture inventory

The Lighting module's master fixture inventory is the source of truth for every piece of lighting gear your org owns or rents. It's separate from any specific show's rig — shows pull from this inventory, mark fixtures in use, and return them when the show closes.

What's tracked per fixture:

- **Make / model / variant** — typed via the fixture library so photometrics, DMX footprint, weight, and dimensions all come along.
- **Asset tag** — unique identifier you assign (e.g. "MAC-103" or your inventory sticker number). Generates a QR/barcode for physical labeling.
- **Status** — Available, In Use (with show name), In Maintenance, In Storage, Broken, On Rental Out (you're renting it to someone else), On Rental In (you're renting it from someone else).
- **Hours / cycles** — runtime hours (auto-incremented when the fixture's used in a show that's been programmed/run) and strike cycles for arc-source / lamp fixtures.
- **Lamp life** (HMI / discharge fixtures) — installed-lamp hours; warns when approaching rated life.
- **LED hours** (LED fixtures) — total LED runtime for warranty tracking.
- **Last serviced / next service** — maintenance schedule per make/model.
- **Storage location** — warehouse bay, road case ID, shop shelf. Helps the gear crew find it.
- **Notes** — history. "Replaced power supply 2025-08-14. Yoke-side clutch slipping. Needs new gels every two shows."

Bulk operations:

- **Bulk import** — CSV import for big inventories. Columns: make, model, asset tag, purchase date, purchase price, location. Strict header validation; errors surfaced inline.
- **Bulk strike-cycle reset** — after replacing a lamp on multiple fixtures, reset the cycle counter in batch.
- **Bulk status change** — at season end, mark a whole inventory category as "In Storage."

Maintenance workflow:

1. **Inspection round** — print a checklist from the Inventory tab. Each fixture gets a one-row inspection (functional / needs attention / broken).
2. **Mark "Needs attention"** → creates a maintenance work order with the fixture's history. Assigned to your shop tech or rental vendor.
3. **Work order completion** → fixture returns to "Available" status; hours and parts used are logged on the fixture record.

Rental in / rental out:

- **Renting fixtures from a vendor** — mark them "On Rental In" with vendor, contract dates, rental rate. They show up in shows but aren't owned. At show end, mark "Returned."
- **Renting fixtures to another org** — mark "On Rental Out" with renter, contract dates, rate. The fixture is locked out of your own shows for the rental period. Rental income flows into Accounting via the integration.

QR / barcode physical workflow:

- Print a barcode label from the fixture record (Avery 5160 supported).
- Stick it to the fixture (yoke side or accessory slot).
- During load-in or load-out, scan with a phone — pulls up the fixture record and lets the gear crew mark "loaded onto truck" / "received at venue" / "patched."

Why this matters:

The inventory ties directly into the rig builder: when you drag a "Source Four 26°" onto a plot, the platform pulls the next available Source Four 26° from inventory and reserves it for that show. Two simultaneous shows can't both have the same fixture allocated. Shows scheduled in the future show as "Reserved" on the inventory side so you know what's truly free for an emergency call.