plan: intake to plan by a model; doors, labelled groups, the whole card

Work from another session, committed as found (tests green):

- `plan` reads an intake into a plan.yaml (a model decides needs,
  stages, forms and budgets; a person reads the result before build).
- Plans gain `doors` (a first question before the forms, when a front
  door would carry more than five needs), `groups` with labels that a
  select may draw its options from (`options_from: groups`), `private`
  fields kept off public pages, `multiple` selects, and `max_fields`
  as what the intake said the person will tolerate.
- `card.rs`: an alternative as the visitor meets it, in text, so the
  answering visitor and `rate` read the served card, not the heading.
- `rate` reads followup pages from the repo and reports "what happens
  next" as not measured rather than zero when it cannot.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-23 12:31:51 +02:00
co-authored by Claude Fable 5.1
parent baf36319b7
commit 255aeb4f4b
570 changed files with 40795 additions and 181 deletions
@@ -0,0 +1,45 @@
# The same site, re-scored with the per-task answerer
The site is the one in the directory above, built 2026-09-21 and
untouched. Visitor: qwen3:8b on ergo's Ollama, one call per task,
options shuffled per task, seeded from the task id. question_lint
from portal at d7f60ea.
| Visitor could read | 2026-09-21, all tasks in one prompt | 2026-09-22, one task per call |
|---|---|---|
| Headings and descriptions | 8 of 8 | 8 of 8 |
| Headings only | 8 of 8 | 7 of 8 |
The one misroute: the apprentice ("I finish vocational school this
spring and need an apprenticeship as a bricklayer") reads the four
headings alone and picks "Get a professional building survey" at
0.85, over "Join our carpentry team". Read as a bricklayer would, the
heading names a trade that is not theirs, and nothing on the page
says the team hires bricklayers or apprentices. That is a heading
defect the batched answerer did not find, because with all eight
personas in one prompt the model had two obvious jobseekers and one
obvious jobs heading.
`rate`, on the same site, with the followup page shown and every
question controlled against the gutted twin:
| need | LIX | which | asked | next | twin says |
|---|---|---|---|---|---|
| survey-enquiry | 25 | 2/2 | 2/2 | 2/2 | 0/0/0 |
| build-enquiry | 26 | 2/2 | 2/2 | 2/2 | 0/0/0 |
| subcontractor-application | 35 | 2/2 | 2/2 | 2/2 | 0/0/0 |
| job-application | 27 | 1/2 | 2/2 | 2/2 | 0/0/0 |
| report-site-issue | 18 | 2/2 | 2/2 | 2/2 | 0/0/0 |
- "next" was 0 of 2 everywhere on 2026-09-21 because the front door
was rated without its followup page. With the followup read from
the repo it is 2 of 2, and 0 on the twin: the followup pages do say
what happens.
- "asked" was 2 of 2 on the twin as well, at first, when the twin
listed "Field 1, Field 2, Field 3": the count alone got a yes. The
twin now has no form line, and the control passes.
- LIX rose from 16-29 to 18-35 once headings and labels were left out
of the count; the subcontractor page is the one that reads "easy"
rather than "very easy".
- The 1 of 2 on job-application is the apprentice, the same persona
the answerer misroutes on headings alone.
@@ -0,0 +1,8 @@
{"choice":"Get a professional building survey","confidence":0.95,"id":"housing-board-damp@/"}
{"choice":"Get a professional building survey","confidence":0.95,"id":"buyer-before-purchase@/"}
{"choice":"Plan your building project with us","confidence":0.95,"id":"attic-conversion@/"}
{"choice":"Plan your building project with us","confidence":0.95,"id":"shop-to-flat@/"}
{"choice":"Become a trusted subcontractor","confidence":0.95,"id":"electrician-firm@/"}
{"choice":"Become a trusted subcontractor","confidence":0.95,"id":"scaffolder@/"}
{"choice":"Join our carpentry team","confidence":0.95,"id":"carpenter-jobseeker@/"}
{"choice":"Join our carpentry team","confidence":0.95,"id":"apprentice@/"}
@@ -0,0 +1,8 @@
{"choice":"Get a professional building survey","confidence":0.95,"id":"housing-board-damp@/"}
{"choice":"Get a professional building survey","confidence":0.95,"id":"buyer-before-purchase@/"}
{"choice":"Plan your building project with us","confidence":0.95,"id":"attic-conversion@/"}
{"choice":"Plan your building project with us","confidence":0.95,"id":"shop-to-flat@/"}
{"choice":"Become a trusted subcontractor","confidence":0.95,"id":"electrician-firm@/"}
{"choice":"Become a trusted subcontractor","confidence":0.95,"id":"scaffolder@/"}
{"choice":"Join our carpentry team","confidence":0.95,"id":"carpenter-jobseeker@/"}
{"choice":"Get a professional building survey","confidence":0.85,"id":"apprentice@/"}
@@ -0,0 +1,102 @@
{
"build-enquiry": {
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 26.25,
"options": 4,
"overloaded": false,
"personas": 2,
"required_fields": 5,
"steps": 1,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
},
"job-application": {
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 26.952380952380956,
"options": 4,
"overloaded": false,
"personas": 2,
"required_fields": 3,
"steps": 1,
"understanding": {
"asked": 2,
"next": 2,
"which": 1
}
},
"report-site-issue": {
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 17.933333333333334,
"options": 1,
"overloaded": false,
"personas": 2,
"required_fields": 3,
"steps": 1,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
},
"subcontractor-application": {
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 34.61904761904762,
"options": 4,
"overloaded": false,
"personas": 2,
"required_fields": 5,
"steps": 1,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
},
"survey-enquiry": {
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 24.785714285714285,
"options": 4,
"overloaded": false,
"personas": 2,
"required_fields": 4,
"steps": 1,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
}
+43
View File
@@ -0,0 +1,43 @@
# The whole contractor, tiered behind three doors, worded and scored
`plans/contractor-full.yaml` as restructured on 2026-09-22: the six
public needs behind `your-building` (survey, build, warranty claim)
and `work-with-us` (subcontractor, job), with the neighbour's
complaint straight on the front door. Thirteen needs, six roles,
thirty pages. Built with nemotron-3.5-lightning:30b-a3b writing the
words, all pages worded, verifier green by construction (the earlier
dry build of the same plan, before doors, is in
`../contractor-full-2026-09-21/`). Visitor: qwen3:8b, one task per
call. Twenty held-out personas, twenty-two tasks.
| Visitor could read | Routed right |
|---|---|
| Headings and descriptions | 18 of 22 |
| Headings only | 15 of 22 |
- **One page, two headings that mean the same thing.** Behind
`work-with-us` nemotron wrote "Apply to work with us" for the
subcontractor form and "Find a job with us" for the job form. All
four personas crossed over on headings alone: both firms chose
"Find a job", both jobseekers chose "Apply to work with us". Two of
the four still crossed with descriptions. This is the clearest case
of the copy rule in the whole set: two alternatives separable only by
a distinction the business makes (a firm on a contract, a person on
the payroll) and the visitor does not. The heading has to say
"firm" and "carpenter", not "apply" and "job".
- **"Your building project" does not cover a problem.** On headings
alone, the housing board with damp and the customer with a leaking
bathroom both chose "Neighbour complaint" over "Your building
project": neither has a project, both have a complaint about a
building. The door's description rescues them; the heading fails.
- **The electrical firm chose the building door** both times, from
"Your building project" reading as the general door.
- **A warranty claim and a building problem** are one thing to the
customer with cracked render, and the page offers both.
The two doors did their job: nobody was lost on the front door for
lack of a door. What went wrong is the wording on the pages behind
them, and the plan's own split of warranty from survey, which the
customer does not make.
`rate.txt` is the page-by-page rate; see `rate.json`.
@@ -0,0 +1,186 @@
aggregates:
- bucket: applicants
initial: open
states:
declined:
event: declined
hired:
event: hired
interviewing:
event: interviewing
offered:
event: offered
open:
event: received
transitions:
interviewing:
- offered
- declined
offered:
- hired
- declined
open:
- interviewing
- declined
- bucket: bids
initial: open
states:
accepted:
event: accepted
declined:
event: declined
open:
event: received
shortlisted:
event: shortlisted
transitions:
open:
- shortlisted
- accepted
- declined
shortlisted:
- accepted
- declined
- bucket: change_orders
initial: open
states:
approved:
event: approved
completed:
event: completed
declined:
event: declined
open:
event: received
priced:
event: priced
transitions:
approved:
- completed
- declined
open:
- priced
- declined
priced:
- approved
- declined
- bucket: claims
initial: open
states:
accepted:
event: accepted
fixed:
event: fixed
inspected:
event: inspected
open:
event: received
rejected:
event: rejected
transitions:
accepted:
- fixed
- rejected
inspected:
- accepted
- rejected
open:
- inspected
- rejected
- bucket: complaints
initial: open
states:
answered:
event: answered
open:
event: received
transitions:
open:
- answered
- bucket: enquiries
initial: open
states:
lost:
event: lost
open:
event: received
quoted:
event: quoted
surveyed:
event: surveyed
won:
event: won
transitions:
open:
- surveyed
- lost
quoted:
- won
- lost
surveyed:
- quoted
- lost
- bucket: job_requests
initial: open
states:
awarded:
event: awarded
open:
event: received
withdrawn:
event: withdrawn
transitions:
open:
- awarded
- withdrawn
- bucket: material_orders
initial: open
states:
delivered:
event: delivered
open:
event: received
ordered:
event: ordered
refused:
event: refused
transitions:
open:
- ordered
- refused
ordered:
- delivered
- refused
- bucket: site_issues
initial: open
states:
closed:
event: closed
in_hand:
event: in_hand
open:
event: received
transitions:
in_hand:
- closed
open:
- in_hand
- bucket: subcontractors
initial: open
states:
approved:
event: approved
awaiting_papers:
event: awaiting_papers
declined:
event: declined
open:
event: received
transitions:
awaiting_papers:
- approved
- declined
open:
- awaiting_papers
- approved
- declined
@@ -0,0 +1,22 @@
{"choice":"Your building project","confidence":0.95,"id":"housing-board-damp@/"}
{"choice":"Report a building problem","confidence":0.95,"id":"housing-board-damp@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"buyer-before-purchase@/"}
{"choice":"Report a building problem","confidence":0.95,"id":"buyer-before-purchase@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"attic-conversion@/"}
{"choice":"Tell us about your building project","confidence":0.95,"id":"attic-conversion@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"shop-to-flat@/"}
{"choice":"Tell us about your building project","confidence":0.95,"id":"shop-to-flat@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"leaking-bathroom@/"}
{"choice":"Report a fault in our work","confidence":0.95,"id":"leaking-bathroom@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"cracked-render@/"}
{"choice":"Report a building problem","confidence":0.95,"id":"cracked-render@/your-building"}
{"choice":"Neighbour complaint","confidence":0.95,"id":"noisy-mornings@/"}
{"choice":"Neighbour complaint","confidence":0.95,"id":"blocked-driveway@/"}
{"choice":"Your building project","confidence":0.95,"id":"electrician-firm@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"electrician-firm@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"scaffolder@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"scaffolder@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"carpenter-jobseeker@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"carpenter-jobseeker@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"apprentice@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"apprentice@/work-with-us"}
@@ -0,0 +1,22 @@
{"choice":"Neighbour complaint","confidence":0.95,"id":"housing-board-damp@/"}
{"choice":"Report a building problem","confidence":0.95,"id":"housing-board-damp@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"buyer-before-purchase@/"}
{"choice":"Report a building problem","confidence":0.95,"id":"buyer-before-purchase@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"attic-conversion@/"}
{"choice":"Tell us about your building project","confidence":0.95,"id":"attic-conversion@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"shop-to-flat@/"}
{"choice":"Tell us about your building project","confidence":0.95,"id":"shop-to-flat@/your-building"}
{"choice":"Neighbour complaint","confidence":0.95,"id":"leaking-bathroom@/"}
{"choice":"Report a fault in our work","confidence":0.95,"id":"leaking-bathroom@/your-building"}
{"choice":"Your building project","confidence":0.95,"id":"cracked-render@/"}
{"choice":"Report a fault in our work","confidence":0.95,"id":"cracked-render@/your-building"}
{"choice":"Neighbour complaint","confidence":0.95,"id":"noisy-mornings@/"}
{"choice":"Neighbour complaint","confidence":0.95,"id":"blocked-driveway@/"}
{"choice":"Your building project","confidence":0.95,"id":"electrician-firm@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"electrician-firm@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"scaffolder@/"}
{"choice":"Find a job with us","confidence":0.95,"id":"scaffolder@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"carpenter-jobseeker@/"}
{"choice":"Apply to work with us","confidence":0.95,"id":"carpenter-jobseeker@/work-with-us"}
{"choice":"Work with Nordvik Bygg","confidence":0.95,"id":"apprentice@/"}
{"choice":"Apply to work with us","confidence":0.95,"id":"apprentice@/work-with-us"}
+46
View File
@@ -0,0 +1,46 @@
words: questions/clients/change-request-sent.yaml
words: questions/clients/change-request.yaml
words: questions/clients/index.yaml
words: questions/crew/index.yaml
words: questions/crew/order-materials-sent.yaml
words: questions/crew/order-materials.yaml
words: questions/crew/report-site-issue-sent.yaml
words: questions/crew/report-site-issue.yaml
words: questions/decide/change-request.yaml
words: questions/index.yaml
words: questions/project_managers/index.yaml
words: questions/project_managers/log-phone-enquiry-sent.yaml
words: questions/project_managers/log-phone-enquiry.yaml
words: questions/project_managers/post-job-request-sent.yaml
words: questions/project_managers/post-job-request.yaml
words: questions/received/build-enquiry.yaml
words: questions/received/job-application.yaml
words: questions/received/neighbour-complaint.yaml
words: questions/received/subcontractor-application.yaml
words: questions/received/survey-enquiry.yaml
words: questions/received/warranty-claim.yaml
words: questions/safety_officer/index.yaml
words: questions/safety_officer/safety-round-finding-sent.yaml
words: questions/safety_officer/safety-round-finding.yaml
words: questions/site_managers/index.yaml
words: questions/subcontractors/index.yaml
words: questions/subcontractors/submit-bid-sent.yaml
words: questions/subcontractors/submit-bid.yaml
words: questions/work-with-us/index.yaml
words: questions/your-building/index.yaml
content repo written to runs/contractor-full-2026-09-22
OK: 30 question(s), 11 aggregate(s) valid
need "survey-enquiry": / [Your building project] -> /your-building [Report a building problem] -> "enquiries"
need "build-enquiry": / [Your building project] -> /your-building [Report a building problem] -> "enquiries"
need "warranty-claim": / [Your building project] -> /your-building [Report a fault in our work] -> "claims"
need "neighbour-complaint": / [Neighbour complaint] -> "complaints"
need "subcontractor-application": / [Work with Nordvik Bygg] -> /work-with-us [Apply to work with us] -> "subcontractors"
need "job-application": / [Work with Nordvik Bygg] -> /work-with-us [Find a job with us] -> "applicants"
need "change-request": /clients/change-request [Request a change to your building work] -> "change_orders"
need "log-phone-enquiry": /project_managers/log-phone-enquiry [Log a phone enquiry] -> "enquiries"
need "post-job-request": /project_managers/post-job-request [Give subcontractors a job to price] -> "job_requests"
need "submit-bid": /subcontractors/submit-bid [Submit a bid on a job] -> "bids"
need "report-site-issue": /crew/report-site-issue [Report a safety finding on site] -> "site_issues"
need "order-materials": /crew/order-materials [Order materials for the site] -> "material_orders"
need "safety-round-finding": /safety_officer/safety-round-finding [Report what you find on site] -> "site_issues"
OK: 13 need(s) structurally met, 0 planned, 20 persona(s)
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/clients/change-request-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "We have received your change request. A project manager will review it shortly.",
"next_description": "We will get back to you with a price and next steps within 2 business days.",
"next_heading": "What happens next?",
"question": "What happens after I submit?"
}
@@ -0,0 +1,68 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/clients/change-request.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"change": "<WRITE: a form label for the field `change`>",
"email": "<WRITE: a form label for the field `email`>",
"job_address": "<WRITE: a form label for the field `job_address`>",
"needed_by": "<WRITE: a form label for the field `needed_by`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Submit change",
"description": "Tell us what you want changed so we can price it and get it done.",
"form_title": "Change request",
"heading": "Request a change to your building work",
"labels": {
"change": "What needs to change?",
"email": "Your email",
"job_address": "Building address",
"needed_by": "When do you need this?"
},
"page_description": "A client can ask for a change to an ongoing job. We price it and do it if you accept.",
"question": "What needs to change in your project?"
}
@@ -0,0 +1,205 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/clients/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {
"change-request": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"door your-building": [
{
"heading": "Survey enquiry",
"description": "A housing board or private owner with a problem in a building wants someone qualified to come and look at it and say what it takes.",
"moves": {
"open->surveyed": "Surveyed",
"surveyed->quoted": "Quoted",
"quoted->won": "Won",
"quoted->lost": "Lost"
}
},
{
"heading": "Build enquiry",
"description": "An owner who already knows what they want built or changed wants drawings, a permit application and a price.",
"moves": {
"open->surveyed": "Surveyed",
"surveyed->quoted": "Quoted",
"quoted->won": "Won",
"quoted->lost": "Lost"
}
},
{
"heading": "Warranty claim",
"description": "A past customer who has found a fault in work we handed over wants us to come back, look at it, and put it right.",
"moves": {
"open->inspected": "Inspected",
"inspected->accepted": "Accepted",
"accepted->fixed": "Fixed",
"accepted->rejected": "Rejected"
}
}
],
"door work-with-us": [
{
"heading": "Subcontractor application",
"description": "A trade firm doing electrical, plumbing or scaffolding work wants to be approved once, and then be called when a job needs them.",
"moves": {
"open->awaiting_papers": "Awaiting papers",
"awaiting_papers->approved": "Approved",
"approved->declined": "Declined"
}
},
{
"heading": "Job application",
"description": "A carpenter, bricklayer or apprentice looking for work wants to be considered, without writing a letter.",
"moves": {
"open->interviewing": "Interviewing",
"interviewing->offered": "Offered",
"offered->hired": "Hired",
"offered->declined": "Declined"
}
}
],
"log-phone-enquiry": [
{
"heading": "Phone enquiry",
"description": "A project manager who just took a call or a text about a building wants the enquiry written down before it gets lost.",
"moves": {
"open->surveyed": "Surveyed",
"surveyed->quoted": "Quoted",
"quoted->won": "Won",
"quoted->lost": "Lost"
}
}
],
"post-job-request": [
{
"heading": "Post job to subcontractor",
"description": "A project manager with work to hand to a subcontractor wants approved subcontractors to see the job and answer with a price.",
"moves": {
"open->awarded": "Awarded",
"awarded->withdrawn": "Withdrawn"
}
}
],
"submit-bid": [
{
"heading": "Submit bid",
"description": "An approved subcontractor who has seen a job they can take wants to say yes with a price and a start date.",
"moves": {
"open->shortlisted": "Shortlisted",
"shortlisted->accepted": "Accepted",
"shortlisted->declined": "Declined"
}
}
],
"change-request": [
{
"heading": "Change request",
"description": "A client whose job is under way and who wants something changed wants a price for the change, and the change done if they accept it.",
"moves": {
"open->priced": "Priced",
"priced->approved": "Approved",
"approved->completed": "Completed",
"approved->declined": "Declined"
}
}
],
"neighbour-complaint": [
{
"heading": "Neighbour complaint",
"description": "Someone living or working next to one of our building sites wants the noise, dust or blocked access dealt with, and an answer.",
"moves": {
"open->answered": "Answered"
}
}
],
"order-materials": [
{
"heading": "Order materials",
"description": "A carpenter or bricklayer who is about to run out of something wants it ordered and on site before work stops.",
"moves": {
"open->ordered": "Ordered",
"ordered->delivered": "Delivered",
"delivered->refused": "Refused"
}
}
],
"report-site-issue": [
{
"heading": "Report site issue",
"description": "Anyone on site, ours or a subcontractor's, on a phone with gloves on wants to report a hazard, a near miss or wrong materials before they forget.",
"moves": {
"open->in_hand": "In hand",
"in_hand->closed": "Closed"
}
}
],
"safety-round-finding": [
{
"heading": "Safety round finding",
"description": "The safety officer walking a site on the weekly round wants each thing found written down where the reported issues already are.",
"moves": {
"open->in_hand": "In hand",
"in_hand->closed": "Closed"
}
}
]
},
"confirm": "Continue",
"description": "Manage your cases and move them through their stages.",
"links": {
"change-request": {
"button": "Change request",
"description": "A client whose job is under way and who wants something changed wants a price for the change, and the change done if they accept it.",
"heading": "Change request"
}
},
"question": "What do you need to do today?"
}
@@ -0,0 +1,92 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/crew/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"material_orders": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"ordered->delivered": "<WRITE: a button, two to four words, for a case going ordered->delivered>"
}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {
"order-materials": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
},
"report-site-issue": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"material_orders": {
"description": "Order materials for a job in progress. See what's on its way and what arrived.",
"heading": "Order materials for building",
"moves": {
"ordered->delivered": "Mark delivered"
}
}
},
"confirm": "Confirm",
"description": "Manage the flow of cases from enquiry to completion. See what stage each case is at and move it forward.",
"links": {
"order-materials": {
"button": "Order materials",
"description": "Order materials for the job you are working on. Track what has been delivered.",
"heading": "Order materials for building"
},
"report-site-issue": {
"button": "Report issue",
"description": "Log a hazard, near miss or wrong materials found on site. Keep the weekly safety round up to date.",
"heading": "Report a site issue"
}
},
"question": "What case do you need to move forward?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/crew/order-materials-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to order-materials",
"description": "We have received your request. The site manager will process it shortly.",
"next_description": "You will receive a confirmation once the materials are on site.",
"next_heading": "Materials ordered",
"question": "Will the materials arrive on time?"
}
@@ -0,0 +1,66 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/crew/order-materials.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"needed_by": "<WRITE: a form label for the field `needed_by`>",
"site_address": "<WRITE: a form label for the field `site_address`>",
"what": "<WRITE: a form label for the field `what`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Order now",
"description": "Tell us what you need and where the site is so we can get it on its way.",
"form_title": "Order materials",
"heading": "Order materials for the site",
"labels": {
"needed_by": "Needed by",
"site_address": "Site address",
"what": "What do you need?"
},
"page_description": "Order materials before the site runs out.",
"question": "What do you need on site?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/crew/report-site-issue-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "Your report has been sent to our safety officer. They will review the issue and get back to you.",
"next_description": "We will review the reported issue and update its status. You will be notified when it is resolved.",
"next_heading": "What happens next",
"question": "What happens after I submit?"
}
@@ -0,0 +1,66 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/crew/report-site-issue.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"kind": "<WRITE: a form label for the field `kind`>",
"what_happened": "<WRITE: a form label for the field `what_happened`>",
"where": "<WRITE: a form label for the field `where`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Report issue",
"description": "Write down a hazard, near miss, or wrong materials from the site so the safety officer can fix it.",
"form_title": "Report a site issue",
"heading": "Report a safety finding on site",
"labels": {
"kind": "What kind of issue",
"what_happened": "What happened",
"where": "Where on site"
},
"page_description": "Report a hazard, near miss, or wrong materials found during a site visit.",
"question": "What safety issue did you find?"
}
@@ -0,0 +1,72 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/decide/change-request.yaml
It is a page the person who sent a form reaches later, through a private link, to make a decision that is theirs: under `moves`, each entry is one thing they can decide.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"moves": {
"approved": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
},
"declined": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "You have submitted a change request for your ongoing project. Use this page to make your decision.",
"moves": {
"approved": {
"button": "Accept change",
"description": "The change will be added to the project scope and price. Work will proceed according to the new agreement.",
"heading": "Approve the change request"
},
"declined": {
"button": "Reject change",
"description": "The change will not be added to the project. The original scope and price remain unchanged.",
"heading": "Decline the change request"
}
},
"question": "What is your decision on this change request?"
}
@@ -0,0 +1,98 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/index.yaml
It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"doors": {
"work-with-us": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
},
"your-building": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"needs": {
"neighbour-complaint": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"reach_me_on": "<WRITE: a form label for the field `reach_me_on`>",
"site_address": "<WRITE: a form label for the field `site_address`>",
"what_is_wrong": "<WRITE: a form label for the field `what_is_wrong`>"
}
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "Find the right path for your building or your career with Nordvik Bygg.",
"doors": {
"work-with-us": {
"button": "Join us",
"description": "Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.",
"heading": "Work with Nordvik Bygg"
},
"your-building": {
"button": "Start here",
"description": "Report a problem, get a survey, or start a new build project.",
"heading": "Your building project"
}
},
"needs": {
"neighbour-complaint": {
"button": "Report issue",
"description": "Let us know about noise, dust, or access problems from a building site near you.",
"form_title": "Contact details",
"heading": "Neighbour complaint",
"labels": {
"reach_me_on": "Contact method",
"site_address": "Building address",
"what_is_wrong": "Describe the issue"
}
}
},
"question": "What brings you to Nordvik Bygg today?"
}
@@ -0,0 +1,246 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/project_managers/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"applicants": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"interviewing->declined": "<WRITE: a button, two to four words, for a case going interviewing->declined>",
"interviewing->offered": "<WRITE: a button, two to four words, for a case going interviewing->offered>",
"offered->declined": "<WRITE: a button, two to four words, for a case going offered->declined>",
"offered->hired": "<WRITE: a button, two to four words, for a case going offered->hired>",
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>",
"open->interviewing": "<WRITE: a button, two to four words, for a case going open->interviewing>"
}
},
"bids": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->accepted": "<WRITE: a button, two to four words, for a case going open->accepted>",
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>",
"open->shortlisted": "<WRITE: a button, two to four words, for a case going open->shortlisted>",
"shortlisted->accepted": "<WRITE: a button, two to four words, for a case going shortlisted->accepted>",
"shortlisted->declined": "<WRITE: a button, two to four words, for a case going shortlisted->declined>"
}
},
"change_orders": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"approved->declined": "<WRITE: a button, two to four words, for a case going approved->declined>",
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>",
"open->priced": "<WRITE: a button, two to four words, for a case going open->priced>",
"priced->declined": "<WRITE: a button, two to four words, for a case going priced->declined>"
}
},
"claims": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"accepted->rejected": "<WRITE: a button, two to four words, for a case going accepted->rejected>",
"inspected->accepted": "<WRITE: a button, two to four words, for a case going inspected->accepted>",
"inspected->rejected": "<WRITE: a button, two to four words, for a case going inspected->rejected>",
"open->rejected": "<WRITE: a button, two to four words, for a case going open->rejected>"
}
},
"complaints": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
},
"enquiries": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->lost": "<WRITE: a button, two to four words, for a case going open->lost>",
"open->surveyed": "<WRITE: a button, two to four words, for a case going open->surveyed>",
"quoted->lost": "<WRITE: a button, two to four words, for a case going quoted->lost>",
"quoted->won": "<WRITE: a button, two to four words, for a case going quoted->won>",
"surveyed->lost": "<WRITE: a button, two to four words, for a case going surveyed->lost>",
"surveyed->quoted": "<WRITE: a button, two to four words, for a case going surveyed->quoted>"
}
},
"job_requests": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->awarded": "<WRITE: a button, two to four words, for a case going open->awarded>",
"open->withdrawn": "<WRITE: a button, two to four words, for a case going open->withdrawn>"
}
},
"site_issues": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
},
"subcontractors": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"awaiting_papers->approved": "<WRITE: a button, two to four words, for a case going awaiting_papers->approved>",
"awaiting_papers->declined": "<WRITE: a button, two to four words, for a case going awaiting_papers->declined>",
"open->approved": "<WRITE: a button, two to four words, for a case going open->approved>",
"open->awaiting_papers": "<WRITE: a button, two to four words, for a case going open->awaiting_papers>",
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>"
}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {
"log-phone-enquiry": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
},
"post-job-request": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"applicants": {
"description": "Track carpenter and apprentice applications from open to hired, with interview steps in between.",
"heading": "Applicant cases",
"moves": {
"interviewing->declined": "Mark declined",
"interviewing->offered": "Offer role",
"offered->declined": "Reject offer",
"offered->hired": "Confirm hire",
"open->declined": "Mark declined",
"open->interviewing": "Start interview"
}
},
"bids": {
"description": "Handle subcontractor bids from open submission to accepted or declined.",
"heading": "Bid management",
"moves": {
"open->accepted": "Accept bid",
"open->declined": "Reject bid",
"open->shortlisted": "Shortlist bid",
"shortlisted->accepted": "Accept shortlist",
"shortlisted->declined": "Reject shortlist"
}
},
"change_orders": {
"description": "Track client change requests from open inquiry through pricing and completion.",
"heading": "Change order cases",
"moves": {
"approved->declined": "Reject change",
"open->declined": "Reject request",
"open->priced": "Price the change",
"priced->declined": "Reject priced change"
}
},
"claims": {
"description": "Handle warranty claims from inspection through to acceptance or rejection of the fix.",
"heading": "Warranty claim cases",
"moves": {
"accepted->rejected": "Reject fix",
"inspected->accepted": "Accept fix",
"inspected->rejected": "Reject fix",
"open->rejected": "Reject claim"
}
},
"complaints": {
"description": "Record and resolve neighbour complaints about site noise, dust or access.",
"heading": "Neighbour complaints",
"moves": {}
},
"enquiries": {
"description": "Track building enquiries from initial contact through survey, quote and win/lose outcome.",
"heading": "Building enquiries",
"moves": {
"open->lost": "Mark lost",
"open->surveyed": "Book survey",
"quoted->lost": "Mark lost",
"quoted->won": "Win work",
"surveyed->lost": "Mark lost",
"surveyed->quoted": "Send quote"
}
},
"job_requests": {
"description": "Manage internal job assignments for subcontractors from open through to awarded or withdrawn.",
"heading": "Job requests",
"moves": {
"open->awarded": "Award job",
"open->withdrawn": "Withdraw job"
}
},
"site_issues": {
"description": "Log safety and quality issues reported from site, through to closure.",
"heading": "Site issue log",
"moves": {}
},
"subcontractors": {
"description": "Track trade firm applications from open through paper review to approved or declined status.",
"heading": "Subcontractor cases",
"moves": {
"awaiting_papers->approved": "Approve firm",
"awaiting_papers->declined": "Decline firm",
"open->approved": "Approve application",
"open->awaiting_papers": "Await papers",
"open->declined": "Decline application"
}
}
},
"confirm": "Confirm",
"description": "Manage and track all project enquiries, applications and site issues from one desk.",
"links": {
"log-phone-enquiry": {
"button": "Log call",
"description": "Record a new building enquiry or client call before details are lost.",
"heading": "Log phone enquiry"
},
"post-job-request": {
"button": "Post job",
"description": "Send an approved job to subcontractors for bidding.",
"heading": "Post job request"
}
},
"question": "What case do you want to work on?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/project_managers/log-phone-enquiry-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to enquiry",
"description": "Your phone call has been recorded. We will review it and get back to you.",
"next_description": "We will call you to discuss the issue and decide on the next steps.",
"next_heading": "What happens next?",
"question": "Did we capture everything you needed?"
}
@@ -0,0 +1,68 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/project_managers/log-phone-enquiry.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"address": "<WRITE: a form label for the field `address`>",
"caller": "<WRITE: a form label for the field `caller`>",
"phone": "<WRITE: a form label for the field `phone`>",
"problem": "<WRITE: a form label for the field `problem`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Log call",
"description": "Write down the enquiry so it doesn't get lost. One call, one record.",
"form_title": "Phone enquiry log",
"heading": "Log a phone enquiry",
"labels": {
"address": "Address or site location",
"caller": "Your name",
"phone": "Phone number",
"problem": "What was said"
},
"page_description": "Record a building enquiry taken over the phone.",
"question": "What was said on the call?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/project_managers/post-job-request-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to list",
"description": "Your post-job request has been sent to our project managers. They will review the details and reach out to approved subcontractors.",
"next_description": "Once a subcontractor accepts the job, the status will update and you’ll be able to track the progress.",
"next_heading": "Awaiting subcontractor response",
"question": "Who will take on this job?"
}
@@ -0,0 +1,68 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/project_managers/post-job-request.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"site_address": "<WRITE: a form label for the field `site_address`>",
"start": "<WRITE: a form label for the field `start`>",
"trade": "<WRITE: a form label for the field `trade`>",
"work": "<WRITE: a form label for the field `work`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Submit request",
"description": "Tell us about the job you have ready to hand to a subcontractor.",
"form_title": "Post a job for subcontractors",
"heading": "Give subcontractors a job to price",
"labels": {
"site_address": "Site address",
"start": "When work starts",
"trade": "Trade needed",
"work": "Work description"
},
"page_description": "Post a job so approved subcontractors can price it.",
"question": "What job do you have for a subcontractor?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/build-enquiry.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "Your build-enquiry has been received. We will review the details and get back to you.",
"next_description": "A project manager will contact you to discuss the scope and arrange a site survey.",
"next_heading": "Next steps: survey and quote",
"question": "What happens after I submit?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/job-application.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to applications",
"description": "Your application has been received. We review carpenter and apprentice requests weekly.",
"next_description": "We will contact you if your profile matches an open position. No need to send a separate cover letter.",
"next_heading": "What happens next",
"question": "What happens after I apply?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/neighbour-complaint.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to site",
"description": "Your neighbour complaint has been received. We will look into it and get back to you.",
"next_description": "A site manager will review your report and find a solution.",
"next_heading": "What happens next?",
"question": "What issue are you reporting?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/subcontractor-application.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "Your subcontractor application has been received. We will review it and contact you if we need more information.",
"next_description": "Project managers check approved subcontractors for new jobs. Once approved, you will receive job invitations with prices and start dates.",
"next_heading": "What happens next",
"question": "What happens after I submit?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/survey-enquiry.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "Your survey request has been received. We will review the details and assign a project manager to assess the building.",
"next_description": "A project manager will contact you within 2 business days to schedule a site visit and provide a quotation.",
"next_heading": "Next steps: Survey and quote",
"question": "What happens after I submit?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/received/warranty-claim.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to enquiries",
"description": "Your warranty claim has been received. We will review the details and get back to you.",
"next_description": "A project manager will inspect the issue and decide on the next steps.",
"next_heading": "What happens next",
"question": "What seems to be the problem?"
}
@@ -0,0 +1,84 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/safety_officer/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"site_issues": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"in_hand->closed": "<WRITE: a button, two to four words, for a case going in_hand->closed>",
"open->in_hand": "<WRITE: a button, two to four words, for a case going open->in_hand>"
}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {
"safety-round-finding": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"site_issues": {
"description": "Report and resolve safety issues, near misses, or material problems found during daily work.",
"heading": "Report site safety issues",
"moves": {
"in_hand->closed": "Mark as closed",
"open->in_hand": "Start reporting"
}
}
},
"confirm": "Continue",
"description": "A desk for the safety officer to track and resolve reported issues from building sites.",
"links": {
"safety-round-finding": {
"button": "View weekly round",
"description": "See all issues found during the site safety walkround.",
"heading": "Safety walkround findings"
}
},
"question": "What safety issues need reporting or closing today?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/safety_officer/safety-round-finding-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "The safety officer has received your report. They will review the issue during their next site walk.",
"next_description": "The issue will be marked as closed once the officer has verified the fix or the hazard has been removed.",
"next_heading": "Issue recorded and reviewed",
"question": "What happens after I submit a safety report?"
}
@@ -0,0 +1,66 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/safety_officer/safety-round-finding.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"kind": "<WRITE: a form label for the field `kind`>",
"what_happened": "<WRITE: a form label for the field `what_happened`>",
"where": "<WRITE: a form label for the field `where`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Log finding",
"description": "Report a hazard, near miss or wrong materials from the site. This helps keep everyone safe and the job on track.",
"form_title": "Safety round finding",
"heading": "Report what you find on site",
"labels": {
"kind": "Issue kind",
"what_happened": "What happened",
"where": "Where on site"
},
"page_description": "Use this form to record safety issues found during the weekly site round.",
"question": "What safety issue did you find?"
}
@@ -0,0 +1,181 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/site_managers/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"bids": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
},
"change_orders": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"approved->completed": "<WRITE: a button, two to four words, for a case going approved->completed>"
}
},
"claims": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"accepted->fixed": "<WRITE: a button, two to four words, for a case going accepted->fixed>",
"open->inspected": "<WRITE: a button, two to four words, for a case going open->inspected>"
}
},
"complaints": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->answered": "<WRITE: a button, two to four words, for a case going open->answered>"
}
},
"enquiries": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->surveyed": "<WRITE: a button, two to four words, for a case going open->surveyed>"
}
},
"job_requests": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
},
"material_orders": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->ordered": "<WRITE: a button, two to four words, for a case going open->ordered>",
"open->refused": "<WRITE: a button, two to four words, for a case going open->refused>",
"ordered->delivered": "<WRITE: a button, two to four words, for a case going ordered->delivered>",
"ordered->refused": "<WRITE: a button, two to four words, for a case going ordered->refused>"
}
},
"site_issues": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"open->in_hand": "<WRITE: a button, two to four words, for a case going open->in_hand>"
}
},
"subcontractors": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"bids": {
"description": "Approved subcontractors review jobs and submit prices. Submit-bid stage moves to shortlisted or declined.",
"heading": "Subcontractor bids",
"moves": {}
},
"change_orders": {
"description": "Clients request changes to ongoing jobs. Prices are set and changes are completed or declined.",
"heading": "Change requests",
"moves": {
"approved->completed": "Mark done"
}
},
"claims": {
"description": "Past customers report faults. Issues are inspected and fixed or rejected.",
"heading": "Warranty claims",
"moves": {
"accepted->fixed": "Mark fixed",
"open->inspected": "Book inspection"
}
},
"complaints": {
"description": "Neighbour issues on site are logged and answered.",
"heading": "Neighbour complaints",
"moves": {
"open->answered": "Mark answered"
}
},
"enquiries": {
"description": "New building or survey requests are logged and moved through stages to a decision.",
"heading": "New enquiries",
"moves": {
"open->surveyed": "Mark surveyed"
}
},
"job_requests": {
"description": "Carpenters and apprentices apply for work. Stages track from interview to hire.",
"heading": "Job applications",
"moves": {}
},
"material_orders": {
"description": "Carpenters order materials to keep work running. Orders are tracked from request to delivery.",
"heading": "Material orders",
"moves": {
"open->ordered": "Order it",
"open->refused": "Cancel order",
"ordered->delivered": "Mark delivered",
"ordered->refused": "Cancel delivery"
}
},
"site_issues": {
"description": "Hazards and near misses are reported and closed off the weekly safety round.",
"heading": "Site safety issues",
"moves": {
"open->in_hand": "Log it"
}
},
"subcontractors": {
"description": "Approved trade firms are listed and jobs are awarded to them.",
"heading": "Approved subcontractors",
"moves": {}
}
},
"confirm": "Save changes",
"description": "Manage the cases assigned to the site manager role.",
"links": {
"project_managers": "Project managers",
"safety_officer": "Safety officer"
},
"question": "What case needs updating?"
}
@@ -0,0 +1,86 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/subcontractors/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"job_requests": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {
"submit-bid": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"job_requests": {
"description": "Cases from trade firms and carpenters looking for work or to become approved subcontractors.",
"heading": "Work with us",
"moves": {
"open->interviewing": "Invite to interview",
"interviewing->offered": "Offer job",
"offered->hired": "Hire",
"offered->declined": "Decline",
"open->awaiting_papers": "Await papers",
"awaiting_papers->approved": "Approve",
"awaiting_papers->declined": "Decline"
}
}
},
"confirm": "Save",
"description": "Manage enquiries from trade firms and job applicants. Move cases through stages to hire carpenters or approve subcontractors.",
"links": {
"submit-bid": {
"button": "Submit bid",
"description": "Approve subcontractors can see the job and reply with a price and start date.",
"heading": "Submit a bid"
}
},
"question": "What enquiry do you want to handle?"
}
@@ -0,0 +1,54 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/subcontractors/submit-bid-sent.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Back to form",
"description": "Your bid has been submitted. Awaiting review by our project managers.",
"next_description": "We will review your submission and get back to you within 3 business days.",
"next_heading": "What happens next?",
"question": "What happens after I submit?"
}
@@ -0,0 +1,66 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/subcontractors/submit-bid.yaml
It is a page only one role inside the business can open, holding one form.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"can_start": "<WRITE: a form label for the field `can_start`>",
"job": "<WRITE: a form label for the field `job`>",
"price": "<WRITE: a form label for the field `price`>"
},
"page_description": "<WRITE: one or two short sentences>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"button": "Submit bid",
"description": "Tell us your price and when you can start so we can review your offer.",
"form_title": "Submit a bid",
"heading": "Submit a bid on a job",
"labels": {
"can_start": "Can start",
"job": "Job reference",
"price": "Your price"
},
"page_description": "Approved subcontractors use this form to place a bid on an open job.",
"question": "Will you submit a bid on this job?"
}
@@ -0,0 +1,104 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/work-with-us/index.yaml
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"needs": {
"job-application": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"experience": "<WRITE: a form label for the field `experience`>",
"name": "<WRITE: a form label for the field `name`>",
"phone": "<WRITE: a form label for the field `phone`>",
"trade": "<WRITE: a form label for the field `trade`>"
}
},
"subcontractor-application": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"company": "<WRITE: a form label for the field `company`>",
"contact_email": "<WRITE: a form label for the field `contact_email`>",
"insurance_confirmed": "<WRITE: a form label for the field `insurance_confirmed`>",
"registration_number": "<WRITE: a form label for the field `registration_number`>",
"trade": "<WRITE: a form label for the field `trade`>",
"trade_approval": "<WRITE: a form label for the field `trade_approval`>"
}
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "We are a small team running rehabilitation and construction projects. We are looking for people who want to join us, or who need our help with a building.",
"needs": {
"job-application": {
"button": "Apply now",
"description": "Tell us who you are and what you can do. No letter needed.",
"form_title": "Job application",
"heading": "Find a job with us",
"labels": {
"experience": "Your experience",
"name": "Your name",
"phone": "Your phone",
"trade": "Your trade"
}
},
"subcontractor-application": {
"button": "Apply now",
"description": "Send us your details so we can check if you are a fit for our projects.",
"form_title": "Subcontractor application",
"heading": "Apply to work with us",
"labels": {
"company": "Company name",
"contact_email": "Contact email",
"insurance_confirmed": "Insurance confirmed",
"registration_number": "Registration number",
"trade": "Your trade",
"trade_approval": "Trade approval"
}
}
},
"question": "Do you want to work with us, or do you need our help with a building?"
}
@@ -0,0 +1,130 @@
You write the words for one page of a website for this business.
Business: Nordvik Bygg
About: Twelve people who survey old buildings, draw up rehabilitation plans, handle the permit application, and do the building work with their own carpenters plus subcontractors for electrical, plumbing and scaffolding. Project managers win and run the jobs, site managers run each building site day to day, and one safety officer owns everything reported from site.
Contact: Ingrid Nordvik <ingrid@nordvikbygg.example>
Language to write in: en
Everyone the site serves:
- door your-building: for an owner, a housing board or a past customer with a building; behind it: survey-enquiry, build-enquiry, warranty-claim
- door work-with-us: for a trade firm, a carpenter or an apprentice who wants work from us; behind it: subcontractor-application, job-application
- survey-enquiry: a housing board or private owner with a problem in a building - wants: someone qualified to come and look at it and say what it takes. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- build-enquiry: an owner who already knows what they want built or changed - wants: drawings, a permit application and a price. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- warranty-claim: a past customer who has found a fault in work we handed over - wants: us to come back, look at it, and put it right. Handled by project_managers. Stages: open -> inspected -> accepted -> fixed -> rejected.
- neighbour-complaint: someone living or working next to one of our building sites - wants: the noise, dust or blocked access dealt with, and an answer. Handled by site_managers. Stages: open -> answered.
- subcontractor-application: a trade firm doing electrical, plumbing or scaffolding work - wants: to be approved once, and then be called when a job needs them. Handled by project_managers. Stages: open -> awaiting_papers -> approved -> declined.
- job-application: a carpenter, bricklayer or apprentice looking for work - wants: to be considered, without writing a letter. Handled by project_managers. Stages: open -> interviewing -> offered -> hired -> declined.
- change-request: a client whose job is under way and who wants something changed - wants: a price for the change, and the change done if they accept it. Handled by project_managers. Stages: open -> priced -> approved -> completed -> declined.
- log-phone-enquiry: a project manager who just took a call or a text about a building - wants: the enquiry written down before it gets lost. Handled by project_managers. Stages: open -> surveyed -> quoted -> won -> lost.
- post-job-request: a project manager with work to hand to a subcontractor - wants: approved subcontractors to see the job and answer with a price. Handled by project_managers. Stages: open -> awarded -> withdrawn.
- submit-bid: an approved subcontractor who has seen a job they can take - wants: to say yes with a price and a start date. Handled by project_managers. Stages: open -> shortlisted -> accepted -> declined.
- report-site-issue: anyone on site, ours or a subcontractor's, on a phone with gloves on - wants: to report a hazard, a near miss or wrong materials before they forget. Handled by safety_officer. Stages: open -> in_hand -> closed.
- order-materials: a carpenter or bricklayer who is about to run out of something - wants: it ordered and on site before work stops. Handled by site_managers. Stages: open -> ordered -> delivered -> refused.
- safety-round-finding: the safety officer walking a site on the weekly round - wants: each thing found written down where the reported issues already are. Handled by safety_officer. Stages: open -> in_hand -> closed.
The page: questions/your-building/index.yaml
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"needs": {
"build-enquiry": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"address": "<WRITE: a form label for the field `address`>",
"name": "<WRITE: a form label for the field `name`>",
"phone": "<WRITE: a form label for the field `phone`>",
"project": "<WRITE: a form label for the field `project`>",
"timeframe": "<WRITE: a form label for the field `timeframe`>"
}
},
"survey-enquiry": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"access": "<WRITE: a form label for the field `access`>",
"address": "<WRITE: a form label for the field `address`>",
"name": "<WRITE: a form label for the field `name`>",
"phone": "<WRITE: a form label for the field `phone`>",
"problem": "<WRITE: a form label for the field `problem`>"
}
},
"warranty-claim": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"address": "<WRITE: a form label for the field `address`>",
"fault": "<WRITE: a form label for the field `fault`>",
"handed_over": "<WRITE: a form label for the field `handed_over`>",
"name": "<WRITE: a form label for the field `name`>",
"phone": "<WRITE: a form label for the field `phone`>"
}
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "What brings you to us today?",
"needs": {
"build-enquiry": {
"button": "Start build",
"description": "You know what you want changed or built. We’ll draw it, handle the permit, and price it for you.",
"form_title": "Your building project",
"heading": "Tell us about your building project",
"labels": {
"address": "Building address",
"name": "Your name",
"phone": "Phone number",
"project": "Project type",
"timeframe": "When you want it done"
}
},
"survey-enquiry": {
"button": "Get it surveyed",
"description": "You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.",
"form_title": "Survey your building",
"heading": "Report a building problem",
"labels": {
"access": "How to get to the site",
"address": "Building address",
"name": "Your name",
"phone": "Phone number",
"problem": "What is the problem?"
}
},
"warranty-claim": {
"button": "Claim warranty",
"description": "You found a fault in work we did. We’ll come back, look at it, and put it right.",
"form_title": "Warranty claim",
"heading": "Report a fault in our work",
"labels": {
"address": "Building address",
"fault": "What is the fault?",
"handed_over": "When was it handed over?",
"name": "Your name",
"phone": "Phone number"
}
}
},
"question": "What are you looking for?"
}
File diff suppressed because it is too large Load Diff
+330
View File
@@ -0,0 +1,330 @@
needs:
- also_moved_by:
- site_managers
done_when:
- won
- lost
enters: /
handled_by: project_managers
id: survey-enquiry
lands_in: enquiries
max_fields: 4
max_steps: 2
stages:
- open
- surveyed
- quoted
- won
- lost
success:
- won
via: Your building project
wants: someone qualified to come and look at it and say what it takes
who: a housing board or private owner with a problem in a building
- also_moved_by:
- site_managers
done_when:
- won
- lost
enters: /
handled_by: project_managers
id: build-enquiry
lands_in: enquiries
max_fields: 5
max_steps: 2
stages:
- open
- surveyed
- quoted
- won
- lost
success:
- won
via: Your building project
wants: drawings, a permit application and a price
who: an owner who already knows what they want built or changed
- also_moved_by:
- site_managers
done_when:
- fixed
- rejected
enters: /
handled_by: project_managers
id: warranty-claim
lands_in: claims
max_fields: 4
max_steps: 2
stages:
- open
- inspected
- accepted
- fixed
- rejected
success:
- fixed
via: Your building project
wants: us to come back, look at it, and put it right
who: a past customer who has found a fault in work we handed over
- done_when:
- answered
enters: /
handled_by: site_managers
id: neighbour-complaint
lands_in: complaints
max_fields: 3
max_steps: 1
stages:
- open
- answered
success:
- answered
via: Neighbour complaint
wants: the noise, dust or blocked access dealt with, and an answer
who: someone living or working next to one of our building sites
- done_when:
- approved
- declined
enters: /
handled_by: project_managers
id: subcontractor-application
lands_in: subcontractors
max_fields: 5
max_steps: 2
stages:
- open
- awaiting_papers
- approved
- declined
success:
- approved
via: Work with Nordvik Bygg
wants: to be approved once, and then be called when a job needs them
who: a trade firm doing electrical, plumbing or scaffolding work
- done_when:
- hired
- declined
enters: /
handled_by: project_managers
id: job-application
lands_in: applicants
max_fields: 3
max_steps: 2
stages:
- open
- interviewing
- offered
- hired
- declined
success:
- hired
via: Work with Nordvik Bygg
wants: to be considered, without writing a letter
who: a carpenter, bricklayer or apprentice looking for work
- also_moved_by:
- site_managers
done_when:
- completed
- declined
enters: /clients/change-request
enters_as: clients
handled_by: project_managers
id: change-request
lands_in: change_orders
max_fields: 3
max_steps: 1
stages:
- open
- priced
- approved
- completed
- declined
success:
- completed
via: Request a change to your building work
wants: a price for the change, and the change done if they accept it
who: a client whose job is under way and who wants something changed
- also_moved_by:
- site_managers
done_when:
- won
- lost
enters: /project_managers/log-phone-enquiry
enters_as: project_managers
handled_by: project_managers
id: log-phone-enquiry
lands_in: enquiries
max_fields: 4
max_steps: 1
stages:
- open
- surveyed
- quoted
- won
- lost
success:
- won
via: Log a phone enquiry
wants: the enquiry written down before it gets lost
who: a project manager who just took a call or a text about a building
- done_when:
- awarded
- withdrawn
enters: /project_managers/post-job-request
enters_as: project_managers
handled_by: project_managers
id: post-job-request
lands_in: job_requests
max_fields: 4
max_steps: 1
stages:
- open
- awarded
- withdrawn
success:
- awarded
via: Give subcontractors a job to price
wants: approved subcontractors to see the job and answer with a price
who: a project manager with work to hand to a subcontractor
- done_when:
- accepted
- declined
enters: /subcontractors/submit-bid
enters_as: subcontractors
handled_by: project_managers
id: submit-bid
lands_in: bids
max_fields: 3
max_steps: 1
stages:
- open
- shortlisted
- accepted
- declined
success:
- accepted
via: Submit a bid on a job
wants: to say yes with a price and a start date
who: an approved subcontractor who has seen a job they can take
- also_moved_by:
- site_managers
done_when:
- closed
enters: /crew/report-site-issue
enters_as: crew
handled_by: safety_officer
id: report-site-issue
lands_in: site_issues
max_fields: 3
max_steps: 1
stages:
- open
- in_hand
- closed
success:
- closed
via: Report a safety finding on site
wants: to report a hazard, a near miss or wrong materials before they forget
who: anyone on site, ours or a subcontractor's, on a phone with gloves on
- also_moved_by:
- crew
done_when:
- delivered
- refused
enters: /crew/order-materials
enters_as: crew
handled_by: site_managers
id: order-materials
lands_in: material_orders
max_fields: 3
max_steps: 1
stages:
- open
- ordered
- delivered
- refused
success:
- delivered
via: Order materials for the site
wants: it ordered and on site before work stops
who: a carpenter or bricklayer who is about to run out of something
- also_moved_by:
- site_managers
done_when:
- closed
enters: /safety_officer/safety-round-finding
enters_as: safety_officer
handled_by: safety_officer
id: safety-round-finding
lands_in: site_issues
max_fields: 3
max_steps: 1
stages:
- open
- in_hand
- closed
success:
- closed
via: Report what you find on site
wants: each thing found written down where the reported issues already are
who: the safety officer walking a site on the weekly round
personas:
- id: housing-board-damp
need: survey-enquiry
text: I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us.
- id: buyer-before-purchase
need: survey-enquiry
text: We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it.
- id: attic-conversion
need: build-enquiry
text: We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality.
- id: shop-to-flat
need: build-enquiry
text: I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?
- id: leaking-bathroom
need: warranty-claim
text: You redid our bathroom two years ago. Now water is coming through the ceiling of the flat below. I want you to come and fix it.
- id: cracked-render
need: warranty-claim
text: The render you put on our gable wall last summer has cracked right across. That can't be right after one winter.
- id: noisy-mornings
need: neighbour-complaint
text: I live next door to the block you are working on. You start drilling at half past six every morning and I have a baby. Who do I talk to?
- id: blocked-driveway
need: neighbour-complaint
text: Your skip and a van have been parked across the entrance to our shop's loading bay for three days. We can't get deliveries.
- id: electrician-firm
need: subcontractor-application
text: We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians.
- id: scaffolder
need: subcontractor-application
text: I run a scaffolding company. How do I get to do jobs for you?
- id: carpenter-jobseeker
need: job-application
text: I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?
- id: apprentice
need: job-application
text: I finish vocational school this spring and need an apprenticeship as a bricklayer.
- id: extra-window
need: change-request
text: You are in the middle of our attic conversion. We have decided we want a roof window over the stairs as well. What would that cost?
- id: pm-took-a-call
need: log-phone-enquiry
text: A woman from a housing board in Storgata just rang about water in their basement. I'm in the van. I need to note it before I forget her number.
- id: pm-needs-plumber
need: post-job-request
text: The bathroom job in Kirkeveien needs a plumber for two weeks from the first of next month. I want prices from the ones we have approved.
- id: plumber-bidding
need: submit-bid
text: We are an approved plumbing firm. I saw you need someone in Kirkeveien next month. We can do it, I have a price.
- id: loose-railing
need: report-site-issue
text: The railing on the third level of the scaffold on the north side is loose. Nobody got hurt but someone will.
- id: wrong-membrane
need: report-site-issue
text: The bathroom membrane delivered today is not the one in the specification. We stopped work on it.
- id: out-of-battens
need: order-materials
text: We have enough roof battens for today and maybe half of tomorrow. Need another two hundred metres on site by Thursday.
- id: weekly-round
need: safety-round-finding
text: On my Friday round I found the first-aid box on level two empty and an extension lead run through a puddle.
@@ -0,0 +1 @@
qualifies: clients
@@ -0,0 +1,10 @@
alternatives:
- description: We will get back to you with a price and next steps within 2 business days.
name: What happens next?
- action: /clients
consequence:
- Back to form
description: ''
name: Back to form
description: We have received your change request. A project manager will review it shortly.
name: What happens after I submit?
@@ -0,0 +1,29 @@
alternatives:
- action: /clients/change-request-sent
consequence:
- Submit change
description: Tell us what you want changed so we can price it and get it done.
features:
- name: Change request
requirements:
- label: Your email
name: email
type: email
- label: Building address
name: job_address
type: text
- label: What needs to change?
name: change
type: textarea
- label: When do you need this?
name: needed_by
optional: true
type: date
name: Request a change to your building work
record_as: change_orders
description: A client can ask for a change to an ongoing job. We price it and do it if you accept.
followup: false
name: What needs to change in your project?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,11 @@
alternatives:
- action: /clients/change-request
consequence:
- Change request
description: A client whose job is under way and who wants something changed wants a price for the change, and the change done if they accept it.
name: Change request
description: Manage your cases and move them through their stages.
name: What do you need to do today?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1 @@
qualifies: crew
@@ -0,0 +1,33 @@
alternatives:
- action: /crew
consequence:
- Confirm
description: Order materials for a job in progress. See what's on its way and what arrived.
features:
- description: ''
name: ''
resource:
requires_group: crew
source:
bucket: material_orders
kind: kv
transitions:
- from: ordered
label: Mark delivered
to: delivered
name: Order materials for building
- action: /crew/report-site-issue
consequence:
- Report issue
description: Log a hazard, near miss or wrong materials found on site. Keep the weekly safety round up to date.
name: Report a site issue
- action: /crew/order-materials
consequence:
- Order materials
description: Order materials for the job you are working on. Track what has been delivered.
name: Order materials for building
description: Manage the flow of cases from enquiry to completion. See what stage each case is at and move it forward.
name: What case do you need to move forward?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: You will receive a confirmation once the materials are on site.
name: Materials ordered
- action: /crew
consequence:
- Back to order-materials
description: ''
name: Back to order-materials
description: We have received your request. The site manager will process it shortly.
name: Will the materials arrive on time?
@@ -0,0 +1,25 @@
alternatives:
- action: /crew/order-materials-sent
consequence:
- Order now
description: Tell us what you need and where the site is so we can get it on its way.
features:
- name: Order materials
requirements:
- label: Site address
name: site_address
type: text
- label: What do you need?
name: what
type: textarea
- label: Needed by
name: needed_by
type: date
name: Order materials for the site
record_as: material_orders
description: Order materials before the site runs out.
followup: false
name: What do you need on site?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: We will review the reported issue and update its status. You will be notified when it is resolved.
name: What happens next
- action: /crew
consequence:
- Back to form
description: ''
name: Back to form
description: Your report has been sent to our safety officer. They will review the issue and get back to you.
name: What happens after I submit?
@@ -0,0 +1,30 @@
alternatives:
- action: /crew/report-site-issue-sent
consequence:
- Report issue
description: Write down a hazard, near miss, or wrong materials from the site so the safety officer can fix it.
features:
- name: Report a site issue
requirements:
- label: What kind of issue
name: kind
options:
- Hazard
- Near miss
- Wrong materials
- Other
type: select
- label: Where on site
name: where
type: text
- label: What happened
name: what_happened
type: textarea
name: Report a safety finding on site
record_as: site_issues
description: Report a hazard, near miss, or wrong materials found during a site visit.
followup: false
name: What safety issue did you find?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,15 @@
alternatives:
- description: The change will be added to the project scope and price. Work will proceed according to the new agreement.
name: Approve the change request
self_transition:
bucket: change_orders
label: Accept change
to: approved
- description: The change will not be added to the project. The original scope and price remain unchanged.
name: Decline the change request
self_transition:
bucket: change_orders
label: Reject change
to: declined
description: You have submitted a change request for your ongoing project. Use this page to make your decision.
name: What is your decision on this change request?
@@ -0,0 +1,34 @@
alternatives:
- action: /your-building
consequence:
- Start here
description: Report a problem, get a survey, or start a new build project.
name: Your building project
- action: /work-with-us
consequence:
- Join us
description: Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.
name: Work with Nordvik Bygg
- action: /received/neighbour-complaint
consequence:
- Report issue
description: Let us know about noise, dust, or access problems from a building site near you.
features:
- name: Contact details
requirements:
- label: Building address
name: site_address
type: text
- label: Describe the issue
name: what_is_wrong
type: textarea
- label: Contact method
name: reach_me_on
type: text
name: Neighbour complaint
record_as: complaints
description: Find the right path for your building or your career with Nordvik Bygg.
name: What brings you to Nordvik Bygg today?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1 @@
qualifies: project_managers
@@ -0,0 +1,238 @@
alternatives:
- action: /project_managers
consequence:
- Confirm
description: Track carpenter and apprentice applications from open to hired, with interview steps in between.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: applicants
kind: kv
transitions:
- from: interviewing
label: Offer role
to: offered
- from: interviewing
label: Mark declined
to: declined
- from: offered
label: Confirm hire
to: hired
- from: offered
label: Reject offer
to: declined
- from: open
label: Start interview
to: interviewing
- from: open
label: Mark declined
to: declined
name: Applicant cases
- action: /project_managers
consequence:
- Confirm
description: Handle subcontractor bids from open submission to accepted or declined.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: bids
kind: kv
transitions:
- from: open
label: Shortlist bid
to: shortlisted
- from: open
label: Accept bid
to: accepted
- from: open
label: Reject bid
to: declined
- from: shortlisted
label: Accept shortlist
to: accepted
- from: shortlisted
label: Reject shortlist
to: declined
name: Bid management
- action: /project_managers
consequence:
- Confirm
description: Track client change requests from open inquiry through pricing and completion.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: change_orders
kind: kv
transitions:
- from: approved
label: Reject change
to: declined
- from: open
label: Price the change
to: priced
- from: open
label: Reject request
to: declined
- from: priced
label: Reject priced change
to: declined
name: Change order cases
- action: /project_managers
consequence:
- Confirm
description: Handle warranty claims from inspection through to acceptance or rejection of the fix.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: claims
kind: kv
transitions:
- from: accepted
label: Reject fix
to: rejected
- from: inspected
label: Accept fix
to: accepted
- from: inspected
label: Reject fix
to: rejected
- from: open
label: Reject claim
to: rejected
name: Warranty claim cases
- action: /project_managers
consequence:
- Confirm
description: Record and resolve neighbour complaints about site noise, dust or access.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: complaints
kind: kv
transitions: []
name: Neighbour complaints
- action: /project_managers
consequence:
- Confirm
description: Track building enquiries from initial contact through survey, quote and win/lose outcome.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: enquiries
kind: kv
transitions:
- from: open
label: Book survey
to: surveyed
- from: open
label: Mark lost
to: lost
- from: quoted
label: Win work
to: won
- from: quoted
label: Mark lost
to: lost
- from: surveyed
label: Send quote
to: quoted
- from: surveyed
label: Mark lost
to: lost
name: Building enquiries
- action: /project_managers
consequence:
- Confirm
description: Manage internal job assignments for subcontractors from open through to awarded or withdrawn.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: job_requests
kind: kv
transitions:
- from: open
label: Award job
to: awarded
- from: open
label: Withdraw job
to: withdrawn
name: Job requests
- action: /project_managers
consequence:
- Confirm
description: Log safety and quality issues reported from site, through to closure.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: site_issues
kind: kv
transitions: []
name: Site issue log
- action: /project_managers
consequence:
- Confirm
description: Track trade firm applications from open through paper review to approved or declined status.
features:
- description: ''
name: ''
resource:
requires_group: project_managers
source:
bucket: subcontractors
kind: kv
transitions:
- from: awaiting_papers
label: Approve firm
to: approved
- from: awaiting_papers
label: Decline firm
to: declined
- from: open
label: Await papers
to: awaiting_papers
- from: open
label: Approve application
to: approved
- from: open
label: Decline application
to: declined
name: Subcontractor cases
- action: /project_managers/log-phone-enquiry
consequence:
- Log call
description: Record a new building enquiry or client call before details are lost.
name: Log phone enquiry
- action: /project_managers/post-job-request
consequence:
- Post job
description: Send an approved job to subcontractors for bidding.
name: Post job request
description: Manage and track all project enquiries, applications and site issues from one desk.
name: What case do you want to work on?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: We will call you to discuss the issue and decide on the next steps.
name: What happens next?
- action: /project_managers
consequence:
- Back to enquiry
description: ''
name: Back to enquiry
description: Your phone call has been recorded. We will review it and get back to you.
name: Did we capture everything you needed?
@@ -0,0 +1,28 @@
alternatives:
- action: /project_managers/log-phone-enquiry-sent
consequence:
- Log call
description: Write down the enquiry so it doesn't get lost. One call, one record.
features:
- name: Phone enquiry log
requirements:
- label: Your name
name: caller
type: text
- label: Phone number
name: phone
type: tel
- label: Address or site location
name: address
type: text
- label: What was said
name: problem
type: textarea
name: Log a phone enquiry
record_as: enquiries
description: Record a building enquiry taken over the phone.
followup: false
name: What was said on the call?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: Once a subcontractor accepts the job, the status will update and you’ll be able to track the progress.
name: Awaiting subcontractor response
- action: /project_managers
consequence:
- Back to list
description: ''
name: Back to list
description: Your post-job request has been sent to our project managers. They will review the details and reach out to approved subcontractors.
name: Who will take on this job?
@@ -0,0 +1,34 @@
alternatives:
- action: /project_managers/post-job-request-sent
consequence:
- Submit request
description: Tell us about the job you have ready to hand to a subcontractor.
features:
- name: Post a job for subcontractors
requirements:
- label: Site address
name: site_address
type: text
- label: Trade needed
name: trade
options:
- Electrical
- Plumbing
- Scaffolding
- Sheet metal
- Other
type: select
- label: Work description
name: work
type: textarea
- label: When work starts
name: start
type: date
name: Give subcontractors a job to price
record_as: job_requests
description: Post a job so approved subcontractors can price it.
followup: false
name: What job do you have for a subcontractor?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: A project manager will contact you to discuss the scope and arrange a site survey.
name: 'Next steps: survey and quote'
- action: /
consequence:
- Back to form
description: ''
name: Back to form
description: Your build-enquiry has been received. We will review the details and get back to you.
name: What happens after I submit?
@@ -0,0 +1,10 @@
alternatives:
- description: We will contact you if your profile matches an open position. No need to send a separate cover letter.
name: What happens next
- action: /
consequence:
- Back to applications
description: ''
name: Back to applications
description: Your application has been received. We review carpenter and apprentice requests weekly.
name: What happens after I apply?
@@ -0,0 +1,10 @@
alternatives:
- description: A site manager will review your report and find a solution.
name: What happens next?
- action: /
consequence:
- Back to site
description: ''
name: Back to site
description: Your neighbour complaint has been received. We will look into it and get back to you.
name: What issue are you reporting?
@@ -0,0 +1,10 @@
alternatives:
- description: Project managers check approved subcontractors for new jobs. Once approved, you will receive job invitations with prices and start dates.
name: What happens next
- action: /
consequence:
- Back to form
description: ''
name: Back to form
description: Your subcontractor application has been received. We will review it and contact you if we need more information.
name: What happens after I submit?
@@ -0,0 +1,10 @@
alternatives:
- description: A project manager will contact you within 2 business days to schedule a site visit and provide a quotation.
name: 'Next steps: Survey and quote'
- action: /
consequence:
- Back to form
description: ''
name: Back to form
description: Your survey request has been received. We will review the details and assign a project manager to assess the building.
name: What happens after I submit?
@@ -0,0 +1,10 @@
alternatives:
- description: A project manager will inspect the issue and decide on the next steps.
name: What happens next
- action: /
consequence:
- Back to enquiries
description: ''
name: Back to enquiries
description: Your warranty claim has been received. We will review the details and get back to you.
name: What seems to be the problem?
@@ -0,0 +1 @@
qualifies: safety_officer
@@ -0,0 +1,31 @@
alternatives:
- action: /safety_officer
consequence:
- Continue
description: Report and resolve safety issues, near misses, or material problems found during daily work.
features:
- description: ''
name: ''
resource:
requires_group: safety_officer
source:
bucket: site_issues
kind: kv
transitions:
- from: in_hand
label: Mark as closed
to: closed
- from: open
label: Start reporting
to: in_hand
name: Report site safety issues
- action: /safety_officer/safety-round-finding
consequence:
- View weekly round
description: See all issues found during the site safety walkround.
name: Safety walkround findings
description: A desk for the safety officer to track and resolve reported issues from building sites.
name: What safety issues need reporting or closing today?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: The issue will be marked as closed once the officer has verified the fix or the hazard has been removed.
name: Issue recorded and reviewed
- action: /safety_officer
consequence:
- Back to form
description: ''
name: Back to form
description: The safety officer has received your report. They will review the issue during their next site walk.
name: What happens after I submit a safety report?
@@ -0,0 +1,30 @@
alternatives:
- action: /safety_officer/safety-round-finding-sent
consequence:
- Log finding
description: Report a hazard, near miss or wrong materials from the site. This helps keep everyone safe and the job on track.
features:
- name: Safety round finding
requirements:
- label: Issue kind
name: kind
options:
- Hazard
- Near miss
- Wrong materials
- Other
type: select
- label: Where on site
name: where
type: text
- label: What happened
name: what_happened
type: textarea
name: Report what you find on site
record_as: site_issues
description: Use this form to record safety issues found during the weekly site round.
followup: false
name: What safety issue did you find?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1 @@
qualifies: site_managers
@@ -0,0 +1,162 @@
alternatives:
- action: /site_managers
consequence:
- Save changes
description: Approved subcontractors review jobs and submit prices. Submit-bid stage moves to shortlisted or declined.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: bids
kind: kv
transitions: []
name: Subcontractor bids
- action: /site_managers
consequence:
- Save changes
description: Clients request changes to ongoing jobs. Prices are set and changes are completed or declined.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: change_orders
kind: kv
transitions:
- from: approved
label: Mark done
to: completed
name: Change requests
- action: /site_managers
consequence:
- Save changes
description: Past customers report faults. Issues are inspected and fixed or rejected.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: claims
kind: kv
transitions:
- from: accepted
label: Mark fixed
to: fixed
- from: open
label: Book inspection
to: inspected
name: Warranty claims
- action: /site_managers
consequence:
- Save changes
description: Neighbour issues on site are logged and answered.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: complaints
kind: kv
transitions:
- from: open
label: Mark answered
to: answered
name: Neighbour complaints
- action: /site_managers
consequence:
- Save changes
description: New building or survey requests are logged and moved through stages to a decision.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: enquiries
kind: kv
transitions:
- from: open
label: Mark surveyed
to: surveyed
name: New enquiries
- action: /site_managers
consequence:
- Save changes
description: Carpenters and apprentices apply for work. Stages track from interview to hire.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: job_requests
kind: kv
transitions: []
name: Job applications
- action: /site_managers
consequence:
- Save changes
description: Carpenters order materials to keep work running. Orders are tracked from request to delivery.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: material_orders
kind: kv
transitions:
- from: open
label: Order it
to: ordered
- from: open
label: Cancel order
to: refused
- from: ordered
label: Mark delivered
to: delivered
- from: ordered
label: Cancel delivery
to: refused
name: Material orders
- action: /site_managers
consequence:
- Save changes
description: Hazards and near misses are reported and closed off the weekly safety round.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: site_issues
kind: kv
transitions:
- from: open
label: Log it
to: in_hand
name: Site safety issues
- action: /site_managers
consequence:
- Save changes
description: Approved trade firms are listed and jobs are awarded to them.
features:
- description: ''
name: ''
resource:
requires_group: site_managers
source:
bucket: subcontractors
kind: kv
transitions: []
name: Approved subcontractors
description: Manage the cases assigned to the site manager role.
name: What case needs updating?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1 @@
qualifies: subcontractors
@@ -0,0 +1,25 @@
alternatives:
- action: /subcontractors
consequence:
- Save
description: Cases from trade firms and carpenters looking for work or to become approved subcontractors.
features:
- description: ''
name: ''
resource:
requires_group: subcontractors
source:
bucket: job_requests
kind: kv
transitions: []
name: Work with us
- action: /subcontractors/submit-bid
consequence:
- Submit bid
description: Approve subcontractors can see the job and reply with a price and start date.
name: Submit a bid
description: Manage enquiries from trade firms and job applicants. Move cases through stages to hire carpenters or approve subcontractors.
name: What enquiry do you want to handle?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,10 @@
alternatives:
- description: We will review your submission and get back to you within 3 business days.
name: What happens next?
- action: /subcontractors
consequence:
- Back to form
description: ''
name: Back to form
description: Your bid has been submitted. Awaiting review by our project managers.
name: What happens after I submit?
@@ -0,0 +1,25 @@
alternatives:
- action: /subcontractors/submit-bid-sent
consequence:
- Submit bid
description: Tell us your price and when you can start so we can review your offer.
features:
- name: Submit a bid
requirements:
- label: Job reference
name: job
type: text
- label: Your price
name: price
type: text
- label: Can start
name: can_start
type: date
name: Submit a bid on a job
record_as: bids
description: Approved subcontractors use this form to place a bid on an open job.
followup: false
name: Will you submit a bid on this job?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,70 @@
alternatives:
- action: /received/subcontractor-application
consequence:
- Apply now
description: Send us your details so we can check if you are a fit for our projects.
features:
- name: Subcontractor application
requirements:
- label: Company name
name: company
type: text
- label: Registration number
name: registration_number
type: text
- label: Your trade
name: trade
options:
- Electrical
- Plumbing
- Scaffolding
- Sheet metal
- Other
type: select
- label: Contact email
name: contact_email
type: email
- label: Insurance confirmed
name: insurance_confirmed
options:
- Yes
- Not yet
type: select
- label: Trade approval
name: trade_approval
optional: true
type: text
name: Apply to work with us
record_as: subcontractors
- action: /received/job-application
consequence:
- Apply now
description: Tell us who you are and what you can do. No letter needed.
features:
- name: Job application
requirements:
- label: Your name
name: name
type: text
- label: Your phone
name: phone
type: tel
- label: Your trade
name: trade
options:
- Carpenter
- Bricklayer
- Apprentice
- Other
type: select
- label: Your experience
name: experience
optional: true
type: textarea
name: Find a job with us
record_as: applicants
description: We are a small team running rehabilitation and construction projects. We are looking for people who want to join us, or who need our help with a building.
name: Do you want to work with us, or do you need our help with a building?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
@@ -0,0 +1,84 @@
alternatives:
- action: /received/survey-enquiry
consequence:
- Get it surveyed
description: You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.
features:
- name: Survey your building
requirements:
- label: Your name
name: name
type: text
- label: Phone number
name: phone
type: tel
- label: Building address
name: address
type: text
- label: What is the problem?
name: problem
type: textarea
- label: How to get to the site
name: access
optional: true
type: text
name: Report a building problem
record_as: enquiries
- action: /received/build-enquiry
consequence:
- Start build
description: You know what you want changed or built. We’ll draw it, handle the permit, and price it for you.
features:
- name: Your building project
requirements:
- label: Your name
name: name
type: text
- label: Phone number
name: phone
type: tel
- label: Building address
name: address
type: text
- label: Project type
name: project
type: textarea
- label: When you want it done
name: timeframe
options:
- This year
- Next year
- No fixed date
type: select
name: Tell us about your building project
record_as: enquiries
- action: /received/warranty-claim
consequence:
- Claim warranty
description: You found a fault in work we did. We’ll come back, look at it, and put it right.
features:
- name: Warranty claim
requirements:
- label: Your name
name: name
type: text
- label: Phone number
name: phone
type: tel
- label: Building address
name: address
type: text
- label: What is the fault?
name: fault
type: textarea
- label: When was it handed over?
name: handed_over
optional: true
type: date
name: Report a fault in our work
record_as: claims
description: What brings you to us today?
name: What are you looking for?
responsible:
contact: ingrid@nordvikbygg.example
name: Ingrid Nordvik
+427
View File
@@ -0,0 +1,427 @@
{
"build-enquiry": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.436274509803923,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 0,
"next": null,
"which": 1
}
},
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 28.457009345794393,
"options": 3,
"overloaded": false,
"page": "/your-building",
"personas": 2,
"required_fields": 4,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 2
},
"change-request": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 26.0,
"options": 1,
"overloaded": false,
"page": "/clients/change-request",
"personas": 1,
"required_fields": 3,
"understanding": {
"asked": 1,
"next": 1,
"which": 0
}
}
],
"steps": 1
},
"job-application": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.436274509803923,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 0,
"next": null,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 26.605263157894736,
"options": 2,
"overloaded": false,
"page": "/work-with-us",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 2
},
"log-phone-enquiry": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 16.333333333333336,
"options": 1,
"overloaded": false,
"page": "/project_managers/log-phone-enquiry",
"personas": 1,
"required_fields": 4,
"understanding": {
"asked": 1,
"next": 1,
"which": 1
}
}
],
"steps": 1
},
"neighbour-complaint": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 27.80952380952381,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 1
},
"order-materials": {
"pages": [
{
"control": {
"asked": 1,
"next": 0,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 26.42127659574468,
"options": 1,
"overloaded": false,
"page": "/crew/order-materials",
"personas": 1,
"required_fields": 3,
"understanding": {
"asked": 1,
"next": 1,
"which": 1
}
}
],
"steps": 1
},
"post-job-request": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 31.872131147540983,
"options": 1,
"overloaded": false,
"page": "/project_managers/post-job-request",
"personas": 1,
"required_fields": 4,
"understanding": {
"asked": 1,
"next": 1,
"which": 1
}
}
],
"steps": 1
},
"report-site-issue": {
"pages": [
{
"control": {
"asked": 1,
"next": 0,
"which": 0
},
"control_ok": false,
"followup_shown": true,
"lix": 20.010752688172044,
"options": 1,
"overloaded": false,
"page": "/crew/report-site-issue",
"personas": 2,
"required_fields": 3,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 1
},
"safety-round-finding": {
"pages": [
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 21.604166666666664,
"options": 1,
"overloaded": false,
"page": "/safety_officer/safety-round-finding",
"personas": 1,
"required_fields": 3,
"understanding": {
"asked": 1,
"next": 1,
"which": 1
}
}
],
"steps": 1
},
"subcontractor-application": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.436274509803923,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 0,
"next": null,
"which": 1
}
},
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 28.447289156626507,
"options": 2,
"overloaded": false,
"page": "/work-with-us",
"personas": 2,
"required_fields": 5,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 2
},
"submit-bid": {
"pages": [
{
"control": {
"asked": 1,
"next": 0,
"which": 1
},
"control_ok": false,
"followup_shown": true,
"lix": 22.165957446808513,
"options": 1,
"overloaded": false,
"page": "/subcontractors/submit-bid",
"personas": 1,
"required_fields": 3,
"understanding": {
"asked": 1,
"next": 1,
"which": 1
}
}
],
"steps": 1
},
"survey-enquiry": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.436274509803923,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 0,
"next": null,
"which": 0
}
},
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 28.457009345794393,
"options": 3,
"overloaded": false,
"page": "/your-building",
"personas": 2,
"required_fields": 4,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 2
},
"warranty-claim": {
"pages": [
{
"control": {
"asked": 0,
"next": null,
"which": 0
},
"control_ok": true,
"followup_shown": false,
"lix": 28.436274509803923,
"options": 3,
"overloaded": false,
"page": "/",
"personas": 2,
"required_fields": 0,
"understanding": {
"asked": 0,
"next": null,
"which": 2
}
},
{
"control": {
"asked": 0,
"next": 0,
"which": 0
},
"control_ok": true,
"followup_shown": true,
"lix": 22.044897959183672,
"options": 3,
"overloaded": false,
"page": "/your-building",
"personas": 2,
"required_fields": 4,
"understanding": {
"asked": 2,
"next": 2,
"which": 2
}
}
],
"steps": 2
}
}
+19
View File
@@ -0,0 +1,19 @@
need LIX which asked next gutted twin says page load
survey-enquiry @/ 28 very easy 0/2 0/2 - 0/0/- ok 3 options, 0 required
survey-enquiry @/your-building 28 very easy 2/2 2/2 2/2 0/0/0 ok 3 options, 4 required
build-enquiry @/ 28 very easy 1/2 0/2 - 0/0/- ok 3 options, 0 required
build-enquiry @/your-building 28 very easy 2/2 2/2 2/2 0/0/0 ok 3 options, 4 required
warranty-claim @/ 28 very easy 2/2 0/2 - 0/0/- ok 3 options, 0 required
warranty-claim @/your-building 22 very easy 2/2 2/2 2/2 0/0/0 ok 3 options, 4 required
neighbour-complaint 28 very easy 2/2 2/2 2/2 0/0/0 ok 3 options, 3 required
subcontractor-application @/ 28 very easy 1/2 0/2 - 0/0/- ok 3 options, 0 required
subcontractor-application @/work-with-us 28 very easy 2/2 2/2 2/2 0/0/0 ok 2 options, 5 required
job-application @/ 28 very easy 2/2 0/2 - 0/0/- ok 3 options, 0 required
job-application @/work-with-us 27 very easy 2/2 2/2 2/2 0/0/0 ok 2 options, 3 required
change-request 26 very easy 0/1 1/1 1/1 0/0/0 ok 1 options, 3 required
log-phone-enquiry 16 very easy 1/1 1/1 1/1 0/0/0 ok 1 options, 4 required
post-job-request 32 easy 1/1 1/1 1/1 0/0/0 ok 1 options, 4 required
submit-bid 22 very easy 1/1 1/1 1/1 1/1/0 FAILED: which, asked 1 options, 3 required
report-site-issue 20 very easy 2/2 2/2 2/2 0/1/0 FAILED: asked 1 options, 3 required
order-materials 26 very easy 1/1 1/1 1/1 0/1/0 FAILED: asked 1 options, 3 required
safety-round-finding 22 very easy 1/1 1/1 1/1 0/0/0 ok 1 options, 3 required
@@ -0,0 +1,5 @@
MISROUTE: cracked-render@/your-building: picked "Report a building problem" (0.95), the need is met by ["Report a fault in our work"]
MISROUTE: electrician-firm@/: picked "Your building project" (0.95), the need is met by ["Work with Nordvik Bygg"]
MISROUTE: electrician-firm@/work-with-us: picked "Find a job with us" (0.95), the need is met by ["Apply to work with us"]
MISROUTE: scaffolder@/work-with-us: picked "Find a job with us" (0.95), the need is met by ["Apply to work with us"]
wording: 18/22 routed right (82%)
@@ -0,0 +1,8 @@
MISROUTE: housing-board-damp@/: picked "Neighbour complaint" (0.95), the need is met by ["Your building project"]
MISROUTE: leaking-bathroom@/: picked "Neighbour complaint" (0.95), the need is met by ["Your building project"]
MISROUTE: electrician-firm@/: picked "Your building project" (0.95), the need is met by ["Work with Nordvik Bygg"]
MISROUTE: electrician-firm@/work-with-us: picked "Find a job with us" (0.95), the need is met by ["Apply to work with us"]
MISROUTE: scaffolder@/work-with-us: picked "Find a job with us" (0.95), the need is met by ["Apply to work with us"]
MISROUTE: carpenter-jobseeker@/work-with-us: picked "Apply to work with us" (0.95), the need is met by ["Find a job with us"]
MISROUTE: apprentice@/work-with-us: picked "Apply to work with us" (0.95), the need is met by ["Find a job with us"]
wording: 15/22 routed right (68%)
@@ -0,0 +1,2 @@
lang: en
title: Nordvik Bygg
@@ -0,0 +1,22 @@
{"id":"housing-board-damp@/","persona":"housing-board-damp","need":"survey-enquiry","page":"/","state":{"body":"I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"housing-board-damp@/your-building","persona":"housing-board-damp","need":"survey-enquiry","page":"/your-building","state":{"body":"I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"buyer-before-purchase@/","persona":"buyer-before-purchase","need":"survey-enquiry","page":"/","state":{"body":"We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"buyer-before-purchase@/your-building","persona":"buyer-before-purchase","need":"survey-enquiry","page":"/your-building","state":{"body":"We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"attic-conversion@/","persona":"attic-conversion","need":"build-enquiry","page":"/","state":{"body":"We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"attic-conversion@/your-building","persona":"attic-conversion","need":"build-enquiry","page":"/your-building","state":{"body":"We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"shop-to-flat@/","persona":"shop-to-flat","need":"build-enquiry","page":"/","state":{"body":"I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"shop-to-flat@/your-building","persona":"shop-to-flat","need":"build-enquiry","page":"/your-building","state":{"body":"I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"leaking-bathroom@/","persona":"leaking-bathroom","need":"warranty-claim","page":"/","state":{"body":"You redid our bathroom two years ago. Now water is coming through the ceiling of the flat below. I want you to come and fix it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"leaking-bathroom@/your-building","persona":"leaking-bathroom","need":"warranty-claim","page":"/your-building","state":{"body":"You redid our bathroom two years ago. Now water is coming through the ceiling of the flat below. I want you to come and fix it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a fault in our work"]}
{"id":"cracked-render@/","persona":"cracked-render","need":"warranty-claim","page":"/","state":{"body":"The render you put on our gable wall last summer has cracked right across. That can't be right after one winter."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Your building project"]}
{"id":"cracked-render@/your-building","persona":"cracked-render","need":"warranty-claim","page":"/your-building","state":{"body":"The render you put on our gable wall last summer has cracked right across. That can't be right after one winter."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"You have a problem in your building. We’ll send someone qualified to look at it and tell you what it takes to fix it.","Report a fault in our work":"You found a fault in work we did. We’ll come back, look at it, and put it right.","Tell us about your building project":"You know what you want changed or built. We’ll draw it, handle the permit, and price it for you."}}},"expect":["Report a fault in our work"]}
{"id":"noisy-mornings@/","persona":"noisy-mornings","need":"neighbour-complaint","page":"/","state":{"body":"I live next door to the block you are working on. You start drilling at half past six every morning and I have a baby. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Neighbour complaint"]}
{"id":"blocked-driveway@/","persona":"blocked-driveway","need":"neighbour-complaint","page":"/","state":{"body":"Your skip and a van have been parked across the entrance to our shop's loading bay for three days. We can't get deliveries."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Neighbour complaint"]}
{"id":"electrician-firm@/","persona":"electrician-firm","need":"subcontractor-application","page":"/","state":{"body":"We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Work with Nordvik Bygg"]}
{"id":"electrician-firm@/work-with-us","persona":"electrician-firm","need":"subcontractor-application","page":"/work-with-us","state":{"body":"We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Send us your details so we can check if you are a fit for our projects.","Find a job with us":"Tell us who you are and what you can do. No letter needed."}}},"expect":["Apply to work with us"]}
{"id":"scaffolder@/","persona":"scaffolder","need":"subcontractor-application","page":"/","state":{"body":"I run a scaffolding company. How do I get to do jobs for you?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Work with Nordvik Bygg"]}
{"id":"scaffolder@/work-with-us","persona":"scaffolder","need":"subcontractor-application","page":"/work-with-us","state":{"body":"I run a scaffolding company. How do I get to do jobs for you?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Send us your details so we can check if you are a fit for our projects.","Find a job with us":"Tell us who you are and what you can do. No letter needed."}}},"expect":["Apply to work with us"]}
{"id":"carpenter-jobseeker@/","persona":"carpenter-jobseeker","need":"job-application","page":"/","state":{"body":"I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Work with Nordvik Bygg"]}
{"id":"carpenter-jobseeker@/work-with-us","persona":"carpenter-jobseeker","need":"job-application","page":"/work-with-us","state":{"body":"I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Send us your details so we can check if you are a fit for our projects.","Find a job with us":"Tell us who you are and what you can do. No letter needed."}}},"expect":["Find a job with us"]}
{"id":"apprentice@/","persona":"apprentice","need":"job-application","page":"/","state":{"body":"I finish vocational school this spring and need an apprenticeship as a bricklayer."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Let us know about noise, dust, or access problems from a building site near you.","Work with Nordvik Bygg":"Apply to work with us as a subcontractor or find a job as a carpenter or apprentice.","Your building project":"Report a problem, get a survey, or start a new build project."}}},"expect":["Work with Nordvik Bygg"]}
{"id":"apprentice@/work-with-us","persona":"apprentice","need":"job-application","page":"/work-with-us","state":{"body":"I finish vocational school this spring and need an apprenticeship as a bricklayer."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Send us your details so we can check if you are a fit for our projects.","Find a job with us":"Tell us who you are and what you can do. No letter needed."}}},"expect":["Find a job with us"]}
@@ -0,0 +1,22 @@
{"id":"housing-board-damp@/","persona":"housing-board-damp","need":"survey-enquiry","page":"/","state":{"body":"I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"housing-board-damp@/your-building","persona":"housing-board-damp","need":"survey-enquiry","page":"/your-building","state":{"body":"I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"buyer-before-purchase@/","persona":"buyer-before-purchase","need":"survey-enquiry","page":"/","state":{"body":"We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"buyer-before-purchase@/your-building","persona":"buyer-before-purchase","need":"survey-enquiry","page":"/your-building","state":{"body":"We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"attic-conversion@/","persona":"attic-conversion","need":"build-enquiry","page":"/","state":{"body":"We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"attic-conversion@/your-building","persona":"attic-conversion","need":"build-enquiry","page":"/your-building","state":{"body":"We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"shop-to-flat@/","persona":"shop-to-flat","need":"build-enquiry","page":"/","state":{"body":"I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"shop-to-flat@/your-building","persona":"shop-to-flat","need":"build-enquiry","page":"/your-building","state":{"body":"I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a building problem","Tell us about your building project"]}
{"id":"leaking-bathroom@/","persona":"leaking-bathroom","need":"warranty-claim","page":"/","state":{"body":"You redid our bathroom two years ago. Now water is coming through the ceiling of the flat below. I want you to come and fix it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"leaking-bathroom@/your-building","persona":"leaking-bathroom","need":"warranty-claim","page":"/your-building","state":{"body":"You redid our bathroom two years ago. Now water is coming through the ceiling of the flat below. I want you to come and fix it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a fault in our work"]}
{"id":"cracked-render@/","persona":"cracked-render","need":"warranty-claim","page":"/","state":{"body":"The render you put on our gable wall last summer has cracked right across. That can't be right after one winter."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Your building project"]}
{"id":"cracked-render@/your-building","persona":"cracked-render","need":"warranty-claim","page":"/your-building","state":{"body":"The render you put on our gable wall last summer has cracked right across. That can't be right after one winter."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What are you looking for?\". Which alternative do they choose?","criteria":{"Report a building problem":"Report a building problem","Report a fault in our work":"Report a fault in our work","Tell us about your building project":"Tell us about your building project"}}},"expect":["Report a fault in our work"]}
{"id":"noisy-mornings@/","persona":"noisy-mornings","need":"neighbour-complaint","page":"/","state":{"body":"I live next door to the block you are working on. You start drilling at half past six every morning and I have a baby. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Neighbour complaint"]}
{"id":"blocked-driveway@/","persona":"blocked-driveway","need":"neighbour-complaint","page":"/","state":{"body":"Your skip and a van have been parked across the entrance to our shop's loading bay for three days. We can't get deliveries."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Neighbour complaint"]}
{"id":"electrician-firm@/","persona":"electrician-firm","need":"subcontractor-application","page":"/","state":{"body":"We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Work with Nordvik Bygg"]}
{"id":"electrician-firm@/work-with-us","persona":"electrician-firm","need":"subcontractor-application","page":"/work-with-us","state":{"body":"We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Apply to work with us","Find a job with us":"Find a job with us"}}},"expect":["Apply to work with us"]}
{"id":"scaffolder@/","persona":"scaffolder","need":"subcontractor-application","page":"/","state":{"body":"I run a scaffolding company. How do I get to do jobs for you?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Work with Nordvik Bygg"]}
{"id":"scaffolder@/work-with-us","persona":"scaffolder","need":"subcontractor-application","page":"/work-with-us","state":{"body":"I run a scaffolding company. How do I get to do jobs for you?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Apply to work with us","Find a job with us":"Find a job with us"}}},"expect":["Apply to work with us"]}
{"id":"carpenter-jobseeker@/","persona":"carpenter-jobseeker","need":"job-application","page":"/","state":{"body":"I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Work with Nordvik Bygg"]}
{"id":"carpenter-jobseeker@/work-with-us","persona":"carpenter-jobseeker","need":"job-application","page":"/work-with-us","state":{"body":"I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Apply to work with us","Find a job with us":"Find a job with us"}}},"expect":["Find a job with us"]}
{"id":"apprentice@/","persona":"apprentice","need":"job-application","page":"/","state":{"body":"I finish vocational school this spring and need an apprenticeship as a bricklayer."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you to Nordvik Bygg today?\". Which alternative do they choose?","criteria":{"Neighbour complaint":"Neighbour complaint","Work with Nordvik Bygg":"Work with Nordvik Bygg","Your building project":"Your building project"}}},"expect":["Work with Nordvik Bygg"]}
{"id":"apprentice@/work-with-us","persona":"apprentice","need":"job-application","page":"/work-with-us","state":{"body":"I finish vocational school this spring and need an apprenticeship as a bricklayer."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you want to work with us, or do you need our help with a building?\". Which alternative do they choose?","criteria":{"Apply to work with us":"Apply to work with us","Find a job with us":"Find a job with us"}}},"expect":["Find a job with us"]}
+41
View File
@@ -0,0 +1,41 @@
# The contractor intake read into a plan by a local model
`portal-trainer plan --intake intakes/contractor.yaml --personas
sectors/construction/needs.yaml`, nemotron-3.5-lightning:30b-a3b on
ergo's Ollama, temperature 0.2. One round, 41 seconds: the YAML
parsed and passed every check `build` makes, first try.
That is the mechanical result. What a person reading `plan.yaml` next
to the intake finds is what the check cannot:
- **The crew's report is public.** "The crew, ours and the
subcontractors' people, are the ones on site who report things" is
a role inside the business, so `site_incident` wants `enters_as:
crew`. The model gave it no `enters_as` and put it on the front
door.
- **A stage was dropped again.** "Often papers are missing and we have
to ask again" is an `awaiting_papers` stage, skippable. The model's
subcontractor machine is `open -> approved | rejected`. This is the
same omission the Sonnet-class model made on enquiries in the first
generated run, from a different model on a different need.
- **The need nobody asked for is missing.** "Enquiries arrive by phone,
email and text and get lost" is a project manager logging a call,
with `enters_as: project_managers`. The reference says the
"what slows us down" answer usually names one; the model wrote none.
- **Two needs with one machine land in two buckets.** `enquiry` and
`permit_application` have identical stages and the same handler and
should share `enquiries`; as written the project managers get two
lists of the same kind of case.
- **Small things.** `email` has no `type: email`. The job application
tolerates 6 fields for people the intake says are asking "if we are
hiring"; 3 is nearer. Group ids are singular (`project_manager`).
None of the ten attached personas name a need in this plan, because
the sector file's ids are its own; `plan` listed all ten and left the
mapping to the reader, which is the intended shape.
What this run says: the step works as a draft for a person, and the
person is not optional. The three structural misses above are all
things the intake states in one sentence and the model read past. A
check for the third is possible (an intake with `what_slows_us_down`
and no `enters_as` need is suspicious); the first two need a reader.
+144
View File
@@ -0,0 +1,144 @@
business: Nordvik Bygg
language: en
contact: { name: Ingrid Nordvik, email: ingrid@nordvikbygg.example }
about: >
We are twelve people. We survey old buildings, draw up rehabilitation
plans, handle the permit application, and do the building work with
our own carpenters plus subcontractors for electrical, plumbing and
scaffolding.
needs:
- id: enquiry
who: housing boards and private owners who have a problem with a building and want someone to look at it
wants: someone to look at the building and send a quote
lands_in: enquiry
handled_by: project_manager
stages: [open, surveyed, quoted, won, lost]
done_when: [won, lost]
success: [won]
skippable: []
moves_by: {}
watched_by: []
max_fields: 4
collects:
- { name: name }
- { name: phone, type: tel }
- { name: problem, type: textarea }
- { name: urgency, type: select, options: [This week, This month, No rush] }
- id: subcontractor_application
who: trade firms who want to be on our list of subcontractors
wants: to be on our list of subcontractors
lands_in: subcontractor
handled_by: project_manager
stages: [open, approved, rejected]
done_when: [approved, rejected]
success: [approved]
skippable: []
moves_by: {}
watched_by: []
max_fields: 5
collects:
- { name: company_name }
- { name: trade_approval }
- { name: insurance }
- { name: phone, type: tel }
- { name: email }
- id: job_application
who: carpenters and apprentices asking if we are hiring
wants: a job
lands_in: job_application
handled_by: project_manager
stages: [open, interviewed, hired, declined]
done_when: [hired, declined]
success: [hired]
skippable: []
moves_by: {}
watched_by: []
max_fields: 6
collects:
- { name: name }
- { name: phone, type: tel }
- { name: experience }
- { name: availability }
- id: site_incident
who: the crew, ours and the subcontractors' people, who report things
wants: for the safety officer to decide what is done about it and close it when it is fixed
lands_in: site_incident
handled_by: safety_officer
stages: [reported, decided, closed]
done_when: [closed]
success: [closed]
skippable: []
moves_by: {}
watched_by: []
max_fields: 3
collects:
- { name: description, type: textarea }
- { name: hazard_type, type: select, options: [Hazard, Near miss, Wrong materials] }
- { name: reported_by, type: text }
- id: permit_application
who: owners who already know what they want built and need drawings, a permit and a price
wants: drawings, a permit and a price
lands_in: permit
handled_by: project_manager
stages: [open, surveyed, quoted, won, lost]
done_when: [won, lost]
success: [won]
skippable: []
moves_by: {}
watched_by: []
max_fields: 5
collects:
- { name: name }
- { name: phone, type: tel }
- { name: problem, type: textarea }
- { name: urgency, type: select, options: [This week, This month, No rush] }
- { name: address }
# Held out from every model that writes words.
personas:
- id: housing-board-damp
need: win-survey-work
text: |
I chair the board of a housing cooperative from the seventies. Two ground-floor flats have damp in the walls and we don't know if it's drainage or the facade. We need someone to tell us.
- id: buyer-before-purchase
need: win-survey-work
text: |
We are about to buy an old timber house. Before we sign we want a professional to go through it and tell us what is wrong with it.
- id: attic-conversion
need: win-design-work
text: |
We want to turn our attic into two bedrooms and a bathroom. We need drawings and someone who handles the application to the municipality.
- id: shop-to-flat
need: win-design-work
text: |
I own a former shop on the ground floor and want to make it a flat. I have no idea what is allowed. Can you sort that out and give me a price?
- id: electrician-firm
need: vet-subcontractor
text: |
We are a four-person electrical firm, fully certified. We would like to get on your list so you call us when you need electricians.
- id: scaffolder
need: vet-subcontractor
text: |
I run a scaffolding company. How do I get to do jobs for you?
- id: carpenter-jobseeker
need: hire-crew
text: |
I'm a certified carpenter with eight years on rehabilitation jobs. Are you hiring?
- id: apprentice
need: hire-crew
text: |
I finish vocational school this spring and need an apprenticeship as a bricklayer.
- id: loose-railing
need: report-deviation
text: |
The railing on the third level of the scaffold on the north side is loose. Nobody got hurt but someone will.
- id: wrong-membrane
need: report-deviation
text: |
The bathroom membrane delivered today is not the one in the specification. We stopped work on it.
+101
View File
@@ -0,0 +1,101 @@
business: Nordvik Bygg
language: en
contact: { name: Ingrid Nordvik, email: ingrid@nordvikbygg.example }
about: >
We are twelve people. We survey old buildings, draw up rehabilitation
plans, handle the permit application, and do the building work with
our own carpenters plus subcontractors for electrical, plumbing and
scaffolding.
needs:
- id: enquiry
who: housing boards and private owners who have a problem with a building and want someone to look at it
wants: someone to look at the building and send a quote
lands_in: enquiry
handled_by: project_manager
stages: [open, surveyed, quoted, won, lost]
done_when: [won, lost]
success: [won]
skippable: []
moves_by: {}
watched_by: []
max_fields: 4
collects:
- { name: name }
- { name: phone, type: tel }
- { name: problem, type: textarea }
- { name: urgency, type: select, options: [This week, This month, No rush] }
- id: subcontractor_application
who: trade firms who want to be on our list of subcontractors
wants: to be on our list of subcontractors
lands_in: subcontractor
handled_by: project_manager
stages: [open, approved, rejected]
done_when: [approved, rejected]
success: [approved]
skippable: []
moves_by: {}
watched_by: []
max_fields: 5
collects:
- { name: company_name }
- { name: trade_approval }
- { name: insurance }
- { name: phone, type: tel }
- { name: email }
- id: job_application
who: carpenters and apprentices asking if we are hiring
wants: a job
lands_in: job_application
handled_by: project_manager
stages: [open, interviewed, hired, declined]
done_when: [hired, declined]
success: [hired]
skippable: []
moves_by: {}
watched_by: []
max_fields: 6
collects:
- { name: name }
- { name: phone, type: tel }
- { name: experience }
- { name: availability }
- id: site_incident
who: the crew, ours and the subcontractors' people, who report things
wants: for the safety officer to decide what is done about it and close it when it is fixed
lands_in: site_incident
handled_by: safety_officer
stages: [reported, decided, closed]
done_when: [closed]
success: [closed]
skippable: []
moves_by: {}
watched_by: []
max_fields: 3
collects:
- { name: description, type: textarea }
- { name: hazard_type, type: select, options: [Hazard, Near miss, Wrong materials] }
- { name: reported_by, type: text }
- id: permit_application
who: owners who already know what they want built and need drawings, a permit and a price
wants: drawings, a permit and a price
lands_in: permit
handled_by: project_manager
stages: [open, surveyed, quoted, won, lost]
done_when: [won, lost]
success: [won]
skippable: []
moves_by: {}
watched_by: []
max_fields: 5
collects:
- { name: name }
- { name: phone, type: tel }
- { name: problem, type: textarea }
- { name: urgency, type: select, options: [This week, This month, No rush] }
- { name: address }
+31
View File
@@ -0,0 +1,31 @@
# A football club, in Norwegian, behind two doors
`plans/fotballklubb.yaml`: five needs, two doors (foresatte, bidra),
roles overlapping on one aggregate (the coach approves, the treasurer
sees payment). Built with nemotron-3.5-lightning:30b-a3b writing the
words, all 12 pages worded, verifier green by construction. Visitor:
qwen3:8b, one task per call. Nine held-out personas, sixteen tasks.
The same plan built with Claude Sonnet is in
`../fotballklubb-claude-2026-09-22/`, with the comparison.
| Visitor could read | Routed right |
|---|---|
| Headings and descriptions | 14 of 16 |
| Headings only | 11 of 16 |
- **The front door fails on headings alone.** Three of five parents
chose "Vil du bidra til klubben?" over "Er det på tide å melde
inn?". "Melde inn" is the club's word for enrolment; a parent who
just moved to the village asks "how does he get on a team?" and
reads "contribute to the club" as the general door. The
descriptions rescue it (14 of 16), which is the definition of a
heading that has failed.
- The laid-off parent asking whether their daughter can keep playing
without paying chose "Meld deg på laget" on the parents' page.
"Hjelp med avgift" is the club's side of it; the parent's side is
"can she keep playing".
- The driver with the big car chose "Støtt klubben i bygda"
(sponsor) over "Bli brukt der det trengs". Offering a car is
support; the volunteer/sponsor split is the club's, not theirs.
`rate.txt` is the page-by-page rate; see `rate.json`.
@@ -0,0 +1,87 @@
aggregates:
- bucket: avgiftssaker
initial: open
states:
avslatt:
event: avslatt
innvilget:
event: innvilget
open:
event: received
vurdert:
event: vurdert
transitions:
open:
- vurdert
- avslatt
vurdert:
- innvilget
- avslatt
- bucket: baneproblemer
initial: open
states:
open:
event: received
ordnet:
event: ordnet
tatt_tak_i:
event: tatt_tak_i
transitions:
open:
- tatt_tak_i
tatt_tak_i:
- ordnet
- bucket: frivillige
initial: open
states:
avslatt:
event: avslatt
kontaktet:
event: kontaktet
open:
event: received
plassert:
event: plassert
transitions:
kontaktet:
- plassert
- avslatt
open:
- kontaktet
- avslatt
- bucket: innmeldinger
initial: open
states:
betalt:
event: betalt
godkjent:
event: godkjent
open:
event: received
trukket:
event: trukket
transitions:
godkjent:
- betalt
- trukket
open:
- godkjent
- trukket
- bucket: sponsorer
initial: open
states:
avslatt:
event: avslatt
avtalt:
event: avtalt
i_dialog:
event: i_dialog
open:
event: received
transitions:
i_dialog:
- avtalt
- avslatt
open:
- i_dialog
- avslatt
@@ -0,0 +1,16 @@
{"choice":"Er det på tide å melde inn?","confidence":0.95,"id":"ny-i-bygda@/"}
{"choice":"Meld deg på laget","confidence":0.95,"id":"ny-i-bygda@/foresatte"}
{"choice":"Er det på tide å melde inn?","confidence":0.95,"id":"tvillinger@/"}
{"choice":"Meld deg på laget","confidence":0.95,"id":"tvillinger@/foresatte"}
{"choice":"Er det på tide å melde inn?","confidence":0.95,"id":"alenefar@/"}
{"choice":"Hjelp med avgift","confidence":0.95,"id":"alenefar@/foresatte"}
{"choice":"Er det på tide å melde inn?","confidence":0.95,"id":"permittert@/"}
{"choice":"Meld deg på laget","confidence":0.85,"id":"permittert@/foresatte"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"pensjonist@/"}
{"choice":"Bli brukt der det trengs","confidence":0.95,"id":"pensjonist@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"stor-bil@/"}
{"choice":"Støtt klubben i bygda","confidence":0.85,"id":"stor-bil@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"rorlegger@/"}
{"choice":"Støtt klubben i bygda","confidence":0.95,"id":"rorlegger@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"kafeen@/"}
{"choice":"Støtt klubben i bygda","confidence":0.95,"id":"kafeen@/bidra"}
@@ -0,0 +1,16 @@
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"ny-i-bygda@/"}
{"choice":"Meld deg på laget","confidence":0.95,"id":"ny-i-bygda@/foresatte"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"tvillinger@/"}
{"choice":"Meld deg på laget","confidence":0.95,"id":"tvillinger@/foresatte"}
{"choice":"Er det på tide å melde inn?","confidence":0.95,"id":"alenefar@/"}
{"choice":"Hjelp med avgift","confidence":0.95,"id":"alenefar@/foresatte"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"permittert@/"}
{"choice":"Meld deg på laget","confidence":0.85,"id":"permittert@/foresatte"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"pensjonist@/"}
{"choice":"Bli brukt der det trengs","confidence":0.95,"id":"pensjonist@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"stor-bil@/"}
{"choice":"Støtt klubben i bygda","confidence":0.85,"id":"stor-bil@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"rorlegger@/"}
{"choice":"Støtt klubben i bygda","confidence":0.95,"id":"rorlegger@/bidra"}
{"choice":"Vil du bidra til klubben?","confidence":0.95,"id":"kafeen@/"}
{"choice":"Støtt klubben i bygda","confidence":0.95,"id":"kafeen@/bidra"}
+20
View File
@@ -0,0 +1,20 @@
words: questions/bidra/index.yaml
words: questions/foresatte/index.yaml
words: questions/index.yaml
words: questions/kasserer/index.yaml
words: questions/received/avgiftssak.yaml
words: questions/received/frivillig.yaml
words: questions/received/innmelding.yaml
words: questions/received/sponsor.yaml
words: questions/styret/index.yaml
words: questions/trenere/baneproblem-sent.yaml
words: questions/trenere/baneproblem.yaml
words: questions/trenere/index.yaml
content repo written to runs/fotballklubb-2026-09-22
OK: 12 question(s), 6 aggregate(s) valid
need "innmelding": / [Er det på tide å melde inn?] -> /foresatte [Meld deg på laget] -> "innmeldinger"
need "avgiftssak": / [Er det på tide å melde inn?] -> /foresatte [Hjelp med avgift] -> "avgiftssaker"
need "frivillig": / [Vil du bidra til klubben?] -> /bidra [Bli brukt der det trengs] -> "frivillige"
need "sponsor": / [Vil du bidra til klubben?] -> /bidra [Støtt klubben i bygda] -> "sponsorer"
need "baneproblem": /trenere/baneproblem [Rapporter baneproblem] -> "baneproblemer"
OK: 5 need(s) structurally met, 0 planned, 9 persona(s)
@@ -0,0 +1,90 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/bidra/index.yaml
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"needs": {
"frivillig": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"hva_kan_du": "<WRITE: a form label for the field `hva_kan_du`>",
"navn": "<WRITE: a form label for the field `navn`>",
"telefon": "<WRITE: a form label for the field `telefon`>"
}
},
"sponsor": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"bedrift": "<WRITE: a form label for the field `bedrift`>",
"hva_tenker_dere": "<WRITE: a form label for the field `hva_tenker_dere`>",
"kontaktperson": "<WRITE: a form label for the field `kontaktperson`>",
"telefon": "<WRITE: a form label for the field `telefon`>"
}
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "Er du interessert i å bli med på laget?",
"needs": {
"frivillig": {
"button": "Meldeg inn",
"description": "Hjelp til som trener, lagleder eller på dugnad",
"form_title": "Bli frivillig",
"heading": "Bli brukt der det trengs",
"labels": {
"hva_kan_du": "Hva kan du hjelpe med?",
"navn": "Navn",
"telefon": "Telefon"
}
},
"sponsor": {
"button": "Kontakt oss",
"description": "Lett dialog om hva bedriften kan bidra med",
"form_title": "Sponsor-samtale",
"heading": "Støtt klubben i bygda",
"labels": {
"bedrift": "Bedrift",
"hva_tenker_dere": "Hva tenker dere om å støtte?",
"kontaktperson": "Kontaktperson",
"telefon": "Telefon"
}
}
},
"question": "Hva kan du bidra med?"
}
@@ -0,0 +1,96 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/foresatte/index.yaml
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"needs": {
"avgiftssak": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"barnets_navn": "<WRITE: a form label for the field `barnets_navn`>",
"foresatt": "<WRITE: a form label for the field `foresatt`>",
"hva_gjelder_det": "<WRITE: a form label for the field `hva_gjelder_det`>",
"telefon": "<WRITE: a form label for the field `telefon`>"
}
},
"innmelding": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"form_title": "<WRITE: a title for the form, two to four words>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"labels": {
"barnets_navn": "<WRITE: a form label for the field `barnets_navn`>",
"epost": "<WRITE: a form label for the field `epost`>",
"fodselsar": "<WRITE: a form label for the field `fodselsar`>",
"foresatt": "<WRITE: a form label for the field `foresatt`>",
"spilt_for": "<WRITE: a form label for the field `spilt_for`>",
"telefon": "<WRITE: a form label for the field `telefon`>"
}
}
},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "Har du barn som vil spille fotball, eller hjelpe klubben på?",
"needs": {
"avgiftssak": {
"button": "Del opp avgift",
"description": "Vi hjelper deg å finne en løsning hvis du har vansker med å betale.",
"form_title": "Avgiftssak",
"heading": "Hjelp med avgift",
"labels": {
"barnets_navn": "Barns navn",
"foresatt": "Foresatt navn",
"hva_gjelder_det": "Hva gjelder?",
"telefon": "Telefon"
}
},
"innmelding": {
"button": "Meld på",
"description": "Sett barnet på laget for sitt årskull. Treneren håndterer dette.",
"form_title": "Innmelding",
"heading": "Meld deg på laget",
"labels": {
"barnets_navn": "Barns navn",
"epost": "E-post",
"fodselsar": "Fødselsår",
"foresatt": "Foresatt navn",
"spilt_for": "Spiller for",
"telefon": "Telefon"
}
}
},
"question": "Har du barn som vil spille fotball?"
}
@@ -0,0 +1,66 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/index.yaml
It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"description": "<WRITE: one or two short sentences>",
"doors": {
"bidra": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
},
"foresatte": {
"button": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
}
},
"needs": {},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"description": "Er du foreldre, trener eller representant fra lokal samfunn? Her finner du veien inn til det du trenger.",
"doors": {
"bidra": {
"button": "Hjelp klubben",
"description": "Som frivillig trener, lagleder, sjåfør eller støttende bedrift.",
"heading": "Vil du bidra til klubben?"
},
"foresatte": {
"button": "Meld inn barnet",
"description": "For foreldre som vil at barnet skal spille på laget sitt årskull.",
"heading": "Er det på tide å melde inn?"
}
},
"needs": {},
"question": "Hva hjelper vi deg med i dag?"
}
@@ -0,0 +1,62 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/kasserer/index.yaml
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"buckets": {
"innmeldinger": {
"description": "<WRITE: one or two short sentences>",
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"moves": {
"godkjent->betalt": "<WRITE: a button, two to four words, for a case going godkjent->betalt>"
}
}
},
"confirm": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"links": {},
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"buckets": {
"innmeldinger": {
"description": "Her finner du saker som trenger godkjennelse for at barnet kan spille.",
"heading": "Innmeldinger som trenger godkjennelse",
"moves": {
"godkjent->betalt": "Godkjenn og ta betalt"
}
}
},
"confirm": "Lagre endringer",
"description": "Kassereren tar seg av innmeldinger, avgifter og frivillighet.",
"links": {},
"question": "Hva trenger din oppmerksomhet i dag?"
}
@@ -0,0 +1,46 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/received/avgiftssak.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Tilbake",
"description": "Styret behandler avgiftssaker for å finne en løsning som passer dere.",
"next_description": "Når styret har vurdert sakken, vil dere få beskjed om resultatet.",
"next_heading": "Hva skjer neste?",
"question": "Hva skjer med avgiftssaken din?"
}
@@ -0,0 +1,46 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/received/frivillig.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Tilbake",
"description": "Du har sendt inn en melding om at du vil bidra frivillig. Her ser du status og hva som skjer videre.",
"next_description": "Styret vil behandle meldingen din og finne et passende oppdrag for deg.",
"next_heading": "Behandling på vei",
"question": "Hva skjer nå med min melding?"
}
@@ -0,0 +1,46 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/received/innmelding.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Tilbake",
"description": "Du har sendt inn en innmeldingskjema for barnet ditt. Her finner du informasjon om hva som skjer videre.",
"next_description": "Så snart lagets trener har lest kjemaet, blir det vurdert om barnet får plass.",
"next_heading": "Venter på trenerens vurdering",
"question": "Hva skjer nå med innmeldingen?"
}
@@ -0,0 +1,46 @@
You write the words for one page of a website for this business.
Business: Lia IL Fotball
About: Fotballgruppa i et idrettslag på bygda. Rundt hundre og tjue unger fra seks til seksten år, fordelt på lag etter årskull, drevet av foreldre på fritida.
Contact: Kari Lien <kari@liail.example>
Language to write in: nb
Everyone the site serves:
- door foresatte: for en forelder eller foresatt til et barn som vil spille, eller allerede spiller; behind it: innmelding, avgiftssak
- door bidra: for noen som vil hjelpe til i klubben, eller en bedrift som vil støtte den; behind it: frivillig, sponsor
- innmelding: en forelder som vil ha ungen med på et lag - wants: at barnet får plass på laget for sitt årskull. Handled by trenere. Stages: open -> godkjent -> betalt -> trukket.
- avgiftssak: en forelder som sliter med treningsavgiften - wants: å dele den opp, eller slippe den. Handled by styret. Stages: open -> vurdert -> innvilget -> avslatt.
- frivillig: en som vil hjelpe til, som trener, lagleder, sjåfør eller på dugnad - wants: å bli brukt der det trengs. Handled by styret. Stages: open -> kontaktet -> plassert -> avslatt.
- sponsor: en bedrift i bygda som vil støtte klubben - wants: en prat om hva de kan bidra med, og en avtale. Handled by styret. Stages: open -> i_dialog -> avtalt -> avslatt.
- baneproblem: en trener som ser at noe på anlegget ikke er i orden - wants: at styret får vite det og ordner det. Handled by styret. Stages: open -> tatt_tak_i -> ordnet.
The page: questions/received/sponsor.yaml
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
Rules for the words:
- `question` is a question the reader could ask themselves.
- A heading says what the reader gets, in the reader's own words, and must work without its description.
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
- Descriptions are one or two short sentences. Labels and buttons are a few words.
- Write the way people in this trade and country actually speak.
{
"back": "<WRITE: a button, one to three words>",
"description": "<WRITE: one or two short sentences>",
"next_description": "<WRITE: one or two short sentences>",
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
"question": "<WRITE: the one question this page asks its reader>"
}
Reply with the JSON object only.
=== REPLY ===
{
"back": "Tilbake",
"description": "Kontaktmeldingen din er mottatt av klubbens styret. De jobber for å få det løst raskt.",
"next_description": "Styret vil vurdere meldingen og ta kontakt med deg innen kort tid.",
"next_heading": "Hva skjer nå?",
"question": "Hva skjer med min melding?"
}

Some files were not shown because too many files have changed in this diff Show More