Files
portal/runs/contractor-2026-09-21/simulation/b-with-surveyed/model.json
T

720 lines
22 KiB
JSON

{
"buckets": {
"applicants": {
"desks": [
{
"group": "project_managers",
"moves": [
{
"from": "open",
"label": "Invite to interview",
"to": "interviewing"
},
{
"from": "open",
"label": "Decline",
"to": "declined"
},
{
"from": "interviewing",
"label": "Hire",
"to": "hired"
},
{
"from": "interviewing",
"label": "Decline",
"to": "declined"
}
],
"page": "/desk"
}
],
"initial": "open",
"self_moves": [],
"transitions": {
"interviewing": [
"hired",
"declined"
],
"open": [
"interviewing",
"declined"
]
}
},
"enquiries": {
"desks": [
{
"group": "project_managers",
"moves": [
{
"from": "open",
"label": "Looked at the building",
"to": "surveyed"
},
{
"from": "surveyed",
"label": "Quote sent",
"to": "quoted"
},
{
"from": "surveyed",
"label": "Not worth quoting",
"to": "lost"
},
{
"from": "open",
"label": "Not for us",
"to": "lost"
},
{
"from": "quoted",
"label": "Won",
"to": "won"
},
{
"from": "quoted",
"label": "Lost",
"to": "lost"
}
],
"page": "/desk"
}
],
"initial": "open",
"self_moves": [],
"transitions": {
"open": [
"surveyed",
"lost"
],
"quoted": [
"won",
"lost"
],
"surveyed": [
"quoted",
"lost"
]
}
},
"site_issues": {
"desks": [
{
"group": "safety_officer",
"moves": [
{
"from": "open",
"label": "Look into it",
"to": "in_hand"
},
{
"from": "in_hand",
"label": "Mark fixed",
"to": "closed"
}
],
"page": "/safety"
}
],
"initial": "open",
"self_moves": [],
"transitions": {
"in_hand": [
"closed"
],
"open": [
"in_hand"
]
}
},
"subcontractors": {
"desks": [
{
"group": "project_managers",
"moves": [
{
"from": "open",
"label": "Ask for missing papers",
"to": "awaiting_papers"
},
{
"from": "open",
"label": "Approve",
"to": "approved"
},
{
"from": "open",
"label": "Decline",
"to": "declined"
},
{
"from": "awaiting_papers",
"label": "Approve",
"to": "approved"
},
{
"from": "awaiting_papers",
"label": "Decline",
"to": "declined"
}
],
"page": "/desk"
}
],
"initial": "open",
"self_moves": [],
"transitions": {
"awaiting_papers": [
"approved",
"declined"
],
"open": [
"awaiting_papers",
"approved",
"declined"
]
}
}
},
"needs": [
{
"done_when": [
"won",
"lost"
],
"enters_as": null,
"handled_by": "project_managers",
"id": "survey-enquiry",
"lands_in": "enquiries",
"steps": [
{
"alternative": "Get someone to look at a building",
"expect": [
"Get someone to look at a building"
],
"fields": [
{
"label": "Your name",
"name": "name",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Email",
"name": "email",
"optional": false,
"options": [],
"type": "email"
},
{
"label": "Address of the building",
"name": "address",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "What's wrong",
"name": "problem",
"optional": false,
"options": [],
"type": "textarea"
}
],
"options": [
{
"description": "For housing boards and private owners with a problem in a building who want us to come and take a look.",
"name": "Get someone to look at a building"
},
{
"description": "For owners who already know what they want built and need drawings, a permit application and a price.",
"name": "Get a price for a build"
},
{
"description": "For electrical, plumbing and scaffolding firms who want to be one of the firms we call when a job needs them.",
"name": "Join our subcontractor list"
},
{
"description": "For carpenters and apprentices who want to know if we're hiring.",
"name": "Ask about working with us"
},
{
"description": "For crew on site, ours or a subcontractor's, who've spotted a hazard, a near miss or the wrong materials.",
"name": "Report something from site"
}
],
"page": "/",
"question": "What brings you here?"
}
],
"success": [
"won"
],
"wants": "someone from Nordvik Bygg to come and look at the building and tell them what a fix would cost",
"who": "a housing board member or private owner with a problem in a building"
},
{
"done_when": [
"won",
"lost"
],
"enters_as": null,
"handled_by": "project_managers",
"id": "build-price-enquiry",
"lands_in": "enquiries",
"steps": [
{
"alternative": "Get a price for a build",
"expect": [
"Get a price for a build"
],
"fields": [
{
"label": "Your name",
"name": "name",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Email",
"name": "email",
"optional": false,
"options": [],
"type": "email"
},
{
"label": "Address of the site",
"name": "address",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "What you want built",
"name": "project",
"optional": false,
"options": [],
"type": "textarea"
},
{
"label": "When you'd like to start",
"name": "timeframe",
"optional": false,
"options": [
"As soon as possible",
"Within a year",
"Just exploring"
],
"type": "select"
}
],
"options": [
{
"description": "For housing boards and private owners with a problem in a building who want us to come and take a look.",
"name": "Get someone to look at a building"
},
{
"description": "For owners who already know what they want built and need drawings, a permit application and a price.",
"name": "Get a price for a build"
},
{
"description": "For electrical, plumbing and scaffolding firms who want to be one of the firms we call when a job needs them.",
"name": "Join our subcontractor list"
},
{
"description": "For carpenters and apprentices who want to know if we're hiring.",
"name": "Ask about working with us"
},
{
"description": "For crew on site, ours or a subcontractor's, who've spotted a hazard, a near miss or the wrong materials.",
"name": "Report something from site"
}
],
"page": "/",
"question": "What brings you here?"
}
],
"success": [
"won"
],
"wants": "drawings, a permit application and a price for the work",
"who": "an owner who already knows what they want built"
},
{
"done_when": [
"approved",
"declined"
],
"enters_as": null,
"handled_by": "project_managers",
"id": "subcontractor-application",
"lands_in": "subcontractors",
"steps": [
{
"alternative": "Join our subcontractor list",
"expect": [
"Join our subcontractor list"
],
"fields": [
{
"label": "Company name",
"name": "company_name",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Email",
"name": "contact_email",
"optional": false,
"options": [],
"type": "email"
},
{
"label": "Trade",
"name": "trade",
"optional": false,
"options": [
"Electrical",
"Plumbing",
"Scaffolding"
],
"type": "select"
},
{
"label": "Company registration number",
"name": "registration_number",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Insurance policy details",
"name": "insurance",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Trade approval reference",
"name": "trade_approval",
"optional": true,
"options": [],
"type": "text"
}
],
"options": [
{
"description": "For housing boards and private owners with a problem in a building who want us to come and take a look.",
"name": "Get someone to look at a building"
},
{
"description": "For owners who already know what they want built and need drawings, a permit application and a price.",
"name": "Get a price for a build"
},
{
"description": "For electrical, plumbing and scaffolding firms who want to be one of the firms we call when a job needs them.",
"name": "Join our subcontractor list"
},
{
"description": "For carpenters and apprentices who want to know if we're hiring.",
"name": "Ask about working with us"
},
{
"description": "For crew on site, ours or a subcontractor's, who've spotted a hazard, a near miss or the wrong materials.",
"name": "Report something from site"
}
],
"page": "/",
"question": "What brings you here?"
}
],
"success": [
"approved"
],
"wants": "to get on Nordvik Bygg's list of subcontractors they call for work",
"who": "a trade firm doing electrical, plumbing or scaffolding work"
},
{
"done_when": [
"hired",
"declined"
],
"enters_as": null,
"handled_by": "project_managers",
"id": "job-application",
"lands_in": "applicants",
"steps": [
{
"alternative": "Ask about working with us",
"expect": [
"Ask about working with us"
],
"fields": [
{
"label": "Your name",
"name": "name",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Email",
"name": "email",
"optional": false,
"options": [],
"type": "email"
},
{
"label": "What you do",
"name": "role",
"optional": false,
"options": [
"Carpenter",
"Apprentice carpenter",
"Other"
],
"type": "select"
},
{
"label": "Anything else we should know",
"name": "message",
"optional": false,
"options": [],
"type": "textarea"
}
],
"options": [
{
"description": "For housing boards and private owners with a problem in a building who want us to come and take a look.",
"name": "Get someone to look at a building"
},
{
"description": "For owners who already know what they want built and need drawings, a permit application and a price.",
"name": "Get a price for a build"
},
{
"description": "For electrical, plumbing and scaffolding firms who want to be one of the firms we call when a job needs them.",
"name": "Join our subcontractor list"
},
{
"description": "For carpenters and apprentices who want to know if we're hiring.",
"name": "Ask about working with us"
},
{
"description": "For crew on site, ours or a subcontractor's, who've spotted a hazard, a near miss or the wrong materials.",
"name": "Report something from site"
}
],
"page": "/",
"question": "What brings you here?"
}
],
"success": [
"hired"
],
"wants": "to find out if Nordvik Bygg is hiring and put themselves forward",
"who": "a carpenter or apprentice looking for work"
},
{
"done_when": [
"closed"
],
"enters_as": null,
"handled_by": "safety_officer",
"id": "report-site-issue",
"lands_in": "site_issues",
"steps": [
{
"alternative": "Report something from site",
"expect": [
"Report something from site"
],
"fields": [
{
"label": "What kind of issue",
"name": "issue_type",
"optional": false,
"options": [
"Hazard",
"Near miss",
"Wrong materials delivered"
],
"type": "select"
},
{
"label": "Where on site",
"name": "location",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "What happened",
"name": "details",
"optional": false,
"options": [],
"type": "textarea"
}
],
"options": [
{
"description": "For housing boards and private owners with a problem in a building who want us to come and take a look.",
"name": "Get someone to look at a building"
},
{
"description": "For owners who already know what they want built and need drawings, a permit application and a price.",
"name": "Get a price for a build"
},
{
"description": "For electrical, plumbing and scaffolding firms who want to be one of the firms we call when a job needs them.",
"name": "Join our subcontractor list"
},
{
"description": "For carpenters and apprentices who want to know if we're hiring.",
"name": "Ask about working with us"
},
{
"description": "For crew on site, ours or a subcontractor's, who've spotted a hazard, a near miss or the wrong materials.",
"name": "Report something from site"
}
],
"page": "/",
"question": "What brings you here?"
}
],
"success": [
"closed"
],
"wants": "to flag a hazard, a near miss or wrong materials fast, from their phone",
"who": "a crew member on site, ours or a subcontractor's"
},
{
"done_when": [
"won",
"lost"
],
"enters_as": "project_managers",
"handled_by": "project_managers",
"id": "log-phone-enquiry",
"lands_in": "enquiries",
"steps": [
{
"alternative": "Log this enquiry",
"expect": [
"Log this enquiry"
],
"fields": [
{
"label": "Their name",
"name": "caller_name",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Phone or email",
"name": "contact",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "Address of the building",
"name": "address",
"optional": false,
"options": [],
"type": "text"
},
{
"label": "What they told you",
"name": "problem",
"optional": false,
"options": [],
"type": "textarea"
},
{
"label": "How soon",
"name": "urgency",
"optional": false,
"options": [
"This week",
"This month",
"No rush"
],
"type": "select"
}
],
"options": [
{
"description": "",
"name": "Log this enquiry"
}
],
"page": "/desk/phone-enquiry",
"question": "What did they tell you?"
}
],
"success": [
"won"
],
"wants": "to get the enquiry into the system before it gets lost",
"who": "a project manager who just took a call, email or text about a building"
}
],
"personas": [
{
"id": "housing-board-cracks",
"need": "survey-enquiry",
"text": "There are cracks running up the outside wall of our building and none of us know if it's serious. We just want someone qualified to come look at it and tell us what we're dealing with."
},
{
"id": "homeowner-leaking-roof",
"need": "survey-enquiry",
"text": "Water's coming through the ceiling every time it rains. I don't know if it's the roof or something else, I just want someone to come out and have a look before it gets worse."
},
{
"id": "homeowner-extension",
"need": "build-price-enquiry",
"text": "We want to add a room above the garage. We know roughly what we want, we just need someone to draw it up, sort the paperwork with the municipality, and tell us what it will cost."
},
{
"id": "owner-basement-conversion",
"need": "build-price-enquiry",
"text": "I'd like to turn the basement into a flat. Need drawings, the permit sorted, and a proper price before I commit to anything."
},
{
"id": "electrician-more-work",
"need": "subcontractor-application",
"text": "We're a small electrical firm and we'd like to pick up more building work. We're registered and insured, just need to know who to talk to about getting on your books."
},
{
"id": "scaffolding-firm",
"need": "subcontractor-application",
"text": "We put up and take down scaffolding for building sites. We'd like to be one of the firms you call when a job needs it."
},
{
"id": "apprentice-asking",
"need": "job-application",
"text": "I'm in my second year as an apprentice carpenter and looking for a firm that'll keep me on after. Are you taking anyone on right now?"
},
{
"id": "experienced-carpenter",
"need": "job-application",
"text": "I've been doing carpentry for eight years, mostly older buildings. Wondered if you had any openings on site."
},
{
"id": "crew-loose-scaffold",
"need": "report-site-issue",
"text": "Noticed a scaffold board that's not sitting right, feels loose when you step on it. Wanted to flag it straight away before someone gets hurt, but I've got gloves on and no time for a long form."
},
{
"id": "subcontractor-wrong-delivery",
"need": "report-site-issue",
"text": "The delivery this morning was the wrong type of insulation, not what was on the drawings. Someone needs to know before it gets used."
}
]
}