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:
- 01Manual — add a root location, then add children one at a time. Best for small or irregular sites.
- 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.
- 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.
The Wall Sheet
The Locations view is for building the tree. The Wall Sheet is for reading the job through it.
It's the same tree, rendered as an expanding table where every row carries the totals rolled up from everything beneath it:
- →Open items in that subtree.
- →Checklists, with an answered-of-total fraction and an amber marker when a hold point is still outstanding.
- →Documents and drawings filed against it.
A row only shows a total you're permitted to read. If your role can't see documents, the documents column isn't there for you — it isn't shown as a zero, which would be a different and untrue statement.
Zooming. Expanding happens in place, one level at a time, so a 400-room tower doesn't load itself into your phone to answer a question about level 3. You can also zoom the whole sheet onto one node — the breadcrumb above it stays clickable all the way back to the top, and the address is a real URL, so a particular level of a particular building is a link you can send someone. Every row on the Locations view has an Open in Wall Sheet jump for exactly that.
Filtering. Narrow the sheet by trade or by date range and every total in the tree recounts against the filter.
Drilling in. Click any total and the items behind it slide out in a drawer. That list is produced by the same query that produced the count — not a second one written to resemble it — so the number and the list cannot drift apart.
Exporting. The Export CSV button takes the sheet as it currently stands: the zoom you're on, the filters you've set, the columns your role can see. What downloads matches what's on screen, cell for cell.
There's a Locations widget on the dashboard carrying the same top-level totals for a project you pick, with every row clicking through to the right place in the Wall 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
- →Scan drawings — build most of this tree from a PDF floor plan instead of typing it.
- →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.
- →Inspections — the checklists the Wall Sheet counts.
- →Strata and owners corporations — the Apartment and Common area types doing the lot-versus-common-property work.