Files
portal/runs/contractor-planned-2026-09-24/llm/01-reply.md
T

105 lines
3.8 KiB
Markdown

```yaml
business: Nordvik Bygg
language: en
contact: { name: Ingrid Nordvik, email: ingrid@nordvikbygg.example }
about: >
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.
mail: { from: "Nordvik Bygg <post@nordvikbygg.example>", reply_to: ingrid@nordvikbygg.example }
does:
- id: survey-and-quote
for: building-problem
text: We come and look at your building, draw up a plan and send you a quote.
- id: design-permit-build
for: known-project
text: We draw the plans, handle the permit application and build it.
needs:
- id: building-problem
who: A housing board or private owner with a problem with a building
wants: Someone to come and look at it, and tell them what it would cost to fix
lands_in: enquiries
handled_by: project_managers
stages: [open, surveyed, quoted, won, lost, declined]
done_when: [won, lost, declined]
success: [won]
skippable: [surveyed, quoted]
mails: { open: submitter, quoted: submitter, won: submitter, lost: submitter, declined: submitter }
max_fields: 4
collects:
- { name: name }
- { name: email, type: email }
- { name: phone, type: tel, optional: true }
- { name: address }
- { name: problem, type: textarea }
- id: known-project
who: An owner who already knows what they want built
wants: Drawings, a permit application and a price
lands_in: enquiries
handled_by: project_managers
stages: [open, surveyed, quoted, won, lost, declined]
done_when: [won, lost, declined]
success: [won]
skippable: [surveyed, quoted]
mails: { open: submitter, quoted: submitter, won: submitter, lost: submitter, declined: submitter }
max_fields: 4
collects:
- { name: name }
- { name: email, type: email }
- { name: address }
- { name: project, type: textarea }
- id: subcontractor-application
who: A trade firm that wants to be on our list of subcontractors
wants: To be approved as a subcontractor
lands_in: subcontractors
handled_by: project_managers
stages: [open, checking, papers_requested, approved, rejected]
done_when: [approved, rejected]
success: [approved]
skippable: [papers_requested]
mails: { open: submitter, papers_requested: submitter, approved: submitter, rejected: submitter }
max_fields: 5
collects:
- { name: company_name }
- { name: registration_number }
- { name: trade, type: select, options: [Electrical, Plumbing, Scaffolding, Other] }
- { name: insurance }
- { name: email, type: email }
- id: job-application
who: A carpenter or apprentice asking if we are hiring
wants: To apply for a job with us
lands_in: applications
handled_by: project_managers
stages: [open, interview, hired, declined]
done_when: [hired, declined]
success: [hired]
skippable: [interview]
mails: { open: submitter, interview: submitter, hired: submitter, declined: submitter }
max_fields: 4
collects:
- { name: name }
- { name: email, type: email }
- { name: role, type: select, options: [Carpenter, Apprentice] }
- { name: message, type: textarea }
- id: site-report
who: Crew on site, ours or a subcontractor's
wants: To report a hazard, near miss or wrong materials before it is forgotten
enters_as: crew
lands_in: site_reports
handled_by: safety_officer
stages: [open, closed]
done_when: [closed]
success: [closed]
max_fields: 3
collects:
- { name: type, type: select, options: [Hazard, Near miss, Wrong materials] }
- { name: description, type: textarea }
- { name: location, optional: true }
```