# GeoLynx — Features Overview

> **Purpose of this document.** Source material for the company website. It describes what
> GeoLynx does today, in enough detail that marketing copy can be written from it without
> checking the app. Everything below is live in the product unless it appears under
> *On the Roadmap* at the end.
>
> **Last reviewed against the codebase:** 2026-08-16

---

## The All-in-One Platform for Fibre Network Planning, Wayleave Management & Strategic Analysis

GeoLynx is an enterprise platform built for telecommunications companies deploying fibre
broadband networks. It unifies network design, project delivery, wayleave tracking, premises
stocklisting, commercial opportunity building and strategic spatial analysis into a single,
map-centric workspace — with an audit trail behind every change and a configuration layer that
lets each deployment shape the system to how it actually works.

---

## Platform at a Glance

| Module | What it does |
|---|---|
| **Dashboard** | Personalised landing page: what needs your attention, module by module |
| **Projects** | Full lifecycle of a fibre deployment — design, premises, topology, delivery |
| **Project Map** | Organisation-wide interactive map; draw new project boundaries |
| **Accounts** | Customer, partner and supplier register, with linked projects and stocklists |
| **Stocklists** | Premises datasets — build, import, search and reuse across projects |
| **Wayleave** | Wayleave negotiation and sign-off, with a formal premise-coverage approval model |
| **Opportunity Builder** | Bundle projects into a commercial case and route them to a target network point |
| **Strategy & Insights** | Distance analysis engine and Land Registry freeholder search |
| **Admin** | Module configuration, users and roles, map layers, analysis datasets |

Any module can be switched off for a deployment that does not need it — the navigation, the
routes and the AJAX endpoints all disappear together, so a disabled module is genuinely absent
rather than hidden.

---

## Dashboard

The landing page answers one question: *what needs my attention today?* It is scoped to the
signed-in user — company, module enablement and permissions all apply — so a delivery partner
with access to six projects sees six projects, not organisation-wide totals.

- **Mine / Everything toggle** — switch between records you personally manage and everything
  you are allowed to see
- **Needs-attention queue** — every flagged record across every module, priority-ordered.
  It renders only when there is something to flag; an empty state that reappears every day
  teaches people to stop looking
