Timeline | Cine Power Planner

Timeline

Visualize gear usage history, maintenance schedules, and ROI over time

Overview

The Timeline — the Gear History view on the Sub-Rentals page — is a visual history of your equipment: when it went out on a sub-rental, when it came back, and when maintenance or a repair was logged against it. Those events are also what the utilization and ROI figures elsewhere in the app are calculated from, so keeping them accurate is what makes those numbers right.

Requirements

Functional Requirements

IDRequirementAcceptance CriteriaPrioritySource
REQ-TML-001The system shall display a chronological timeline of gear usage events per owned itemOpen Sub-Rentals → Gear History → events listed newest-first, 10 per page; each shows date, type, description; 0 events → "No events found for this period"Musttimeline
REQ-TML-002The system shall show events grouped by type: Project Usage, Maintenance, Purchase, Sub-RentalTimeline loads → events grouped under type headers; each group collapsible; count per group shown; empty group hiddenMusttimeline
REQ-TML-003The system shall allow manually adding timeline events (maintenance performed, repairs, calibration)Click "Add Event" → form with type, date, notes; save → event appears on timeline; edit/delete supportedMustMaintenanceLogForm + useGearTimelineLogHandler
REQ-TML-004The system shall display ROI accumulation as a visual progression alongside the timelineTimeline shows cumulative earnings line/bar; grows with each rental/usage event; hover → shows running total amountShouldtimeline
REQ-TML-005The system shall auto-populate project usage events from project date ranges where the item appearsItem used in project → timeline shows project name, dates, role; multiple projects → multiple entries shownMustno concrete source — see note below
REQ-TML-006The system shall support filtering events by type, date range, and gear itemApply filter → results update immediately; clear → full data restored; empty query → all items shownShouldtimeline
REQ-TML-007The system shall show maintenance reminders when scheduled maintenance is overdueMaintenance date passed → warning badge on item; overdue count shown in timeline header; click → opens maintenance formShouldtimeline

Note (2026-09-08): REQ-TML-005 is not shipped as stated. project_use is a declared event type in timelineService, but nothing writes one — the only event_type values ever persisted are rental_out / rental_in (from subrentalTimelineWrites) and whatever the manual form submits, and getAllGearTimeline only filters and sorts events that already exist. Project usage IS derived from project shoot periods, but only as utilization/ROI periods in collectUsagePeriods — those never become timeline events, so no project-usage entry appears on the timeline. The row is retained as planned scope.

Note (2026-09-10): REQ-TML-002, REQ-TML-004 and REQ-TML-007 are also not shipped as stated, and are retained as planned scope on the same basis.

  • REQ-TML-002 (grouping). Events are not grouped under collapsible type headers. GearTimeline renders one flat list, newest first, paginated 10 per page, with a single total count in the header. Event type appears as a row of filter toggles, not as group headings — filtering to one type is the closest shipped equivalent.
  • REQ-TML-004 (ROI progression). There is no cumulative ROI line, bar or hover total anywhere on the timeline. Timeline events do feed the ROI and utilization figures shown elsewhere — USAGE_EVENT_TYPES in gearUtilizationService counts rental_out, project_use and maintenance — but that is a number on another surface, not a visual progression on this one.
  • REQ-TML-007 (overdue maintenance reminders). Nothing on the timeline computes or displays an overdue state: no badge, no header count, no click target. Owned Gear has its own maintenance schedule (useMaintenanceSchedule); the timeline does not read it.

Non-Functional Requirements

IDRequirementMetricPriority
NFR-TML-001Timeline shall render within 300ms for ≤100 eventsRender timeShould

Data Requirements

  • Event types: sub-rental out and in (written for you when gear moves), maintenance and repair (from the Log Maintenance form). purchase and project_use are declared in the service but nothing writes them — see the notes above.
  • Event fields: Date, type, description, linked project/item ID
  • Persistence: Events stored in IndexedDB → cloud sync
  • Source data: owned gear and sub-rental records. Project data feeds utilization/ROI, not the event stream.

Constraints & Limits

  • Available to all tiers (Free and Pro)
  • Auto-populated events depend on project date ranges being set
  • Timeline renders client-side and paginates at 10 events per page; filters apply to the whole set before paging

Offline Behavior

  • Fully available offline — timeline data is derived from local stores
  • Manual event additions sync to cloud when connectivity is restored

Dependencies

  • Requires: Projects — timeline events per project

Accessing the Timeline

Open Sub-Rentals from the sidebar and switch to the Gear History view. That is the timeline — it covers your whole inventory at once, with a Gear Item filter for narrowing to one piece.

There is no Timeline tab on an individual owned-gear item, and no standalone Timeline sidebar entry; the legacy /timeline route redirects to Sub-Rentals.

Viewing the Timeline

Event Types

Events are colour-coded and icon-tagged:

Shown asIconColourWhen it appears
Rented OutUp arrowBlueGear went out on a sub-rental
ReturnedDown arrowGreenGear came back from a sub-rental
MaintenanceWrenchYellowYou logged maintenance of any type except Repair
RepairWrenchRedYou logged maintenance and chose Repair
PurchasedShopping cartPurpleDeclared, but nothing writes one — see the notes above
Project UseBriefcaseOrangeDeclared, but nothing writes one — see the notes above

Repair and Maintenance share the wrench; the colour is what separates them. Only the first four event types can actually appear on your timeline today.

Adding Events

  1. Click Log Maintenance in the Gear History header
  2. Pick the gear item (or leave it as No specific item)
  3. Choose a maintenance type — Sensor Cleaning, Firmware Update, Repair, Calibration, Inspection or Other
  4. Enter the date, service provider, cost and notes
  5. Click Save

This is the only way to add an event by hand, and it always produces a Maintenance event — or a Repair event when you pick Repair. There is no free-form "add any event type" form: rental events are written for you when gear goes out and comes back on a sub-rental.

The cost you enter is also mirrored onto the item's own maintenance log, which is where Owned Gear reads it for total cost of ownership.

ROI and utilization

The timeline itself draws no ROI chart — there is no cumulative line or running total overlaid on the events. What the events do is feed the utilization and ROI figures shown on the Sub-Rentals page and in Analytics & ROI: rental, project-use and maintenance events are the periods those calculations count, de-duplicated so two events covering the same day count once.

So logging maintenance and running sub-rentals through the app is what makes those numbers right — you just read the result elsewhere, not here.

Tips

  1. Log maintenance regularly: Helps with warranty claims and resale value
  2. Set maintenance intervals in Owned Gear: overdue tracking lives there, not on the timeline — the timeline records what was done, not what is due
  3. Cross-reference with analytics: Timeline events feed into the ROI dashboard
  4. Use for insurance documentation: Maintenance history demonstrates proper care

Last Updated: 2026-09-10 Version: 0.790.2