Owned Gear | Cine Power Planner

Owned Gear

Track personal equipment, usage, and return on investment

RFID Tag IDs

Scan an NFC tag (Android phone). In Chrome on Android a Scan NFC tag button appears beside the camera scanner. Tap it and hold the tag against the phone. The tag identifies the item whether you wrote an asset ID onto it or it carries only its factory serial — both are tried, written IDs first, through the same matching the camera and handheld scanners use. The button is not shown on desktop or on iPhone, because the browser cannot read NFC there. Declining the permission prompt just cancels. This reads one tag per tap; it does not read a whole closed case at once — that remains a UHF reader's job.

Each item can store the ID of an RFID tag stuck to it (edit dialog → Details → RFID tag ID), so you can tag your inventory before any reader hardware is set up. Tag IDs resolve through the same matcher as barcodes and serials: an RFID reader that types its reads like a keyboard (a "keyboard wedge") identifies tagged items through the existing hardware-scanner path right now. Bulk multi-tag reads with a dedicated reader are a planned follow-up. The search also finds items by tag ID.

Storage Location

Each item can record where it lives when it is not on a job — a shelf, the van, a rental partner. Open the item's edit dialog → Details step → Storage location. The field suggests every location you have already used, so "Van" stays "Van" instead of collecting three spellings. The location appears as a chip on the gear list, and the search finds items by it — searching a location name lists everything stored there.

Every location change is recorded automatically as a transfer — from, to, and when — and the last moves are shown under the field in the edit dialog. There is nothing extra to fill in: editing the location IS the transfer. The single-item gear calendar shows the current location beside the item's name — where it lives, next to when it is free.

Overview

The Owned Gear feature lets you maintain an inventory of equipment you own. Track purchase dates, costs, usage across projects, and calculate whether owning saves money compared to renting.

Requirements

Functional Requirements

IDRequirementAcceptance CriteriaPrioritySource
REQ-OWN-001The system shall allow users to add owned equipment by selecting from the device catalog or entering custom namesOpen selector → catalog shown; select item → added with auto-filled specs; custom entry → name required; save → persistsMustuseOwnedGear
REQ-OWN-002The system shall store purchase date, purchase price, serial number, condition, and notes per owned itemAdd item → edit form opens; fill purchase date, price, serial; save → fields persist after reload; partial fill allowedMustuseOwnedGear
REQ-OWN-003The system shall display an "Owned" badge on gear list items that match owned equipmentAdd 'ARRI ALEXA' to owned gear → project gear list with same device shows 'Owned' badge; remove from owned → badge disappearsMustuseOwnedGearPage
REQ-OWN-004The system shall calculate per-item ROI: (equivalent rent − purchase price) / purchase priceSet purchase price + daily rate → ROI % calculated; zero price → N/A shown; negative ROI → red indicatorMustuseGearFinancials
REQ-OWN-005The system shall calculate break-even days: days until rental savings exceed purchase costSet purchase price + daily rate → break-even calculated; already past break-even → green indicatorShoulduseGearFinancials
REQ-OWN-006The system shall track how many projects reference each owned itemView owned item detail → shows count of referencing projects; click count → list of projects shown; updates when projects changeMustuseOwnedGearPage
REQ-OWN-007The system shall allow editing and deleting owned gear without affecting existing gear list referencesEdit field → change reflected inline; save → persists after reload; cancel → reverts; delete → gear list refs unchangedMustuseOwnedGear
REQ-OWN-008The system shall support maintenance schedule tracking per owned item (maintenance type, interval, last performed)Add maintenance entry → type, interval, date fields; overdue → warning badge; upcoming → reminder notificationShoulduseOwnedGear
REQ-OWN-009The system shall check equipment availability across date ranges to prevent double-bookingCheck dates → shows available/booked status; booked items flagged with project reference; warning shown on conflictShoulduseGearAvailability
REQ-OWN-010The system shall calculate financial summaries: total portfolio value, total ROI, monthly depreciationOpen financials → summary cards show totals; values update when items added/edited; currency-formattedShoulduseGearFinancials
REQ-OWN-011The system shall support organizing owned gear into named sets (e.g., 'A-Camera Package', 'Interview Kit')Create set → name + items assigned; view sets → grouped display; edit/delete sets; sets shown on exportsShoulduseGearSets
REQ-OWN-012The system shall support sharing gear availability with other users for sub-rental coordinationShare gear → link generated; recipient sees availability calendar; owner controls visibilityCoulduseSharedGear

