Guide
Calgary permit types, and when each label applies
The open data does not use one column called “type” and stop there. A record has a permit type, a permit class, and a work class. You need all three to tell a new house from a basement renovation, or a commercial interior from a demolition.
Source: City of Calgary Open Data — Building Permits (dataset c2es-76ed). CalgaryPermit stores a copy of that feed and calculates the figures on this page from that copy. The City of Calgary is the publisher of the original file.
Permit type: the application stream
permittype is the category the City stored for the application. These are the type labels published in the Building Permits dataset:
- Residential Improvement Project. Work on an existing home. In the description and permit class you will see basement developments, secondary suites, decks, garages, and similar residential changes. The type label alone does not say which of those it is. Read the class and the description.
- Single Construction Permit. The label the City uses for a defined construction project, commonly a new single building rather than an alteration of an existing one. Confirm that reading against the work class. New work is the work class New. A Single Construction Permit row can still be something other than a detached house once you read the permit class.
- Commercial / Multi Family Project. The stream for commercial work and multi-family buildings. The permit class tells you whether the row is an office, a multi-unit building, or another non-house class.
permitclassmappedwill often say Non-Residential, but multi-family housing can still be residential occupancy. Do not stop at the mapped bucket. - Demolition. The file is for taking a structure down. Work class on these rows is also Demolition. A demolition permit is not approval to build the replacement. A replacement building, if there is one, is a different permit number.
- Environmental Restoration Permit. A much smaller set of rows. The dataset does not define this label in a glossary column. Treat it as the City's own category for restoration work, and read the description on the row before assuming what was restored.
permittypemapped is a simplification: Building for the construction streams, and Demolition for demolition. It is useful for a quick split and too coarse for choosing a trade or judging a job.
Which stream a project must use is the City's rule, not a rule this site can restate as legal advice. If you are deciding what to apply for, use the City's permit pages at calgary.ca/development/permits. This guide only explains labels that already appear on issued and applied files.
Work class: what is being done
Work class is independent of permit type. The labels that actually appear in the feed are:
- New — a new building or new work, as opposed to a change to something standing.
- Alteration — a change to an existing building. Basement developments and many interior renovations land here. Grouped under Improvement.
- Addition — floor area or a piece of building added to what is already there. Also grouped under Improvement.
- Repair — repair work. Also grouped under Improvement when the City fills
workclassgroup. - Demolition — removal of a structure.
- Temporary, Fire/ Security Alarm, and Unspecified — smaller sets. Read the description.
The feed also contains a handful of values that are not real categories, including at least one stray string that looks like a typo. Those rows are still City data. They are a reason to read the permit class and the description before you act on the work class.
A practical pairing: New plus a single-family permit class is a different job from Alteration plus a basement class, even if both are residential. Commercial alteration and commercial new construction are different jobs even though both can sit under Commercial / Multi Family Project.
Permit class: the specific subject of the file
Permit class is the column that names the subject. The pattern is a code, a hyphen, and a name. Examples that appear in the dataset are "1106 - Single Family House" and "1401 - Basement Development". There are many other classes. The code is the stable part. The words after the hyphen are the City's short name for that code.
permitclassmapped only has three values in the dataset: Residential, Non-Residential, and Unspecified. Use it to filter. Use permitclass to understand the row. Unspecified means the City did not map a class, not that the work has no description. Check the description and the type.
How to choose which column to filter on
If you want every demolition, filter work class or permit type to Demolition. They agree on that label. If you want renovations of existing houses, start with work class Alteration or Addition and permit class mapped to Residential, then read the class name so a deck is not mixed with a secondary suite. If you want new houses, start with work class New and a single-family or semi class, and do not rely on the words Single Construction Permit by themselves.
Community pages on this site break the stored rows down by permit type, work class, and mapped class. The table below is the same kind of count for the whole copy this site has stored. It will not match a citywide total unless the copy is complete.
Related: how to read the other fields, including estimated cost and the three dates.