# Plan Comply — Comprehensive Machine-Readable Knowledge Base & Regulatory Standards Reference > Authoritative pre-submission compliance guidelines, statutory clauses, municipal requirements, common rejection pitfalls, and Model Context Protocol (MCP) specifications for South African architectural building plans. > Domain: https://plancomply.co.za | API: https://api.plancomply.co.za | Powered by CodeWays (https://codeways.co) --- ## 1. Statutory Framework & Governing Legislation All building work and architectural submissions in the Republic of South Africa are governed by: 1. **The National Building Regulations and Building Standards Act (Act No. 103 of 1977)**: Mandates the submission and prior written approval of building plans by local authorities before commencement of any construction, alterations, additions, or structural work. 2. **SANS 10400: The Application of the National Building Regulations**: The South African Bureau of Standards (SABS) code of practice governing functional regulations and deemed-to-satisfy design solutions across Parts A through XA. 3. **South African Council for the Architectural Profession (SACAP)**: Architectural Profession Act (Act No. 44 of 2000), regulating registered persons (Professional Architect [PrArch], Professional Senior Architectural Technologist [PSAT], Professional Architectural Technologist [PAT], and Professional Draughtsperson [ST]) and their statutory identification of work (IDoW). 4. **Municipal Spatial Planning and Land Use Management Bylaws (SPLUMA)**: Local town planning schemes controlling zoning, building lines, erf coverage, Floor Area Ratios (FAR / FSR), building heights, and street boundary setbacks. --- ## 2. Complete SANS 10400 Rules Catalogue ### SANS 10400-A: General Principles & Statutory Administration - **Rule ID**: SANS10400-A-01 - **Clause**: 4.1.1 - **Title**: SACAP Registered Professional Declaration - **Category**: Documentation & Compliance (Severity: Critical) - **Statutory Mandate**: Every architectural drawing sheet must clearly bear the full registered name, professional registration category (PrArch, PSAT, PAT, ST), SACAP registration number, and signed compliance declaration. - **Rejection Risk**: Immediate statutory refusal. Building Control cannot legally accept or process plans without verified SACAP registration. - **Remediation**: Insert a standardized title block containing SACAP details and signature box on all sheets. - **Rule ID**: SANS10400-A-02 - **Clause**: 4.2.3 - **Title**: Site Plan Boundaries, True North & Building Lines - **Category**: Site & Zoning (Severity: Critical) - **Statutory Mandate**: The site plan (drawn to 1:500, 1:200, or 1:100) must accurately show all erf boundary dimensions matching the Surveyor General (SG) diagram, true north point, municipal servitudes, and all street, side, and rear building lines. - **Rejection Risk**: Town Planning department refusal due to unverified encroachment into building lines or registered municipal servitudes. - **Remediation**: Dimension all boundary lines, show street names, annotate all building line setbacks, and verify that proposed structures fall strictly within the permitted building envelope. - **Rule ID**: SANS10400-A-03 - **Clause**: 4.3.1 - **Title**: Occupancy Classification Indication - **Category**: General Principles (Severity: Critical) - **Statutory Mandate**: Every building or distinct portion of a building must have its occupancy classification specified according to Table 1 of SANS 10400-A (e.g., H4 Single Residential, H3 Domestic Residence, G1 Offices, F1 Large Retail). - **Rejection Risk**: Plan examiners cannot calculate mandatory fire separation (Part T) or sanitary fitment ratios (Part P) without confirmed occupancy classification. - **Remediation**: Declare occupancy class clearly on the title block and within the plan summary table. ### SANS 10400-C: Dimensions & Habitability - **Rule ID**: SANS10400-C-01 - **Clause**: 4.1.1 - **Title**: Minimum Habitable Room Ceiling Heights - **Category**: Dimensions (Severity: Critical) - **Statutory Mandate**: The clear vertical height between finished floor level (FFL) and finished ceiling of any habitable room (bedroom, living room, dining room, study) must be at least 2,400 mm over not less than 70% of the floor area, and nowhere less than 2,100 mm. Passages, bathrooms, and dressing rooms require min. 2,100 mm. - **Rejection Risk**: Plan refusal for non-compliant ceiling height under Regulation C1. - **Remediation**: Dimension all section cuts and elevation annotations with finished floor to ceiling heights of 2,400 mm minimum. - **Rule ID**: SANS10400-C-02 - **Clause**: 4.2.1 - **Title**: Minimum Habitable Room Floor Area & Horizontal Dimensions - **Category**: Dimensions (Severity: Critical) - **Statutory Mandate**: No habitable room shall have a floor area of less than 6.0 m², and no horizontal dimension between internal finished wall faces shall measure less than 2,000 mm. - **Rejection Risk**: Refusal for undersized habitable spaces or illegal domestic room configurations. - **Remediation**: Verify that all bedrooms and habitable living spaces exceed 6.0 m² and maintain at least 2.0 m clear width. ### SANS 10400-K: Walls & Structural Elements - **Rule ID**: SANS10400-K-01 - **Clause**: 4.2.1 - **Title**: Damp-Proof Course (DPC) Position - **Category**: Walls & Waterproofing (Severity: Critical) - **Statutory Mandate**: A continuous damp-proof course (DPC) complying with SANS 952 must be installed in all masonry walls at a level not less than 150 mm above the adjacent finished ground level (FGL) or exterior paving. - **Rejection Risk**: Common council query requiring drawing modifications and delay letters. - **Remediation**: Annotate "DPC min. 150 mm above FGL" on all typical wall, foundation, and slab edge sections. - **Rule ID**: SANS10400-K-02 - **Clause**: 4.1.3 - **Title**: Cavity Wall & External Wall Thickness - **Category**: Walls (Severity: Critical) - **Statutory Mandate**: External cavity walls must consist of a min. 100 mm inner leaf, min. 50 mm cavity, and min. 100 mm outer leaf (total minimum 270 mm nominal thickness), tied with approved wire or butterfly ties at max. 450 mm vertical and 600 mm horizontal spacing. Lintel bearings must be min. 200 mm. - **Rejection Risk**: Rejection for inadequate structural thickness or uninsulated single skin external walls. - **Remediation**: Confirm all external walls specify 270 mm cavity wall or an Agrément-certified walling system. ### SANS 10400-M: Stairways & Balustrades - **Rule ID**: SANS10400-M-01 - **Clause**: 4.2.2 - **Title**: Stairway Riser & Going Dimensions - **Category**: Stairways (Severity: Critical) - **Statutory Mandate**: In any stairway, the riser height must not exceed 200 mm and the going (tread width excluding nosing) must not be less than 250 mm. The step dimensions must remain strictly uniform throughout the flight. The ergonomic proportion 2R + G must be between 570 mm and 650 mm. - **Rejection Risk**: Immediate life safety refusal by building examiners under Regulation M1. - **Remediation**: Annotate staircase schedule: "Risers max. 180 mm (≤ 200 mm), Treads min. 250 mm uniform". - **Rule ID**: SANS10400-M-02 - **Clause**: 4.2.6 - **Title**: Staircase Headroom Clearance - **Category**: Stairways (Severity: Critical) - **Statutory Mandate**: The vertical headroom clearance measured vertically from the pitch line connecting the nosings of treads to any ceiling or overhead beam must be at least 2,100 mm throughout. - **Rejection Risk**: Non-compliance with life safety and evacuation clearance standards. - **Remediation**: Mark "Min. 2,100 mm clear headroom" along the entire flight incline on section drawings. - **Rule ID**: SANS10400-M-03 - **Clause**: 4.4.1 - **Title**: Balustrade & Handrail Heights and Openings - **Category**: Stairways & Safety (Severity: Critical) - **Statutory Mandate**: Balustrades must be at least 1,000 mm high on landings/balconies and 850 mm on stair flights. No opening in any balustrade shall permit the passage of a 100 mm diameter sphere. Horizontal climbable rails are prohibited. - **Rejection Risk**: High-priority child-safety rejection. - **Remediation**: Specify vertical balusters with gaps not exceeding 100 mm and 1,000 mm height on elevated floors. ### SANS 10400-N: Glazing & Safety Glass - **Rule ID**: SANS10400-N-01 - **Clause**: 4.2.1 - **Title**: Mandatory Safety Glass Below 800 mm - **Category**: Glazing (Severity: Critical) - **Statutory Mandate**: All glass installed where the sill height is less than 800 mm from the finished floor level must be safety glass (toughened or laminated complying with SANS 1263-1). - **Rejection Risk**: Extremely frequent council objection. Ordinary annealed glass below 800 mm is illegal. - **Remediation**: Mark all low-sill windows (< 800 mm) as "Safety Glass (SANS 1263-1)" in window schedules. - **Rule ID**: SANS10400-N-02 - **Clause**: 4.2.2 - **Title**: Safety Glass Adjacent to Doors & Wet Rooms - **Category**: Glazing (Severity: Critical) - **Statutory Mandate**: All glass in doors, sidelights within 300 mm of any door frame, and all glass in bathrooms, showers, and steam rooms must be safety glass complying with SANS 1263-1. - **Rejection Risk**: Mandatory refusal under Regulation N1. - **Remediation**: Tag all glass doors, sidelights, and shower enclosures as "Safety Glass" on schedules. ### SANS 10400-O: Natural Lighting & Ventilation - **Rule ID**: SANS10400-O-01 - **Clause**: 4.2.1 - **Title**: Natural Lighting (Minimum 10% Floor Area) - **Category**: Lighting & Ventilation (Severity: Critical) - **Statutory Mandate**: Every habitable room must be provided with natural lighting by means of windows or glazed openings having an aggregate glazed area of not less than 10% of the floor area of that room. - **Rejection Risk**: Habitability plan objection by municipal health and building examiners. - **Remediation**: Include a Fenestration Table proving: Glazed Area ≥ 10% of Floor Area for each habitable room. - **Rule ID**: SANS10400-O-02 - **Clause**: 4.3.1 - **Title**: Natural Ventilation (Minimum 5% Floor Area) - **Category**: Lighting & Ventilation (Severity: Critical) - **Statutory Mandate**: Every habitable room, bathroom, shower, or water closet without mechanical ventilation must have openable windows with an aggregate clear opening area of not less than 5% of the floor area of that room. - **Rejection Risk**: Health department rejection on circulation. - **Remediation**: Confirm openable window sashes equal at least 5% of room area; annotate in window schedules. ### SANS 10400-P: Drainage & Sanitation - **Rule ID**: SANS10400-P-01 - **Clause**: 4.2.1 - **Title**: Drainage Pipe Diameters & Recommended Gradients - **Category**: Drainage (Severity: Critical) - **Statutory Mandate**: Underground soil drainage pipes must be min. 100 mm diameter. Gradients must be between 1:40 (steepest) and 1:100 (flattest), with 1:60 recommended for 100 mm pipes. - **Rejection Risk**: Drainage layout refusal by Municipal Water & Sanitation department. - **Remediation**: Mark drainage runs with fall annotations: "100 mm uPVC Soil Drain @ 1:60 fall". - **Rule ID**: SANS10400-P-02 - **Clause**: 4.3.2 - **Title**: Rodding Eyes & Inspection Access - **Category**: Drainage (Severity: Critical) - **Statutory Mandate**: Access points (rodding eyes [RE] or inspection chambers [IC]) must be provided at every change of direction exceeding 45°, at every pipe junction, and at intervals not exceeding 25 m on straight runs. - **Rejection Risk**: Universal drainage plan query from council examiners. - **Remediation**: Annotate "RE" or "IC" at every bend, branch junction, and at the head of every drain run. - **Rule ID**: SANS10400-P-03 - **Clause**: 4.4.1 - **Title**: Gully Trap Overflow Level - **Category**: Drainage (Severity: Warning) - **Statutory Mandate**: The coping of every gully trap must terminate at least 150 mm above surrounding ground level or 50 mm above paved surfaces to prevent stormwater ingress into the municipal sewer network. - **Rejection Risk**: Inundation and sewerage bypass compliance objection. - **Remediation**: Add standard note: "Gully heads to terminate min. 150 mm above finished ground level". ### SANS 10400-S: Facilities for Persons with Disabilities - **Rule ID**: SANS10400-S-01 - **Clause**: 4.2.1 - **Title**: Wheelchair Accessibility Route & Ramps - **Category**: Disability Accessibility (Severity: Critical) - **Statutory Mandate**: All public buildings, commercial facilities, and residential multi-unit common areas must provide a continuous accessible route. Ramps must not exceed 1:12 gradient (1:15 preferred for long runs) with level landings every 6 m to 10 m and continuous handrails on both sides. - **Rejection Risk**: Immediate building control rejection under SANS 10400-S statutory mandate. - **Remediation**: Dimension accessible routes from boundary/parking to main entrance with ramp gradients and handrails. - **Rule ID**: SANS10400-S-02 - **Clause**: 4.4.2 - **Title**: Accessible Toilet Dimensions & Door Swing - **Category**: Disability Accessibility (Severity: Critical) - **Statutory Mandate**: Unisex accessible sanitary facilities must have clear internal dimensions of at least 1,700 mm x 1,800 mm, outward-opening door (or sliding door), clear door opening width of min. 850 mm, and compliant grab rails. - **Rejection Risk**: Universal refusal on commercial, institutional, and hospitality plan submissions. - **Remediation**: Show accessible WC layout with 1,700 mm x 1,800 mm clear dimensions, outward door swing, and grab rails. ### SANS 10400-T: Fire Protection & Public Safety - **Rule ID**: SANS10400-T-01 - **Clause**: 4.2.1 - **Title**: Boundary Clearance & Fire Resistance Rating - **Category**: Fire Safety (Severity: Critical) - **Statutory Mandate**: External walls facing erf boundaries must comply with fire resistance ratings (Table 2 & Table 3). Any wall within 1.0 m (or 1.5 m depending on occupancy) must have no window openings and achieve min. 60-120 minutes fire rating. - **Rejection Risk**: Fire Department refusal on circulation; extremely costly to remedy after construction. - **Remediation**: Ensure no unprotected windows face boundaries within statutory setback; annotate "120-min Fire Wall". - **Rule ID**: SANS10400-T-02 - **Clause**: 4.3.1 - **Title**: Travel Distance to Fire Exits - **Category**: Fire Safety (Severity: Critical) - **Statutory Mandate**: In any building, the maximum travel distance from any point to an exit door leading to open air or protected escape route must not exceed 45 m (or 15 m in dead-end corridors). - **Rejection Risk**: Fire inspector disapproval on council circulation. - **Remediation**: Verify escape routes and indicate emergency directional signage on floor plans. ### SANS 10400-XA: Energy Usage in Buildings - **Rule ID**: SANS10400-XA-01 - **Clause**: 4.2.1 - **Title**: Roof & Ceiling Thermal Insulation (R-Value) - **Category**: Energy Efficiency (Severity: Critical) - **Statutory Mandate**: Roof assemblies must achieve the minimum total R-value prescribed for the relevant Climatic Zone: - Zone 1 (Cold Interior — Johannesburg, Ekurhuleni): Min. Total R-value = 3.7 m²·K/W - Zone 2 (Temperate Interior — Tshwane/Pretoria): Min. Total R-value = 3.2 m²·K/W - Zone 3 (Hot Interior — Polokwane, Nelspruit): Min. Total R-value = 2.7 m²·K/W - Zone 4 (Temperate Coastal — Cape Town, Port Elizabeth): Min. Total R-value = 3.7 m²·K/W - Zone 5 (Sub-Tropical Coastal — Durban, eThekwini): Min. Total R-value = 3.2 m²·K/W - Zone 6 (Arid Interior — Kimberley, Upington): Min. Total R-value = 3.7 m²·K/W - **Rejection Risk**: SANS 10400-XA refusal by environmental & building compliance examiners. - **Remediation**: Add SANS 10400-XA specification table indicating insulation material thickness and total R-value. - **Rule ID**: SANS10400-XA-02 - **Clause**: 4.1.2 - **Title**: Renewable Water Heating (Minimum 50%) - **Category**: Energy Efficiency (Severity: Critical) - **Statutory Mandate**: At least 50% by volume of the annual average hot water requirement of each new building must be provided by renewable energy (solar water heater, heat pump, or energy recovery). - **Rejection Risk**: Mandatory rejection if electric resistance geyser is specified without 50% renewable contribution. - **Remediation**: Annotate hot water source: "Hot water supplied via Solar Water Heating / Heat Pump complying with SANS 10400-XA (min. 50% renewable)". ### Public Safety & Parking Standards - **Rule ID**: SANS10134-01 - **Clause**: 4.1.1 - **Title**: Swimming Pool Enclosure & Self-Closing Gate - **Category**: Public Safety (Severity: Critical) - **Statutory Mandate**: Any swimming pool holding water > 300 mm deep must be protected by a continuous enclosure not less than 1.2 m high with vertical bars (max. 100 mm gap) and a self-closing, self-latching gate opening outwards with latch at min. 1.5 m. - **Rejection Risk**: Statutory child-safety rejection across all South African municipalities. - **Remediation**: Show pool fence on site plan: "1.2 m high pool fence with self-closing and self-latching outward-opening gate as per SANS 10134". - **Rule ID**: RSA-PARKING-01 - **Clause**: 3.1.2 - **Title**: Parking Bay Dimensions & Aisle Widths - **Category**: Parking & Traffic (Severity: Critical) - **Statutory Mandate**: Standard 90° parking bays must measure min. 2.5 m x 5.0 m with min. 7.5 m reversing aisle width. Parallel bays must measure min. 2.5 m x 6.0 m. Disabled bays must measure min. 3.5 m x 5.0 m. - **Rejection Risk**: Traffic Engineering & Town Planning rejection for undersized parking or substandard circulation aisles. - **Remediation**: Include Parking Schedule table proving required vs. provided bays, and dimension bays and aisles on site plan. --- ## 3. South African Municipal Council Profiles ### 1. City of Johannesburg Metropolitan Municipality (COJ) - **Portal**: COJ e-Services / Building Control Portal - **Province**: Gauteng | **Climatic Zone**: Zone 1 (Cold Interior) - **Required Submission Documents**: 1. SANS 10400 Form 1 (Application for Approval of Building Plans) 2. SANS 10400 Form 2 (Appointment of Competent Person — Structural, Geotechnical, Fire) 3. SACAP Professional Registration Certificate & Declaration 4. Recent Title Deed (not older than 3 months) 5. Zoning Certificate / Land Use Management Clearance 6. Previous Approved Building Plans (for alterations and additions) 7. Johannesburg Roads Agency (JRA) Wayleave / Access approval (for new accesses) 8. SANS 10400-XA Energy Efficiency Calculation Sheet 9. Johannesburg Water Connection Certificate (for new developments) - **Top Delay Causes**: - Missing Title Deed restrictive conditions clearance certificate - Failure to indicate JRA stormwater connection invert level on site plan - Unapproved previous additions on existing structures shown as existing approved ### 2. City of Tshwane Metropolitan Municipality (Pretoria/Centurion) - **Portal**: e-Tshwane / Building Control - **Province**: Gauteng | **Climatic Zone**: Zone 2 (Temperate Interior) - **Required Submission Documents**: 1. SANS 10400 Form 1 & Form 2 2. SACAP Registered Architectural Compliance Declaration 3. Title Deed & Surveyor General (SG) Diagram 4. Zoning Certificate & Tshwane Town Planning Scheme Conformity Sheet 5. Dolomite Geotechnical Stability Report & SANS 1936 Certification (mandatory for Centurion, Irene, Laudium, Valhalla hazard areas) 6. Section 7(6) Temporary approval application (if pre-construction requested) 7. SANS 10400-XA Calculations and Water Heating declaration 8. Fire Department circulation set (for occupancies other than H4) - **Top Delay Causes**: - Failure to submit SANS 1936 Dolomite clearance in Centurion/South Tshwane - Missing SG Diagram numbers on site plan title block - Uncertified boundary retaining walls > 1.0 m height ### 3. City of Cape Town (COCT) - **Portal**: DAMS (Development Application Management System) - **Province**: Western Cape | **Climatic Zone**: Zone 4 (Temperate Coastal) - **Required Submission Documents**: 1. SANS 10400 Form 1 & Form 2 (Digital DAMS submission) 2. SACAP Compliance Certificate with digital signature 3. Title Deed with Conveyancer's Certificate (confirming no restrictive servitude or building line conditions) 4. Municipal Planning By-Law (MPBL) Zoning Compliance Table 5. Heritage Western Cape / Section 34 Heritage Permit (mandatory if structure > 60 years old) 6. Catchment, Stormwater and River Management (CSRM) approval (if in floodplain or riparian zone) 7. SANS 10400-XA Fenestration and Roof R-value specification for Zone 4 (min. R = 3.7) 8. Tree Removal Permit (if protected trees on site) - **Top Delay Causes**: - Structure older than 60 years submitted without HWC Section 34 permit - Conveyancer's certificate missing for title deed title condition scrutiny - Encroachment into MPBL street or common boundary setbacks without approved departure ### 4. City of Ekurhuleni Metropolitan Municipality (East Rand) - **Portal**: Ekurhuleni Online / Building Control - **Province**: Gauteng | **Climatic Zone**: Zone 1 (Cold Interior) - **Required Submission Documents**: 1. SANS 10400 Form 1 & Form 2 2. SACAP Declaration and registration verification 3. Title Deed and Surveyor General Diagram 4. Zoning Certificate 5. Roads & Stormwater Department approval 6. Energy Efficiency SANS 10400-XA Compliance Form 7. Environmental Health Clearance (for commercial/food premises under Regulation 638) - **Top Delay Causes**: - Commercial food premises omitting Regulation 638 handwashing facilities - Missing stormwater attenuation details on site plan ### 5. eThekwini Metropolitan Municipality (Durban) - **Portal**: eThekwini Development Planning & Management - **Province**: KwaZulu-Natal | **Climatic Zone**: Zone 5 (Sub-Tropical Coastal) - **Required Submission Documents**: 1. SANS 10400 Form 1 & Form 2 2. SACAP Registered Architectural Stamp 3. Title Deed and Cadastral Diagram 4. Coastal Setback & D'MOSS (Durban Metropolitan Open Space System) Environmental Clearance 5. Geotechnical Slope Stability Report (for steep embankments) 6. SANS 10400-XA Compliance for Sub-Tropical Coastal Zone 5 (min. R = 3.2) 7. Water & Sanitation Sewer Connection Endorsement - **Top Delay Causes**: - Property falls within D'MOSS environmental overlay without prior EIA or environmental clearance - Steep hillside foundations submitted without geotechnical structural engineer Form 2 --- ## 4. Top 25 Municipal Building Plan Rejection Pitfalls 1. **Missing / Unverified SACAP Declaration**: Plans submitted without the registered architectural professional's full name, registration number, category (PrArch, PSAT, PAT, ST), and current compliance declaration. 2. **Title Deed Condition Conflict**: Submitting plans that violate restrictive title deed conditions (e.g., minimum building value, single-storey restriction, quarry stone requirements, or private servitudes) without conveyancer or court cancellation. 3. **Missing SANS 10400 Forms**: Failure to include signed Form 1 (Application) or Form 2 (Appointment of Competent Person / Structural Engineer) where structural slabs, reinforced concrete, or rational designs exist. 4. **Incorrect Scale / North Arrow**: Site plan drawn to an unapproved scale (must be 1:500, 1:200, or 1:100) or omitting true north arrow. 5. **Cadastral & Erf Boundary Discrepancies**: Site plan dimensions differing from the Surveyor General (SG) diagram. 6. **Building Line Encroachments**: Carports, braai rooms, or second-storey balconies crossing into street, side, or rear building lines without prior approved relaxation/departure. 7. **Coverage & Floor Area Ratio (FAR) Exceeded**: Permissible building footprint percentage exceeded without town planning approval. 8. **Height Restriction Breaches**: Structures exceeding allowed storeys or height above natural ground level (NGL). 9. **Missing Safety Glass Annotations (SANS 10400-N)**: Ordinary annealed glass drawn on doors, sidelights within 300 mm of doors, windows with sills < 800 mm from FGL, or shower enclosures. 10. **Insufficient Natural Glazing (SANS 10400-O)**: Habitable rooms where total glazed window area is less than 10% of floor area. 11. **Insufficient Natural Ventilation (SANS 10400-O)**: Habitable rooms or bathrooms where openable window sash area is less than 5% of floor area (and no mechanical extraction is specified). 12. **Omission of SANS 10400-XA Calculations**: Omitting fenestration calculation tables, climatic zone roof insulation specifications (minimum R-values), or failing to specify min. 50% renewable water heating (solar geyser / heat pump). 13. **Missing Rodding Eyes / Inspection Eyes**: Changes of direction > 45 degrees or straight pipe runs > 25 m without inspection access. 14. **Substandard Drainage Falls**: Sewer drain gradients shown flatter than 1:100 without engineer's rational design. 15. **Low Gully Heads**: Gully traps drawn flush with garden soil (must terminate min. 150 mm above FGL or 50 mm above paving) to prevent stormwater flooding sewers. 16. **Omission of Municipal Connection Point**: Site plan failing to show the municipal sewer connection invert level and connection manhole location. 17. **Illegal Stair Risers & Treads**: Risers > 200 mm or goings < 250 mm, or varying step heights along a flight. 18. **Inadequate Headroom**: Headroom clearance along stairway incline measuring less than 2.1 m. 19. **Balustrade Gap Hazards**: Balustrades on elevated balconies or stairs with horizontal climbable rails or vertical gaps permitting the passage of a 100 mm sphere. 20. **Unprotected Swimming Pools (SANS 10134)**: Site plans omitting 1.2 m pool fencing or failing to specify self-closing, self-latching outward-opening gates with latch min. 1.5 m high. 21. **Unprotected Boundary Openings**: Windows or doors located on walls facing boundary lines within statutory clearance distances without required fire resistance. 22. **Excessive Travel Distances**: Path of travel to fire escape doors exceeding 45 m. 23. **Missing Fire Extinguishers & Hose Reels**: Commercial buildings omitting 30 m radius coverage for fire hose reels or 9 kg DCP extinguishers. 24. **Substandard Parking Bay Dimensions**: Parking bays drawn smaller than 2.5 m x 5.0 m, or reversing circulation aisles less than 7.5 m for 90-degree bays. 25. **Missing Disabled Parking**: Commercial/institutional submissions failing to provide 3.5 m wide disabled parking bays adjacent to the accessible entrance route. --- ## 5. Model Context Protocol (MCP) Server Specifications Plan Comply hosts a production-grade remote Model Context Protocol (MCP) server that empowers external AI agents to perform pre-submission architectural compliance analysis. ### Discovery & Endpoints - **MCP Endpoint**: `https://api.plancomply.co.za/mcp` - **SSE Stream**: `https://api.plancomply.co.za/sse` - **RFC 9700 OAuth Metadata**: - `https://api.plancomply.co.za/.well-known/oauth-protected-resource` - `https://api.plancomply.co.za/.well-known/oauth-protected-resource/mcp` - `https://plancomply.co.za/.well-known/oauth-protected-resource` - `https://plancomply.co.za/.well-known/oauth-protected-resource/mcp` - **Branding Assets**: - Icon: `https://plancomply.co.za/favicon.png` - Logo: `https://plancomply.co.za/assets/Plan%20Comply.jpeg` ### Available Tools #### 1. `get_sans_rules` - **Description**: Query South African National Building Regulations (SANS 10400) clauses by Part (A to XA) or category (e.g. Dimensions, Glazing, Fire, Ventilation, Drainage, Stairs, Walls, Documentation). - **Parameters**: - `sans_part` (string, optional): SANS Part identifier (e.g. "SANS 10400-C", "Part N", "XA"). - `category` (string, optional): Category filter (e.g. "Dimensions", "Glazing", "Stairways", "Fire Safety", "Drainage"). - **Example Request**: ```json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_sans_rules", "arguments": { "sans_part": "Part N" } } } ``` #### 2. `check_municipal_requirements` - **Description**: Retrieve municipal council submission checklists, required statutory documents (SANS 10400 Form 1/2, Title Deed, SACAP declaration, Dolomite clearance), common rejection delays, and portal details. - **Parameters**: - `municipality` (string, required): Council name or code ("COJ", "Johannesburg", "TSHWANE", "Pretoria", "COCT", "Cape Town", "EKURHULENI", "ETHEKWINI", "Durban"). - **Example Request**: ```json { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "check_municipal_requirements", "arguments": { "municipality": "Tshwane" } } } ``` #### 3. `get_common_rejection_pitfalls` - **Description**: Query the top 25 building plan rejection causes categorized by regulatory area with remediation advice. - **Parameters**: - `category` (string, optional): Filter by topic ("documentation", "zoning", "glazing", "drainage", "stairs", "fire", "parking"). - **Example Request**: ```json { "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "get_common_rejection_pitfalls", "arguments": { "category": "glazing" } } } ``` #### 4. `calculate_sans_fenestration` - **Description**: Compute SANS 10400-O statutory natural lighting (min. 10% floor area) and natural ventilation (min. 5% openable area) requirements for a room. - **Parameters**: - `floor_area_m2` (number, required): Floor area of the habitable room in square metres. - `actual_glazed_area_m2` (number, optional): Total installed window glazed area in square metres. - `actual_openable_area_m2` (number, optional): Total clear openable window sash area in square metres. - **Returns**: Required minimum lighting area (10%), required minimum ventilation area (5%), pass/fail compliance status, and deficiency margins. #### 5. `calculate_stair_compliance` - **Description**: Validate stairway geometry against SANS 10400-M standards (riser max. 200 mm, going min. 250 mm, 2R + G rule: 570 mm to 650 mm, min. headroom 2,100 mm). - **Parameters**: - `riser_mm` (number, required): Height of stair riser in millimetres. - `going_mm` (number, required): Tread going in millimetres (excluding nosing). - `headroom_mm` (number, optional): Clear vertical headroom in millimetres. - **Returns**: Riser compliance, going compliance, 2R+G ergonomic proportion, headroom compliance, and statutory guidance. #### 6. `get_credit_pricing` - **Description**: Retrieve current pricing packages, volume discounts, and plan review features. - **Parameters**: none. - **Returns**: List of credit packages with prices in ZAR and USD, cost per plan, and features. #### 7. `pre_check_building_plan` - **Description**: Perform a comprehensive automated pre-submission rule check on architectural plan specifications. - **Parameters**: - `municipality` (string, required): Council name (e.g. "City of Johannesburg"). - `building_class` (string, required): Occupancy classification (e.g. "H4 Single Dwelling House"). - `habitable_room_height_mm` (number, optional): Proposed clear ceiling height in habitable rooms. - `external_wall_thickness_mm` (number, optional): External wall thickness in millimetres. - `has_safety_glass_below_800mm` (boolean, optional): Whether safety glass is specified for low sills. - `has_sacap_declaration` (boolean, optional): Whether SACAP professional declaration is on plans. - `has_sans_forms` (boolean, optional): Whether SANS 10400 Form 1 & 2 are included. - `has_renewable_water_heating` (boolean, optional): Whether min. 50% solar/heat pump heating is specified. - **Returns**: Overall compliance score (0-100%), Critical/Major/Advisory defect list, municipal submission checklist, and council readiness verdict.