Non-Functional Requirements

IDRequirementMetricPriority
NFR-OWN-001Owned gear list shall render within 200ms for ≤1000 itemsRender timeShould
NFR-OWN-002Maintenance schedule reminders shall not block UI renderingNon-blockingMust

Data Requirements

  • Required fields: Device name (string)
  • Optional fields: Purchase date, purchase price (number ≥ 0), serial number, condition, notes
  • Persistence: IndexedDB → cloud sync via storageService
  • Relationships: Matched to gear list items by device name or catalog ID

Constraints & Limits

  • Free tier: Unlimited owned gear items
  • Serial numbers are free-text (no format validation)
  • An item normally holds one serial per unit, but you can add more serials than units with Add serial number. That is how you describe a set — one item containing several serial-numbered bodies (a Tentacle SYNC E MK2 Standard Set, a two-body follow-focus kit). Sub-rental delivery notes then offer and print every serial on the line instead of capping at the rented quantity.
  • ROI requires purchase price > 0 and at least one project usage

Offline Behavior

  • Fully available offline — all CRUD operations work without network
  • Changes sync to cloud when connectivity is restored

Dependencies

  • Requires: Device Library — catalog reference for owned items
  • Required by: Analytics (REQ-ANA-002) — ROI calculations use owned gear data

Accessing Owned Gear

Click Owned Gear in the sidebar.

The header on a phone (v0.648.1)

Below 768 px the header keeps exactly one button — Add Gear — and folds every other header action into a More menu beside it: Add Set, Print Labels, Browse Device Library, Add Missing Data, Export List (PDF), Share my gear, Present as rental house, and the "Learn about this feature" tour. Each entry carries its written label rather than the bare icon it wore when the row wrapped, and each is a 44 px target. The menu opens on tap or with the keyboard (Enter on the trigger, then ↑/↓/Home/End; Escape closes and returns focus to it).

At 768 px and wider nothing changed — the full button row is what ships, with the same labels, the same order, and the same tour anchors.

Adding Owned Equipment

  1. Click Add Owned Gear
  2. Select a device from the catalog or enter a custom name
  3. Fill in purchase details:
FieldDescriptionRequired
DeviceName or catalog selectionYes
Purchase DateWhen you bought itNo
Purchase PriceHow much you paidNo
Serial NumberEquipment serial for trackingNo
ConditionCurrent condition notesNo
NotesAdditional remarksNo
  1. Click Save

Filtering on a phone

Below the tablet breakpoint the Filters disclosure, the condition pills and the sort select — three full-width rows before — collapse into a single row: one Filters button carrying the number of filters you have set, the sort control beside it, and the result count. Tap Filters for conditions and the category / brand / attribute chips. From 768 px up the row is unchanged.

Using Owned Gear in Projects

When building a gear list, items you own are highlighted:

  • Owned badge: Items matching your owned gear show an "Owned" indicator
  • Cost savings: The billing tab can show $0 rental for owned items
  • Provider assignment: Assign "Owned" as the provider to exclude from rental costs

What the provider chip says (v0.690.4)

The provider chip names who supplies the row, never what the row is — the item's own name is already the row's headline, one column over. So an owned assignment reads Yours, and a collaborator's owned assignment reads their name (live profile first, the stamped ownerName as the offline fallback). Before this the chip echoed the linked unit's name, which said nothing new and pushed the one fact the column exists for into a small badge beside it — a crew member's shared Alexa read exactly like your own. The chip now uses the same word as the PDF export and the Edit Item modal (provider.yours), so one assignment reads the same on every surface.

A chain icon beside the chip means the assignment is linked to one specific unit of the inventory; its hover tooltip names that unit ("Linked to ALEXA Mini LF"), and a screen-reader-only copy of the same sentence carries it where title cannot. No chain icon means a generic owned assignment with no unit picked yet. The chip and the open provider dropdown both render it — this is one component (ProviderSelector) across every viewport, so mobile and desktop cannot drift apart.

