A single capture function returning one shape, whose module id comes from a fixed list mirroring the architecture model (Home, My Work, Approvals, Inbox & Contacts, Sales Pipeline, Estimates, Invoicing, Project Management, Team & Crews, Settings, Customer Portal, Platform Console, General). The server validates inbound values, so a bad client can't invent an area.
Also called: module id · consistent categories · group bugs by area
- 1One table translates the router's historical view names into module ids (schedule IS Project Management; contacts, conversations and messages are all one Inbox)
- 2Callers deep inside a view can capture without being told which module they live in — the shell already stamps the active view
- 3Module ids map onto the task hub's established category strings rather than rewriting historical rows
A bug raised on the invoicing screen, a task raised from the same button and a feature request about the same page were each filed under a different name for the same place — one wrote 'Invoicing → Payments', one wrote 'invoicing', one wrote whatever text got typed at the time. Nothing could be counted or grouped, so 'which part of the product generates the most complaints' had no answer beyond whoever had shouted most recently. Everything raised from a screen now carries one agreed name for that part of the product, whatever kind of thing is being raised, which is what makes volume, recurrence and time-to-fix countable at all.
- Reports that can't be grouped or counted because every intent named the screen differently
- Hand-typed categories drifting from what the product actually calls things
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →