Configuration Guide: Inspection Calendars
Version: 1.0 Last Updated: 2026-01-16 Audience: System Administrators Feature: Inspection Calendar Configuration for Permit Workflows
Overview
This guide walks you through configuring inspection calendars that enable citizens to schedule inspections for approved permits. It covers entity setup, form creation, calendar configuration, and the critical mapping between inspection codes, calendars, and permit entities.
What You'll Configure
- Part 1: Entity Architecture - Inspection entity, inspection codes, and entity relationships
- Part 2: Forms Setup - Inspection Review Form and Permit/Record Update Forms
- Part 3: Calendar Configuration - Creating and configuring Round Robin calendars
- Part 4: Inspection Code Mapping - Linking codes to calendars and permit types
Entity Dependency Map
Understanding how inspection entities relate to permit entities and calendars:
| Layer | Components | Description |
|---|---|---|
| Master Permit Entities | Building Permit, Trades Permits, License | Store permit application data - citizens submit applications here |
| Inspection Entity | Inspection Records | Stores individual inspection records linked to permits (one permit has many inspections) |
| Inspection Codes Entity | Code definitions | Master list of inspection types - controls what inspections are available |
| Calendars | Round Robin calendars | Each links to specific forms for the workflow |
Key Relationships
| Master Entity | Description | Calendar(s) Using This Entity |
|---|---|---|
| Master Building Permit | Residential/commercial building permits | Building Inspections |
| Master Trades Permits | Electrical, plumbing, fire, HVAC permits | Electrical, Plumbing, Fire, HVAC Inspections |
| Master License | Business licenses, rental housing, signs | Rental Housing, Sign Inspections |
Key Concept: Inspection Code to Calendar to Forms to Entity
Each inspection code is linked to exactly ONE calendar. Each calendar is linked to exactly TWO forms:
- Inspection Review Form (same form for all calendars, built on Inspection entity)
- Permit Update Form (different form per calendar, built on the parent permit entity)
This design allows:
- Multiple inspection codes to share one calendar
- Each calendar to update the correct permit entity type
- Inspectors to use consistent workflows across inspection types
Prerequisites
Before starting, ensure you have:
- Admin access to Entity Manager
- Admin access to Calendar Settings
- Understanding of which permit types require inspections
- Inspection codes populated in Inspection Codes entity
- Tax Map zones configured (if using zone-based inspector assignment)
Part 1: Entity Architecture
Step 1: Review Existing Master Entities
Before creating the Inspection entity, identify which master permit entities will have inspections:
| Master Entity | Description | Calendar(s) Using This Entity |
|---|---|---|
| Master Building Permit | Residential/commercial building permits | Building Inspections |
| Master Trades Permits | Electrical, plumbing, fire, HVAC permits | Electrical, Plumbing, Fire, HVAC Inspections |
| Master License | Business licenses, rental housing, signs | Rental Housing, Sign Inspections |
Step 2: Create the Inspection Entity
The Inspection entity stores individual inspection records and links them to parent permits.
2.1 Navigate to Entity Manager
- Open Entity Manager
- Click Create New Entity
2.2 Configure Entity Basic Information
| Setting | Value | Description |
|---|---|---|
| Entity Name | Inspections | Display name |
| Entity Key | inspections | System identifier |
| Description | Individual inspection records linked to permits | Internal documentation |
2.3 Add Entity Fields
| Field Name | Field Type | Required | Description |
|---|---|---|---|
inspection_id | Auto ID | Yes | Primary key (auto-generated) |
building_permit | Association | Conditional | Two-way binding to Master Building Permit |
trades_permit | Association | Conditional | Two-way binding to Master Trades Permits |
license | Association | Conditional | Two-way binding to Master License |
inspection_code | Association | Yes | Link to Inspection Codes entity |
scheduled_date | DateTime | Yes | Scheduled inspection date/time |
inspector | User | No | Assigned inspector (populated by calendar) |
appointment_id | Text | No | Calendar appointment reference ID |
status | Dropdown | Yes | Inspection status |
result | Dropdown | No | Inspection result |
inspector_notes | Textarea | No | Inspector comments and observations |
corrections_required | Textarea | No | Required corrections (if Fail/Conditional) |
photos | File Upload | No | Inspection photo documentation |
reinspection_required | Boolean | No | Flag for scheduling follow-up |
reinspection_date | Date | No | Estimated completion / reinspection date |
completed_date | DateTime | No | Actual completion timestamp |
created_at | DateTime | Yes | Record creation timestamp |
updated_at | DateTime | Yes | Last modification timestamp |
2.4 Configure Status Field Options
| Option Value | Display Label | Description |
|---|---|---|
| scheduled | Scheduled | Inspection booked, awaiting completion |
| completed | Completed | Inspector has finished |
| cancelled | Cancelled | Appointment cancelled |
| no_show | No-Show | Citizen/property not available |
2.5 Configure Result Field Options
| Option Value | Display Label | Description |
|---|---|---|
| pass | Pass | Inspection passed |
| fail | Fail | Inspection failed - corrections required |
| conditional | Conditional Pass | Minor issues, conditional approval |
| reinspection | Needs Reinspection | Must schedule follow-up |
2.6 Save Entity
- Review all fields
- Click Save to create the entity
- Note the Entity ID for form creation
Step 3: Configure Two-Way Bindings
For each master entity, establish a two-way binding with the Inspection entity.
3.1 Add Association to Master Building Permit
- Open Master Building Permit entity
- Add new field:
| Setting | Value |
|---|---|
| Field Name | inspections |
| Field Type | Association (Multiple) |
| Related Entity | Inspections |
| Relationship | One-to-Many |
- Return to Inspections entity and verify
building_permitfield links back
3.2 Add Association to Master Trades Permits
- Open Master Trades Permits entity
- Add new field:
| Setting | Value |
|---|---|
| Field Name | inspections |
| Field Type | Association (Multiple) |
| Related Entity | Inspections |
| Relationship | One-to-Many |
3.3 Add Association to Master License
- Open Master License entity
- Add new field:
| Setting | Value |
|---|---|
| Field Name | inspections |
| Field Type | Association (Multiple) |
| Related Entity | Inspections |
| Relationship | One-to-Many |
Step 4: Configure Inspection Codes Entity
The Inspection Codes entity should already exist. Ensure it has the required fields:
4.1 Required Fields for Inspection Codes
| Field Name | Field Type | Required | Description |
|---|---|---|---|
code | Text | Yes | Selectron IVR code (e.g., "200", "300") |
name | Text | Yes | Inspection type name |
category | Dropdown | Yes | Category for grouping |
is_active | Boolean | Yes | Enable/disable code |
calendar_id | Association | No | Link to calendar (optional - can map via category) |
4.2 Configure Category Field Options
| Option Value | Display Label | Calendar |
|---|---|---|
| building | Building | Building Inspections |
| electrical | Electrical | Electrical Inspections |
| plumbing | Plumbing | Plumbing Inspections |
| fire | Fire | Fire Inspections |
| mechanical | Mechanical (HVAC) | HVAC/Mechanical Inspections |
| rental | Rental Housing | Rental Housing Inspections |
| sign | Sign | Sign Inspections |
Part 2: Forms Setup
Step 5: Create Inspection Review Form
This single form is used by all calendars for inspectors to record results.
5.1 Navigate to Form Builder
- Open Entity Manager
- Select Inspections entity
- Go to Forms tab
- Click Create New Form
5.2 Configure Form Settings
| Setting | Value |
|---|---|
| Form Name | Inspection Review Form |
| Form Type | Update (modifies existing inspection record) |
| Description | Inspector completes after conducting inspection |
| Access | Internal (Staff only) |
5.3 Add Form Fields
| Field | Type | Required | Options/Notes |
|---|---|---|---|
| Result | Dropdown | Yes | Pass, Fail, Conditional Pass, Needs Reinspection |
| Inspector Notes | Textarea | No | Observations, comments |
| Corrections Required | Textarea | Conditional | Show if Result = Fail or Conditional |
| Photos | File Upload | No | Multiple images allowed |
| Reinspection Required | Checkbox | No | Triggers follow-up scheduling workflow |
| Estimated Completion | Date | Conditional | Show if Reinspection Required = true |
5.4 Save and Publish Form
- Click Save to save form configuration
- Click Publish to make the form available
- Note the Form ID for calendar configuration
Step 6: Create Permit Update Forms
Create one Permit Update Form for each master entity type. These forms allow inspectors to update the parent permit record after an inspection.
6.1 Building Permit Update Form
Entity: Master Building Permit Used by: Building Inspections calendar
- Open Master Building Permit entity > Forms tab
- Click Create New Form
| Setting | Value |
|---|---|
| Form Name | Building Permit Update Form |
| Form Type | Update |
| Access | Internal |
Form Fields:
| Field | Type | Required | Options/Notes |
|---|---|---|---|
| Permit Status | Dropdown | No | Active, Corrections Needed, Approved, Final |
| Last Inspection Result | Dropdown | No | Pass, Fail, Conditional Pass, Needs Reinspection |
| Internal Notes | Textarea | No | Staff notes (not visible to citizen) |
6.2 Trades Permit Update Form
Entity: Master Trades Permits Used by: Electrical, Plumbing, Fire, HVAC/Mechanical calendars
- Open Master Trades Permits entity > Forms tab
- Click Create New Form
| Setting | Value |
|---|---|
| Form Name | Trades Permit Update Form |
| Form Type | Update |
| Access | Internal |
Form Fields:
| Field | Type | Required | Options/Notes |
|---|---|---|---|
| Permit Status | Dropdown | No | Active, Corrections Needed, Approved, Final |
| Last Inspection Result | Dropdown | No | Pass, Fail, Conditional Pass, Needs Reinspection |
| Internal Notes | Textarea | No | Staff notes |
6.3 License Update Form
Entity: Master License Used by: Rental Housing Inspections, Sign Inspections calendars
- Open Master License entity > Forms tab
- Click Create New Form
| Setting | Value |
|---|---|
| Form Name | License Update Form |
| Form Type | Update |
| Access | Internal |
Form Fields:
| Field | Type | Required | Options/Notes |
|---|---|---|---|
| License Status | Dropdown | No | Active, Corrections Needed, Approved, Expired |
| Last Inspection Result | Dropdown | No | Pass, Fail, Conditional Pass, Needs Reinspection |
| Internal Notes | Textarea | No | Staff notes |
Forms Summary
| Form | Built On Entity | Used By Calendars |
|---|---|---|
| Inspection Review Form | Inspections | All calendars (shared) |
| Building Permit Update Form | Master Building Permit | Building Inspections |
| Trades Permit Update Form | Master Trades Permits | Electrical, Plumbing, Fire, HVAC |
| License Update Form | Master License | Rental Housing, Sign Inspections |
Total Forms Required: 4
Part 3: Calendar Configuration
Step 7: Access Calendar Settings
- Navigate to Calendar in the left sidebar
- Click Calendar Settings (gear icon)
- Select Calendars tab
- Click + Create Calendar
Step 8: Calendar Creation Wizard
Calendar creation is a 2-step wizard followed by post-creation configuration.
Step 8.1: Choose Calendar Type
Select Round Robin for inspection calendars.
| Calendar Type | Description | Use Case |
|---|---|---|
| Round Robin | Distributes appointments among team members in rotating order | Inspection scheduling (Recommended) |
| Personal Booking | One-on-one with specific team member | Single inspector calendars |
| Collective Booking | Multiple hosts with one participant | Panel reviews |
Step 8.2: Basic Information
| Field | Label | Required | Description |
|---|---|---|---|
| Name | Calendar Name | Yes | Display name (e.g., "Building Inspections") |
| Description | Description | No | Brief description of calendar purpose |
Click Create to finish the wizard.
Step 9: Post-Creation Configuration
After creating the calendar, configure the following tabs:
Tab Overview
| Tab | Purpose | Required |
|---|---|---|
| Meeting Details | Name, team members, distribution strategy | Yes |
| Availability | Business hours, scheduling parameters | Yes |
| Forms | Inspection Review Form and Permit Update Form | Yes (Both) |
| Payment | Fee collection | Optional |
Step 10: Meeting Details Tab
10.1 Field Reference
| Field | Label | Description |
|---|---|---|
| Calendar Name | Calendar Name | Display name for the calendar |
| Description | Description | Rich text description |
| Group | Group | Optional calendar grouping |
| Custom URL | Custom URL | URL slug (e.g., "building-inspections") |
| Meeting Invite Title | Meeting Invite Title | Template for calendar invite title |
| Meeting Distribution | Meeting Distribution | How appointments are distributed |
10.2 Meeting Distribution Options
| Option | Description | Use For |
|---|---|---|
| Optimize for availability | Prioritize finding available time slots | Rental Housing, Signs |
| Optimize for equal distribution | Distribute meetings evenly across team members | Building, Trades |
10.3 Team Member Configuration
Click Select Team Members & Assign Meeting Location to add inspectors.
For each inspector, configure:
| Field | Description |
|---|---|
| Team Member | Select inspector from user list |
| Location Type | Defaults to Tax Map |
| Tax Map | Assign geographic zones to this inspector |
Step 11: Availability Tab
11.1 Timezone
Select the appropriate timezone (e.g., America/New_York for Eastern Time).
11.2 Weekly Available Hours
Configure business hours for each day:
| Day | Hours | Available |
|---|---|---|
| Monday | 8:00 AM - 5:00 PM | Yes |
| Tuesday | 8:00 AM - 5:00 PM | Yes |
| Wednesday | 8:00 AM - 5:00 PM | Yes |
| Thursday | 8:00 AM - 5:00 PM | Yes |
| Friday | 8:00 AM - 5:00 PM | Yes |
| Saturday | - | No |
| Sunday | - | No |
11.3 Hours Configuration
| Setting | Recommended Value | Description |
|---|---|---|
| Slot Interval | 1 hour | How often booking slots appear |
| Meeting Duration | 1 hour | Length of each inspection |
| Minimum Scheduling Notice | 1 day | Advance booking requirement |
| Date Range | 60 days | How far ahead citizens can book |
| Maximum Bookings per Day | Per calendar capacity | Daily limit |
| Maximum Bookings per Slot | 1 | One booking per time slot |
| Pre Buffer | 0 minutes | Time before appointment |
| Post Buffer | 15 minutes | Travel time between inspections |
11.4 Date Specific Hours (Holidays)
Add overrides for holidays and closures:
- Navigate to Date Specific Hours section
- Click Add Date Override
- Select date and mark as unavailable
Step 12: Forms Tab
IMPORTANT: Both forms are required. The calendar cannot be saved without both configured.
12.1 Field Reference
| Field | Label | Description |
|---|---|---|
| Inspection Review Form | Inspection Review Form | Form inspector completes after inspection |
| Permit Update Form | Permit Update Form | Form to update the parent permit record |
12.2 Configure Forms
- Inspection Review Form: Select "Inspection Review Form" (built on Inspections entity)
- Permit Update Form: Select the appropriate form based on calendar type:
| Calendar | Permit Update Form |
|---|---|
| Building Inspections | Building Permit Update Form |
| Electrical Inspections | Trades Permit Update Form |
| Plumbing Inspections | Trades Permit Update Form |
| Fire Inspections | Trades Permit Update Form |
| HVAC/Mechanical Inspections | Trades Permit Update Form |
| Rental Housing Inspections | License Update Form |
| Sign Inspections | License Update Form |
Step 13: Payment Tab (Optional)
If collecting inspection fees:
| Setting | Description |
|---|---|
| Accept Payments | Toggle on to enable |
| Total Amount | Fee amount |
| Currency | USD |
| Payment Provider | Govolution, Stripe, or PayPal |
| Payment Mode | Test (for testing) or Live (production) |
Part 4: Inspection Code Mapping
Understanding Code-to-Calendar Mapping
Inspection codes are mapped to calendars via the category field. When a citizen schedules an inspection:
- System looks up the inspection code's category
- Category determines which calendar handles the booking
- Calendar's Record Update Form determines which entity gets updated
Mapping Strategy
| Inspection Code Category | Calendar | Record Update Form | Master Entity |
|---|---|---|---|
| Building (200-221, etc.) | Building Cal | Building Permit Update | Master Building Permit |
| Electrical (300-310) | Electrical Cal | Trades Permit Update | Master Trades Permits |
| Plumbing (705-732) | Plumbing Cal | Trades Permit Update | Master Trades Permits |
| Fire (500-512) | Fire Cal | Trades Permit Update | Master Trades Permits |
| Mechanical (600, 603) | HVAC Cal | Trades Permit Update | Master Trades Permits |
| Rental (TBD) | Rental Cal | License Update | Master License |
| Sign (902) | Sign Cal | License Update | Master License |
Step 14: Verify Inspection Code Categories
Ensure all inspection codes have the correct category assigned:
14.1 Navigate to Inspection Codes
- Open Entity Manager
- Select Inspection Codes entity
- Click View Records
14.2 Verify Each Code
For each inspection code record, verify:
| Field | Expected Value |
|---|---|
| Code | Selectron IVR code |
| Name | Inspection type name |
| Category | Matches calendar category |
| Is Active | true |
14.3 Example: Building Codes
| Code | Name | Category |
|---|---|---|
| 200 | Ceiling Close In | Building |
| 201 | Damproof & Draintile | Building |
| 205 | Final Building | Building |
| 207 | Footings | Building |
| 209 | Frame | Building |
14.4 Example: Electrical Codes
| Code | Name | Category |
|---|---|---|
| 300 | Potomac Edison Service Release | Electrical |
| 301 | BGE Service Release | Electrical |
| 304 | Final Electric | Electrical |
| 305 | Residential Rough Wire | Electrical |
Handling Multiple Entities with Same Inspection Type
Scenario: Same Inspection Code, Different Parent Entities
In some cases, the same inspection type may apply to different permit entities. For example:
- A "Final Building" inspection could apply to both a Master Building Permit AND a Master Trades Permit
Solution: Inspection Record Links to Correct Parent
The Inspection entity has three parent association fields:
building_permit(FK to Master Building Permit)trades_permit(FK to Master Trades Permits)license(FK to Master License)
Only ONE of these fields is populated per inspection record. The system determines which field to populate based on:
- Which permit the citizen is scheduling an inspection for
- The permit entity type of that record
Example Workflow
-
Citizen has Building Permit #BLD-2025-001
-
Citizen schedules "Footings Inspection" (code 207)
-
System creates Inspection record with:
building_permit= BLD-2025-001trades_permit= nulllicense= nullinspection_code= 207
-
Inspector completes inspection
-
Inspector fills out Inspection Review Form (on Inspection entity)
-
Inspector fills out Building Permit Update Form (on Master Building Permit)
-
Building Permit record is updated with inspection results
Calendar Configurations
Calendar 1: Building Inspections
| Setting | Value |
|---|---|
| Name | Building Inspections |
| Type | Round Robin |
| Custom URL | building-inspections |
| Distribution | Optimize for equal distribution |
| Daily Capacity | 105 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | Building Permit Update Form |
Associated Codes: 200-221, 402-403, 485-489 (24 codes)
Calendar 2: Electrical Inspections
| Setting | Value |
|---|---|
| Name | Electrical Inspections |
| Type | Round Robin |
| Custom URL | electrical-inspections |
| Distribution | Optimize for equal distribution |
| Daily Capacity | 75 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | Trades Permit Update Form |
Associated Codes: 300-310 (11 codes)
Calendar 3: Plumbing Inspections
| Setting | Value |
|---|---|
| Name | Plumbing Inspections |
| Type | Round Robin |
| Custom URL | plumbing-inspections |
| Distribution | Optimize for equal distribution |
| Daily Capacity | 80 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | Trades Permit Update Form |
Associated Codes: 705-732 (17 codes)
Calendar 4: Fire Inspections
| Setting | Value |
|---|---|
| Name | Fire Inspections |
| Type | Round Robin |
| Custom URL | fire-inspections |
| Distribution | Optimize for equal distribution |
| Daily Capacity | 25 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | Trades Permit Update Form |
Associated Codes: 500-512 (12 codes)
Calendar 5: HVAC/Mechanical Inspections
| Setting | Value |
|---|---|
| Name | HVAC/Mechanical Inspections |
| Type | Round Robin |
| Custom URL | hvac-inspections |
| Distribution | Optimize for equal distribution |
| Daily Capacity | 30 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | Trades Permit Update Form |
Associated Codes: 600, 603 (2 codes)
Calendar 6: Rental Housing Inspections
| Setting | Value |
|---|---|
| Name | Rental Housing Inspections |
| Type | Round Robin |
| Custom URL | rental-housing-inspections |
| Distribution | Optimize for availability |
| Daily Capacity | 150 |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | License Update Form |
| Timeslot Required | Yes (coordinate with owner/tenant) |
Associated Codes: TBD per county requirements
Calendar 7: Sign Inspections
| Setting | Value |
|---|---|
| Name | Sign Inspections |
| Type | Round Robin |
| Custom URL | sign-inspections |
| Distribution | Optimize for availability |
| Daily Capacity | Per staffing |
| Inspection Review Form | Inspection Review Form |
| Permit Update Form | License Update Form |
| Timeslot Required | No (inspector flexibility) |
Associated Codes: 902 (Sign Footings)
Quick Reference Summary
| Calendar | Daily Capacity | Distribution | Permit Update Form | Timeslot Required |
|---|---|---|---|---|
| Building Inspections | 105 | Equal Distribution | Building Permit Update Form | Yes |
| Electrical Inspections | 75 | Equal Distribution | Trades Permit Update Form | Yes |
| Plumbing Inspections | 80 | Equal Distribution | Trades Permit Update Form | Yes |
| Fire Inspections | 25 | Equal Distribution | Trades Permit Update Form | Yes |
| HVAC/Mechanical | 30 | Equal Distribution | Trades Permit Update Form | Yes |
| Rental Housing | 150 | Availability | License Update Form | Yes |
| Sign Inspections | - | Availability | License Update Form | No |
Configuration Verification Checklist
Entity Configuration
- Inspections entity created with all required fields
- Two-way binding configured: Inspections ↔ Master Building Permit
- Two-way binding configured: Inspections ↔ Master Trades Permits
- Two-way binding configured: Inspections ↔ Master License
- Inspection Codes entity has category field populated for all codes
Forms Configuration
- Inspection Review Form created on Inspections entity
- Building Permit Update Form created on Master Building Permit
- Trades Permit Update Form created on Master Trades Permits
- License Update Form created on Master License
Calendar Configuration
For each of the 7 calendars:
- Calendar created (Round Robin type)
- Meeting Details configured (name, URL, distribution)
- Team members assigned with Tax Map zones
- Availability configured (hours, slot interval, capacity)
- Both forms linked (Inspection Review + Permit Update)
- Payment configured (if applicable)
Inspection Code Mapping
- All Building codes (200-221, 402-403, 485-489) have category = "Building"
- All Electrical codes (300-310) have category = "Electrical"
- All Plumbing codes (705-732) have category = "Plumbing"
- All Fire codes (500-512) have category = "Fire"
- All HVAC codes (600, 603) have category = "Mechanical"
- Sign code (902) has category = "Sign"
- Rental codes (TBD) have category = "Rental"
Troubleshooting
Calendar Won't Save - "Required Field" Error
Cause: Both Inspection Review Form and Permit Update Form are required.
Fix:
- Navigate to Forms tab
- Select appropriate forms for both fields
- Save again
Inspection Codes Not Appearing for Permit
Cause: Inspection code category doesn't match the expected mapping.
Fix:
- Open Inspection Codes entity
- Verify the code has correct category assigned
- Verify the code is marked as active
Wrong Permit Entity Being Updated
Cause: Calendar is linked to wrong Permit Update Form.
Fix:
- Open calendar configuration
- Navigate to Forms tab
- Verify Permit Update Form matches the permit entity type
- Use the mapping table in Step 12.2 as reference
Inspectors Not Being Assigned
Cause: Tax Map zones not configured or inspectors not assigned to zones.
Fix:
- Verify Tax Maps are configured in Calendar Settings > Tax Maps
- Verify inspectors are added to calendar with Tax Map assignments
- Verify property address geocodes to a configured Tax Map zone
Related Documentation
- End-to-End Permit Workflow - Complete permit setup
- Entity Builder - Creating entities
- Form Builder - Building forms
- Associations & Lookups - Entity relationships
- Automation Builder - Workflow automation
- Calendar Configuration Wizard - Basic calendar setup
For additional configuration assistance, contact your System Administrator.