Sub-rentals from connected crew keep naming the item, with the sharing crew member on the green badge beside it — that lane is a different provider type and is unchanged.

What a collaborator sees. Every path that adds an owned provider stamps ownerUid / ownerName through stampAssignmentOwner, and useOwnedProviderOwnerBackfill claims older unstamped rows on the device of whoever actually holds the unit. So a collaborator opening your project reads your name where you read "Yours" — the live member profile first, so a rename re-attributes on the next pull, with the stamped name as the offline fallback and "Collaborator" if neither is known. They get the chain icon too when you have shared that unit with them; when you have not, they see your name with no chain, because there is no unit for them to look at.

One case cannot be attributed: an assignment with neither an owner stamp nor a linked unit — legacy data, or a row created while signed out. Nothing about it says whose gear it is, so the backfill refuses to claim it and a collaborator still reads "Yours". Re-pick the unit on that row to fix it. Every assignment created while signed in carries the stamp.

Managing Your Inventory

Viewing All Items

The Owned Gear page shows a grid of all equipment with:

  • Device name and category
  • Purchase date and price
  • Number of projects using this item
  • Current ROI status

Editing

Click an item to open the detail editor. Update purchase info, condition, or notes.

The editor also includes a Maintenance Schedule section (below the condition section): plan upcoming maintenance tasks — cleaning, inspection, service, repair, or calibration — with due dates, mark them complete, delete them, and set recurring intervals. Toggle reminders to be notified when a task comes due. This is distinct from the per-item service-history log (reached via the History action): the schedule tracks work that's still to come and feeds the maintenance reminder notifications (REQ-OWN-008).

Removing

Click the delete icon to remove an item from your owned gear. This does not affect gear lists that reference the item.

ROI Tracking

Each owned item tracks its return on investment:

MetricCalculation
Equivalent RentDaily rental rate × total project days used
ROI(Equivalent Rent − Purchase Price) / Purchase Price
Rented (days)Days that earned — billed sub-rental days plus project rental days
Break-evenFurther rental days to pay the item off, projected at its list day rate

"Rented" is not "how long it was tied up." A day on your own production, or a week in the shop, is a committed day, not an earning day. The two are counted separately: Rented shows what earned, and the committed total plus utilization sit in the cell's tooltip on the ROI dashboard. Counting them as one made a card rented for a single day read as 28, and — because that count is also the divisor of the realised day rate, which break-even then divides by — turned a 15-day payback into a 490-day one.

Break-even is projected at the item's list day rate where it has one, because the question it answers is "how many more rental days at what I charge". Items with no list price fall back to the rate actually realised so far. The tooltip names the rate used.

For aggregate owned gear ROI, see the Analytics ROI Dashboard.

Fixed-price sub-rentals

A sub-rental priced as a package — one flat fee, or one rate per day for the whole kit — has no per-item price to read. The line prices on such a deal are recorded for the paperwork and never billed, so ROI does not use them. The earned amount is divided across the deal's gear by what each piece is worth:

StepRule
What is dividedThe deal's net subtotal — after any deal-wide discount, before tax.
Weight per line(item value + value of its components, at every depth) × line quantity
Item valuereplacement_valuepurchase_price → linked catalog entry's stockValue (the same chain the insurance and ATA carnet totals use).
ComponentsNested links are followed and their quantities multiply along the chain. Anything excluded on that line is left out. Free-text parts carry no value.
Missing valuesIf any gear-bearing line resolves no value, the deal falls back to the recorded line prices; failing those, to an even share per unit.

The rental-history row in the item and gear-set financials modals states the deal total, this item's percentage of it, and which of the three bases was used. A daily_used deal whose day count is not yet confirmed attributes nothing — no amount has been agreed, which is not the same as agreeing zero.

Nothing is written back: the invoice, quote, delivery note and customer total are unaffected. Spec: docs/features/subrental-package-revenue-attribution/.

