A door costs the person who was going to pick correctly

Three seeds over the building authority's front door, then three more
over a variant where the two bare needs became doors of their own.

The diagnosis held: six of the eight front-door misroutes went to the
appeal, a concrete sentence standing among abstract categories, which
collected everyone with any sort of grievance whatever it was about.
Behind a door of its own it collected none.

The site got no better for it - 77.3% against 80.0%, inside the spread.
Two offers went from findable to hidden: the firm whose insurance
certificate had lapsed found "to be on the list, and then to file
without asking again" as a sentence on the front door, and fails every
seed once it is behind a door called "Work as a firm".

So the leak was not costing what it looked like it was costing, and the
rewrite is rejected on measurement. The mixed front door stays.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-25 20:25:25 +02:00
co-authored by Claude Opus 5
parent d2aae383b2
commit 3e1c299490
61 changed files with 5260 additions and 0 deletions
+57
View File
@@ -181,3 +181,60 @@ iris replay --path questions --nats nats://127.0.0.1:14222 --cases cases.jsonl
trainer could produce it, kept as the proof that portal's engine was
never the thing in the way. Point replay at a throwaway NATS, never a
site's own: it writes.
## Routing: one stable failure, and a leak that turned out not to cost anything
Twenty-five routing tasks, three seeds, qwen3:8b as the visitor, with
the builder's own fallback wording and no model having touched the
prose:
seed 1: 18/25 (72%) seed 2: 20/25 (80%) seed 3: 22/25 (88%)
A sixteen-point spread is wider than this harness's usual floor, so the
misroutes were counted per task rather than per run. One fails in every
seed:
- **`shop-to-flats@/want-to-build`** (3 of 3), and `garage-owner` the
same way (2 of 3): someone who wants to sit down with us before
paying an architect picks "permission to build it" instead. The
pre-application meeting does not read as distinguishable from
applying. A wording fault on the door page, and the kind a wording
round exists to fix.
Everything else failed once - but the *shape* was not random. Of the
eight front-door misroutes across all three seeds, **six went to one
card**: a neighbour who got a notice, an owner asking for a completion
certificate and someone reporting a building behind a fence all picked
"the decision looked at again, by us and then by the board".
The front door held two doors and two bare needs - "Want to build",
"Building near me", the appeal, and firm approval. A door is an
abstract category; a bare need is a concrete sentence, and the concrete
sentence was out-pulling the categories, collecting everyone with any
sort of grievance whatever it was about.
So the obvious fix was measured: four doors, nothing bare, everything
on the front door at the same level (`runs/permits-doors-2026-09-25`).
| | seed 1 | seed 2 | seed 3 | mean |
|---|---|---|---|---|
| two doors, two bare needs | 72% | 80% | 88% | **80.0%** |
| four doors | 76% | 72% | 84% | 77.3% |
**The rewrite does not beat the spread, and is rejected.** The
diagnosis was right and the fix was still not worth making: with four
doors the appeal card stopped collecting misroutes completely - 0 of 10,
down from 6 of 8 - and the site got no better, because two offers went
from findable to hidden. `firm-insurance-lapsed` ("our certificate has
expired, we have renewed it, here it is") found "to be on the list, and
then to file without asking again" when it was a sentence on the front
door, and fails 3 of 3 once it is behind a door called "Work as a
firm". `owner-explains` got worse the same way.
What that says, as a measurement rather than a taste: a concrete offer
standing among categories does leak, and hiding it costs more than the
leak. The earlier finding - four doors beat ten offers, six offers beat
doors - was about how many things a page holds. This one is about what
a door costs the person who was going to pick correctly: one more page
between them and the only thing they came for. The mixed front door
stays.
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","choice":"Want to build","confidence":0.95}
{"id":"garage-owner@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.85}
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
{"id":"shop-to-flats@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"neighbour-view@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"neighbour-parking@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"refused-applicant@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"neighbour-appeals@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"board-member@/","choice":"the decision looked at again, by us and then by the board","confidence":1.0}
{"id":"firm-wants-certificate@/","choice":"Want to build","confidence":0.95}
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"wants-to-move-in@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"wants-to-move-in@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.85}
{"id":"something-behind-fence@/","choice":"Building near me","confidence":0.95}
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"owner-explains@/","choice":"Building near me","confidence":0.95}
{"id":"owner-explains@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"new-firm@/","choice":"to be on the list, and then to file without asking again","confidence":1.0}
{"id":"firm-insurance-lapsed@/","choice":"to be on the list, and then to file without asking again","confidence":1.0}
{"id":"where-is-my-case@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","choice":"Want to build","confidence":0.95}
{"id":"garage-owner@/want-to-build","choice":"to hear what we will allow before paying an architect","confidence":0.95}
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
{"id":"shop-to-flats@/want-to-build","choice":"permission to build it, and to know where the case stands","confidence":0.95}
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"neighbour-view@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"neighbour-parking@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"refused-applicant@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"neighbour-appeals@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"board-member@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"firm-wants-certificate@/","choice":"Want to build","confidence":0.95}
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"wants-to-move-in@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
{"id":"wants-to-move-in@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"something-behind-fence@/","choice":"Building near me","confidence":0.95}
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"owner-explains@/","choice":"Building near me","confidence":0.95}
{"id":"owner-explains@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
{"id":"new-firm@/","choice":"to be on the list, and then to file without asking again","confidence":1.0}
{"id":"firm-insurance-lapsed@/","choice":"to be on the list, and then to file without asking again","confidence":0.95}
{"id":"where-is-my-case@/","choice":"Building near me","confidence":0.95}
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
@@ -0,0 +1,653 @@
aggregates:
- bucket: appeals
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about the decision looked at again, by us and then by the board.
What you can do next: {site}/decide/appeal?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
reconsidered:
event: reconsidered
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Reconsidered'
body: |-
Hello,
What you sent about the decision looked at again, by us and then by the board is now we are looking at it again.
What you can do next: {site}/decide/appeal?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
changed_by_us:
event: changed_by_us
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Changed by us'
body: |-
Hello,
What you sent about the decision looked at again, by us and then by the board is now we changed our own decision.
Solveig Hauge at byggesak@vestmark.example
before_the_board:
event: before_the_board
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Before the board'
body: |-
Hello,
What you sent about the decision looked at again, by us and then by the board is now with the appeals board.
What you can do next: {site}/decide/appeal?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
upheld:
event: upheld
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Upheld'
body: |-
Hello,
What you sent about the decision looked at again, by us and then by the board is now the board kept our decision.
Solveig Hauge at byggesak@vestmark.example
overturned:
event: overturned
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Overturned'
body: |-
Hello,
What you sent about the decision looked at again, by us and then by the board is now the board overturned us.
Solveig Hauge at byggesak@vestmark.example
withdrawn:
event: withdrawn
transitions:
before_the_board:
- withdrawn
- overturned
- upheld
open:
- reconsidered
- withdrawn
reconsidered:
- before_the_board
- withdrawn
- changed_by_us
- bucket: applications
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about permission to build it, and to know where the case stands.
What you can do next: {site}/decide/small-works-application?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
incomplete:
event: incomplete
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Incomplete'
body: |-
Hello,
What you sent about permission to build it, and to know where the case stands is now papers missing.
What you can do next: {site}/decide/small-works-application?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
complete:
event: complete
on_hearing:
event: on_hearing
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: On hearing'
body: |-
Hello,
What you sent about permission to build it, and to know where the case stands is now out to the neighbours and the agencies.
What you can do next: {site}/decide/small-works-application?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
recommended:
event: recommended
approved:
event: approved
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Approved'
body: |-
Hello,
What you sent about permission to build it, and to know where the case stands is now approved.
Solveig Hauge at byggesak@vestmark.example
approved_with_conditions:
event: approved_with_conditions
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Approved with conditions'
body: |-
Hello,
What you sent about permission to build it, and to know where the case stands is now approved on conditions.
Solveig Hauge at byggesak@vestmark.example
refused:
event: refused
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Refused'
body: |-
Hello,
What you sent about permission to build it, and to know where the case stands is now refused.
Solveig Hauge at byggesak@vestmark.example
withdrawn:
event: withdrawn
transitions:
complete:
- on_hearing
- withdrawn
- incomplete
- refused
incomplete:
- complete
- withdrawn
on_hearing:
- recommended
- withdrawn
- incomplete
- refused
open:
- complete
- withdrawn
- incomplete
recommended:
- approved
- approved_with_conditions
- withdrawn
- refused
- bucket: completions
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about the certificate that lets the building be used.
Solveig Hauge at byggesak@vestmark.example
checked:
event: checked
temporary_permission:
event: temporary_permission
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Temporary permission'
body: |-
Hello,
What you sent about the certificate that lets the building be used is now temporary permission to use.
Solveig Hauge at byggesak@vestmark.example
certificate_issued:
event: certificate_issued
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Certificate issued'
body: |-
Hello,
What you sent about the certificate that lets the building be used is now certificate issued.
Solveig Hauge at byggesak@vestmark.example
refused:
event: refused
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Refused'
body: |-
Hello,
What you sent about the certificate that lets the building be used is now refused.
Solveig Hauge at byggesak@vestmark.example
transitions:
checked:
- temporary_permission
- certificate_issued
- refused
open:
- checked
- refused
temporary_permission:
- certificate_issued
- bucket: enquiries
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about to be told where it actually stands.
Solveig Hauge at byggesak@vestmark.example
in_hand:
event: in_hand
answered:
event: answered
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Answered'
body: |-
Hello,
What you sent about to be told where it actually stands is now answered.
Solveig Hauge at byggesak@vestmark.example
transitions:
in_hand:
- answered
open:
- in_hand
- bucket: exemptions
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about to be allowed it anyway, with reasons on the record.
What you can do next: {site}/decide/exemption-request?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
county_asked:
event: county_asked
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: County asked'
body: |-
Hello,
What you sent about to be allowed it anyway, with reasons on the record is now with the county.
What you can do next: {site}/decide/exemption-request?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
county_answered:
event: county_answered
recommended:
event: recommended
granted:
event: granted
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Granted'
body: |-
Hello,
What you sent about to be allowed it anyway, with reasons on the record is now granted.
Solveig Hauge at byggesak@vestmark.example
denied:
event: denied
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Denied'
body: |-
Hello,
What you sent about to be allowed it anyway, with reasons on the record is now denied.
Solveig Hauge at byggesak@vestmark.example
withdrawn:
event: withdrawn
transitions:
county_answered:
- recommended
- denied
- withdrawn
county_asked:
- county_answered
- denied
- withdrawn
open:
- county_asked
- denied
- withdrawn
recommended:
- granted
- denied
- withdrawn
- bucket: firms
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about to be on the list, and then to file without asking again.
What you can do next: {site}/decide/firm-approval?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
papers_missing:
event: papers_missing
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Papers missing'
body: |-
Hello,
What you sent about to be on the list, and then to file without asking again is now waiting on papers.
What you can do next: {site}/decide/firm-approval?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
checked:
event: checked
approved:
event: approved
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Approved'
body: |-
Hello,
What you sent about to be on the list, and then to file without asking again is now approved.
Solveig Hauge at byggesak@vestmark.example
declined:
event: declined
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Declined'
body: |-
Hello,
What you sent about to be on the list, and then to file without asking again is now declined.
Solveig Hauge at byggesak@vestmark.example
transitions:
checked:
- approved
- declined
open:
- papers_missing
- checked
- declined
papers_missing:
- checked
- declined
- bucket: hearing_answers
initial: open
states:
open:
event: received
read:
event: read
followed:
event: followed
set_aside:
event: set_aside
transitions:
open:
- read
- set_aside
read:
- followed
- set_aside
- bucket: hearings
initial: open
states:
open:
event: received
answered:
event: answered
no_answer:
event: no_answer
cancelled:
event: cancelled
transitions:
open:
- answered
- no_answer
- cancelled
attended_by: |
the six-week deadline: when it passes with nothing from the agency the case goes to no_answer and the application goes on without one
- bucket: illegal_building
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about us to go and look, and to hear that we did.
Solveig Hauge at byggesak@vestmark.example
inspected:
event: inspected
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Inspected'
body: |-
Hello,
What you sent about us to go and look, and to hear that we did is now inspected.
Solveig Hauge at byggesak@vestmark.example
owner_asked:
event: owner_asked
explained:
event: explained
resolved:
event: resolved
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Resolved'
body: |-
Hello,
What you sent about us to go and look, and to hear that we did is now resolved.
Solveig Hauge at byggesak@vestmark.example
fined:
event: fined
dropped:
event: dropped
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Dropped'
body: |-
Hello,
What you sent about us to go and look, and to hear that we did is now nothing to pursue.
Solveig Hauge at byggesak@vestmark.example
transitions:
explained:
- resolved
- dropped
inspected:
- owner_asked
- fined
open:
- inspected
- fined
owner_asked:
- explained
- bucket: inspections
initial: open
states:
open:
event: received
as_approved:
event: as_approved
deviation:
event: deviation
put_right:
event: put_right
escalated:
event: escalated
transitions:
deviation:
- as_approved
- put_right
- escalated
open:
- deviation
- escalated
- bucket: meetings
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello {name},
We have received what you sent about to hear what we will allow before paying an architect.
What you can do next: {site}/decide/pre-application-meeting?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
scheduled:
event: scheduled
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Scheduled'
body: |-
Hello {name},
What you sent about to hear what we will allow before paying an architect is now scheduled.
What you can do next: {site}/decide/pre-application-meeting?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
met:
event: met
advised:
event: advised
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Advised'
body: |-
Hello {name},
What you sent about to hear what we will allow before paying an architect is now written advice sent.
Solveig Hauge at byggesak@vestmark.example
cancelled:
event: cancelled
transitions:
met:
- advised
- cancelled
open:
- scheduled
- cancelled
scheduled:
- met
- cancelled
- bucket: objections
initial: open
states:
open:
event: received
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Open'
body: |-
Hello,
We have received what you sent about what they think on the record, and answered in the decision.
What you can do next: {site}/decide/objection?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
registered:
event: registered
answered_by_applicant:
event: answered_by_applicant
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Answered by applicant'
body: |-
Hello,
What you sent about what they think on the record, and answered in the decision is now the applicant has answered.
What you can do next: {site}/decide/objection?chain={chain}&email={email}
Solveig Hauge at byggesak@vestmark.example
addressed:
event: addressed
mail:
to: submitter
subject: 'Vestmark kommune - Building and Planning: Addressed'
body: |-
Hello,
What you sent about what they think on the record, and answered in the decision is now answered in the decision.
Solveig Hauge at byggesak@vestmark.example
withdrawn:
event: withdrawn
transitions:
answered_by_applicant:
- addressed
- withdrawn
open:
- registered
- withdrawn
registered:
- answered_by_applicant
- withdrawn
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","choice":"Want to build","confidence":0.95}
{"id":"garage-owner@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
{"id":"shop-to-flats@/want-to-build","choice":"permission to build it, and to know where the case stands","confidence":0.95}
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"neighbour-view@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"neighbour-parking@/","choice":"Want to build","confidence":1.0}
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"refused-applicant@/","choice":"After a decision","confidence":0.95}
{"id":"neighbour-appeals@/","choice":"After a decision","confidence":0.95}
{"id":"board-member@/","choice":"After a decision","confidence":0.95}
{"id":"firm-wants-certificate@/","choice":"Want to build","confidence":0.95}
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"wants-to-move-in@/","choice":"Want to build","confidence":0.95}
{"id":"wants-to-move-in@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"something-behind-fence@/","choice":"Building near me","confidence":0.95}
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"owner-explains@/","choice":"Want to build","confidence":0.95}
{"id":"owner-explains@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"new-firm@/","choice":"Work as a firm","confidence":1.0}
{"id":"firm-insurance-lapsed@/","choice":"Want to build","confidence":0.95}
{"id":"where-is-my-case@/","choice":"Want to build","confidence":0.95}
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","choice":"Want to build","confidence":0.95}
{"id":"garage-owner@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
{"id":"shop-to-flats@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"neighbour-view@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"neighbour-parking@/","choice":"Building near me","confidence":1.0}
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"refused-applicant@/","choice":"After a decision","confidence":0.95}
{"id":"neighbour-appeals@/","choice":"After a decision","confidence":0.95}
{"id":"board-member@/","choice":"After a decision","confidence":0.95}
{"id":"firm-wants-certificate@/","choice":"Want to build","confidence":0.95}
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"wants-to-move-in@/","choice":"Building near me","confidence":0.95}
{"id":"wants-to-move-in@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.85}
{"id":"something-behind-fence@/","choice":"Building near me","confidence":0.95}
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"owner-explains@/","choice":"Want to build","confidence":0.95}
{"id":"owner-explains@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"new-firm@/","choice":"Work as a firm","confidence":1.0}
{"id":"firm-insurance-lapsed@/","choice":"Building near me","confidence":0.95}
{"id":"where-is-my-case@/","choice":"Want to build","confidence":0.95}
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","choice":"Want to build","confidence":0.95}
{"id":"garage-owner@/want-to-build","choice":"to hear what we will allow before paying an architect","confidence":0.95}
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
{"id":"shop-to-flats@/want-to-build","choice":"permission to build it, and to know where the case stands","confidence":0.95}
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
{"id":"neighbour-view@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"neighbour-parking@/","choice":"Building near me","confidence":0.95}
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
{"id":"refused-applicant@/","choice":"After a decision","confidence":0.95}
{"id":"neighbour-appeals@/","choice":"After a decision","confidence":0.95}
{"id":"board-member@/","choice":"After a decision","confidence":0.95}
{"id":"firm-wants-certificate@/","choice":"Want to build","confidence":0.95}
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"wants-to-move-in@/","choice":"Want to build","confidence":0.95}
{"id":"wants-to-move-in@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
{"id":"something-behind-fence@/","choice":"Building near me","confidence":0.95}
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
{"id":"owner-explains@/","choice":"Want to build","confidence":0.95}
{"id":"owner-explains@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
{"id":"new-firm@/","choice":"Work as a firm","confidence":1.0}
{"id":"firm-insurance-lapsed@/","choice":"Building near me","confidence":0.95}
{"id":"where-is-my-case@/","choice":"Building near me","confidence":0.95}
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
+499
View File
@@ -0,0 +1,499 @@
needs:
- id: pre-application-meeting
who: someone with an idea for a building and no drawings yet
wants: to hear what we will allow before paying an architect
enters: /
via: Want to build
lands_in: meetings
handled_by: case_officers
stages:
- open
- scheduled
- met
- advised
- cancelled
done_when:
- advised
- cancelled
success:
- advised
max_steps: 2
max_fields: 5
stage_words:
open: open
scheduled: scheduled
met: we have met
advised: written advice sent
cancelled: cancelled
also_moved_by:
- front_desk
- id: small-works-application
who: an owner applying for something small enough to file themselves
wants: permission to build it, and to know where the case stands
enters: /
via: Want to build
lands_in: applications
handled_by: case_officers
stages:
- open
- incomplete
- complete
- on_hearing
- recommended
- approved
- approved_with_conditions
- refused
- withdrawn
done_when:
- approved
- approved_with_conditions
- refused
- withdrawn
success:
- approved
- approved_with_conditions
max_steps: 2
max_fields: 6
stage_words:
open: open
incomplete: papers missing
complete: papers complete
on_hearing: out to the neighbours and the agencies
recommended: recommendation written
approved: approved
approved_with_conditions: approved on conditions
refused: refused
withdrawn: withdrawn
also_moved_by:
- section_head
- id: exemption-request
who: someone whose plans break a rule in the zoning map
wants: to be allowed it anyway, with reasons on the record
enters: /
via: Want to build
lands_in: exemptions
handled_by: case_officers
stages:
- open
- county_asked
- county_answered
- recommended
- granted
- denied
- withdrawn
done_when:
- granted
- denied
- withdrawn
success:
- granted
max_steps: 2
max_fields: 4
stage_words:
open: open
county_asked: with the county
county_answered: the county has answered
recommended: recommended
granted: granted
denied: denied
withdrawn: withdrawn
also_moved_by:
- agencies
- section_head
- id: completion-request
who: an owner or firm whose building work is finished
wants: the certificate that lets the building be used
enters: /
via: Want to build
lands_in: completions
handled_by: case_officers
stages:
- open
- checked
- temporary_permission
- certificate_issued
- refused
done_when:
- certificate_issued
- refused
success:
- certificate_issued
max_steps: 2
max_fields: 5
stage_words:
open: open
checked: checked against the inspections
temporary_permission: temporary permission to use
certificate_issued: certificate issued
refused: refused
also_moved_by:
- section_head
- id: objection
who: a neighbour who got a notice about what is planned next door
wants: what they think on the record, and answered in the decision
enters: /
via: Building near me
lands_in: objections
handled_by: case_officers
stages:
- open
- registered
- answered_by_applicant
- addressed
- withdrawn
done_when:
- addressed
- withdrawn
success:
- addressed
max_steps: 2
max_fields: 4
stage_words:
open: open
registered: on the case file
answered_by_applicant: the applicant has answered
addressed: answered in the decision
withdrawn: withdrawn
also_moved_by:
- approved_firms
- id: case-status-enquiry
who: someone waiting on a case and getting nothing back
wants: to be told where it actually stands
enters: /
via: Building near me
lands_in: enquiries
handled_by: front_desk
stages:
- open
- in_hand
- answered
done_when:
- answered
success:
- answered
max_steps: 2
max_fields: 3
stage_words:
open: open
in_hand: in hand
answered: answered
also_moved_by:
- case_officers
- id: illegal-building-report
who: someone who can see building going up that nobody was told about
wants: us to go and look, and to hear that we did
enters: /
via: Building near me
lands_in: illegal_building
handled_by: inspectors
stages:
- open
- inspected
- owner_asked
- explained
- resolved
- fined
- dropped
done_when:
- resolved
- fined
- dropped
success:
- resolved
- dropped
max_steps: 2
max_fields: 3
stage_words:
open: open
inspected: inspected
owner_asked: the owner has been written to
explained: the owner has answered
resolved: resolved
fined: fined
dropped: nothing to pursue
also_moved_by:
- case_officers
- section_head
- id: appeal
who: anyone with an interest who will not accept a decision of ours
wants: the decision looked at again, by us and then by the board
enters: /
via: After a decision
lands_in: appeals
handled_by: case_officers
stages:
- open
- reconsidered
- changed_by_us
- before_the_board
- upheld
- overturned
- withdrawn
done_when:
- changed_by_us
- upheld
- overturned
- withdrawn
success:
- changed_by_us
- upheld
max_steps: 2
max_fields: 5
stage_words:
open: open
reconsidered: we are looking at it again
changed_by_us: we changed our own decision
before_the_board: with the appeals board
upheld: the board kept our decision
overturned: the board overturned us
withdrawn: withdrawn
also_moved_by:
- appeals_board
- section_head
- id: firm-approval
who: an architect or engineering firm that files for its clients
wants: to be on the list, and then to file without asking again
enters: /
via: Work as a firm
lands_in: firms
handled_by: case_officers
stages:
- open
- papers_missing
- checked
- approved
- declined
done_when:
- approved
- declined
success:
- approved
max_steps: 2
max_fields: 6
stage_words:
open: open
papers_missing: waiting on papers
checked: papers checked
approved: approved
declined: declined
also_moved_by:
- section_head
- id: permit-application
who: an approved firm filing on behalf of an owner
wants: a decision inside twelve weeks, and to know when the clock stops
enters: /approved_firms/permit-application
via: a decision inside twelve weeks, and to know when the clock stops
lands_in: applications
handled_by: case_officers
stages:
- open
- incomplete
- complete
- on_hearing
- recommended
- approved
- approved_with_conditions
- refused
- withdrawn
done_when:
- approved
- approved_with_conditions
- refused
- withdrawn
success:
- approved
- approved_with_conditions
max_steps: 1
max_fields: 6
stage_words:
open: open
incomplete: papers missing
complete: papers complete
on_hearing: out to the neighbours and the agencies
recommended: recommendation written
approved: approved
approved_with_conditions: approved on conditions
refused: refused
withdrawn: withdrawn
enters_as: approved_firms
also_moved_by:
- section_head
- id: log-counter-enquiry
who: whoever is on the counter with a queue and a caller on the line
wants: the question written down and sent to whoever has the case
enters: /front_desk/log-counter-enquiry
via: the question written down and sent to whoever has the case
lands_in: enquiries
handled_by: front_desk
stages:
- open
- in_hand
- answered
done_when:
- answered
success:
- answered
max_steps: 1
max_fields: 3
stage_words:
open: open
in_hand: in hand
answered: answered
enters_as: front_desk
also_moved_by:
- case_officers
- id: request-hearing
who: a case officer sending a case out to the authority that must see it
wants: an answer by the deadline, or a record that none came
enters: /case_officers/request-hearing
via: an answer by the deadline, or a record that none came
lands_in: hearings
handled_by: case_officers
stages:
- open
- answered
- no_answer
- cancelled
done_when:
- answered
- no_answer
- cancelled
success:
- answered
max_steps: 1
max_fields: 4
stage_words:
open: open
answered: answered
no_answer: the deadline passed with no answer
cancelled: cancelled
enters_as: case_officers
also_moved_by:
- agencies
- id: hearing-answer
who: a road, fire, heritage or county officer who has been asked about a case
wants: their answer on the file, in their own words
enters: /agencies/hearing-answer
via: their answer on the file, in their own words
lands_in: hearing_answers
handled_by: case_officers
stages:
- open
- read
- followed
- set_aside
done_when:
- followed
- set_aside
success:
- followed
max_steps: 1
max_fields: 4
stage_words:
open: open
read: read by the case officer
followed: followed in the decision
set_aside: set aside with reasons
enters_as: agencies
- id: inspection-finding
who: an inspector on a scaffold with gloves on and the wind blowing
wants: what they found logged before they climb down
enters: /inspectors/inspection-finding
via: what they found logged before they climb down
lands_in: inspections
handled_by: inspectors
stages:
- open
- as_approved
- deviation
- put_right
- escalated
done_when:
- as_approved
- put_right
- escalated
success:
- as_approved
- put_right
max_steps: 1
max_fields: 3
stage_words:
open: open
as_approved: built as approved
deviation: built differently
put_right: put right
escalated: handed to a case officer
enters_as: inspectors
also_moved_by:
- case_officers
- section_head
personas:
- id: garage-owner
need: pre-application-meeting
text: We want to put a double garage where the old shed is. Before I pay an architect I'd like to know whether you'll even allow it, because the neighbour says it's too close to the road.
- id: shop-to-flats
need: pre-application-meeting
text: I own the old grocery on Torget and want to make four flats out of it. There are a lot of questions - parking, fire, the facade is listed. Can we sit down with someone?
- id: firm-files-extension
need: permit-application
text: We are the responsible applicant for an extension at Bjorkeveien 14. Drawings, site plan and the neighbour notices are all ready. We file maybe forty of these a year.
- id: owner-small-window
need: permit-application
text: I want to put a dormer window in my roof. The man at the counter said I have to apply even though it's small.
- id: missing-drawings
need: permit-application
text: You wrote that our section drawing is missing and the case is on hold. I've got it here now, where do I send it so the clock starts again?
- id: too-close-to-boundary
need: exemption-request
text: The garage ends up one and a half metres from the boundary and the plan says four. We are asking you to allow it anyway - the ground falls away steeply everywhere else on the plot.
- id: neighbour-view
need: objection
text: I got a notice about the extension at number 14. It takes the afternoon sun off my entire terrace and I want that on the record before you decide anything.
- id: neighbour-parking
need: objection
text: The flats they want to build in the old grocery have four parking places for four flats and everyone here already parks on the street. I object.
- id: road-authority
need: hearing-answer
text: 'Regarding your case 2026/418: the access onto the county road is within the sight line and we cannot accept it as drawn. Our formal reply is attached.'
- id: fire-service
need: hearing-answer
text: We have looked at the conversion on Torget. We have no objection provided the stairwell is upgraded. Reference your case 2026/501.
- id: refused-applicant
need: appeal
text: You refused our exemption on the ninth. We don't accept the reasoning - you've allowed the same thing twice in the same street. We're appealing.
- id: neighbour-appeals
need: appeal
text: You approved the extension next door even though I objected. I'm appealing the decision. What do I need to send?
- id: board-member
need: appeal
text: I sit on the appeals board. I need the case, our own decision, and what the neighbours wrote, before Tuesday.
- id: inspector-on-roof
need: inspection-finding
text: I'm up on the scaffold at Bjorkeveien. The fire wall isn't built to the drawing at all. I've got gloves on and it's blowing. I want this logged before I climb down.
- id: inspector-all-good
need: inspection-finding
text: Been out at Torget. Everything is as approved. Nothing to report but I have to record that I was there.
- id: firm-wants-certificate
need: completion-request
text: The work at Bjorkeveien 14 is finished and inspected. We're asking for the completion certificate so the owners can get their mortgage released.
- id: wants-to-move-in
need: completion-request
text: The house is done apart from the outside steps, which we can't pour until spring. The family has sold their flat. Can we get a temporary permission to move in?
- id: something-behind-fence
need: illegal-building-report
text: There's a large structure going up behind the fence at Solbakken 7. Nobody has had a notice about it and it's been going on for two weeks.
- id: owner-explains
need: illegal-building-report
text: I got your letter about the terrace. I genuinely did not know it needed an application, it's been there since we moved in. What happens now?
- id: new-firm
need: firm-approval
text: We are a three-person architecture firm that has just started. We want to be approved so we can file applications for our clients in your municipality.
- id: firm-insurance-lapsed
need: firm-approval
text: You wrote that our liability insurance certificate has expired. We have renewed it, here it is.
- id: counter-phone-call
need: log-counter-enquiry
text: A woman rang about the case behind her house. Wants to know where it stands. I'm at the counter and there's a queue - I need to write it down and send it to whoever has that case.
- id: where-is-my-case
need: case-status-enquiry
text: I sent in my application five weeks ago and I've heard nothing. Is anyone looking at it? Is it in the six weeks with the neighbours or is it waiting on me?
@@ -0,0 +1,43 @@
name: What do you need?
description: For someone who has had a decision from us and does not accept it.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: the decision looked at again, by us and then by the board
description: For anyone with an interest who will not accept a decision of ours.
action: /received/appeal
consequence:
- Send
record_as: appeals
features:
- name: What you need
description: A decision from us less than three weeks old, and its case number.
icon: lucide:key
- name: What happens next
description: It is open, then we are looking at it again, then with the appeals board, and ends we changed our own decision, the board kept our decision, the board overturned us or withdrawn.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number
label: Case number
type: text
- name: property
label: Property
type: text
- name: what_you_disagree_with
label: What you disagree with
type: textarea
- name: your_interest
label: Your interest
type: select
options:
- I applied
- I am a neighbour
- Other
@@ -0,0 +1 @@
qualifies: agencies
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /agencies
consequence:
- Back
@@ -0,0 +1,46 @@
followup: false
name: Hearing answer?
description: ''
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: their answer on the file, in their own words
description: For a road, fire, heritage or county officer who has been asked about a case.
action: /agencies/hearing-answer-sent
consequence:
- Send
record_as: hearing_answers
features:
- name: What you need
description: The hearing letter we sent you, which has the case number on it.
icon: lucide:key
- name: What happens next
description: It is open, then read by the case officer, and ends followed in the decision or set aside with reasons.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: case_number
label: Case number
type: text
- name: which_authority
label: Which authority
type: select
options:
- Road authority
- Fire service
- Heritage office
- The county
- name: our_answer
label: Our answer
type: select
options:
- No objection
- Objection
- Conditions required
- name: what_we_say
label: What we say
type: textarea
@@ -0,0 +1,78 @@
name: What needs doing?
description: Everything hearing bodies looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Exemptions
description: Sent in by someone whose plans break a rule in the zoning map.
action: /agencies
consequence:
- Confirm
features:
- name: Exemptions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: exemptions
requires_group: agencies
transitions:
- from: county_asked
to: county_answered
label: The county has answered
- name: Hearings
description: Sent in by a case officer sending a case out to the authority that must see it.
action: /agencies
consequence:
- Confirm
features:
- name: Hearings
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: hearings
requires_group: agencies
transitions:
- from: open
to: answered
label: Answered
- name: their answer on the file, in their own words
description: For a road, fire, heritage or county officer who has been asked about a case.
action: /agencies/hearing-answer
consequence:
- Open
- name: Invite someone into Hearing bodies
description: They get an account, a place in Hearing bodies, and a one-time link to set their own password or passkey.
action: /agencies
consequence:
- Invite
invite:
group: agencies
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /agencies
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: agencies
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1 @@
qualifies: appeals_board
@@ -0,0 +1,59 @@
name: What needs doing?
description: Everything appeals board looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Appeals
description: Sent in by anyone with an interest who will not accept a decision of ours.
action: /appeals_board
consequence:
- Confirm
features:
- name: Appeals
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: appeals
requires_group: appeals_board
transitions:
- from: before_the_board
to: overturned
label: The board overturned us
- from: before_the_board
to: upheld
label: The board kept our decision
- name: Invite someone into Appeals board
description: They get an account, a place in Appeals board, and a one-time link to set their own password or passkey.
action: /appeals_board
consequence:
- Invite
invite:
group: appeals_board
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /appeals_board
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: appeals_board
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1 @@
qualifies: approved_firms
@@ -0,0 +1,61 @@
name: What needs doing?
description: Everything approved firms looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Objections
description: Sent in by a neighbour who got a notice about what is planned next door.
action: /approved_firms
consequence:
- Confirm
features:
- name: Objections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: objections
requires_group: approved_firms
transitions:
- from: registered
to: answered_by_applicant
label: The applicant has answered
- name: a decision inside twelve weeks, and to know when the clock stops
description: For an approved firm filing on behalf of an owner.
action: /approved_firms/permit-application
consequence:
- Open
- name: Invite someone into Approved firms
description: They get an account, a place in Approved firms, and a one-time link to set their own password or passkey.
action: /approved_firms
consequence:
- Invite
invite:
group: approved_firms
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /approved_firms
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: approved_firms
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all applications
description: ''
action: /status/applications
consequence:
- Open
- name: Back
description: ''
action: /approved_firms
consequence:
- Back
@@ -0,0 +1,48 @@
followup: false
name: Permit application?
description: ''
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: a decision inside twelve weeks, and to know when the clock stops
description: For an approved firm filing on behalf of an owner.
action: /approved_firms/permit-application-sent
consequence:
- Send
record_as: applications
features:
- name: What happens next
description: It is open, then papers missing, then papers complete, then out to the neighbours and the agencies, then recommendation written, and ends approved, approved on conditions, refused or withdrawn.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: property_address
label: Property address
type: text
- name: property_number
label: Property number
type: text
- name: what_is_planned
label: What is planned
type: textarea
- name: neighbours_notified
label: Neighbours notified
type: select
options:
- Yes
- Not yet
- name: site
label: Site
type: location
optional: true
- name: drawings_url
label: Drawings url
type: text
optional: true
@@ -0,0 +1,88 @@
name: What do you need?
description: For someone who lives next to what is being built.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: what they think on the record, and answered in the decision
description: For a neighbour who got a notice about what is planned next door.
action: /received/objection
consequence:
- Send
record_as: objections
features:
- name: What you need
description: The notice that came in the post, which has the case number on it.
icon: lucide:key
- name: What happens next
description: It is open, then on the case file, then the applicant has answered, and ends answered in the decision or withdrawn.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number
label: Case number
type: text
- name: your_property
label: Your property
type: text
- name: your_objection
label: Your objection
type: textarea
- name: to be told where it actually stands
description: For someone waiting on a case and getting nothing back.
action: /received/case-status-enquiry
consequence:
- Send
record_as: enquiries
features:
- name: What happens next
description: It is open, then in hand, and ends answered.
icon: lucide:route
- name: Who reads it
description: Front desk. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number_or_address
label: Case number or address
type: text
- name: what_you_want_to_know
label: What you want to know
type: textarea
- name: us to go and look, and to hear that we did
description: For someone who can see building going up that nobody was told about.
action: /received/illegal-building-report
consequence:
- Send
record_as: illegal_building
features:
- name: What happens next
description: It is open, then inspected, then the owner has been written to, then the owner has answered, and ends resolved, fined or nothing to pursue.
icon: lucide:route
- name: Who reads it
description: Inspectors. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: address
label: Address
type: text
- name: what_you_saw
label: What you saw
type: textarea
- name: where
label: Where
type: location
optional: true
@@ -0,0 +1 @@
qualifies: case_officers
@@ -0,0 +1,401 @@
name: What needs doing?
description: Everything case officers looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Appeals
description: Sent in by anyone with an interest who will not accept a decision of ours.
action: /case_officers
consequence:
- Confirm
features:
- name: Appeals
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: appeals
requires_group: case_officers
transitions:
- from: open
to: reconsidered
label: We are looking at it again
- name: Applications
description: Sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner.
action: /case_officers
consequence:
- Confirm
features:
- name: Applications
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: applications
requires_group: case_officers
transitions:
- from: complete
to: on_hearing
label: Out to the neighbours and the agencies
- from: complete
to: incomplete
label: Papers missing
- from: incomplete
to: complete
label: Papers complete
- from: on_hearing
to: recommended
label: Recommendation written
- from: on_hearing
to: incomplete
label: Papers missing
- from: open
to: complete
label: Papers complete
- from: open
to: incomplete
label: Papers missing
- name: Completions
description: Sent in by an owner or firm whose building work is finished.
action: /case_officers
consequence:
- Confirm
features:
- name: Completions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: completions
requires_group: case_officers
transitions:
- from: open
to: checked
label: Checked against the inspections
- name: Enquiries
description: Sent in by someone waiting on a case and getting nothing back or whoever is on the counter with a queue and a caller on the line.
action: /case_officers
consequence:
- Confirm
features:
- name: Enquiries
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: enquiries
requires_group: case_officers
transitions:
- from: open
to: in_hand
label: In hand
- name: Exemptions
description: Sent in by someone whose plans break a rule in the zoning map.
action: /case_officers
consequence:
- Confirm
features:
- name: Exemptions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: exemptions
requires_group: case_officers
transitions:
- from: county_answered
to: recommended
label: Recommended
- from: open
to: county_asked
label: With the county
- name: Firms
description: Sent in by an architect or engineering firm that files for its clients.
action: /case_officers
consequence:
- Confirm
features:
- name: Firms
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: firms
requires_group: case_officers
transitions:
- from: open
to: papers_missing
label: Waiting on papers
- from: open
to: checked
label: Papers checked
- from: papers_missing
to: checked
label: Papers checked
- name: Hearing answers
description: Sent in by a road, fire, heritage or county officer who has been asked about a case.
action: /case_officers
consequence:
- Confirm
features:
- name: Hearing answers
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: hearing_answers
requires_group: case_officers
transitions:
- from: open
to: read
label: Read by the case officer
- from: open
to: set_aside
label: Set aside with reasons
- from: read
to: followed
label: Followed in the decision
- from: read
to: set_aside
label: Set aside with reasons
- name: Hearings
description: Sent in by a case officer sending a case out to the authority that must see it.
action: /case_officers
consequence:
- Confirm
features:
- name: Hearings
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: hearings
requires_group: case_officers
transitions:
- from: open
to: no_answer
label: The deadline passed with no answer
- from: open
to: cancelled
label: Cancelled
- name: Illegal building
description: Sent in by someone who can see building going up that nobody was told about.
action: /case_officers
consequence:
- Confirm
features:
- name: Illegal building
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: illegal_building
requires_group: case_officers
transitions:
- from: inspected
to: owner_asked
label: The owner has been written to
- from: owner_asked
to: explained
label: The owner has answered
- name: Inspections
description: Sent in by an inspector on a scaffold with gloves on and the wind blowing.
action: /case_officers
consequence:
- Confirm
features:
- name: Inspections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: inspections
requires_group: case_officers
transitions:
- from: deviation
to: escalated
label: Handed to a case officer
- from: open
to: escalated
label: Handed to a case officer
- name: Meetings
description: Sent in by someone with an idea for a building and no drawings yet.
action: /case_officers
consequence:
- Confirm
features:
- name: Meetings
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: meetings
requires_group: case_officers
transitions:
- from: met
to: advised
label: Written advice sent
- from: open
to: scheduled
label: Scheduled
- from: scheduled
to: met
label: We have met
- name: Objections
description: Sent in by a neighbour who got a notice about what is planned next door.
action: /case_officers
consequence:
- Confirm
features:
- name: Objections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: objections
requires_group: case_officers
transitions:
- from: answered_by_applicant
to: addressed
label: Answered in the decision
- from: open
to: registered
label: On the case file
- from: registered
to: answered_by_applicant
label: The applicant has answered
- name: an answer by the deadline, or a record that none came
description: For a case officer sending a case out to the authority that must see it.
action: /case_officers/request-hearing
consequence:
- Open
- name: Invite someone into Hearing bodies
description: They get an account, a place in Hearing bodies, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: agencies
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Appeals board
description: They get an account, a place in Appeals board, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: appeals_board
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Approved firms
description: They get an account, a place in Approved firms, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: approved_firms
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Case officers
description: They get an account, a place in Case officers, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: case_officers
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Front desk
description: They get an account, a place in Front desk, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: front_desk
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Inspectors
description: They get an account, a place in Inspectors, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: inspectors
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Head of section
description: They get an account, a place in Head of section, and a one-time link to set their own password or passkey.
action: /case_officers
consequence:
- Invite
invite:
group: section_head
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /case_officers
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: case_officers
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /case_officers
consequence:
- Back
@@ -0,0 +1,43 @@
followup: false
name: Request hearing?
description: ''
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: an answer by the deadline, or a record that none came
description: For a case officer sending a case out to the authority that must see it.
action: /case_officers/request-hearing-sent
consequence:
- Send
record_as: hearings
features:
- name: What happens next
description: It is open, and ends answered, the deadline passed with no answer or cancelled.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: case_number
label: Case number
type: text
- name: which_authority
label: Which authority
type: select
options:
- Road authority
- Fire service
- Heritage office
- The county
- name: what_we_ask
label: What we ask
type: textarea
- name: answer_by
label: Answer by
type: date
- name: site
label: Site
type: location
optional: true
@@ -0,0 +1,9 @@
name: What would you like to do?
description: ''
alternatives:
- name: Withdrawn
description: ''
self_transition:
bucket: appeals
to: withdrawn
label: Withdrawn
@@ -0,0 +1,9 @@
name: What would you like to do?
description: ''
alternatives:
- name: Withdrawn
description: ''
self_transition:
bucket: exemptions
to: withdrawn
label: Withdrawn
@@ -0,0 +1,9 @@
name: What would you like to do?
description: ''
alternatives:
- name: Checked
description: ''
self_transition:
bucket: firms
to: checked
label: Checked
@@ -0,0 +1,9 @@
name: What would you like to do?
description: ''
alternatives:
- name: Withdrawn
description: ''
self_transition:
bucket: objections
to: withdrawn
label: Withdrawn
@@ -0,0 +1,15 @@
name: What would you like to do?
description: ''
alternatives:
- name: Complete
description: ''
self_transition:
bucket: applications
to: complete
label: Complete
- name: Withdrawn
description: ''
self_transition:
bucket: applications
to: withdrawn
label: Withdrawn
@@ -0,0 +1,9 @@
name: What would you like to do?
description: ''
alternatives:
- name: Cancelled
description: ''
self_transition:
bucket: meetings
to: cancelled
label: Cancelled
@@ -0,0 +1,15 @@
name: What would you like to do?
description: ''
alternatives:
- name: Complete
description: ''
self_transition:
bucket: applications
to: complete
label: Complete
- name: Withdrawn
description: ''
self_transition:
bucket: applications
to: withdrawn
label: Withdrawn
@@ -0,0 +1 @@
qualifies: front_desk
@@ -0,0 +1,157 @@
name: What needs doing?
description: Everything front desk looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Appeals
description: Sent in by anyone with an interest who will not accept a decision of ours.
action: /front_desk
consequence:
- Confirm
features:
- name: Appeals
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: appeals
requires_group: front_desk
transitions: []
- name: Applications
description: Sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner.
action: /front_desk
consequence:
- Confirm
features:
- name: Applications
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: applications
requires_group: front_desk
transitions: []
- name: Enquiries
description: Sent in by someone waiting on a case and getting nothing back or whoever is on the counter with a queue and a caller on the line.
action: /front_desk
consequence:
- Confirm
features:
- name: Enquiries
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: enquiries
requires_group: front_desk
transitions:
- from: in_hand
to: answered
label: Answered
- from: open
to: in_hand
label: In hand
- name: Firms
description: Sent in by an architect or engineering firm that files for its clients.
action: /front_desk
consequence:
- Confirm
features:
- name: Firms
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: firms
requires_group: front_desk
transitions: []
- name: Hearing answers
description: Sent in by a road, fire, heritage or county officer who has been asked about a case.
action: /front_desk
consequence:
- Confirm
features:
- name: Hearing answers
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: hearing_answers
requires_group: front_desk
transitions: []
- name: Hearings
description: Sent in by a case officer sending a case out to the authority that must see it.
action: /front_desk
consequence:
- Confirm
features:
- name: Hearings
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: hearings
requires_group: front_desk
transitions: []
- name: Meetings
description: Sent in by someone with an idea for a building and no drawings yet.
action: /front_desk
consequence:
- Confirm
features:
- name: Meetings
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: meetings
requires_group: front_desk
transitions:
- from: met
to: cancelled
label: Cancelled
- from: open
to: cancelled
label: Cancelled
- from: scheduled
to: cancelled
label: Cancelled
- name: the question written down and sent to whoever has the case
description: For whoever is on the counter with a queue and a caller on the line.
action: /front_desk/log-counter-enquiry
consequence:
- Open
- name: Invite someone into Front desk
description: They get an account, a place in Front desk, and a one-time link to set their own password or passkey.
action: /front_desk
consequence:
- Invite
invite:
group: front_desk
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /front_desk
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: front_desk
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our front desk.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /front_desk
consequence:
- Back
@@ -0,0 +1,31 @@
followup: false
name: Log counter enquiry?
description: ''
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: the question written down and sent to whoever has the case
description: For whoever is on the counter with a queue and a caller on the line.
action: /front_desk/log-counter-enquiry-sent
consequence:
- Send
record_as: enquiries
features:
- name: What happens next
description: It is open, then in hand, and ends answered.
icon: lucide:route
- name: Who reads it
description: Front desk. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number_or_address
label: Case number or address
type: text
- name: what_you_want_to_know
label: What you want to know
type: textarea
@@ -0,0 +1,66 @@
name: What brings you here?
description: |
The building authority for twenty-one thousand people. Anything built, demolished, divided or changed in use is decided here: the drawings are checked against the zoning map, the neighbours and the other authorities have their say, and then the head of section signs. The same office inspects what is actually built, signs off finished work, and deals with building nobody applied for.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: What we do
description: ''
features:
- name: Permission to build it, and to know where the case stands
description: |
Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to.
- name: What they think on the record, and answered in the decision
description: |
If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.
- name: Have a look around
description: ''
features:
- name: See all appeals
description: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals)
icon: lucide:list
- name: See all applications
description: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications)
icon: lucide:list
- name: See all completions
description: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions)
icon: lucide:list
- name: See all exemptions
description: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions)
icon: lucide:list
- name: See all objections
description: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)
icon: lucide:list
- name: Want to build
description: For an owner or a firm with something to build, divide or change.
action: /want-to-build
consequence:
- Continue
features:
- name: ''
description: To hear what we will allow before paying an architect, permission to build it, and to know where the case stands, to be allowed it anyway, with reasons on the record, the certificate that lets the building be used.
- name: After a decision
description: For someone who has had a decision from us and does not accept it.
action: /after-a-decision
consequence:
- Continue
features:
- name: ''
description: The decision looked at again, by us and then by the board.
- name: Work as a firm
description: For an architect or engineering firm that files for its clients.
action: /work-as-a-firm
consequence:
- Continue
features:
- name: ''
description: To be on the list, and then to file without asking again.
- name: Building near me
description: For someone who lives next to what is being built.
action: /building-near-me
consequence:
- Continue
features:
- name: ''
description: What they think on the record, and answered in the decision, to be told where it actually stands, us to go and look, and to hear that we did.
@@ -0,0 +1 @@
qualifies: inspectors
@@ -0,0 +1,118 @@
name: What needs doing?
description: Everything inspectors looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Applications
description: Sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner.
action: /inspectors
consequence:
- Confirm
features:
- name: Applications
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: applications
requires_group: inspectors
transitions: []
- name: Completions
description: Sent in by an owner or firm whose building work is finished.
action: /inspectors
consequence:
- Confirm
features:
- name: Completions
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: completions
requires_group: inspectors
transitions: []
- name: Illegal building
description: Sent in by someone who can see building going up that nobody was told about.
action: /inspectors
consequence:
- Confirm
features:
- name: Illegal building
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: illegal_building
requires_group: inspectors
transitions:
- from: explained
to: resolved
label: Resolved
- from: explained
to: dropped
label: Nothing to pursue
- from: open
to: inspected
label: Inspected
- name: Inspections
description: Sent in by an inspector on a scaffold with gloves on and the wind blowing.
action: /inspectors
consequence:
- Confirm
features:
- name: Inspections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: inspections
requires_group: inspectors
transitions:
- from: deviation
to: as_approved
label: Built as approved
- from: deviation
to: put_right
label: Put right
- from: open
to: deviation
label: Built differently
- name: what they found logged before they climb down
description: For an inspector on a scaffold with gloves on and the wind blowing.
action: /inspectors/inspection-finding
consequence:
- Open
- name: Invite someone into Inspectors
description: They get an account, a place in Inspectors, and a one-time link to set their own password or passkey.
action: /inspectors
consequence:
- Invite
invite:
group: inspectors
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /inspectors
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: inspectors
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our inspectors.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /inspectors
consequence:
- Back
@@ -0,0 +1,35 @@
followup: false
name: Inspection finding?
description: ''
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: what they found logged before they climb down
description: For an inspector on a scaffold with gloves on and the wind blowing.
action: /inspectors/inspection-finding-sent
consequence:
- Send
record_as: inspections
features:
- name: What happens next
description: It is open, then built differently, and ends built as approved, put right or handed to a case officer.
icon: lucide:route
- name: Who reads it
description: Inspectors. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: case_number
label: Case number
type: text
- name: site_address
label: Site address
type: text
- name: what_i_found
label: What i found
type: textarea
- name: where
label: Where
type: location
optional: true
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all appeals
description: ''
action: /status/appeals
consequence:
- Open
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our front desk.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all completions
description: ''
action: /status/completions
consequence:
- Open
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all exemptions
description: ''
action: /status/exemptions
consequence:
- Open
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our inspectors.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all objections
description: ''
action: /status/objections
consequence:
- Open
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,10 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,15 @@
name: What happens now?
description: It has reached our case officers.
alternatives:
- name: We read it and come back to you
description: Questions in the meantime go to Solveig Hauge at byggesak@vestmark.example.
- name: See all applications
description: ''
action: /status/applications
consequence:
- Open
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1 @@
qualifies: section_head
@@ -0,0 +1,350 @@
name: What needs doing?
description: Everything head of section looks after.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Appeals
description: Sent in by anyone with an interest who will not accept a decision of ours.
action: /section_head
consequence:
- Confirm
features:
- name: Appeals
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: appeals
requires_group: section_head
transitions:
- from: reconsidered
to: before_the_board
label: With the appeals board
- from: reconsidered
to: changed_by_us
label: We changed our own decision
- name: Applications
description: Sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner.
action: /section_head
consequence:
- Confirm
features:
- name: Applications
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: applications
requires_group: section_head
transitions:
- from: complete
to: refused
label: Refused
- from: on_hearing
to: refused
label: Refused
- from: recommended
to: approved
label: Approved
- from: recommended
to: approved_with_conditions
label: Approved on conditions
- from: recommended
to: refused
label: Refused
- name: Completions
description: Sent in by an owner or firm whose building work is finished.
action: /section_head
consequence:
- Confirm
features:
- name: Completions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: completions
requires_group: section_head
transitions:
- from: checked
to: temporary_permission
label: Temporary permission to use
- from: checked
to: certificate_issued
label: Certificate issued
- from: checked
to: refused
label: Refused
- from: open
to: refused
label: Refused
- from: temporary_permission
to: certificate_issued
label: Certificate issued
- name: Exemptions
description: Sent in by someone whose plans break a rule in the zoning map.
action: /section_head
consequence:
- Confirm
features:
- name: Exemptions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: exemptions
requires_group: section_head
transitions:
- from: county_answered
to: denied
label: Denied
- from: county_asked
to: denied
label: Denied
- from: open
to: denied
label: Denied
- from: recommended
to: granted
label: Granted
- from: recommended
to: denied
label: Denied
- name: Firms
description: Sent in by an architect or engineering firm that files for its clients.
action: /section_head
consequence:
- Confirm
features:
- name: Firms
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: firms
requires_group: section_head
transitions:
- from: checked
to: approved
label: Approved
- from: checked
to: declined
label: Declined
- from: open
to: declined
label: Declined
- from: papers_missing
to: declined
label: Declined
- name: Hearing answers
description: Sent in by a road, fire, heritage or county officer who has been asked about a case.
action: /section_head
consequence:
- Confirm
features:
- name: Hearing answers
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: hearing_answers
requires_group: section_head
transitions: []
- name: Hearings
description: Sent in by a case officer sending a case out to the authority that must see it.
action: /section_head
consequence:
- Confirm
features:
- name: Hearings
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: hearings
requires_group: section_head
transitions: []
- name: Illegal building
description: Sent in by someone who can see building going up that nobody was told about.
action: /section_head
consequence:
- Confirm
features:
- name: Illegal building
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: illegal_building
requires_group: section_head
transitions:
- from: inspected
to: fined
label: Fined
- from: open
to: fined
label: Fined
- name: Inspections
description: Sent in by an inspector on a scaffold with gloves on and the wind blowing.
action: /section_head
consequence:
- Confirm
features:
- name: Inspections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: inspections
requires_group: section_head
transitions:
- from: deviation
to: escalated
label: Handed to a case officer
- from: open
to: escalated
label: Handed to a case officer
- name: Objections
description: Sent in by a neighbour who got a notice about what is planned next door.
action: /section_head
consequence:
- Confirm
features:
- name: Objections
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: objections
requires_group: section_head
transitions: []
- name: Invite someone into Hearing bodies
description: They get an account, a place in Hearing bodies, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: agencies
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Appeals board
description: They get an account, a place in Appeals board, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: appeals_board
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Approved firms
description: They get an account, a place in Approved firms, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: approved_firms
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Case officers
description: They get an account, a place in Case officers, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: case_officers
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Front desk
description: They get an account, a place in Front desk, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: front_desk
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Inspectors
description: They get an account, a place in Inspectors, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: inspectors
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invite someone into Head of section
description: They get an account, a place in Head of section, and a one-time link to set their own password or passkey.
action: /section_head
consequence:
- Invite
invite:
group: section_head
features:
- name: Who
description: Their name, and the address the account and its one-time link go to.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Invitations sent
description: Each invite with the link it made. Mark it done when the person is in.
action: /section_head
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation, with the one-time link while it is unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: section_head
transitions:
- from: open
to: done
label: Is in
@@ -0,0 +1,22 @@
name: What has been sent in about appeals?
description: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Appeals
description: ''
features:
- name: Appeals
description: Each row is one case and the stage it has reached. Names and contact details are not shown here.
resource:
source:
kind: kv
bucket: appeals
public: true
jq: '.[] | .responses |= {case_number: .case_number, property: .property, what_you_disagree_with: .what_you_disagree_with, your_interest: .your_interest}'
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,22 @@
name: What has been sent in about applications?
description: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Applications
description: ''
features:
- name: Applications
description: Each row is one case and the stage it has reached. Names and contact details are not shown here.
resource:
source:
kind: kv
bucket: applications
public: true
jq: '.[] | .responses |= {drawings_url: .drawings_url, neighbours_notified: .neighbours_notified, property_address: .property_address, property_number: .property_number, site: .site, what_is_planned: .what_is_planned}'
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,22 @@
name: What has been sent in about completions?
description: Everything sent in by an owner or firm whose building work is finished, and where each one stands.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Completions
description: ''
features:
- name: Completions
description: Each row is one case and the stage it has reached. Names and contact details are not shown here.
resource:
source:
kind: kv
bucket: completions
public: true
jq: '.[] | .responses |= {asking_for: .asking_for, case_number: .case_number, property_address: .property_address, what_is_outstanding: .what_is_outstanding, work_finished: .work_finished}'
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,22 @@
name: What has been sent in about exemptions?
description: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Exemptions
description: ''
features:
- name: Exemptions
description: Each row is one case and the stage it has reached. Names and contact details are not shown here.
resource:
source:
kind: kv
bucket: exemptions
public: true
jq: '.[] | .responses |= {case_number: .case_number, site: .site, which_rule: .which_rule, why_it_should_be_allowed: .why_it_should_be_allowed}'
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,22 @@
name: What has been sent in about objections?
description: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: Objections
description: ''
features:
- name: Objections
description: Each row is one case and the stage it has reached. Names and contact details are not shown here.
resource:
source:
kind: kv
bucket: objections
public: true
jq: '.[] | .responses |= {case_number: .case_number, your_objection: .your_objection, your_property: .your_property}'
- name: Back
description: ''
action: /
consequence:
- Back
@@ -0,0 +1,156 @@
name: What do you need?
description: For an owner or a firm with something to build, divide or change.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: to hear what we will allow before paying an architect
description: For someone with an idea for a building and no drawings yet.
action: /received/pre-application-meeting
consequence:
- Send
record_as: meetings
features:
- name: What happens next
description: It is open, then scheduled, then we have met, and ends written advice sent or cancelled.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: name
label: Name
type: text
- name: email
label: Email
type: email
- name: property_address
label: Property address
type: text
- name: what_you_want
label: What you want
type: textarea
- name: phone
label: Phone
type: tel
optional: true
- name: site
label: Site
type: location
optional: true
- name: permission to build it, and to know where the case stands
description: For an owner applying for something small enough to file themselves.
action: /received/small-works-application
consequence:
- Send
record_as: applications
features:
- name: What happens next
description: It is open, then papers missing, then papers complete, then out to the neighbours and the agencies, then recommendation written, and ends approved, approved on conditions, refused or withdrawn.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: property_address
label: Property address
type: text
- name: property_number
label: Property number
type: text
- name: what_is_planned
label: What is planned
type: textarea
- name: neighbours_notified
label: Neighbours notified
type: select
options:
- Yes
- Not yet
- name: site
label: Site
type: location
optional: true
- name: drawings_url
label: Drawings url
type: text
optional: true
- name: to be allowed it anyway, with reasons on the record
description: For someone whose plans break a rule in the zoning map.
action: /received/exemption-request
consequence:
- Send
record_as: exemptions
features:
- name: What you need
description: An application already with us, and the case number from its receipt.
icon: lucide:key
- name: What happens next
description: It is open, then with the county, then the county has answered, then recommended, and ends granted, denied or withdrawn.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number
label: Case number
type: text
- name: which_rule
label: Which rule
type: text
- name: why_it_should_be_allowed
label: Why it should be allowed
type: textarea
- name: site
label: Site
type: location
optional: true
- name: the certificate that lets the building be used
description: For an owner or firm whose building work is finished.
action: /received/completion-request
consequence:
- Send
record_as: completions
features:
- name: What you need
description: A case number, and the work finished or close enough to move in.
icon: lucide:key
- name: What happens next
description: It is open, then checked against the inspections, then temporary permission to use, and ends certificate issued or refused.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: email
label: Email
type: email
- name: case_number
label: Case number
type: text
- name: property_address
label: Property address
type: text
- name: work_finished
label: Work finished
type: date
- name: asking_for
label: Asking for
type: select
options:
- Completion certificate
- Temporary permission to move in
- name: what_is_outstanding
label: What is outstanding
type: textarea
optional: true
@@ -0,0 +1,46 @@
name: What do you need?
description: For an architect or engineering firm that files for its clients.
responsible:
name: Solveig Hauge
contact: byggesak@vestmark.example
alternatives:
- name: to be on the list, and then to file without asking again
description: For an architect or engineering firm that files for its clients.
action: /received/firm-approval
consequence:
- Send
record_as: firms
features:
- name: What happens next
description: It is open, then waiting on papers, then papers checked, and ends approved or declined.
icon: lucide:route
- name: Who reads it
description: Case officers. Questions go to Solveig Hauge at byggesak@vestmark.example.
icon: lucide:users
- name: Details
requirements:
- name: firm_name
label: Firm name
type: text
- name: org_number
label: Org number
type: text
- name: email
label: Email
type: email
- name: qualified_for
label: Qualified for
type: select
options:
- Design
- Execution
- Independent control
- Site management
multiple: true
- name: insurance_expires
label: Insurance expires
type: date
- name: insurance_document
label: Insurance document
type: text
optional: true
+5
View File
@@ -0,0 +1,5 @@
title: Vestmark kommune - Building and Planning
lang: en
mail:
from: Vestmark Building and Planning <byggesak@vestmark.example>
reply_to: byggesak@vestmark.example
@@ -0,0 +1,25 @@
{"id":"garage-owner@/","persona":"garage-owner","need":"pre-application-meeting","page":"/","state":{"body":"We want to put a double garage where the old shed is. Before I pay an architect I'd like to know whether you'll even allow it, because the neighbour says it's too close to the road.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Want to build"]}
{"id":"garage-owner@/want-to-build","persona":"garage-owner","need":"pre-application-meeting","page":"/want-to-build","state":{"body":"We want to put a double garage where the old shed is. Before I pay an architect I'd like to know whether you'll even allow it, because the neighbour says it's too close to the road."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"permission to build it, and to know where the case stands":"For an owner applying for something small enough to file themselves.","the certificate that lets the building be used":"For an owner or firm whose building work is finished.","to be allowed it anyway, with reasons on the record":"For someone whose plans break a rule in the zoning map.","to hear what we will allow before paying an architect":"For someone with an idea for a building and no drawings yet."}}},"expect":["to hear what we will allow before paying an architect"]}
{"id":"shop-to-flats@/","persona":"shop-to-flats","need":"pre-application-meeting","page":"/","state":{"body":"I own the old grocery on Torget and want to make four flats out of it. There are a lot of questions - parking, fire, the facade is listed. Can we sit down with someone?","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Want to build"]}
{"id":"shop-to-flats@/want-to-build","persona":"shop-to-flats","need":"pre-application-meeting","page":"/want-to-build","state":{"body":"I own the old grocery on Torget and want to make four flats out of it. There are a lot of questions - parking, fire, the facade is listed. Can we sit down with someone?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"permission to build it, and to know where the case stands":"For an owner applying for something small enough to file themselves.","the certificate that lets the building be used":"For an owner or firm whose building work is finished.","to be allowed it anyway, with reasons on the record":"For someone whose plans break a rule in the zoning map.","to hear what we will allow before paying an architect":"For someone with an idea for a building and no drawings yet."}}},"expect":["to hear what we will allow before paying an architect"]}
{"id":"too-close-to-boundary@/","persona":"too-close-to-boundary","need":"exemption-request","page":"/","state":{"body":"The garage ends up one and a half metres from the boundary and the plan says four. We are asking you to allow it anyway - the ground falls away steeply everywhere else on the plot.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Want to build"]}
{"id":"too-close-to-boundary@/want-to-build","persona":"too-close-to-boundary","need":"exemption-request","page":"/want-to-build","state":{"body":"The garage ends up one and a half metres from the boundary and the plan says four. We are asking you to allow it anyway - the ground falls away steeply everywhere else on the plot."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"permission to build it, and to know where the case stands":"For an owner applying for something small enough to file themselves.","the certificate that lets the building be used":"For an owner or firm whose building work is finished.","to be allowed it anyway, with reasons on the record":"For someone whose plans break a rule in the zoning map.","to hear what we will allow before paying an architect":"For someone with an idea for a building and no drawings yet."}}},"expect":["to be allowed it anyway, with reasons on the record"]}
{"id":"neighbour-view@/","persona":"neighbour-view","need":"objection","page":"/","state":{"body":"I got a notice about the extension at number 14. It takes the afternoon sun off my entire terrace and I want that on the record before you decide anything.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Building near me"]}
{"id":"neighbour-view@/building-near-me","persona":"neighbour-view","need":"objection","page":"/building-near-me","state":{"body":"I got a notice about the extension at number 14. It takes the afternoon sun off my entire terrace and I want that on the record before you decide anything."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"to be told where it actually stands":"For someone waiting on a case and getting nothing back.","us to go and look, and to hear that we did":"For someone who can see building going up that nobody was told about.","what they think on the record, and answered in the decision":"For a neighbour who got a notice about what is planned next door."}}},"expect":["what they think on the record, and answered in the decision"]}
{"id":"neighbour-parking@/","persona":"neighbour-parking","need":"objection","page":"/","state":{"body":"The flats they want to build in the old grocery have four parking places for four flats and everyone here already parks on the street. I object.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Building near me"]}
{"id":"neighbour-parking@/building-near-me","persona":"neighbour-parking","need":"objection","page":"/building-near-me","state":{"body":"The flats they want to build in the old grocery have four parking places for four flats and everyone here already parks on the street. I object."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"to be told where it actually stands":"For someone waiting on a case and getting nothing back.","us to go and look, and to hear that we did":"For someone who can see building going up that nobody was told about.","what they think on the record, and answered in the decision":"For a neighbour who got a notice about what is planned next door."}}},"expect":["what they think on the record, and answered in the decision"]}
{"id":"refused-applicant@/","persona":"refused-applicant","need":"appeal","page":"/","state":{"body":"You refused our exemption on the ninth. We don't accept the reasoning - you've allowed the same thing twice in the same street. We're appealing.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["After a decision"]}
{"id":"neighbour-appeals@/","persona":"neighbour-appeals","need":"appeal","page":"/","state":{"body":"You approved the extension next door even though I objected. I'm appealing the decision. What do I need to send?","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["After a decision"]}
{"id":"board-member@/","persona":"board-member","need":"appeal","page":"/","state":{"body":"I sit on the appeals board. I need the case, our own decision, and what the neighbours wrote, before Tuesday.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["After a decision"]}
{"id":"firm-wants-certificate@/","persona":"firm-wants-certificate","need":"completion-request","page":"/","state":{"body":"The work at Bjorkeveien 14 is finished and inspected. We're asking for the completion certificate so the owners can get their mortgage released.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Want to build"]}
{"id":"firm-wants-certificate@/want-to-build","persona":"firm-wants-certificate","need":"completion-request","page":"/want-to-build","state":{"body":"The work at Bjorkeveien 14 is finished and inspected. We're asking for the completion certificate so the owners can get their mortgage released."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"permission to build it, and to know where the case stands":"For an owner applying for something small enough to file themselves.","the certificate that lets the building be used":"For an owner or firm whose building work is finished.","to be allowed it anyway, with reasons on the record":"For someone whose plans break a rule in the zoning map.","to hear what we will allow before paying an architect":"For someone with an idea for a building and no drawings yet."}}},"expect":["the certificate that lets the building be used"]}
{"id":"wants-to-move-in@/","persona":"wants-to-move-in","need":"completion-request","page":"/","state":{"body":"The house is done apart from the outside steps, which we can't pour until spring. The family has sold their flat. Can we get a temporary permission to move in?","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Want to build"]}
{"id":"wants-to-move-in@/want-to-build","persona":"wants-to-move-in","need":"completion-request","page":"/want-to-build","state":{"body":"The house is done apart from the outside steps, which we can't pour until spring. The family has sold their flat. Can we get a temporary permission to move in?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"permission to build it, and to know where the case stands":"For an owner applying for something small enough to file themselves.","the certificate that lets the building be used":"For an owner or firm whose building work is finished.","to be allowed it anyway, with reasons on the record":"For someone whose plans break a rule in the zoning map.","to hear what we will allow before paying an architect":"For someone with an idea for a building and no drawings yet."}}},"expect":["the certificate that lets the building be used"]}
{"id":"something-behind-fence@/","persona":"something-behind-fence","need":"illegal-building-report","page":"/","state":{"body":"There's a large structure going up behind the fence at Solbakken 7. Nobody has had a notice about it and it's been going on for two weeks.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Building near me"]}
{"id":"something-behind-fence@/building-near-me","persona":"something-behind-fence","need":"illegal-building-report","page":"/building-near-me","state":{"body":"There's a large structure going up behind the fence at Solbakken 7. Nobody has had a notice about it and it's been going on for two weeks."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"to be told where it actually stands":"For someone waiting on a case and getting nothing back.","us to go and look, and to hear that we did":"For someone who can see building going up that nobody was told about.","what they think on the record, and answered in the decision":"For a neighbour who got a notice about what is planned next door."}}},"expect":["us to go and look, and to hear that we did"]}
{"id":"owner-explains@/","persona":"owner-explains","need":"illegal-building-report","page":"/","state":{"body":"I got your letter about the terrace. I genuinely did not know it needed an application, it's been there since we moved in. What happens now?","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Building near me"]}
{"id":"owner-explains@/building-near-me","persona":"owner-explains","need":"illegal-building-report","page":"/building-near-me","state":{"body":"I got your letter about the terrace. I genuinely did not know it needed an application, it's been there since we moved in. What happens now?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"to be told where it actually stands":"For someone waiting on a case and getting nothing back.","us to go and look, and to hear that we did":"For someone who can see building going up that nobody was told about.","what they think on the record, and answered in the decision":"For a neighbour who got a notice about what is planned next door."}}},"expect":["us to go and look, and to hear that we did"]}
{"id":"new-firm@/","persona":"new-firm","need":"firm-approval","page":"/","state":{"body":"We are a three-person architecture firm that has just started. We want to be approved so we can file applications for our clients in your municipality.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Work as a firm"]}
{"id":"firm-insurance-lapsed@/","persona":"firm-insurance-lapsed","need":"firm-approval","page":"/","state":{"body":"You wrote that our liability insurance certificate has expired. We have renewed it, here it is.","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Work as a firm"]}
{"id":"where-is-my-case@/","persona":"where-is-my-case","need":"case-status-enquiry","page":"/","state":{"body":"I sent in my application five weeks ago and I've heard nothing. Is anyone looking at it? Is it in the six weeks with the neighbours or is it waiting on me?","page":"What we do Permission to build it, and to know where the case stands: Everything built in Vestmark is decided here. You send the drawings, the neighbours and the road, fire and heritage authorities are heard, and you get a written decision you can hold us to. What they think on the record, and answered in the decision: If a notice landed in your postbox, the case behind it is open to read here, and what you write to us has to be answered by name in the decision.\nHave a look around See all appeals: Everything sent in by anyone with an interest who will not accept a decision of ours, and where each one stands. [See all appeals](/status/appeals) See all applications: Everything sent in by an owner applying for something small enough to file themselves or an approved firm filing on behalf of an owner, and where each one stands. [See all applications](/status/applications) See all completions: Everything sent in by an owner or firm whose building work is finished, and where each one stands. [See all completions](/status/completions) See all exemptions: Everything sent in by someone whose plans break a rule in the zoning map, and where each one stands. [See all exemptions](/status/exemptions) See all objections: Everything sent in by a neighbour who got a notice about what is planned next door, and where each one stands. [See all objections](/status/objections)"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"After a decision":"For someone who has had a decision from us and does not accept it.","Building near me":"For someone who lives next to what is being built.","Want to build":"For an owner or a firm with something to build, divide or change.","Work as a firm":"For an architect or engineering firm that files for its clients."}}},"expect":["Building near me"]}
{"id":"where-is-my-case@/building-near-me","persona":"where-is-my-case","need":"case-status-enquiry","page":"/building-near-me","state":{"body":"I sent in my application five weeks ago and I've heard nothing. Is anyone looking at it? Is it in the six weeks with the neighbours or is it waiting on me?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What do you need?\". Which alternative do they choose?","criteria":{"to be told where it actually stands":"For someone waiting on a case and getting nothing back.","us to go and look, and to hear that we did":"For someone who can see building going up that nobody was told about.","what they think on the record, and answered in the decision":"For a neighbour who got a notice about what is planned next door."}}},"expect":["to be told where it actually stands"]}
File diff suppressed because it is too large Load Diff