One facts file
The single source of every figure in the report.
The first step reads every document and records each figure exactly as each document states it: unit counts per floor, floor areas, site extents, bays, building lines, deed numbers. Each figure carries the document and page it came from.
Totals are recorded as stated, never corrected. If the report says 24 units and the floor schedule adds to 23, both figures are kept, so the disagreement is found rather than smoothed over.
When the motivation is drafted, the model can only refer to a figure by name. Code fills in the value from the facts file and flags any measurement the model typed itself. A figure cannot drift between sections because there is only one of it.
The DMS rules, in code
Taken from Schedule 3 of the City's Municipal Planning By-law, 2015, consolidated to the 2026 Amendment By-law. Rules version cape-town-dms/2026-09-11.
General Residential, from Item 41 and Tables 4 and 5. These are the values the rules engine uses, shown straight from the code:
| Zone | Floor factor | Coverage | Height | Street line | Common line over 25 m |
|---|---|---|---|---|---|
| GR2 | 1 | 60% | 15 m | 4,5 m | 6,5 m |
| GR3 | 1,25 | 60% | 20 m | 4,5 m | 6,5 m |
| GR4 | 1,5 | 60% | 24 m | 4,5 m | 6,5 m |
| GR5 | 2,5 | 60% | 35 m | 4,5 m | 15 m |
| GR6 | 5 | 60% | 50 m | 4,5 m | 15 m |
DMS (Schedule 3, MPBL 2015), consolidated to the Amendment By-law, 2026, Item 41, Tables 4 and 5. Common boundary line up to 25 m: 4,5 m or 0,6 × height, whichever is more, computed per storey.
Residential Zoning 1 (formerly Single Residential 1), from Item 22 and Table 2, by erf size:
| Erf size | Floor factor | Coverage | Height | Street line | Common line |
|---|---|---|---|---|---|
| Up to 200 m² | 1 | 80% | 9 m | 1 m | 0 m |
| 200–350 m² | 1 | 80% | 9 m | 1,5 m | 0 m |
| 350–650 m² | 1 | 75% | 9 m | 3,5 m | By layout |
| 650–1000 m² | Max 1500 m² | N/a | 10 m | 3,5 m | 3 m |
| 1000–2000 m² | Max 1500 m² | N/a | 10 m | 4,5 m | 3 m |
| Over 2000 m² | Max 1500 m² | N/a | 10 m | 6 m | 6 m |
DMS (Schedule 3, MPBL 2015), consolidated to the Amendment By-law, 2026, Item 22, Table 2. Parking per Item 137, Table 13, visitors included: flats standard 1,5 bays per unit, PT1 1,25 bays per unit, PT2 nil; group housing standard 2 bays per unit, PT1 1,25 bays per unit, PT2 nil.
Every limit in the audit shows the DMS item and table it comes from, so you can check it against the scheme yourself. When the City amends the scheme, the rules are updated and the version changes.
A checked legislation register
51 provisions across 9 instruments. Register version za-wc-cpt/mpbl-2026-09-11.
Every step reasons from the same register, and may cite only what is in it. Quotes from the Municipal Planning By-law and the DMS are verbatim from the City's consolidated text, and an automated test fails if any quote no longer matches.
Code also checks the citations in your submission and in the draft: a by-law cited by the wrong year, a section 42 paragraph that doesn't match the application, a SPLUMA section attributed to the by-law, or a zone by its old name.
- Source
City of Cape Town Municipal Planning By-law, 2015
MPBL
- Source
City of Cape Town Development Management Scheme (Schedule 3 to the MPBL)
DMS
- Source
Spatial Planning and Land Use Management Act 16 of 2013
SPLUMA
- Source
Western Cape Land Use Planning Act 3 of 2014
LUPA
- Source
National Heritage Resources Act 25 of 1999
NHRA
- Source
National Building Regulations and Building Standards Act 103 of 1977
NBR Act
- Source
Protection of Personal Information Act 4 of 2013
POPIA
- Source
Promotion of Administrative Justice Act 3 of 2000
PAJA
- Source
City of Cape Town spatial plans and policies
City policy
Tested before you see it
Two reviewers read the draft before the City does.
A case officer step scores the motivation against the Section 99 considerations, in order, and flags claims made without evidence. An objectors step writes what neighbours are likely to say when the application is advertised.
If the draft falls short, or used a figure that didn't come from the facts file, it goes back to the drafter for one rewrite, and the objections are answered in the text.
What it does not do
Knowing the limits is part of using it well.
- It does not decide anything. The City decides on the merits, and nobody can promise an application will be approved.
- It is not planning advice and does not replace a registered planner. You review every output, sign it and lodge it.
- Zones other than R1 and GR2–GR6 are checked against the limits your submission states, and every such result is marked for you to confirm against the DMS.
- Overlay zones, spatial development frameworks and City policies are summarised in plain words, not encoded as rules. Where the full text wasn't available, the provision is marked to verify.
- It reads what you upload. A figure that isn't in the documents is reported as missing, never assumed.