Docs/Project setup

Locations

Locations are the addressing spine of a project. Every defect, drawing pin, QR code, and report groups by location — so a well-structured location tree is what lets you answer "show me everything on Level 4, Apartment 4.02, bathroom" with one tap.

A project's locations form a tree: a building contains levels, a level contains apartments, an apartment contains rooms. You build the tree once at project setup, and everything else hangs off it.

The tree

  • Locations nest up to 5 levels deep. The depth ceiling is a hard server rule — the UI communicates it and won't let you exceed it.
  • Each location has a name, an optional type, a position among its siblings (you can reorder), and a parent (root locations have no parent).
  • A row's breadcrumb — its ancestor names joined with — is shown under the name, so you always know where a location sits even in a deep tree.

Location types

A location can be tagged as one of two types, or left untyped:

  • Apartment — a private dwelling or tenancy.
  • Common area — shared space (lobby, plant room, car park, corridor).
  • Untyped — no classification yet.

The type drives QR scoping (below) and helps filter defects and reports by space kind.

Building the tree

The Locations view opens with an empty state offering three on-ramps — no more "can't create the first node" friction:

  1. 01Manual — add a root location, then add children one at a time. Best for small or irregular sites.
  2. 02Template — pick a starting shape and set a couple of numbers; the tree is generated in one go. Three templates ship:

- Residential tower — one building × N levels × N apartments × standard rooms (kitchen, living, bathroom, master bedroom). - Townhouse complex — N blocks × N units × interior / garage / courtyard. - Commercial podium + tower — a retail ground floor plus N office levels × N tenancies.

  1. 01CSV — import a slash-separated path list (e.g. Building A/Level 01/Apt 1.01/Kitchen). Templates and CSV both feed the same bulk-create path, so you can export, edit in a spreadsheet, and re-import.

Templates and CSV are both clamped to the 5-level ceiling automatically.

The Locations view

The view is touch-first — every action is on a visible button, not hidden behind hover, so it works the same on a site tablet as on a desktop.

Desktop is a status-aware tree-table with a master-detail drawer: click a row, the drawer slides in with that location's detail. The toolbar gives you:

  • Search across location names.
  • Type filter — apartments, common areas, or all.
  • Has open defects filter — jump straight to the locations that need attention.
  • Expand / collapse all.

Mobile is a tap-first drill-down: tap into a location to see its children, with a floating action button to add and a bottom sheet to edit.

Bulk actions

Select multiple locations with checkboxes and a sticky bulk bar appears, letting you:

  • Set type on all selected at once.
  • Add to a QR scope.
  • Delete — with a cascade-aware confirmation.

Cascade-aware delete

Deleting a location deletes everything beneath it. Before it happens, the confirm dialog shows the full descendant count and a type breakdown (how many apartments, how many common areas) and asks you to type to confirm. There's no accidental "delete the whole building" — you see exactly what's about to go.

The detail drawer

Selecting a location surfaces a summary of what's there:

  • Defect counts by status — open, in progress, fixed, closed.
  • Recent defects — with status, priority, who they're issued to, and when.
  • Recent photos captured at that location.
  • The location's type tag (editable inline).
  • A QR inclusion toggle — whether this location is part of the project's QR scope.

It's the fastest way to triage a single space without leaving the tree.

QR scope

QR codes are generated for a defined set of locations — the QR scope. The scope is set per project as one of four tiers:

  • Apartments — every apartment-typed leaf.
  • Common areas — every common-area-typed leaf.
  • All leaves — every bottom-level location.
  • Custom — a hand-picked list of specific locations.

Changing the scope re-derives which locations get a printed code on the next QR sheet.

Who can edit

  • Editing the tree (add, rename, set type, reorder, delete, bulk ops) is available to Company Admins, Managers, and Building Managers.
  • Setting the QR scope is Company Admin only, consistent with the QR module's admin gate.

Other roles see the tree (scoped to what they're permitted) but can't restructure it.

What to read next

  • QR codes — printed codes derived from the location tree and QR scope.
  • Defects — every defect is captured against a location.
  • Projects — the container the location tree belongs to.