Files
portal/runs/permits-plan-2026-09-30/site/questions/case_officers/index.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

369 lines
11 KiB
YAML

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 in a decision, the applicant or a neighbour.
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: under_review
label: We are going through it ourselves
- from: open
to: dismissed
label: Dismissed
- from: under_review
to: sent_to_board
label: Sent to the appeals board
- from: under_review
to: dismissed
label: Dismissed
- name: Applications
description: Sent in by A homeowner who wants a garage, an extension, a new window or another change to their property or An approved architect or engineering 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: in_hearing
label: Out to neighbours and agencies
- from: complete
to: withdrawn
label: Withdrawn
- from: complete
to: papers_missing
label: Papers missing, clock stopped
- from: hearing_over
to: recommended
label: Recommendation written
- from: hearing_over
to: withdrawn
label: Withdrawn
- from: in_hearing
to: hearing_over
label: Hearing over
- from: in_hearing
to: withdrawn
label: Withdrawn
- from: in_hearing
to: papers_missing
label: Papers missing, clock stopped
- from: open
to: complete
label: Complete, clock running
- from: open
to: withdrawn
label: Withdrawn
- from: open
to: papers_missing
label: Papers missing, clock stopped
- from: papers_missing
to: complete
label: Complete, clock running
- from: papers_missing
to: withdrawn
label: Withdrawn
- from: papers_received
to: complete
label: Complete, clock running
- from: papers_received
to: withdrawn
label: Withdrawn
- from: papers_received
to: papers_missing
label: Papers missing, clock stopped
- from: recommended
to: withdrawn
label: Withdrawn
- name: Approved firm requests
description: Sent in by An architect or engineering firm that wants to file applications for owners.
action: /case_officers
consequence:
- Confirm
features:
- name: Approved firm requests
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: approved_firm_requests
requires_group: case_officers
transitions:
- from: open
to: checked
label: Registration, insurance and qualifications checked
- name: Completion certificates
description: Sent in by An approved firm whose work on a case is done.
action: /case_officers
consequence:
- Confirm
features:
- name: Completion certificates
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: completion_certificates
requires_group: case_officers
transitions:
- from: open
to: checked
label: Inspections and outstanding work checked
- name: Exemptions
description: Sent in by An applicant whose plans break the zoning rules.
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_asked
to: county_heard
label: County has answered or its deadline has passed
- from: open
to: county_asked
label: County asked
- name: Hearing answers
description: Sent in by A case officer who is obliged to ask another authority about an application.
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: answered
label: Answered
- from: open
to: no_answer
label: Deadline passed without an answer
- name: Illegal building
description: Sent in by Someone who sees something going up behind their fence without permission or The front desk, when someone rings or comes in about building without permission.
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: explained
to: applied_for
label: Applied for properly
- from: explained
to: taken_down
label: Taken down
- from: explained
to: nothing_illegal
label: Nothing illegal found
- from: fined
to: applied_for
label: Applied for properly
- from: fined
to: taken_down
label: Taken down
- from: inspected
to: owner_written_to
label: Owner written to
- from: inspected
to: nothing_illegal
label: Nothing illegal found
- from: open
to: nothing_illegal
label: Nothing illegal found
- from: owner_written_to
to: explained
label: Owner has explained
- name: Inspections
description: Sent in by An inspector on site, writing on a phone in a cold wind.
action: /case_officers
consequence:
- Confirm
features:
- name: Inspections
description: Each row is one case and the stage it has reached. Another desk moves these.
resource:
source:
kind: kv
bucket: inspections
requires_group: case_officers
transitions: []
- name: Objections
description: Sent in by A neighbour who got a notice in the post and does not agree with 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
to: addressed
label: Addressed in the decision
- from: open
to: registered
label: Registered on the case
- from: registered
to: answered
label: Answered by the applicant
- from: registered
to: addressed
label: Addressed in the decision
- name: Paper objections
description: Sent in by The front desk, when an objection comes in on paper or over the counter.
action: /case_officers
consequence:
- Confirm
features:
- name: Paper objections
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: paper_objections
requires_group: case_officers
transitions:
- from: answered
to: addressed
label: Addressed in the decision
- from: open
to: registered
label: Registered on the case
- from: registered
to: answered
label: Answered by the applicant
- from: registered
to: addressed
label: Addressed in the decision
- name: Pre application meetings
description: Sent in by Anyone who wants to sit down with us before they spend money on drawings.
action: /case_officers
consequence:
- Confirm
features:
- name: Pre application meetings
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: pre_application_meetings
requires_group: case_officers
transitions:
- from: met
to: written_up
label: Written down and sent
- from: open
to: scheduled
label: Time found
- from: open
to: cancelled
label: Cancelled
- from: scheduled
to: met
label: Meeting held
- from: scheduled
to: cancelled
label: Cancelled
- name: Temporary permissions
description: Sent in by An approved firm whose client wants to move in before everything is done.
action: /case_officers
consequence:
- Confirm
features:
- name: Temporary permissions
description: Each row is one case. The buttons record what you have just done with it.
resource:
source:
kind: kv
bucket: temporary_permissions
requires_group: case_officers
transitions:
- from: open
to: checked
label: Inspections and outstanding work checked
- name: To ask the road authority, the fire service, the heritage office or the county, and go on when the deadline has passed
description: For A case officer who is obliged to ask another authority about an application.
action: /case_officers/hearing-request
consequence:
- Open
- 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: Invitations sent
description: Each invite and where it stands. A link that runs out unused can be sent again.
action: /case_officers
consequence:
- Confirm
features:
- name: Who has been invited
description: Each row is one invitation. It is done by itself when the person signs in, and expired when the link ran out unused.
resource:
source:
kind: kv
bucket: portal_invites
requires_group: case_officers
transitions:
- from: open
to: done
label: Is in
- from: expired
to: open
label: Send again
- from: expired
to: done
label: Is in