Permits: Setup, Public Applications & Payment Collection
Command Established handles the full permit lifecycle — from an applicant submitting a burn permit request on your website to your reviewer approving it, collecting the fee, and issuing a certificate. This article walks through setting up your permit program from scratch: defining permit types, configuring fees, publishing application forms, and managing the review workflow.
If you're specifically looking for how to connect Stripe for payment collection, see Setting Up Stripe for Permit Invoice Payments.
Setting Up Permit Types
Permit types define the categories of permits your department issues. Go to Permits > Permit Types to create them.
Using the IFC Catalog
If you're starting from scratch, you can load a pre-built catalog of approximately 28 permit types based on the International Fire Code. Go to Permit Types and click Load IFC defaults. This populates common types like operational permits (hot work, flammable storage, LP gas), construction permits (fire alarm, sprinkler, hood suppression), and special event permits.
You can edit any loaded type to match your department's naming and requirements. The catalog can only be loaded once, into an empty department — it won't overwrite types you've already created.
Creating a Custom Type
Click New permit type and configure:
- Name — what the applicant sees (e.g., "Open Burning Permit", "Fireworks Display Permit")
- Code — short uppercase identifier used in permit numbers (e.g.,
BURN,FIRE-DISPLAY). The code appears in the permit number format:BURN-2026-00042. - Permit class — operational, construction, burn, temporary, or other
- Duration — annual, seasonal, project-based, event-based, daily, or custom
- IFC section (optional) — reference to the applicable International Fire Code section
Type Settings
Each type has additional configuration options:
| Setting | What it does |
|---|---|
| Requires inspection | Notes that permits of this type typically involve an inspection (informational — helps when building application forms) |
| Requires insurance | Notes that applicants typically need proof of insurance (informational — helps when building application forms) |
| Allows renewal | Enables the renewal action on issued permits |
| Requires location | Every permit must link to a known inspection location |
| Minimum lead time | Number of calendar days before a reviewer can issue (prevents same-day issuance for types that need processing time) |
| Condition templates | Pre-written conditions available for permits of this type (e.g., "Permit valid only at specified location", "Fire extinguisher must be on site during operations"). Reviewers can add these to individual permits before issuance. |
Setting Up Fee Schedules
If your department charges for permits, set up fee schedules before publishing application forms. Go to Permits > Fee Schedules.
A fee schedule is a list of line items that define what gets billed when a permit is approved. Each line item has a type:
- Flat — fixed amount (e.g., $50.00 application fee)
- Per unit — amount multiplied by a permit field (e.g., $0.50 per gallon of flammable liquid stored)
- Tiered — price varies by quantity band (e.g., first 100 gallons at $0.50/gal, 101-500 at $0.35/gal)
- Percentage — percentage of another line item (useful for add-on fees)
- Percentage of subtotal — percentage of the running total (useful for taxes or surcharges)
Per-unit and tiered line items can calculate against permit fields like square footage, occupant load, device count, tank capacity, material quantities, and requested days.
Once you've created a fee schedule, link it to a permit type by editing the type and selecting the schedule. When a permit of that type is approved, an invoice is automatically generated with the calculated line items.
Publishing a Public Application Form
Public forms let applicants submit permit requests directly from your department's website — no login required. Go to Permits > Forms to create one.
Building the Form
- Click New form and select which permit type it's for
- Choose a URL slug — this becomes the form's public URL (e.g.,
burn-permit→commandestablished.com/p/your-dept/permits/burn-permit) - Add questions — each question maps to a field type:
- Short text, long text, select, multi-select, checkbox, yes/no
- Date, phone, email, address
- File upload (for insurance certificates, site plans, etc.)
- Signature capture
- For each question, optionally set:
- Required — must be answered to submit
- Maps to — which permit field this answer populates (applicant name, email, location, description, dates, etc.)
- Show when — conditional visibility based on earlier answers
- Click Publish when the form is ready
Questions with a "maps to" field automatically populate the corresponding permit field when submitted. Questions without mapping appear as additional information in the permit description.
How Public Applications Work
- Applicant fills out the form and submits — no account needed
- Verification email is sent to the applicant's email address
- Applicant clicks the verification link — this confirms the email is real and makes the application visible to your reviewers
- Unverified applications are automatically archived after 7 days — this prevents spam from cluttering your queue
After verification, the applicant receives a status page link where they can check their application's progress, view invoices, and pay online.
The Review Workflow
Permits move through a defined lifecycle. Here's the typical flow:
Draft → Submitted → Under Review → Approved → Issued
Working Through the Queue
- View submitted permits — open Permits and filter by status to see what needs attention
- Claim a permit — click a submitted permit and claim it for review. This assigns you as the reviewer so other staff know it's being handled.
- Review the application — check applicant info, location, description, uploaded documents, and any material quantities or project details
- Approve or reject — approve to move forward (auto-generates an invoice if a fee schedule is linked), or reject with a reason that's emailed to the applicant
Issuing a Permit
After approval (and payment, if applicable):
- If the permit has an invoice, click Send Invoice to make it visible to the applicant and send the payment link email
- Once payment is received (or if there's no fee), click Issue on the approved permit
- The system sets the issuance date, calculates the expiration based on the permit type's duration, and generates a certificate
- A certificate email is sent to the applicant with a PDF attachment
- The permit status page updates for the applicant
If the permit has a fee schedule and Stripe is connected, permits auto-issue when all invoices are fully paid — no manual issuance step needed. But the invoice must be sent first (draft invoices are not visible to applicants).
Other Actions
- Renew — for permit types that allow renewal, create a new permit linked to the original with one click
- Revoke — cancel an issued permit with a reason (the applicant is notified)
- Reassign — transfer a permit under review to a different reviewer
Collecting Payments
When a permit with a fee schedule is approved, an invoice is automatically created. The invoice includes calculated line items based on the fee schedule and the permit's details.
Online Payments (Stripe)
If your department has Stripe connected:
- Staff clicks Send Invoice to make it available to the applicant (draft invoices are not visible)
- Applicant receives a payment link email and clicks "Pay Online" on their status page
- They're redirected to Stripe Checkout to pay by credit card, debit card, or ACH
- Payment is recorded automatically via webhook
- If all invoices on the permit are paid, the permit auto-issues
Manual Payments
For in-person payments (cash, check, card swipe), click Record payment on the invoice and enter the amount, method, and reference number. The invoice status updates accordingly.
Revenue Tracking
Go to Permits > Revenue to see collections broken out by permit type, payment status, and date range. This gives your department a clear picture of permit revenue.
Conditions
Conditions are requirements that appear on the issued permit certificate. They serve as the terms the permit is subject to — "Fire extinguisher must be present on site", "Burning permitted only between 8 AM and 6 PM", "Notify dispatch 30 minutes before ignition".
Set up condition templates on the permit type so reviewers have a ready-made library of conditions to choose from. Reviewers add, edit, or remove conditions on individual permits before issuance.
Common Setups
Open Burning Permits
Type: Burn permit, seasonal duration Fee schedule: Flat $25 application fee Form questions: Applicant name, address, phone, email, burn location, burn dates, materials to be burned, site map upload Conditions: "Must have water source within 50 feet", "No burning on red flag days", "Notify dispatch before ignition"
Special Event Permits
Type: Event permit, event duration Fee schedule: Flat base fee + per-unit by expected attendance Form questions: Event name, organizer info, venue, dates, expected attendance, site plan, insurance certificate upload Conditions: "Fire watch required if attendance exceeds 250", "Emergency exits must remain unobstructed", "Pyrotechnics require separate permit"
Construction Fire Safety Permits
Type: Construction permit, project duration Fee schedule: Tiered by square footage Form questions: Project address, contractor info, scope of work, building plans upload, insurance certificate Conditions: "Fire alarm system must be tested and certified before occupancy", "Sprinkler system inspection required" Settings: Requires inspection, requires insurance, requires location
Frequently Asked Questions
Can applicants check their permit status without logging in?
Yes. Every applicant receives a unique status page link via email. They can check their application status, view invoices, pay online, and download their permit certificate — all without creating an account.
What happens if I change a fee schedule after permits have been issued?
Fee schedule changes only affect future invoices. Invoices that have already been created (on approved permits) retain their original line items and amounts.
Can I accept payments without Stripe?
Yes. Record manual payments (cash, check, card swipe) directly on the invoice. Stripe is only needed for online self-service payments from applicants.
How do permit numbers work?
Permit numbers follow the format {TYPE}-{YEAR}-{SEQUENCE} — for example, BURN-2026-00042. The type code and year come from the permit type, and the sequence auto-increments. You can set a custom starting sequence if you're migrating from another system.
Can I have multiple forms for the same permit type?
Each permit type can have one published form at a time. If you need different application flows, create separate permit types with their own forms.
What if an applicant never verifies their email?
Unverified applications are automatically archived after 7 days. They never appear in your review queue, so spam submissions don't create work for your staff.
Who can manage permits?
Permit management requires the permit permission. Creating and managing permit types, forms, and fee schedules requires admin access. See Understanding Permissions & Groups for details.