Tips

  1. Log purchase prices: Accurate pricing drives meaningful ROI calculations
  2. Include serial numbers: Useful for insurance and rental house check-in
  3. Assign "Owned" as provider: Keeps rental cost calculations accurate
  4. Review ROI quarterly: Identifies underused gear to sell or gear worth buying

Components & Wear Log (v0.178.0)

Each owned-gear item can carry a configurable list of components — the parts inside the gear (front cap, rear cap, hood, lens body, batteries, cables, etc.). Components hold a name and a quantity; they do NOT carry their own wear data.

The component name field is a device-library typeahead (v0.436.0) — same as the item-name field in a project's gear list. Typing searches both the factory catalog and your own devices and surfaces matching real devices (with brand / category / detail badges); picking one fills in the exact device name. It's a helper, not a constraint: any free-text name that matches nothing (e.g. "Front cap 82mm", "Foam insert") is kept as typed. Linked-item components (below) keep their locked name that follows the linked device.

Parts the device ships with (v0.728.0)

Most catalogued devices arrive in a box with a known set of parts — a lamp head, a reflector, a control box, a head cable, a carry case. For every device we have curated, the app knows that list.

A new item inherits it automatically. Add a piece of gear that is linked to a curated device and its components come pre-filled with the manufacturer's box contents, so you are editing a real parts list instead of typing one from scratch. This happens on create only.

Your own parts are never touched. If the item already has components — you typed them, they came in on an import, or you duplicated an existing item — nothing is added, replaced or reordered. The inheritance only ever fills an empty list.

Items you already own can pull the list on demand. Open an item whose components are empty and, if its device is curated, the components section offers "Add the N parts this device ships with". It is a button, never automatic: an item whose parts you deliberately deleted stays empty until you say otherwise. Everything it adds is ordinary components afterwards — rename them, change quantities, add photos, delete the ones you did not get.

The same applies to rental-house gear, which shares the owned-gear shape and the same components editor.

Every curated device is sourced from at least two independent places — the manufacturer's own package-contents page plus a major vendor listing — because vendor listings abbreviate and kit SKUs quietly add items that are not in the standard box. Where the two disagree, the manufacturer wins. Coverage grows in batches; an uncurated device simply offers nothing and behaves exactly as before.

Components are drag-reorderable (v0.535.0). Grab the ☰ handle on the left of a component card and drop it where you want it; the handle appears as soon as there are two components, and hides while you're editing one. The order you set is the order the parts list is read everywhere downstream — the component rows on sub-rental delivery and return notes, the component tables in the delivery / return PDFs, your public rental catalogue and gear-sharing links — so you can make a lens read body → hood → front cap instead of whatever order you happened to add the parts in. Keyboard works too: Tab to a handle, press Space, move with the arrow keys, press Space again to drop.

The gear item itself owns a master Wear & Damage Log. Each entry has:

FieldDescription
DateWhen the wear/damage was observed
SeverityMinor / Moderate / Severe
DescriptionFree-form notes about what happened
ScopeBody-level (no component selected) OR scoped to a specific component
Source"Manual entry" or "from rental {{ref}}" when the entry was auto-created at return time

Renaming or removing a component preserves history: existing wear-log entries snapshot the component's name at the moment of the rename/delete ((removed component) indicator if you remove it later), so the Wear & Damage Log always reads coherently.

Linked owned items as components (v0.393.0)

