Files
portal/runs/permits-plan-2026-09-30/site/needs.yaml
T
Bendik Aagaard LynghaugandClaude Fable 5.1 3dabcf7c58 build: one page holds every need that answers a record; runs: the kommune planned again by Opus
Two needs about the same record wrote the same page, and the last won.
The record's page now holds one form per answering need, under
words["forms"][need].

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 08:58:55 +02:00

505 lines
15 KiB
YAML

needs:
- id: pre-application-meeting
who: Anyone who wants to sit down with us before they spend money on drawings
wants: A meeting with a case officer, and a written note of what we told them
enters: /
via: Build
lands_in: pre_application_meetings
handled_by: case_officers
stages:
- open
- scheduled
- met
- written_up
- cancelled
done_when:
- written_up
- cancelled
success:
- written_up
max_steps: 2
max_fields: 4
stage_words:
open: asked for
scheduled: time found
met: meeting held
written_up: written down and sent
cancelled: cancelled
- id: application
who: A homeowner who wants a garage, an extension, a new window or another change to their property
wants: Permission to build, demolish, divide a property or change what a building is used for
enters: /
via: Build
lands_in: applications
handled_by: case_officers
stages:
- open
- papers_missing
- papers_received
- complete
- in_hearing
- hearing_over
- 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: 5
stage_words:
open: received
papers_missing: papers missing, clock stopped
papers_received: missing papers sent in
complete: complete, clock running
in_hearing: out to neighbours and agencies
hearing_over: hearing over
recommended: recommendation written
approved: approved
approved_with_conditions: approved with conditions
refused: refused
withdrawn: withdrawn
also_moved_by:
- head_of_section
- id: firm-application
who: An approved architect or engineering firm filing on behalf of an owner
wants: To file a building application for a client and see what is missing
enters: /approved_firms/firm-application
via: To file a building application for a client and see what is missing
lands_in: applications
handled_by: case_officers
stages:
- open
- papers_missing
- papers_received
- complete
- in_hearing
- hearing_over
- 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: received
papers_missing: papers missing, clock stopped
papers_received: missing papers sent in
complete: complete, clock running
in_hearing: out to neighbours and agencies
hearing_over: hearing over
recommended: recommendation written
approved: approved
approved_with_conditions: approved with conditions
refused: refused
withdrawn: withdrawn
enters_as: approved_firms
also_moved_by:
- head_of_section
- id: exemption
who: An applicant whose plans break the zoning rules
wants: An exemption from the zoning rules, decided alongside their application
enters: /status/applications/[key]
via: An exemption from the zoning rules, decided alongside their application
lands_in: exemptions
handled_by: case_officers
stages:
- open
- county_asked
- county_heard
- granted
- refused
done_when:
- granted
- refused
success:
- granted
max_steps: 1
max_fields: 4
stage_words:
open: received
county_asked: county asked
county_heard: county has answered or its deadline has passed
granted: granted
refused: refused
also_moved_by:
- head_of_section
- id: objection
who: A neighbour who got a notice in the post and does not agree with what is planned next door
wants: To object to an application and have the objection answered in the decision
enters: /status/applications/[key]
via: To object to an application and have the objection answered in the decision
lands_in: objections
handled_by: case_officers
stages:
- open
- registered
- answered
- addressed
done_when:
- addressed
success:
- addressed
max_steps: 1
max_fields: 4
stage_words:
open: received
registered: registered on the case
answered: answered by the applicant
addressed: addressed in the decision
also_moved_by:
- approved_firms
- front_desk
- id: logged-objection
who: The front desk, when an objection comes in on paper or over the counter
wants: To put the objection on the right case straight away, instead of stapling it to a folder
enters: /front_desk/logged-objection
via: To put the objection on the right case straight away, instead of stapling it to a folder
lands_in: paper_objections
handled_by: case_officers
stages:
- open
- registered
- answered
- addressed
done_when:
- addressed
success:
- addressed
max_steps: 1
max_fields: 5
stage_words:
open: received
registered: registered on the case
answered: answered by the applicant
addressed: addressed in the decision
enters_as: front_desk
also_moved_by:
- approved_firms
- front_desk
- id: hearing-request
who: A case officer who is obliged to ask another authority about an application
wants: To ask the road authority, the fire service, the heritage office or the county, and go on when the deadline has passed
enters: /case_officers/hearing-request
via: To ask the road authority, the fire service, the heritage office or the county, and go on when the deadline has passed
lands_in: hearing_answers
handled_by: case_officers
stages:
- open
- answered
- no_answer
done_when:
- answered
- no_answer
success:
- answered
max_steps: 1
max_fields: 4
stage_words:
open: asked
answered: answered
no_answer: deadline passed without an answer
enters_as: case_officers
also_moved_by:
- agencies
- id: appeal
who: Anyone with an interest in a decision, the applicant or a neighbour
wants: To appeal a decision we have made
enters: /status/applications/[key]
via: To appeal a decision we have made
lands_in: appeals
handled_by: case_officers
stages:
- open
- under_review
- decision_changed
- sent_to_board
- upheld
- overturned
- dismissed
done_when:
- decision_changed
- upheld
- overturned
- dismissed
success:
- decision_changed
- upheld
- overturned
max_steps: 1
max_fields: 4
stage_words:
open: received
under_review: we are going through it ourselves
decision_changed: we changed our own decision
sent_to_board: sent to the appeals board
upheld: decision upheld by the board
overturned: decision overturned by the board
dismissed: dismissed
also_moved_by:
- appeals_board
- head_of_section
- id: illegal-building-report
who: Someone who sees something going up behind their fence without permission
wants: To tell us, so that we go and look
enters: /
via: To tell us, so that we go and look
lands_in: illegal_building
handled_by: case_officers
stages:
- open
- inspected
- owner_written_to
- explained
- fined
- applied_for
- taken_down
- nothing_illegal
done_when:
- applied_for
- taken_down
- nothing_illegal
success:
- applied_for
- taken_down
max_steps: 1
max_fields: 3
stage_words:
open: reported
inspected: we have been and looked
owner_written_to: owner written to
explained: owner has explained
fined: weekly fine running
applied_for: applied for properly
taken_down: taken down
nothing_illegal: nothing illegal found
also_moved_by:
- head_of_section
- inspectors
- id: logged-report
who: The front desk, when someone rings or comes in about building without permission
wants: To log the report so an inspector goes and looks
enters: /front_desk/logged-report
via: To log the report so an inspector goes and looks
lands_in: illegal_building
handled_by: case_officers
stages:
- open
- inspected
- owner_written_to
- explained
- fined
- applied_for
- taken_down
- nothing_illegal
done_when:
- applied_for
- taken_down
- nothing_illegal
success:
- applied_for
- taken_down
max_steps: 1
max_fields: 3
stage_words:
open: reported
inspected: we have been and looked
owner_written_to: owner written to
explained: owner has explained
fined: weekly fine running
applied_for: applied for properly
taken_down: taken down
nothing_illegal: nothing illegal found
enters_as: front_desk
also_moved_by:
- head_of_section
- inspectors
- id: inspection
who: An inspector on site, writing on a phone in a cold wind
wants: To write up what was found on a case and set a date for what must be put right
enters: /inspectors/inspection
via: To write up what was found on a case and set a date for what must be put right
lands_in: inspections
handled_by: inspectors
stages:
- open
- to_put_right
- as_approved
done_when:
- as_approved
success:
- as_approved
max_steps: 1
max_fields: 3
stage_words:
open: inspected
to_put_right: to be put right, then we go back
as_approved: as approved
enters_as: inspectors
- id: completion-certificate
who: An approved firm whose work on a case is done
wants: A completion certificate for the finished work
enters: /approved_firms/completion-certificate
via: A completion certificate for the finished work
lands_in: completion_certificates
handled_by: case_officers
stages:
- open
- checked
- issued
- refused
done_when:
- issued
- refused
success:
- issued
max_steps: 1
max_fields: 5
stage_words:
open: asked for
checked: inspections and outstanding work checked
issued: certificate signed
refused: refused
enters_as: approved_firms
also_moved_by:
- head_of_section
- id: temporary-permission
who: An approved firm whose client wants to move in before everything is done
wants: A temporary permission to use the building
enters: /approved_firms/temporary-permission
via: A temporary permission to use the building
lands_in: temporary_permissions
handled_by: case_officers
stages:
- open
- checked
- issued
- refused
done_when:
- issued
- refused
success:
- issued
max_steps: 1
max_fields: 6
stage_words:
open: asked for
checked: inspections and outstanding work checked
issued: temporary permission signed
refused: refused
enters_as: approved_firms
also_moved_by:
- head_of_section
- id: firm-approval
who: An architect or engineering firm that wants to file applications for owners
wants: To be approved by us and put on the list of firms that may file
enters: /
via: Firm
lands_in: approved_firm_requests
handled_by: case_officers
stages:
- open
- checked
- listed
- refused
done_when:
- listed
- refused
success:
- listed
max_steps: 2
max_fields: 6
stage_words:
open: received
checked: registration, insurance and qualifications checked
listed: on the list
refused: refused
also_moved_by:
- head_of_section
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: firm-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: 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: firm-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
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-request
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-request
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
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
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-certificate
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: temporary-permission
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?