How to read the conditions
Almost every field after the first two is hidden until prior answers match. ServiceM8 encodes that with operators on prior question UUIDs.
| Operator | Meaning in this form | Example |
|---|---|---|
NCON |
Answer contains the value (substring) | Scope contains Exterior → matches both Exterior ONLY and Exterior and Interior |
CON |
Answer does not contain the value | Condition notes show when rating is CON Good (i.e. Fair or Poor) |
AND / OR |
How multiple conditions combine | Remedy detail fields use AND. Many type+scope gates are stored as OR. |
Exterior or Interior, so choosing
Exterior and Interior unlocks both halves of the form.
Remedies also use substring match so Add matches
Add To Description.
A. Overall flow
The form is not one linear questionnaire. Two multi-selects unlock the right exterior and interior checklists, then optional service recommendations, then a closing safety flag.
flowchart TB start([Start form]) --> scope["Inspection Scope
multi-select"] scope --> type["Chimney Identification
multi-select"] type --> extGate{Scope contains Exterior?} type --> intGate{Scope contains Interior?} extGate -->|yes| extSystems["Exterior checklists
by system type"] extSystems --> extRem["Exterior Remedies 1-4
pick services"] extRem --> extRemDetail["Per service:
Use / Add / Replace description"] intGate -->|yes| intSystems["Interior checklists
by system type"] intSystems --> intRem["Interior Remedies 1-4
pick services"] intRem --> intRemDetail["Per service:
Use / Add / Replace description"] extGate -->|no| skipExt([Skip exterior]) intGate -->|no| skipInt([Skip interior]) extRemDetail --> closeQ intRemDetail --> closeQ skipExt --> closeQ skipInt --> closeQ closeQ["Are there needed items
before further use?"] closeQ -->|Yes| closeText["What items are needed?"] closeQ -->|No| done([Form complete]) closeText --> done classDef root fill:#e8f1ff,stroke:#3b6fb6,color:#1a2332 classDef ext fill:#e7f0fb,stroke:#4a7ab8,color:#1a2332 classDef int fill:#e8f5e9,stroke:#4a9a68,color:#1a2332 classDef rem fill:#fff6e0,stroke:#c4922a,color:#1a2332 classDef close fill:#fdecee,stroke:#c45c6a,color:#1a2332 class scope,type root class extSystems,extRem,extRemDetail ext class intSystems,intRem,intRemDetail int class closeQ,closeText close
B. Gatekeeper decisions
Both root questions are multi-answer. You can inspect more than one system type on the same job (e.g. masonry + stove).
flowchart TB
scope["Inspection Scope"]
scope --> s1["Exterior and Interior"]
scope --> s2["Exterior ONLY"]
scope --> s3["Interior ONLY"]
s1 --> bothExt["Unlock exterior blocks"]
s1 --> bothInt["Unlock interior blocks"]
s2 --> onlyExt["Unlock exterior blocks"]
s3 --> onlyInt["Unlock interior blocks"]
type["Chimney Identification"]
type --> t1["Masonry"]
type --> t2["Prefab"]
type --> t3["Stove"]
type --> t4["Direct Vent"]
t1 --> mExt["Masonry Exterior"]
t1 --> mInt["Masonry Interior"]
t2 --> pExt["Prefab Exterior"]
t2 --> pInt["Prefab Interior"]
t3 --> stExt["Stove Exterior"]
t3 --> stInt["Stove Interior"]
t4 --> dExt["Direct Vent Exterior"]
t4 --> dInt["Direct Vent Interior"]
bothExt -.-> mExt
bothExt -.-> pExt
bothExt -.-> stExt
bothExt -.-> dExt
onlyExt -.-> mExt
onlyExt -.-> pExt
onlyExt -.-> stExt
onlyExt -.-> dExt
bothInt -.-> mInt
bothInt -.-> pInt
bothInt -.-> stInt
bothInt -.-> dInt
onlyInt -.-> mInt
onlyInt -.-> pInt
onlyInt -.-> stInt
onlyInt -.-> dInt
classDef root fill:#e8f1ff,stroke:#3b6fb6
classDef ext fill:#e7f0fb,stroke:#4a7ab8
classDef int fill:#e8f5e9,stroke:#4a9a68
class scope,type,s1,s2,s3,t1,t2,t3,t4 root
class bothExt,onlyExt,mExt,pExt,stExt,dExt ext
class bothInt,onlyInt,mInt,pInt,stInt,dInt int
OR with two
NCON conditions — if fields ever show for the wrong combination
in the app, that encoding is the first place to check.
C. Inspection component pattern
Most exterior and interior “parts” of a chimney follow the same template. Photo chains and defect notes are optional follow-ups, not always visible.
flowchart TB show["Component is visible
type + scope match"] --> photo1["Photo 1
often with help text"] photo1 --> take2{"Take Photo 2?"} take2 -->|Yes| photo2["Photo 2"] take2 -->|No| rate photo2 --> take3{"Take Photo 3?"} take3 -->|Yes| photo3["Photo 3"] take3 -->|No| rate photo3 --> rate["Condition rating
Good / Fair / Poor"] rate --> goodPath{Rating is Good?} goodPath -->|Yes| nextComp([Next component]) goodPath -->|No| notes["Defect notes
multi-select canned issues + Other"] notes --> otherQ{Notes include Other?} otherQ -->|Yes| otherText["Free-text Other notes"] otherQ -->|No| nextComp otherText --> nextComp classDef photo fill:#e7f0fb,stroke:#4a7ab8 classDef choice fill:#fff6e0,stroke:#c4922a classDef text fill:#f3eef8,stroke:#7a6a9a class photo1,photo2,photo3 photo class take2,take3,rate,goodPath,otherQ,notes choice class otherText text
Examples of components that use this pattern: Prefab cap/spark arrestor, Masonry crown, Stove pipe, Direct Vent glass and gasket, etc. Some components skip the photo-2/3 ladder or skip notes and only rate Good/Fair/Poor.
D. Remedy / recommended service pattern
After the relevant inspection half, the tech can pick services from four multi-select lists (split only because the catalog is long). Each selected service opens description controls; a few also allow photos.
flowchart TB scopeOk["Scope contains Exterior
or Interior"] --> lists["Remedies 1-4
multi-select services"] lists --> picked{"Service selected?"} picked -->|No| skip([No detail fields]) picked -->|Yes| mode["Use Remedy Description
Add To Description
Replace Description"] mode --> usePath{Mode} usePath -->|Use| keep([Keep default blurb in additionalDetails]) usePath -->|Add| addText["Add To free-text field"] usePath -->|Replace| repText["Replace free-text field"] picked -->|Yes| photoQ{"This service has
Add Photos option?"} photoQ -->|No| doneRem([Done for this service]) photoQ -->|Yes| wantPhotos{"Add Photos?"} wantPhotos -->|No| doneRem wantPhotos -->|Yes| p1["Photo 1"] p1 --> p2q{"Take Photo 2?"} p2q -->|Yes| p2["Photo 2"] p2q -->|No| doneRem p2 --> p3q{"Take Photo 3?"} p3q -->|Yes| p3["Photo 3"] p3q -->|No| doneRem p3 --> doneRem addText --> doneRem repText --> doneRem keep --> doneRem classDef rem fill:#fff6e0,stroke:#c4922a classDef photo fill:#e7f0fb,stroke:#4a7ab8 classDef text fill:#f3eef8,stroke:#7a6a9a class lists,mode,picked,usePath,photoQ,wantPhotos rem class p1,p2,p3 photo class addText,repText text
Services with optional photo chains
- Exterior: Custom Service, Flue Fire Restoration, L-Series Damper Cap Installation, Step Flashing Replacement Chase
- Interior: 36" Forever Fireplace, 42" Forever Fireplace, Custom Service, Electric Install Into Wall, Flue Fire Restoration, Rotary Fireplace Cleaning
E. Exterior checklists by system
Shown when scope contains Exterior and the matching system type is selected. Each bullet is a component that generally follows the photo → rate → notes pattern.
flowchart LR
ext([Exterior unlocked]) --> prefab
ext --> masonry
ext --> stove
ext --> dv
subgraph prefab [Prefab Exterior]
direction TB
pe1[Overall exterior photo]
pe2[Cap / spark arrestor]
pe3[Chase cover / storm collar]
pe4[Chase structure]
pe5[Flashing]
pe6[Overall exterior notes]
pe1 --> pe2 --> pe3 --> pe4 --> pe5 --> pe6
end
subgraph masonry [Masonry Exterior]
direction TB
me1[Setting photo]
me2[Cap / spark arrestor]
me3[Crown / masonry top]
me4[Brick / stone / mortar]
me5[Flashing]
me6[Overall exterior notes]
me1 --> me2 --> me3 --> me4 --> me5 --> me6
end
subgraph stove [Stove Exterior]
direction TB
se1[Exterior photo]
se2[Cap / spark arrestor]
se3[Flashing / roof pass-thru]
se1 --> se2 --> se3
end
subgraph dv [Direct Vent Exterior]
direction TB
de1[Exterior photo]
de2[Termination cap]
de3[Venting / pass-thru]
de1 --> de2 --> de3
end
prefab --> remedies([Then Exterior Remedies])
masonry --> remedies
stove --> remedies
dv --> remedies
F. Interior checklists by system
Shown when scope contains Interior and the matching system type is selected. Note: in field sort order, Masonry interior appears before Prefab interior.
flowchart LR
intUnlock([Interior unlocked]) --> mas
intUnlock --> pre
intUnlock --> stv
intUnlock --> dvi
subgraph mas [Masonry Interior]
direction TB
mi1[Room / floor]
mi2[Fireplace photo]
mi3[Firebox]
mi4[Damper]
mi5[Smoke chamber]
mi6[Flue / liner]
mi7[Ash pit cleanout?]
mi8[Repairs needed before use?]
mi1 --> mi2 --> mi3 --> mi4 --> mi5 --> mi6 --> mi7 --> mi8
end
subgraph pre [Prefab Interior]
direction TB
pi1[Room / floor]
pi2[Fireplace + tag / model plate]
pi3[Optional top-of-unit photos]
pi4[Firebox / refractory]
pi5[Damper]
pi6[Flue / venting]
pi7[Prior flue fire?]
pi8[Overall notes]
pi1 --> pi2 --> pi3 --> pi4 --> pi5 --> pi6 --> pi7 --> pi8
end
subgraph stv [Stove Interior]
direction TB
si1[Room / floor]
si2[Appliance + tag]
si3[Stove pipe]
si4[Flue]
si5[Masonry thimble / breach]
si6[Prior flue fire?]
si7[Overall notes]
si1 --> si2 --> si3 --> si4 --> si5 --> si6 --> si7
end
subgraph dvi [Direct Vent Interior]
direction TB
di1[Room / floor]
di2[Fireplace + overall notes]
di3[Glass and gasket]
di4[Logs and placement]
di5[Pilot assembly]
di6[Decorative accessories]
di7[Valve / compartment]
di8[Overall notes]
di1 --> di2 --> di3 --> di4 --> di5 --> di6 --> di7 --> di8
end
mas --> intRem([Then Interior Remedies])
pre --> intRem
stv --> intRem
dvi --> intRem
G. Remedy catalogs
Split into four multi-select fields per half so choice lists stay manageable. Selecting a service reveals that service’s Use / Add / Replace controls.
Exterior Remedies
Exterior Remedies 1
- Attic Shield/Fire Stop Install
- Brick Rebuild - Entire Chimney
- Brick Replacement / Cut and Plug Brick
- Chase Cover Install
- Chase Flashing Replacement
- Chimney Cap Install
- Custom Service
- Cut in Flashing Installation
Exterior Remedies 2
- E-Plus Damper Cap Installation
- Elastomeric Crown Repair
- Flue Fire Restoration
- L-Series Damper Cap Installation
- Masonry Cricket Flashing System
- Masonry Flashing Replacement
- Moisture Protection
- Multi Flue Cap Install
Exterior Remedies 3
- Overhang Crown Pour
- Partial Brick Rebuild
- Pre-Fab Chimney Cap Replacement
- Reinforced Flashing Repair
- Shoulder Stones for Masonry Chimney
- Siding and Trim Replacement with Paint and Caulk
- Step Flashing Replacement Chase
Exterior Remedies 4
- Storm Collar Installation
- Tile in Reline / Standard Reline
- Tile Remove Reline
- Trim Replacement with Paint and Caulk
- Tuck-Pointing / Tuck Pointing
- Utility Flue Reline
- Wash Crown Pour
Interior Remedies
Interior Remedies 1
- 36 inch Forever Fireplace
- 42 inch Forever Fireplace
- Ash Pit Wood Removal
- Black Stove Pipe Replacement
- Custom Facelift Remodel
- Custom Service
- Direct Vent Change out to Direct Vent
- Direct Vent Refresh Kit
Interior Remedies 2
- EF-M
- Electric Fireplace Install into Prefab
- Electric Install Into Wall
- Factory Built Fireplace and Flue System Replacement to Pre-Flue Fire Condition
- Flue Fire Restoration
- Free Standing Stove Flue Replacement
- Free Standing Wood Stove Install Through Roof
- Free Standing Wood Stove Install Through Wall
Interior Remedies 3
- Gas Direct Vent Insert Install
- Isokern Install
- Masonry Fireplace Firebox Rebuild
- New Construction Direct Vent Gas Fireplace Installation
- Pre-Fab Pipe Replacement
- Prior Fire Complete System Installed
- Refractory Panel Replacement
- Rotary Fireplace Cleaning
Interior Remedies 4
- Smoke Chamber Parge to Flue Tile
- Smoke Guard Installation
- Stove Firebrick Replacement
- Stainless Steel Liner Install Through Masonry Chimney
- Vented Gas Log Install
- Ventfree Gas Log Install
- Wood burning Insert Liner ONLY
- Wood Burning Stove Insert Install
- Zero Clearance Wood Burning Fireplace Install
Closing (always shown)
flowchart LR q["Are there needed items
before further use?"] -->|Yes| t["What items are needed
for further use?"] q -->|No| done([Done]) t --> done classDef close fill:#fdecee,stroke:#c45c6a class q,t close
Field sort order (major blocks)
How the form is ordered in ServiceM8, regardless of which branches are visible:
| Order | Block |
|---|---|
| 1–2 | Root: Inspection Scope, Chimney Identification |
| 3–35 | Prefab Exterior |
| 36–69 | Masonry Exterior |
| 70–86 | Stove Exterior |
| 87–99 | Direct Vent Exterior |
| 100–217 | Exterior Remedies |
| 218–261 | Masonry Interior |
| 262–298 | Prefab Interior |
| 299–321 | Stove Interior |
| 322–357 | Direct Vent Interior |
| 358–496 | Interior Remedies |
| 497–498 | Closing / needed items |