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

3.8 KiB

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 }