A component can also be another owned-gear item. Example: your lens permanently wears a clear filter that you track as its own owned item (purchase price, insurance, serials) — link it to the lens and it behaves as one of the lens's components, while the two free-text lens caps stay plain components beside it.

  • Linking — in the item editor's Components section, click Link owned item and pick the item. The entry shows a Linked item badge; its name always follows the linked item (rename the filter and the lens's parts list updates), only the quantity is editable. Deleting the entry (Unlink) makes the child stand-alone again.
  • Linking takes units, not the whole item (v0.536.0) — if you own 5 of something, linking claims only the number you choose. The picker shows how many are still free and, for anything with more than one unit, a quantity box next to it (default 1). Link 1 battery to the A-camera and the other 4 stay in the picker for the B-camera, the sub-rental pickers, and your share links — where the stand-alone line simply lists the units that are left (5 owned, 1 linked → the share link shows 4 plus 1 under the camera, never 6). An item is only hidden as a stand-alone entry once every unit is claimed. The quantity of a link — when you create it and when you edit it later — is capped at what other items haven't already taken.
  • Where it hides — a fully claimed item stops appearing as a separate line in the sub-rental gear pickers and on your gear-sharing links (public link, crew share, linked rental-house catalogue). Instead it rides along as a component of its parent: share links list it indented under the parent, and sub-rental delivery/return notes include it in the parent's component rows.
  • Where it stays visible — everywhere else it remains a full asset: the main Owned Gear list (with a Component of … badge), insurance & valuation, utilization, and analytics.
  • Rules — one level only: an item with any linked unit can't receive links of its own, an item with linked components can't be linked under something else, and one parent holds a single entry per child (raise that entry's quantity instead of adding a second). Hard-deleting a linked child converts the parent's entry back to plain text (name and quantity survive); deleting the parent frees the units automatically.

How components flow into delivery / return notes

When a subrental ships a piece of gear that has components, the Delivery Note panel and Return Note panel expand each line item into one block per shipped unit, each with a row per component:

  • Delivery Note — tick a box per (unit, component) when the customer signs off that the part was actually delivered.
  • Return Note — cycle each (unit, component) through OK → Damaged → Missing, with optional inline notes. Marking a component damaged or missing automatically writes a wear-log entry on the parent gear (severity moderate for damaged, severe for missing). The entry is keyed deterministically per (transaction, item, unit, component), so toggling the cycle back and forth never creates duplicate history. An "Undo damage report" button explicitly removes the auto-pushed entry.

The delivery and return PDFs mirror this layout: parent device row at the top, then one full-width sub-row per unit listing each component with / glyphs (delivery) or condition labels (return). Items without components keep the legacy single-row layout — there's no UI regression for gear that doesn't use this feature.

Per-unit identity (unitIds)

When a line ships quantity > 1, each shipped unit gets a stable internal unitId. Reordering line items, editing other fields, or persisting/reloading the transaction never mutates the existing ids. Reducing quantity preserves orphaned unit data — dropping qty 3 → 2 hides unit u_3's checked state, but bumping it back to 3 restores it.

Components inside a set (v0.539.0)

Owned Gear → Sets, expand any set: each member item is listed with its quantity, and under a member that carries a components parts list those components appear as indented sub-rows — • name × qty, in the order you dragged them into. So a camera kit reads down to the caps, cables and plates without opening each item's editor.

It is the same read-only sub-row the project gear list uses under an owned item, so a set member reads identically on both surfaces. Editing a parts list still happens on the item itself, under Owned Gear → Items → Edit; the set view only shows it. A member with no components shows nothing extra, and the set's item-count badge counts members only — components never inflate it.

Putting sets, and their contents, in order (v0.540.0)

Both levels of the Sets tab are drag-reorderable, each from a handle on the left.

The items inside a set — open Owned Gear → Sets → Edit Set (or the Add Set dialog) and drag a row by its handle. That order is not cosmetic: the expanded set card, the gear-list and pickup-list PDFs, the insurance export and the public gear link all list a set's members exactly as stored. Put the identifying piece first — the body before the cables — and the kit is recognisable wherever it prints.

The sets themselves — on Owned Gear → Sets, drag a card by the handle beside its name. The order is saved on the set itself, so it survives a reload, another device and a fresh sign-in.

Details worth knowing:

  • Nothing moves until you drag. Sets you have never reordered keep the order they already had, and a newly created set still appears at the top.
  • Reordering while a search is active works. The set moves correctly relative to the ones the search is hiding, rather than only against what is on screen.
  • Dropping something back where it started changes nothing — no save, no sync, no timestamp bump.
  • Reordering a set's items can change its category on a shared catalogue if you never picked a Lead item explicitly: an unset lead falls back to the set's first member. Choose one in the editor to pin it.
  • Both handles are keyboard-operable: Tab to the handle, Space to pick up, arrows to move, Space to drop.

What a set can tell you about itself (v0.541.0)

A set card on Owned Gear → Sets carries the same context actions an individual item row does, so a package can answer the questions you would otherwise have to ask each of its members one at a time.

Left to right on every card: ★ star · calendar · financials · wrench | edit · duplicate · delete — the same icons, in the same order, with the same colours as an item row.

Selecting several at once (v0.550.0). Each card also has the checkbox the item rows have. Tick one and the floating bar appears at the bottom; shift-click a second card to take the whole range between them, or use Select all visible to take everything the current search leaves on screen. The bar offers the two operations a set has — Duplicate and Delete — and deleting asks first. Switching away from the Sets tab clears the selection.

  • ★ Star marks a set you reach for often. The star is a marker only — it does not reorder the list, because the Sets tab is in the manual order you dragged it into (above). It survives reload and sync.
  • Calendar opens a month grid of the set's availability. A day is amber when some members are booked and red when the set cannot go out at all; click a day and it names which member blocks it and by how much — "Komodo — 2 of 3 booked, this set needs 2". The month's counts are also written out in words, so you no longer need to hover the card's badge to read them.
  • Financials shows what the package cost, what it has earned, its ROI and payback progress, plus a per-item breakdown.
  • Wrench shows one merged service history for the whole set — every member's maintenance log, completed scheduled services and wear entries in one timeline, each row naming the item it came from, with anything overdue at the top.

Two things worth knowing about the financials:

  • Each member counts in full. If a set uses one of three bodies you own, the figures still include all three bodies' purchase price and all three bodies' rental revenue. Revenue cannot honestly be split between packages, and scaling only the cost side would flatter the ROI — so both sides stay on the same basis. The breakdown shows (1 of 3 owned) so you can see what the set actually draws on.
  • Items with no purchase price are named and excluded from the ROI figures rather than being counted as free.

The maintenance view is read-only. Scheduling and logging stay on the individual item, where the reminder and recurrence settings live — a set has no service interval of its own.

Sets inside sets (v0.546.0)

A set can hold another set. A Camera Package is the Body Kit + the Matte Box Kit + a lens — say that once instead of re-listing every leaf item in every package and watching them drift apart.

Adding one. In Add Set / Edit Set, open Add items to set and switch to the Your Sets tab. Tick a set to add it as a single member, with its own quantity — 2 × Light Kit. The reference stays live: change the sub-set later and every set holding it follows.

Loops are impossible. The picker greys out any set that already reaches back to the one you are editing, directly or through a chain, and says why — "Already contains this set — adding it would loop". Nesting resolves five levels deep; anything past that is shown as Deeper levels not shown rather than followed.

Seeing everything. Expand a set on the Sets tab and you get the whole tree: a nested sub-set is a labelled group with its own members indented beneath it, recursively, and every owned item still carries its components parts list. The count in the card header is the resolved item count — a set whose single member is a nine-item sub-kit reads 9 items, not 1 — and a Contains sets chip marks the cards that have depth to open.

Everything downstream sees the leaves. Adding the package to a project, a sub-rental, the public gear link, the insurance/ERPAM export, the availability calendar, the maintenance timeline and the ROI view all resolve the nested members to real items, with quantities multiplied along the chain (2 × a kit holding 3 stands = 6 stands).

Discount to a target total (v0.711.0). In the % Discount pricing mode, instead of guessing the percentage you can name the day rate you want the set to rent for. The helper measures against the summed day rates of the set's members and fills in the percentage that gets there, showing the rate actually reached before you apply it. A set with no priced members has nothing to discount, so the button is disabled and says so.

Pricing follows each level's own rule. A sub-kit you priced at a flat €30/day contributes €30 to its parent — not the €50 its parts list at — and the parent's own mode (Sum, % discount, Fixed) applies on top. That is the point of nesting: the deal you struck one level down survives.

Deleting is safe. Delete a set that is a member of others and it is removed from each parent automatically, listed in that parent's Items removed from this set banner. No set is ever left pointing at something that no longer exists.

Editing a Gear Set (v0.537.0)

Owned Gear → Sets → Edit Set saves as you go. There is no Save button: every change — name, description, pricing mode and prices, the insurance fields, items added or removed through the picker, quantities, the lead item — is written 600 ms after you stop making it. The footer shows Saving…, then Saved, and closing the modal (Done, ✕ or Escape) writes anything still pending before it closes.

Two things are worth knowing:

  • A set with no name, or with no items, is not written. The normalizer rejects it, so the footer says Not saved — a set needs a name and at least one item instead of claiming a save that did not happen. Give it a name or put an item back and the next change saves normally.
  • Editing an item's name or day rate inside the set edits your whole inventory, not just this set — those two fields live on the owned-gear record itself. Quantity, membership and the insurance-export exclusion belong to the set.

If the set is already used in projects, closing asks whether to push the new name and prices into those projects' stored snapshots (Push to all active projects / Only apply to future projects). The question is only raised when the session actually changed something.

Set-level QR Codes (v0.216.0)

Each gear set can be tagged with a printable QR label that lets you onboard the whole set into a project's gear list in a single scan.

Generating the QR

  1. Open Owned Gear → Sets.
  2. Click any existing set to open the edit modal.
  3. Scroll past the items picker — a Set QR Code section renders with the printable code and the set's name + item count.
  4. Click Print Set Label (web only) to send a single-page label to your printer. Tape it to your flight case, pelican lid, or roadie cart.

The encoded URL is /scan?type=set&id=<setId> and is immutable: once printed, the QR stays valid forever. Adding, removing, or repricing items in the set never changes the QR. No re-printing is needed when you update the set's contents — the next scan always resolves to the current state of the set.

Scanning into a project

See Projects → Scan-to-add.

Sharing Your Gear (v0.266.0)

You can share your owned gear with others in two ways — with a rental house, or directly as yourself:

  • As a rental house (existing): create a custom Rental House on the Rental Houses page, link your owned gear to it, then create a public link or share with connected crew. The catalogue is presented under the rental house's name and contact details.
  • As yourself, no rental house (new): on the Owned Gear page, expand the "Share my gear" section. This runs the same flow but skips the rental-house step — your catalogue is presented under your own profile (your company or name + contact details from Settings → Account).

Both options stay available; pick whichever fits. In either case:

  • Public link — anyone with the link can view your catalogue (read-only, no prices shown); it updates as your gear changes. Disable it any time.
  • Link style — once the public link is on, choose between a random link (…/rh/a1b2c3d4-…, unguessable) and a name link built from your display name (…/rh/your-name) so it's memorable and easy to share. If your name is already taken by another user, a short suffix is added automatically. Switch back to a random link any time. Both open the same price-free catalogue; the name link is guessable by design (that's what makes it memorable) but exposes nothing extra.
  • Share with crew — your connected crew can see the catalogue (read-only, no prices) in their Shared with me list and pick from it when assigning gear on a project.
  • Choose what's shared — use the per-item eye toggles to hide individual items from the shared catalogue. Hidden items are excluded from both the public link and the crew share. Your selection syncs across your devices.
  • Category order — drag the Category order control to set the sequence gear categories appear in on your shared link (e.g. lead with Lighting). Categories you haven't ordered follow in the default order, and uncategorised items always come last; Reset restores the default. Your personal link keeps its own order (independent of any rental-house catalogues), it applies to both the public link and the crew share, and it syncs across your devices. The control appears only when your catalogue has at least two categories.
  • Gear sets (v0.388.0) — turn your gear sets into bundles on the public link with the Gear sets control: Don't show sets (default — only individual items), Show sets and items (each set appears as a bundle in addition to its individual parts), or Show sets instead of parts (a part that belongs to a shown set appears only nested inside that set). Each set is listed as a single, selectable row under its lead item's category, with its members shown nested beneath and searchable by member name; a visitor can request a whole set as one bundle. Choose the lead item in the gear-set editor (the member whose category the set inherits — a "Monitor Set" led by the monitor lists under Monitoring; unset defaults to the first item). Sets appear on the public link only, not in the crew Shared with me view. Prices are never shown.

Your own identity comes straight from your profile — edit your name, company, and contact details under Settings → Account.


Last Updated: 2026-08-18 Version: 0.790.2