- **A card per module** — headline count of live work, a **stage bar** showing how that work
  is distributed across the configured statuses (using each status's admin-chosen colour),
  then the module's flagged records topped up with your recently opened ones
- **Premises trend chart** — premises per month, with click-through drill-down to the
  underlying project list
- **Recently opened** — across all five entity types, so you can pick up where you left off

### Attention flags

Four flags, each of which can be enabled per module with its own thresholds:

| Flag | Fires when |
|---|---|
| **Date overdue** | The expected completion date has passed and work is still active |
| **Date moving** | The expected completion date keeps being pushed — churn is its own signal (default: moved 3+ times within 90 days) |
| **Date due soon** | The expected completion date is approaching and work is still active (default: within 7 days) |
| **Stale record** | The status has not changed in a long time (default: 30 days). Reads *status history*, not the last edit — a record touched daily whose status never moves is exactly what this catches |

Which date counts as the expected completion date, which counts as the completion date, which
status means finished and which mean work has stopped are all **client decisions made in
admin**, never hard-coded. Where a module has no such configuration, the dependent flags simply
do not exist and its card falls back to recently-opened — nothing errors and nothing hides
behind a warning.

---

## Interactive Mapping & GIS

Every map in GeoLynx is OpenLayers, served from a local copy — no third-party mapping service
is called at run time for the application itself.

- **Draw and edit project boundaries** directly on the map
- **Visualise network infrastructure** — cabinets, cables, ducts, sub-ducts, poles, chambers
  and access points, as editable vector layers
- **Layer management** with grouped, toggleable **Project layers**, **Reference layers** and
  **Base layers** (OS mapping, satellite imagery)
- **Inline attribute editing** — select a feature, edit its properties in the attributes panel,
  and save map edits as a batch
- **Feature popups** carrying the attributes that matter for that layer
- **Postcode and coordinate lookup** for rapid navigation
- **Editable-by-layer control** — which layers are interactive, which are editable and which
  fields may be edited are set per layer in admin, not in code
- **Standards-based output** — spatial data stored in PostGIS and exported in OGC-compliant
  formats (GeoPackage, GeoJSON)

Maps appear in the project editor, the stocklist editor, the account editor, the wayleave
editor and the opportunity editor as well as the standalone Project Map, all driven by the same
layer registry — configure a layer once and it is available everywhere it is relevant.

---

## Project Management

Manage the full lifecycle of a fibre deployment from prospecting through to completion, in a
multi-tab project editor.

### Project tracking

- **Status workflow**, admin-configurable per deployment — add, rename, reorder, retire and
  colour each status without a code change. A typical set: Created, Prospecting, Approved to
  Plan, In Planning, Planned, Approved to Build, In Build, Complete, Not Viable, Cancelled.
  Every record starts in **Created**, so nothing is ever unreportable. The chosen colour
  carries through to the editor header badge and the dashboard stage bar
- **Assign project managers, contractors and delivery partners** to each project
- **Parent/child project hierarchies** for breaking large programmes into phases
- **Link projects to customer accounts** for commercial tracking
- **Live header metrics** — total premises and how many of them this project counts, plus MDU
  premises and cable meterage, always on screen; any overlap between projects appears as a
  badge that links through to the premises themselves

### Premises — what a project contains, and what it counts

A project's premises are derived from its boundary and **kept up to date automatically**:
saving a boundary resolves what falls inside it there and then, so every premise figure is a
stored fact rather than a live geographic calculation. Nothing is user-edited, and a premise
that leaves a boundary and later returns keeps the date it first arrived.

A parent project and its phases would otherwise each count the same premise, so containment
is recorded as two facts rather than one. Every premise inside a boundary is either **counted
by this project** — it is the lowest-level project in its own hierarchy containing that
premise — or **counted by a project below it**. A parent delivering an estate through three
phases therefore *sees* every premise and counts none of them, and no premise is delivered
twice in a portfolio total.

Total Premises keeps its original meaning throughout: everything inside the boundary, with
the header showing alongside it how many of those the project itself counts. The rest of the
picture is shown where it can be acted on — each premise row is marked with which project
counts it, the project list carries the columns for scanning the estate, and the project
hierarchy shows a premise count against every project it lists, the one being viewed
included, so what each phase delivers is readable without leaving the page.

**Overlap between unrelated projects is flagged, never silently resolved.** Where two
projects with no parent/child relationship both contain a premise, both count it and both are
marked, because picking a winner would hide a boundary error behind an arbitrary answer. The
project editor states how many premises another project also claims, names those projects,
and names the two fixes: set a parent project where one genuinely sits inside the other, or
correct the boundary. The marker is amber on a project already in a hierarchy and red on a
standalone one — red marks the project where setting a single field resolves it.

### Project editor tabs

- **Map** — interactive view of the boundary, cables, ducts, equipment and premises, with full
  draw and edit tooling
- **Main Details** — every metadata field, rendered from configuration: system fields and
  client-added fields side by side, grouped into the sections and categories an admin defined
- **Premises List** — full register of residential and commercial properties in scope, with
  SDU / Small MDU / MDU classification and cable-meter calculations, each premise marked with
  its hierarchy role and with any overlap against another project
- **Network Topology** — interactive graph of the logical network: cabinets, splitters,
  connection points and endpoints
- **Fibre Allocation** — assign and track fibre strands across cables, editable from the list
  or directly on the map
- **Opportunities** — the commercial opportunities this project belongs to, and nearby projects
- **Attachments** — upload and categorise project documents, plus a project cover image
- **Journal & Audit Log** — complete timestamped record of every change, with team notes

### Project list

A sortable, per-column-filterable table covering name, parent project, account, status, project
manager, contractor, **top-level project**, premise counts by type (total / MDU / small MDU /
SDU), how many of the total this project itself counts, and created and modified metadata.
The top-level column is the root of each project's lineage — itself, where it has no parent —
so filtering on it returns an entire programme in one go, where filtering on the parent finds
only direct children. The overlap column makes overlapping boundaries scannable across the
whole portfolio.

### Project exports

- **GeoPackage** — OGC-standard spatial data for QGIS, ArcGIS and other GIS tools
- **A3 Overview Map PDF** — presentation-ready project summary map
- **A3 Full Detail Map PDF** — full technical map with all network elements
- **CSV Premise List** — lightweight spreadsheet export
- **Excel Premise List** — formatted workbook

PDF map output is rendered cartographically by QGIS server-side, so the result is a proper map,
not a screenshot.

---

## Automatic Cable Routing

An auto-routing engine that calculates cable paths across existing infrastructure, powered by
PostGIS and pgRouting. Available from the project editor map and the stocklist editor map.

- **Route against existing duct infrastructure**, including Openreach PIA duct networks
- **Configurable parameters**, each a live slider:
  - Route resolution (path simplification)
  - Point tolerance (snap-to-network threshold)
  - Route tolerance (search-distance buffer)
  - Civils avoidance weighting (cost multiplier for civil works)
  - Blockage avoidance weighting (cost multiplier for PIA blockages)
- **Preview before committing** — calculate, inspect, then choose the layer to write to
  (Plan Cables or Plan Subduct)
- **Real-time progress indication** during calculation

---

## Wayleave Management

A module for managing wayleave negotiation and sign-off — and, more importantly, for keeping an
exact, defensible record of **which premises a wayleave actually covers**.

### Wayleave tracking

- **Searchable wayleave list** with per-column filters: name, parent wayleave, account, status,
  wayleave manager, company, premise count, polygon count and modification history
- **Admin-configurable status workflow**, the same machinery as every other module
- **Parent/child wayleave hierarchies**
- **Live header metrics** — premises, polygons, files and overlapping projects

### Coverage — four sources, one approval model

There are four ways to put a premise on a wayleave, and **all four go through approval**.
Nothing becomes coverage merely because somebody attached it.

| Source | How it claims premises |
|---|---|
| **Drawn polygon** | Premises falling inside a polygon drawn on the wayleave map |
| **Direct UPRN** | Individual premises added by address, postcode or UPRN (single or pasted list) |
| **Attached stocklist** | Every premise in a linked stocklist |
| **Linked Land Registry title** | Premises under a title number linked to the wayleave |

- **Confirmed Premises** shows what is covered right now
- **Approvals** shows what is proposed, with gross and net counts — net being what would
  actually change, since a premise another approved source already claims stays covered either
  way. Approve or reject in bulk, or drill into the full premise list behind any row before
  deciding
- **Outstanding work is derived, never stored.** A polygon that grew, or a stocklist that gained
  premises, is detected by comparing what each source resolves to *now* against what has been
  approved. Coverage therefore cannot go stale, and never changes without a decision
- **Nothing is deleted.** Rejections and removals leave a record, so a decided change is never
  re-raised, and a reversal has something to restore
- **Decisions are immutable and record their own membership** — every approval, rejection and
  reversal is logged with who, when, and exactly which premises it added or removed
- **Removals are requests with answers** — asking to remove a premise is one act; refusing that
  removal, and leaving the premise covered, is another. Both are recorded
- **Approval is a separate permission** (*Wayleave Approver*), so the person who can draw a
  polygon need not be the person who can confirm what it covers

### Wayleave editor tabs

- **Main Details** — configuration-driven fields, as every module
- **Premises** — confirmed coverage, plus the four source panels that feed it
- **Approvals** — outstanding changes and the full decision log
- **Projects** — network projects that share at least one premise with this wayleave, so the
  build impact of an unsigned wayleave is visible
- **Map** — draw, edit and delete wayleave polygons; coverage layers rendered by state
- **Attachments** — signed agreements, handover packs, supporting documents, cover image
- **Journal & Audit Log** — full activity history for compliance

---

## Opportunity Builder

Identify, evaluate and bundle commercial opportunities across the network footprint, then prove
the numbers.

### Opportunity editor tabs

- **Main Details** — configuration-driven fields, parent/child hierarchy, account linking
- **Project Selection** — search for projects and add them, with automatic suggestions of
  available projects **within 1000m** of the current selection
- **Routing** — choose a **target network location** (any planned equipment across the bundled
  projects) that everything routes back to, then choose a routing mode:
  - *Closest First* — nearer projects get the shortest routes
  - *Closest Last* — the farthest project gets the shortest route, at some cost to nearer ones
- **Output Summary** — routing results and the commercial picture
- **Attachments** and **Journal & Audit Log**

Routing runs with a live progress bar and writes its results back to the opportunity, where the
map shows every bundled project boundary and the calculated network route between them.

### Opportunity list — the commercial numbers

Alongside name, status, manager, company and account, the list carries the metrics that decide
whether a bundle is worth building:

- Project count, total premises, MDU / SDU / other premises
- **Total estimated route distance**
- **Shared distance** and **unique distance** — how much of the route is common infrastructure
- **Meters per premise** and **meters per MDU premise**
- **Shared meterage percentage**

### Opportunity export

- **A4 Opportunity Summary PDF**

---

## Stocklist Management

Stocklists are the premises datasets that define which properties are in scope for a network
plan or a commercial agreement. They are built once and referenced everywhere.

### Building a stocklist

- **Address search** against Ordnance Survey AddressBase, by address, postcode or UPRN
- **Freeholder search** — pull in every premise under a Land Registry proprietor
- **Bulk import from Excel** (.xlsx) with a live import-progress panel and an active-jobs list,
  so a large import can be left to run
- **Drag-and-drop assignment** between available addresses and the current list
- **SDU / Small MDU / MDU classification** with cable-meter calculations

### Stocklist editor tabs

- **Map** — spatial view of every premise, with layer controls, equipment overlay and cable
  auto-routing
- **Main Details** — configuration-driven fields, including any account fields flowed down
- **Premises List** — the read view of everything in the stocklist, **one row per premise**,
  each naming the project that counts it. Where more than one project claims a premise the row
  says so and names them all, rather than picking one or repeating the premise once per
  project
- **Premise List Editor** — search, add, remove and bulk-import, with import job monitoring
- **Opportunities** — the opportunities this stocklist feeds, and the projects that draw
  premises from it
- **Attachments** and **Journal & Audit Log**

### Stocklist tracking

- Admin-configurable status workflow
- Named stocklist managers, assigned suppliers and linked accounts
- Parent/child stocklist hierarchies

### Stocklist exports

- **CSV Premise List**
- **Excel Premise List**

---

## Account Management

A central register of customer accounts, partner organisations and supplier relationships.

- **Account registry** with search and per-column filtering
- **Admin-configurable status workflow**
- **Assign account managers and suppliers** per account
- **Parent/child account hierarchies** for corporate structures
- **Linked data views** — stocklists and projects belonging to the account, plus a map
- **Field flow-down** — an account field can be flagged to **pass to stocklists** and/or
  **pass to projects**, where it appears read-only on the child record. Commercial terms agreed
  once at account level are then visible, unedited, everywhere they apply
- **Attachments** and **full journal and audit log**

---

## Land Registry Integration

Query UK Land Registry ownership data inside GeoLynx to find who you need to talk to.

- **Freeholder / proprietor search** by name
- Per-proprietor overview showing **registered address, country, company registration number
  and proprietorship category**
- **Portfolio sizing at a glance** — number of titles, number of buildings, and total premises
  broken down into SDU, Small MDU and MDU
- **Premises already in stocklists** — see immediately how much of a landowner's portfolio you
  have already captured
- **Title linking into wayleaves**, where a linked title becomes an approvable coverage source
- **Title autocomplete** wherever a title number is captured, so titles never have to be typed
  exactly

---

## Strategic Distance Analysis

A geospatial analysis engine for identifying expansion opportunities, competitive overlap and
co-location potential.

- **Analyse a premises stocklist or a set of projects** against up to **three target datasets**
  simultaneously
- **Configurable distance thresholds**: 100m, 500m, 1000m, 2000m
- **Output detail levels**:
  - UPRN (individual premise)
  - TOID (building)
  - Postcode (aggregated area)
- **Output modes**:
  - All premises from source (unfiltered)
  - Only premises matching **any** target (OR logic)
  - Only premises matching **all** targets (AND logic)
- **Heading alignment detection** — identifies premises where multiple target networks approach
  from the same direction (30° tolerance), indicating co-location potential
- **Real-time progress** via server-sent events for large datasets
- **Batch processing** with spatial indexing, so national-scale datasets complete
- **Recent jobs list** — reopen and re-download any previous analysis without re-running it
- **Export results** to CSV and Excel

Target datasets are registered in admin, so adding a new competitor or infrastructure dataset is
a configuration task, not a development one.

---

## Network Topology Visualisation

An interactive graph view of the logical fibre network, on the project editor.

- **Cytoscape.js network diagrams** showing nodes, connections and service chains
- **Cabinet and connection-point management**
- **Multiple layout algorithms** (fCOSE, Dagre) for readable diagrams at different scales
- **Interactive tooltips** on network elements
- **Redraw and save** — arrange a diagram to suit how the team reads it, and it stays that way

---

## Configuration Without Code

Each deployment shapes the system to how it actually works, from the admin area — no
development, no release. This is the part of GeoLynx that makes it a product rather than a
bespoke build.

### Admin home

A **module × configuration-area matrix** showing, at a glance, how much of each module is set
up — and what has not been configured yet.

### Module Management

One screen per module, holding everything configurable about it, with the areas down a left
rail in build order:

1. **Sections** — the tabs of the record editor, each with its own icon
2. **Categories** — the field groupings inside a section
3. **Fields** — everything captured on the record
4. **Statuses** — the stages work moves through
5. **Dashboard** — what the dashboard reports on for this module

### Fields

Every field on every editor — system fields and client-added fields alike — is defined here.
Presentation, position and behaviour are configuration; only the storage of system fields is
fixed in code.

- **Add a field to any module** without touching the database schema
- **Data types**: text, integer, numeric, boolean, date
- **Input types**, offered only in valid combinations with the data type: text input, textarea,
  dropdown, number, checkbox, date picker
- **Dropdown options** — either an admin-managed list, or a canonical source such as the
  module's own status list, so option values used in reporting have a single source of truth
- **Autocomplete fields** that look up live records: users, companies, accounts, projects,
  stocklists, opportunities, wayleaves and Land Registry titles
- **Placement** — assign each field to a section and category, set its display order and
  spacing, and drag to reorder
- **Required / active** toggles; system fields are shown with a **System** badge and protected
  from edit or deletion
- **Account-only**: flag a field to pass down to stocklists and projects
- **Retiring a field deactivates it** rather than deleting it, so historical records and the
  audit trail stay readable

### Statuses

- **Add, rename, reorder and retire** the stages work moves through, per module
- **Assign a style** from a curated palette of fourteen tokens (neutral, four purples, three
  greens, three ambers, three reds), each with its own guaranteed-legible text colour
- Styles flow through to **editor header badges** and the **dashboard stage bar**, keyed on the
  status itself rather than its label — so renaming a status never changes its colour
- **A status in use cannot be deleted**, only deactivated
- **The default status new records are created in can be neither deleted nor deactivated**, so
  record creation can never break
- **Retired statuses stay readable** on the records that still hold them

### Dashboard configuration

Per module, choose which date drives the overdue and due-soon warnings, which date means
completion, which status means finished, and which statuses mean work has stopped — then enable
each attention flag and set its thresholds.

### Map Layers

Add and manage every map layer in the platform without code:

- Layer title, name and WMS layer name; type and category; tooltip
- **Z-index and zoom control** — toggle minimum zoom, source minimum and maximum zoom, render
  mode
- **Sources** — WMS/service URL with UID and API key, or a database schema and table
- **Interactivity** — whether a layer is selectable, whether it is editable, which attribute
  form it opens, and exactly which fields may be edited
- **Styling** — vector style JSON, style-driving field and label field
- Active/inactive toggle per layer

### Distance Analysis Datasets

Register and manage the target datasets available to the distance analysis engine.

---

## Users, Roles & Access Control

### Two-tier permissions

1. **Module-level** — roles grant **read** or **write** on each module: Projects, Accounts,
   Stocklists, Opportunity Builder, Wayleave, **Wayleave Approver**, Strategy & Insights, and
   the admin areas — Field Management, User Management, Company Management, Map Layers and
   Distance Analysis
2. **Record-level** — per-record overrides grant or restrict access to individual projects,
   accounts, stocklists, opportunities or wayleaves regardless of the role

A user can hold multiple roles; the highest permission wins. Everything respects it — the
navigation, the page routes, the AJAX endpoints, the global search and the dashboard all resolve
the same permission before returning anything.

### Company scoping

Records are scoped by company, so delivery partners and contractors see their own work. The
main company sees everything.

### Named-user licence protection

GeoLynx is licensed per named user, and enforces it:

- **Single active session per account** — a new login invalidates the previous session, so
  shared credentials log each other out
- **Brute-force lockout** — five failed attempts locks the account for five minutes, ten for
  thirty
- **Active sessions view** in admin, with the ability to end a session
- **Concurrent-session alerts** highlighting accounts showing signs of sharing
- **Per-user login history**, and manual account unlock
- **Logout auditing**

### User and company administration

- Add and edit users, assign roles, deactivate rather than delete
- Manage companies, suppliers and delivery partners, and which users belong to them
- Grant per-record permissions to individual users

---

## Search

A **global search box** in the header, on every page, covering projects, accounts, stocklists,
opportunities, wayleaves, reports and postcodes in one query. Results are filtered by module
enablement, the user's permissions and their company scope — a user never sees the existence of
a record they cannot open.

---

## Audit, Compliance & Collaboration

Every entity in GeoLynx maintains a complete audit trail.

- **Automatic change logging** — every edit recorded with the value before, the value after, the
  user and the timestamp. For projects, accounts and stocklists this is captured by database
  triggers rather than application code, so no write path can bypass it
- **Journal entries** — team members add notes, updates and commentary against any project,
  account, stocklist, opportunity or wayleave, alongside the automatic log
- **Nothing is destroyed** — retired fields, statuses, options and records are deactivated, so
  historical records stay readable and labels always resolve
- **Wayleave decisions are immutable**, with their exact premise membership recorded, giving a
  defensible record of what was agreed and when
- **Regulatory support** — the documentation trail needed for grant funding, Ofcom reporting and
  internal governance

---

## Data Import & Export

### Import

- **Excel (.xlsx) upload** for bulk premises data, with progress tracking and a job monitor
- **File attachments** up to 20MB — PDF, Word, Excel, ZIP and images — categorised on upload
  (Wayleave, Legal, Planning, Site Survey, Financial, Other)
- **Cover images** per project, opportunity and wayleave

### Export

- **GeoPackage (.gpkg)** — OGC-standard spatial data, compatible with QGIS, ArcGIS and MapInfo
- **PDF maps (A3)** — cartographic output rendered by QGIS: project overview and full detail
- **PDF summary (A4)** — opportunity summary
- **CSV** — premise lists from projects and stocklists
- **Excel (.xlsx)** — premise lists, distance analysis results
- **GeoJSON** — web-friendly spatial data

---

## Reference Data

GeoLynx ships against national datasets rather than asking clients to supply their own:

- **Ordnance Survey AddressBase** — the premise and UPRN register behind every address search
- **OS Code-Point Open** — postcode centroids for navigation and aggregation
- **OS MasterMap building classification** — TOID-level building types driving SDU / Small MDU /
  MDU classification
- **HM Land Registry** — corporate and overseas proprietor ownership data
- **Openreach PIA duct network** — the routable duct graph behind auto-routing

---

## Platform Architecture

- **PostgreSQL with PostGIS** — spatial database for all geographic data and processing
- **pgRouting** — network routing algorithms for cable path optimisation
- **OpenLayers** — professional GIS mapping framework, served locally
- **QGIS** — server-side cartographic rendering for PDF map output
- **GeoServer** — WMS serving for large raster and vector reference datasets
- **Responsive web interface** — any modern browser, no software installation
- **Versioned, tracked database migrations** — schema changes are numbered, immutable once
  applied, and recorded per database, so upgrades across a client estate are repeatable
- **Cache-busted assets** — a deploy can never serve stale front-end code against updated pages
- **Cloud-ready** — deployable on AWS, Azure or on-premises

---

## Who Is GeoLynx For?

| Role | How GeoLynx Helps |
|---|---|
| **Network Planners** | Design network topology, auto-route cable against existing duct, manage premises in scope, produce technical documentation, coordinate with build teams |
| **Wayleave Managers** | Track negotiations, manage landowner relationships, approve exactly which premises each agreement covers, and hold an immutable record of every decision |
| **Business Development** | Identify expansion opportunities, bundle projects into a costed commercial case, analyse competitive overlap, size landowner portfolios |
| **Field Engineers** | Review project designs on site from any browser, update blockage information, confirm route feasibility, record completion status |
| **Programme Directors** | Monitor the portfolio from a personalised dashboard, see what is overdue, slipping or stalled, and track metrics such as meters per premise |
| **Delivery Partners** | Access only their assigned work, update build progress, upload completion evidence, coordinate with the planning team |
| **System Administrators** | Shape every module's fields, sections, statuses and dashboards to the business, manage map layers and datasets, and control access — without a development cycle |

---

## On the Roadmap

Listed here because it is not yet available in the product.

- **Reporting suite** — a standalone reporting module covering the wayleave, planning, build,
  release and sales stages, with cost-per-premise analysis, regional breakdowns, build-type
  distribution and monthly forecasting. Current reporting need is met by the personalised
  dashboard described above.
