# Get a permit for a home remodel

> A process map exported from forks.world (https://forks.world). Author: forks.world community. Source: https://forks.world/p/cmv3g9o24000tjk0629hx8htm
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 13 steps across 1 layer
- Persona: Homeowner, Contractor or designer, City building department
- Technology / systems: Permit portal

## Pain points

Where this process hurts, worst first:

- **Review the plans** (Get a permit for a home remodel; critical): Plan review can take weeks to months depending on the city

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Get a permit for a home remodel

Lanes:
- Homeowner: person / role (id `you`)
- Contractor or designer: person / role (id `pro`)
- City building department: person / role (id `city`)
- Permit portal: technology / system (id `portal`)

Steps, in the order they run:

1. **Plan a remodel** [start; Homeowner; id `h1`]
   - then Does the work need a permit? (structural, electrical, plumbing, adding space)
2. **Does the work need a permit? (structural, electrical, plumbing, adding space)** [decision; Homeowner; id `h2`]
   - if "Yes" go to Draw up plans; if "No" go to Remodel done
3. **Draw up plans** [task; Contractor or designer; id `h3`]
   - then Apply for the permit and pay the fees
4. **Apply for the permit and pay the fees** [task; Contractor or designer; id `h4`], using Permit portal
   - then Review the plans
5. **Review the plans** [task; City building department; id `h5`] ⚠ PAIN POINT (critical): Plan review can take weeks to months depending on the city
   - if "Approved" go to Issue the permit; if "Needs changes" go to Revise the plans and resubmit
6. **Issue the permit** [task; City building department; id `h7`]
   - then Post the permit at the job site
7. **Post the permit at the job site** [task; Homeowner; id `h8`]
   - then Do the work in stages
8. **Do the work in stages** [task; Contractor or designer; id `h9`]
   - then Inspect each stage before walls close up
9. **Inspect each stage before walls close up** [task; City building department; id `h10`]
   - if "Passes" go to Pass the final inspection and close the permit; if "Fails" go to Fix what failed and book a reinspection
10. **Pass the final inspection and close the permit** [task; City building department; id `h11`]
   - then Remodel done
11. **Remodel done** [end; Homeowner; id `h13`]
12. **Fix what failed and book a reinspection** [task; Contractor or designer; id `h12`]
   - then Inspect each stage before walls close up
13. **Revise the plans and resubmit** [task; Contractor or designer; id `h6`]
   - then Review the plans

```mermaid
flowchart LR
  subgraph l_you["Homeowner"]
    n_h1(["Plan a remodel"])
    n_h2{"Does the work need a permit? (structural, electrical, plumbing, adding space)"}
    n_h8["Post the permit at the job site"]
    n_h13(["Remodel done"])
  end
  subgraph l_pro["Contractor or designer"]
    n_h3["Draw up plans"]
    n_h4["Apply for the permit and pay the fees"]
    n_h6["Revise the plans and resubmit"]
    n_h9["Do the work in stages"]
    n_h12["Fix what failed and book a reinspection"]
  end
  subgraph l_city["City building department"]
    n_h5["Review the plans"]
    n_h7["Issue the permit"]
    n_h10["Inspect each stage before walls close up"]
    n_h11["Pass the final inspection and close the permit"]
  end
  n_h1 --> n_h2
  n_h2 -->|"Yes"| n_h3
  n_h2 -->|"No"| n_h13
  n_h3 --> n_h4
  n_h4 --> n_h5
  n_h5 -->|"Approved"| n_h7
  n_h5 -->|"Needs changes"| n_h6
  n_h6 --> n_h5
  n_h7 --> n_h8
  n_h8 --> n_h9
  n_h9 --> n_h10
  n_h10 -->|"Passes"| n_h11
  n_h10 -->|"Fails"| n_h12
  n_h12 --> n_h10
  n_h11 --> n_h13
```

## Full data (JSON)

```json
{
  "title": "Get a permit for a home remodel",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "you",
          "name": "Homeowner",
          "type": "person"
        },
        {
          "id": "pro",
          "name": "Contractor or designer",
          "type": "person"
        },
        {
          "id": "city",
          "name": "City building department",
          "type": "person"
        },
        {
          "id": "portal",
          "name": "Permit portal",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "h1",
          "kind": "start",
          "lane": "you",
          "next": [
            {
              "to": "h2"
            }
          ],
          "uses": [],
          "label": "Plan a remodel"
        },
        {
          "id": "h2",
          "kind": "decision",
          "lane": "you",
          "next": [
            {
              "to": "h3",
              "label": "Yes"
            },
            {
              "to": "h13",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the work need a permit? (structural, electrical, plumbing, adding space)"
        },
        {
          "id": "h3",
          "kind": "task",
          "lane": "pro",
          "next": [
            {
              "to": "h4"
            }
          ],
          "uses": [],
          "label": "Draw up plans"
        },
        {
          "id": "h4",
          "kind": "task",
          "lane": "pro",
          "next": [
            {
              "to": "h5"
            }
          ],
          "uses": [
            "portal"
          ],
          "label": "Apply for the permit and pay the fees"
        },
        {
          "id": "h5",
          "kind": "task",
          "lane": "city",
          "next": [
            {
              "to": "h7",
              "label": "Approved"
            },
            {
              "to": "h6",
              "label": "Needs changes"
            }
          ],
          "pain": {
            "note": "Plan review can take weeks to months depending on the city",
            "level": 3
          },
          "uses": [],
          "label": "Review the plans"
        },
        {
          "id": "h6",
          "kind": "task",
          "lane": "pro",
          "next": [
            {
              "to": "h5"
            }
          ],
          "uses": [],
          "label": "Revise the plans and resubmit"
        },
        {
          "id": "h7",
          "kind": "task",
          "lane": "city",
          "next": [
            {
              "to": "h8"
            }
          ],
          "uses": [],
          "label": "Issue the permit"
        },
        {
          "id": "h8",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "h9"
            }
          ],
          "uses": [],
          "label": "Post the permit at the job site"
        },
        {
          "id": "h9",
          "kind": "task",
          "lane": "pro",
          "next": [
            {
              "to": "h10"
            }
          ],
          "uses": [],
          "label": "Do the work in stages"
        },
        {
          "id": "h10",
          "kind": "task",
          "lane": "city",
          "next": [
            {
              "to": "h11",
              "label": "Passes"
            },
            {
              "to": "h12",
              "label": "Fails"
            }
          ],
          "uses": [],
          "label": "Inspect each stage before walls close up"
        },
        {
          "id": "h12",
          "kind": "task",
          "lane": "pro",
          "next": [
            {
              "to": "h10"
            }
          ],
          "uses": [],
          "label": "Fix what failed and book a reinspection"
        },
        {
          "id": "h11",
          "kind": "task",
          "lane": "city",
          "next": [
            {
              "to": "h13"
            }
          ],
          "uses": [],
          "label": "Pass the final inspection and close the permit"
        },
        {
          "id": "h13",
          "kind": "end",
          "lane": "you",
          "next": [],
          "uses": [],
          "label": "Remodel done"
        }
      ],
      "title": "Get a permit for a home remodel",
      "parent": null
    }
  }
}
```
