Utility_Apps/Building_Code_Assistant/Building_Code_Data_IBC_2024.json

819 lines
No EOL
66 KiB
JSON

{
"version": "1.0.1",
"codeEdition": "IBC 2024",
"jurisdiction": "Generic (International Building Code)",
"lastUpdated": "2025-05-09",
"tables": {
"constructionTypes": {
"source": "IBC 2024 Chapter 6, Section 602",
"description": "Definitions and general properties of building construction types.",
"lookupKeys": ["constructionTypeCode"],
"data": {
"IA": {
"description": "Fire-Resistive Non-Combustible",
"combustible": false,
"fireResistanceRating": "High",
"typicalMaterials": "Protected steel, concrete, masonry (noncombustible materials)"
},
"IB": {
"description": "Fire-Resistive Non-Combustible",
"combustible": false,
"fireResistanceRating": "High",
"typicalMaterials": "Protected steel, concrete, masonry (noncombustible materials)"
},
"IIA": {
"description": "Non-Combustible (1-hour rated)",
"combustible": false,
"fireResistanceRating": "Moderate",
"typicalMaterials": "Steel, concrete, masonry (noncombustible materials, 1-hour fire-resistance rating for specific elements)"
},
"IIB": {
"description": "Non-Combustible (Unprotected)",
"combustible": false,
"fireResistanceRating": "Low/None",
"typicalMaterials": "Unprotected steel, concrete, masonry (noncombustible materials)"
},
"IIIA": {
"description": "Ordinary (Combustible exterior walls fire-rated)",
"combustible": true,
"fireResistanceRating": "Moderate",
"typicalMaterials": "Fire-retardant-treated wood (exterior walls), ordinary wood framing (interior)"
},
"IIIB": {
"description": "Ordinary (Unprotected combustible construction)",
"combustible": true,
"fireResistanceRating": "Low/None",
"typicalMaterials": "Ordinary wood framing"
},
"IV-HT": {
"description": "Heavy Timber (Traditional)",
"combustible": true,
"fireResistanceRating": "Moderate (inherent)",
"typicalMaterials": "Heavy timber (solid or laminated wood members of specified minimum sizes per IBC 2304.11)."
},
"IV-A": {
"description": "Mass Timber (Max Fire Resistance, Tallest)",
"combustible": true,
"fireResistanceRating": "High (Engineered for Mass Timber)",
"typicalMaterials": "Cross-Laminated Timber (CLT), Structural Composite Lumber (SCL), Glued Laminated Timber (Glulam) meeting specific fire-resistance requirements for Type IV-A (e.g., up to 18 stories)."
},
"IV-B": {
"description": "Mass Timber (Medium Fire Resistance, Mid-Rise)",
"combustible": true,
"fireResistanceRating": "Moderate-High (Engineered for Mass Timber)",
"typicalMaterials": "CLT, SCL, Glulam meeting specific fire-resistance requirements for Type IV-B (e.g., up to 12 stories)."
},
"IV-C": {
"description": "Mass Timber (Lower Fire Resistance, Shorter)",
"combustible": true,
"fireResistanceRating": "Moderate (Engineered for Mass Timber)",
"typicalMaterials": "CLT, SCL, Glulam meeting specific fire-resistance requirements for Type IV-C (e.g., up to 9 stories)."
},
"IV": {
"description": "Heavy Timber / Mass Timber (General - Prefer Specific IV-A/B/C/HT)",
"combustible": true,
"fireResistanceRating": "Moderate (inherent or engineered)",
"typicalMaterials": "Heavy timber, Cross-Laminated Timber (CLT) and other mass timber products. Specific requirements vary by IV-A, IV-B, IV-C, IV-HT."
},
"VA": {
"description": "Wood-Framed (1-hour rated)",
"combustible": true,
"fireResistanceRating": "Low",
"typicalMaterials": "Light wood framing (structural elements are 1-hour fire-resistance rated or of materials providing 1-hour rating)"
},
"VB": {
"description": "Wood-Framed (Unprotected)",
"combustible": true,
"fireResistanceRating": "None",
"typicalMaterials": "Light wood framing (no fire-resistance rating required for structural elements)"
}
}
},
"occupancyClassifications": {
"source": "IBC 2024 Chapter 3",
"description": "Occupancy classifications and their subgroups.",
"lookupKeys": ["occupancyGroupCode"],
"data": {
"A": {
"description": "Assembly",
"subgroups": {
"A-1": "Assembly uses, usually with fixed seating, intended for the production and viewing of performing arts or motion pictures (e.g., theaters, concert halls).",
"A-2": "Assembly uses intended for food and/or drink consumption not classified as A-3 (e.g., restaurants, banquet halls, nightclubs, tasting rooms).",
"A-3": "Assembly uses intended for worship, recreation or amusement and other assembly uses not classified elsewhere (e.g., churches, museums, libraries, gyms without spectator seating, art galleries, community halls).",
"A-4": "Assembly uses intended for viewing of indoor sporting events and activities with spectator seating (e.g., arenas, skating rinks).",
"A-5": "Assembly uses intended for participation in or viewing outdoor activities (e.g., stadiums, amusement park structures, grandstands, bleachers)."
}
},
"B": {
"description": "Business",
"subgroups": {
"B": "Office, professional or service-type transactions, including storage of records and accounts (e.g., offices, banks, clinics (outpatient), post offices, print shops, laboratories for non-hazardous materials, educational occupancies above the 12th grade)."
}
},
"E": {
"description": "Educational",
"subgroups": {
"E": "Used by six or more persons at any one time for educational purposes through the 12th grade. Also includes day care for more than five children older than 2-1/2 years of age."
}
},
"F": {
"description": "Factory Industrial",
"subgroups": {
"F-1": "Moderate-hazard factory industrial (e.g., manufacturing, assembling, fabricating, finishing, packaging of moderate hazard materials).",
"F-2": "Low-hazard factory industrial (e.g., manufacturing, assembling, etc., of noncombustible materials that do not involve significant fire hazard)."
}
},
"H": {
"description": "High Hazard",
"subgroups": {
"H-1": "Buildings containing materials with a detonation hazard.",
"H-2": "Buildings containing materials that have a deflagration hazard or a hazard from accelerated burning.",
"H-3": "Buildings containing materials that readily support combustion or pose a physical hazard.",
"H-4": "Buildings containing materials that are health hazards.",
"H-5": "Semiconductor fabrication facilities and comparable research and development areas."
}
},
"I": {
"description": "Institutional",
"subgroups": {
"I-1": "Housing more than 16 persons, on a 24-hour basis, who because of age, mental disability or other reasons, live in a supervised residential environment that provides personal care services (e.g., assisted living, halfway houses, group homes). Condition 1 (capable of self-preservation) or 2 (require limited verbal or physical assistance).",
"I-2": "Used for medical care on a 24-hour basis for more than five persons who are incapable of self-preservation (e.g., hospitals, nursing homes). Condition 1 (nursing care for patients not capable of self-preservation) or 2 (medical care for patients capable of self-preservation with assistance).",
"I-3": "Inhabited by more than five persons who are under restraint or security (e.g., prisons, jails, detention centers). Conditions 1 through 5 based on restraint level and freedom of movement.",
"I-4": "Day care facilities (adults or children) for more than five persons of any age who receive custodial care for less than 24 hours by persons other than parents or guardians, relatives by blood, marriage or adoption, and in a place other than the home of the person cared for."
}
},
"M": {
"description": "Mercantile",
"subgroups": {
"M": "Display and sale of merchandise, and involving stocks of goods, wares or merchandise incidental to such purposes (e.g., retail stores, shops, markets, showrooms, department stores)."
}
},
"R": {
"description": "Residential",
"subgroups": {
"R-1": "Residential occupancies containing sleeping units where the occupants are primarily transient in nature (e.g., hotels, motels, boarding houses (transient)).",
"R-2": "Residential occupancies containing sleeping units or more than two dwelling units where the occupants are primarily permanent in nature (e.g., apartments, dormitories, fraternities, convents, monasteries, boarding houses (nontransient), live/work units).",
"R-3": "Residential occupancies where the occupants are primarily permanent in nature and not classified as R-1, R-2, R-4 or I, and where buildings do not contain more than two dwelling units, or adult and child care facilities that provide accommodations for five or fewer persons of any age for less than 24 hours. Includes single family homes and duplexes.",
"R-4": "Residential care/assisted living facilities including more than five but not more than 16 occupants, excluding staff. Condition 1 or 2 based on resident capability."
}
},
"S": {
"description": "Storage",
"subgroups": {
"S-1": "Moderate-hazard storage (e.g., storage of combustible materials but not highly hazardous, such as books, clothing, furniture, lumber, paper).",
"S-2": "Low-hazard storage (e.g., storage of noncombustible materials on wood pallets or in paper cartons with or without single thickness paper wrappings, such as glass, metal, cement in bags, empty cans, noncombustible liquids)."
}
},
"U": {
"description": "Utility and Miscellaneous",
"subgroups": {
"U": "Buildings and structures of an accessory character and miscellaneous structures not classified in any specific occupancy (e.g., agricultural buildings, barns, carports, private garages, sheds, stables, tanks, towers, fences > 6ft)."
}
}
}
},
"allowableBuildingHeightsAreas": {
"source": "IBC 2024 Tables 504.3, 504.4, 506.2 (and related sections like 505 for Mezzanines, Chapter 4 for specific occupancies, Chapter 6 for Mass Timber Types IV-A, IV-B, IV-C, IV-HT)",
"description": "Allowable building heights (in feet and stories) and areas (sq ft per story) based on construction type and occupancy group. Base values are non-sprinklered. Includes sprinkler and frontage increase considerations. NL = No Limit.",
"lookupKeys": ["constructionType", "occupancyGroup"],
"data": {
"IA": {
"A-1": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"A-2": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"E": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"F-1": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"I-2": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"M": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"R-1": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"S-1": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } },
"S-2": { "base": { "height_ft": "NL", "height_stories": "NL", "area_sqft_per_story": "NL" }, "sprinkler_increase": { "area_multiplier": 1, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } }
},
"IB": {
"A-1": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 28500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"A-2": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 28500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 45500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"E": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 57000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"F-1": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 34500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"I-2": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 22500 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"M": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 42500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-1": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 28500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 28500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"S-1": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 39500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"S-2": { "base": { "height_ft": 160, "height_stories": 11, "area_sqft_per_story": 60000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IIA": {
"A-1": { "base": { "height_ft": 85, "height_stories": 5, "area_sqft_per_story": 21000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 35000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"E": { "base": { "height_ft": 85, "height_stories": 5, "area_sqft_per_story": 39500 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 85, "height_stories": 5, "area_sqft_per_story": 21000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IIB": {
"A-2": { "base": { "height_ft": 55, "height_stories": 3, "area_sqft_per_story": 14000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1, "notes": "For S1 sprinklered 1-story bldg, area multiplier is 4. Max area for A-2 in IIB with NFPA 13R is 12,000 sqft per story (Table 506.2 Note e)." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 23500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"E": { "base": { "height_ft": 55, "height_stories": 3, "area_sqft_per_story": 27500 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-1": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 14000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 14000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"S-2": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 36000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IIIA": {
"A-2": { "base": { "height_ft": 85, "height_stories": 5, "area_sqft_per_story": 17000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1, "notes": "For S1 sprinklered 1-story bldg, area multiplier is 4. Max area for A-2 in IIIA with NFPA 13R is 12,000 sqft per story (Table 506.2 Note e)." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 21000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 85, "height_stories": 5, "area_sqft_per_story": 15000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IIIB": {
"A-2": { "base": { "height_ft": 55, "height_stories": 3, "area_sqft_per_story": 10500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1, "notes": "For S1 sprinklered 1-story bldg, area multiplier is 4. Max area for A-2 in IIIB with NFPA 13R is 12,000 sqft per story (Table 506.2 Note e)." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 14000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 55, "height_stories": 4, "area_sqft_per_story": 10500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IV-HT": {
"A-1": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 21000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 27000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 18000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"IV-A": {
"B": { "base": { "height_ft": 270, "height_stories": 18, "area_sqft_per_story": 60000 }, "sprinkler_increase": { "area_multiplier": 1.5, "height_ft": 0, "stories": 0, "notes": "Specific rules for IV-A in IBC 602.4.1. Area increases are often based on total building area. Sprinklers required." }, "frontage_increase": { "max_percentage": 75 } },
"R-1": { "base": { "height_ft": 270, "height_stories": 18, "area_sqft_per_story": 45000 }, "sprinkler_increase": { "area_multiplier": 1.5, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } }
},
"IV-B": {
"B": { "base": { "height_ft": 180, "height_stories": 12, "area_sqft_per_story": 45000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 0, "stories": 0, "notes": "Specific rules for IV-B in IBC 602.4.2. Sprinklers required." }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 180, "height_stories": 12, "area_sqft_per_story": 36000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } }
},
"IV-C": {
"B": { "base": { "height_ft": 85, "height_stories": 9, "area_sqft_per_story": 36000 }, "sprinkler_increase": { "area_multiplier": 2.5, "height_ft": 0, "stories": 0, "notes": "Specific rules for IV-C in IBC 602.4.3. Sprinklers required." }, "frontage_increase": { "max_percentage": 75 } },
"M": { "base": { "height_ft": 85, "height_stories": 9, "area_sqft_per_story": 30000 }, "sprinkler_increase": { "area_multiplier": 2.5, "height_ft": 0, "stories": 0 }, "frontage_increase": { "max_percentage": 75 } }
},
"IV": {
"A-1": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 21000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1, "notes":"General IV-HT values. IV-A/B/C have higher limits and specific rules." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 27000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1, "notes":"General IV-HT values. IV-A: 18 stories, 270ft; IV-B: 12 stories, 180ft; IV-C: 9 stories, 85ft." }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 85, "height_stories": 6, "area_sqft_per_story": 18000 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1, "notes":"General IV-HT values. Mass timber types vary." }, "frontage_increase": { "max_percentage": 75 } }
},
"VA": {
"A-2": { "base": { "height_ft": 50, "height_stories": 2, "area_sqft_per_story": 9000 }, "sprinkler_increase": { "area_multiplier": 4, "height_ft": 20, "stories": 1, "notes": "Max area for A-2 in VA with NFPA 13R is 12,000 sqft per story (Table 506.2 Note e)." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 70, "height_stories": 5, "area_sqft_per_story": 13500 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 70, "height_stories": 5, "area_sqft_per_story": 12000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
},
"VB": {
"A-2": { "base": { "height_ft": 40, "height_stories": 1, "area_sqft_per_story": 7000 }, "sprinkler_increase": { "area_multiplier": 4, "height_ft": 20, "stories": 1, "notes": "Max area for A-2 in VB with NFPA 13R is 9,000 sqft per story (Table 506.2 Note e)." }, "frontage_increase": { "max_percentage": 75 } },
"B": { "base": { "height_ft": 50, "height_stories": 3, "area_sqft_per_story": 9000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-1": { "base": { "height_ft": 50, "height_stories": 3, "area_sqft_per_story": 6000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"R-2": { "base": { "height_ft": 50, "height_stories": 3, "area_sqft_per_story": 6000 }, "sprinkler_increase": { "area_multiplier": 3, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } },
"S-2": { "base": { "height_ft": 50, "height_stories": 2, "area_sqft_per_story": 13500 }, "sprinkler_increase": { "area_multiplier": 2, "height_ft": 20, "stories": 1 }, "frontage_increase": { "max_percentage": 75 } }
}
},
"notes": [
"NL = No Limit. NP = Not Permitted.",
"Base values are for NON-SPRINKLERED buildings from IBC 2024 Tables 504.3, 504.4, and 506.2 (NS column).",
"Sprinkler increase area_multiplier is generally SM/NS (multi-story sprinklered area / non-sprinklered area) from Table 506.2 for NFPA 13 systems, unless specified as S1/NS for single-story context.",
"Sprinkler height/story increase assumes NFPA 13 system (Section 504.2).",
"Frontage increase (If) max percentage is typically 75% (Section 506.3).",
"H occupancies have special limits (often NP in tables) detailed in Chapter 4.",
"Type IV-A, IV-B, IV-C have specific, often greater, allowances than IV-HT (traditional Heavy Timber) as detailed in IBC Chapter 6."
]
},
"occupantLoadFactors": {
"source": "IBC 2024 Table 1004.5",
"description": "Factors for determining occupant load per square foot, based on function of space.",
"lookupKeys": ["functionOfSpace"],
"data": {
"Assembly_FixedSeating_ConcertHall": { "factor": "actual", "unit": "seats", "occupancy_group_context": "A", "notes": "Number of fixed seats." },
"Assembly_Unconcentrated_NoFixedSeating_TablesChairs": { "factor": 15, "unit": "sqft_net_per_occupant", "occupancy_group_context": "A" },
"Assembly_StandingSpace": { "factor": 5, "unit": "sqft_net_per_occupant", "occupancy_group_context": "A" },
"Assembly_ExhibitHallsAndPavilions": { "factor": 15, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "A"},
"Business_Office": { "factor": 150, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "B" },
"Educational_Classroom": { "factor": 20, "unit": "sqft_net_per_occupant", "occupancy_group_context": "E" },
"Educational_ShopsAndVocationalRooms": { "factor": 50, "unit": "sqft_net_per_occupant", "occupancy_group_context": "E" },
"FactoryIndustrial_General": { "factor": 200, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "F", "exceptions": ["Specific areas or hazardous occupancies may differ."] },
"Institutional_Hospital_InpatientTreatmentAreas": { "factor": 240, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "I-2" },
"Institutional_Hospital_SleepingAreas": { "factor": 120, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "I-2" },
"Mercantile_Retail_SalesArea_StreetFloorAndBasements": { "factor": 60, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "M" },
"Mercantile_Retail_SalesArea_OtherFloors": { "factor": 60, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "M" },
"Mercantile_StorageStockShippingAreas": { "factor": 300, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "M"},
"Residential_HotelsMotels_Dormitories_SleepingRooms": { "factor": 200, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "R-1, R-2" },
"Storage_General": { "factor": 300, "unit": "sqft_gross_per_occupant", "occupancy_group_context": "S" }
},
"notes": ["Net area is actual occupied space; Gross area includes corridors, restrooms, etc., within the space's exterior walls. Values from Table 1004.5 typically stable."]
},
"egressWidthFactors": {
"source": "IBC 2024 Section 1005.3 (Tables 1005.3.1, 1005.3.2)",
"description": "Egress width factor in inches per occupant for stairs and other egress components.",
"lookupKeys": ["sprinklerStatus_alarmStatus_hazardCategory"],
"data": {
"sprinklered_with_alarm_normal_hazard": {
"stairways_in_per_occ": 0.2,
"other_egress_comp_in_per_occ": 0.15,
"notes": "Applies if building has NFPA 13 sprinklers AND emergency voice/alarm system. Not applicable to Group H, I-2."
},
"sprinklered_no_alarm_normal_hazard": {
"stairways_in_per_occ": 0.3,
"other_egress_comp_in_per_occ": 0.2,
"notes": "Applies if sprinklered but no emergency voice/alarm system, or for Group H, I-2 with sprinklers."
},
"non_sprinklered_no_alarm_normal_hazard": {
"stairways_in_per_occ": 0.3,
"other_egress_comp_in_per_occ": 0.2
},
"any_sprinkler_any_alarm_H_hazard": {
"stairways_in_per_occ": 0.3,
"other_egress_comp_in_per_occ": 0.2,
"notes": "Group H occupancies always use these factors; reduced factors do not apply."
},
"any_sprinkler_any_alarm_I2_hazard": {
"stairways_in_per_occ": 0.3,
"other_egress_comp_in_per_occ": 0.2,
"notes": "Group I-2 occupancies always use these factors; reduced factors do not apply."
},
"sprinklered_with_alarm": { "stairways_in_per_occ": 0.2, "other_egress_comp_in_per_occ": 0.15, "notes": "Simplified key; assumes normal hazard. Refers to sprinklered_with_alarm_normal_hazard." },
"sprinklered_no_alarm": { "stairways_in_per_occ": 0.3, "other_egress_comp_in_per_occ": 0.2, "notes": "Simplified key; assumes normal hazard. Refers to sprinklered_no_alarm_normal_hazard." },
"non_sprinklered_no_alarm": { "stairways_in_per_occ": 0.3, "other_egress_comp_in_per_occ": 0.2, "notes": "Simplified key; assumes normal hazard. Refers to non_sprinklered_no_alarm_normal_hazard." }
},
"notes": [
"Factors are inches per occupant.",
"Normal hazard implies not Group H or I-2 for the reduced factors (0.2/0.15).",
"'with_alarm' refers to an emergency voice/alarm communication system.",
"Simplified keys (without _normal_hazard) added for compatibility with application log findings."
]
},
"fireResistanceRatingsStructuralElements": {
"source": "IBC 2024 Table 601",
"description": "Minimum fire-resistance ratings (in hours) for building elements based on construction type.",
"lookupKeys": ["constructionType", "buildingElement"],
"data": {
"IA": {
"primary_structural_frame": { "rating_hours": 3, "notes": "Incl. columns, girders, trusses supporting >1 floor or roof." },
"bearing_walls_exterior": { "rating_hours": 3 },
"bearing_walls_interior": { "rating_hours": 2, "notes": "Supporting more than one floor or roof." },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements", "notes": "Rating based on FSD per Table 602, but not less than required for type if Table 601 is higher." },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 2 },
"roof_construction": { "rating_hours": 1.5, "notes": "1 hour if roof is >20ft above floor below." }
},
"IB": {
"primary_structural_frame": { "rating_hours": 2 },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 2, "notes": "Supporting more than one floor or roof." },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 2 },
"roof_construction": { "rating_hours": 1 }
},
"IIA": {
"primary_structural_frame": { "rating_hours": 1 },
"bearing_walls_exterior": { "rating_hours": 1 },
"bearing_walls_interior": { "rating_hours": 1 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 1 },
"roof_construction": { "rating_hours": 1 }
},
"IIB": {
"primary_structural_frame": { "rating_hours": 0 },
"bearing_walls_exterior": { "rating_hours": 0, "notes": "But not less than required by Table 602." },
"bearing_walls_interior": { "rating_hours": 0 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 0 },
"roof_construction": { "rating_hours": 0 }
},
"IIIA": {
"primary_structural_frame": { "rating_hours": 1, "notes": "Exterior bearing walls 2hr." },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 1 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 1 },
"roof_construction": { "rating_hours": 1 }
},
"IIIB": {
"primary_structural_frame": { "rating_hours": 0, "notes": "Exterior bearing walls for non-HT IIIB are 0hr unless Table 602 requires more. For HT option in IIIB, frame is HT, exterior walls 2hr." },
"bearing_walls_exterior": { "rating_hours": 0, "notes": "But not less than required by Table 602." },
"bearing_walls_interior": { "rating_hours": 0 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 0 },
"roof_construction": { "rating_hours": 0 }
},
"IV-HT": {
"primary_structural_frame": { "rating_hours": "HT", "notes": "1 hour or Heavy Timber (HT) where members meet min. size per Ch. 23." },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 1, "notes": "Or HT if supporting roof only." },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements", "notes": "Typically 2 hours based on occupancy." },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0, "notes": "Or 1hr if FRTW or noncombustible." },
"floor_construction": { "rating_hours": "HT" },
"roof_construction": { "rating_hours": "HT" }
},
"IV-A": {
"primary_structural_frame": { "rating_hours": 3 },
"bearing_walls_exterior": { "rating_hours": 3 },
"bearing_walls_interior": { "rating_hours": 2 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 1, "notes":"Or noncombustible" },
"floor_construction": { "rating_hours": 2 },
"roof_construction": { "rating_hours": 1.5 }
},
"IV-B": {
"primary_structural_frame": { "rating_hours": 2 },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 2 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 1, "notes":"Or noncombustible" },
"floor_construction": { "rating_hours": 2 },
"roof_construction": { "rating_hours": 1 }
},
"IV-C": {
"primary_structural_frame": { "rating_hours": "HT", "notes":"Minimum 2-hour or HT" },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 1, "notes": "Or HT if supporting roof only." },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 1, "notes":"Or noncombustible" },
"floor_construction": { "rating_hours": "HT" },
"roof_construction": { "rating_hours": "HT" }
},
"IV": {
"primary_structural_frame": { "rating_hours": "HT", "notes": "General: Prefer specific IV-A/B/C/HT. Typically IV-HT values." },
"bearing_walls_exterior": { "rating_hours": 2 },
"bearing_walls_interior": { "rating_hours": 1, "notes": "Or HT if supporting roof only (IV-HT)." },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": "HT" },
"roof_construction": { "rating_hours": "HT" }
},
"VA": {
"primary_structural_frame": { "rating_hours": 1 },
"bearing_walls_exterior": { "rating_hours": 1 },
"bearing_walls_interior": { "rating_hours": 1 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 1 },
"roof_construction": { "rating_hours": 1 }
},
"VB": {
"primary_structural_frame": { "rating_hours": 0 },
"bearing_walls_exterior": { "rating_hours": 0, "notes": "But not less than required by Table 602." },
"bearing_walls_interior": { "rating_hours": 0 },
"nonbearing_walls_exterior": { "rating_hours": "Per Table 602", "details_ref": "exteriorWallRatingRequirements" },
"nonbearing_walls_and_partitions_interior": { "rating_hours": 0 },
"floor_construction": { "rating_hours": 0 },
"roof_construction": { "rating_hours": 0 }
}
},
"notes": ["Table 601 values are generally very stable across editions for standard types. HT = Heavy Timber sizes. FRTW = Fire-Retardant-Treated Wood."]
},
"plumbingFixtureCounts": {
"source": "IBC 2024 Table 2902.1",
"description": "Minimum number of plumbing fixtures based on occupancy group and occupant load.",
"lookupKeys": ["occupancyGroup", "fixtureType"],
"data": {
"A-1": {
"water_closets_male": { "ratio_per_occupant": "1 per 125", "calculation_type": "ratio", "min_count": 1},
"water_closets_female": { "ratio_per_occupant": "1 per 65", "calculation_type": "ratio", "min_count": 1},
"lavatories_male": { "ratio_per_occupant": "1 per 200", "calculation_type": "ratio", "min_count": 1},
"lavatories_female": { "ratio_per_occupant": "1 per 200", "calculation_type": "ratio", "min_count": 1},
"drinking_fountains": { "ratio_per_occupant": "1 per 500", "calculation_type": "ratio", "min_count": 1},
"service_sinks": {"ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"A-2": {
"water_closets_male": { "ratio_per_occupant": "1 per 40", "calculation_type": "ratio", "min_count": 1},
"water_closets_female": { "ratio_per_occupant": "1 per 40", "calculation_type": "ratio", "min_count": 1},
"lavatories_male": { "ratio_per_occupant": "1 per 75", "calculation_type": "ratio", "min_count": 1},
"lavatories_female": { "ratio_per_occupant": "1 per 75", "calculation_type": "ratio", "min_count": 1},
"drinking_fountains": { "ratio_per_occupant": "1 per 500", "calculation_type": "ratio", "min_count": 1},
"service_sinks": {"ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"B": {
"water_closets_male": {
"calculation_type": "tiered", "min_count": 1,
"tiers": [
{ "occupants_up_to": 15, "fixtures": 1 },
{ "occupants_up_to": 35, "fixtures": 2 },
{ "occupants_up_to": 55, "fixtures": 3 }
],
"occupants_over": 55, "base_fixtures_for_over": 3, "fixtures_per_additional_over": 40,
"notes": "Urinals: Where urinals are provided, one water closet less than the number specified may be provided for each urinal installed, except the number of water closets shall not be reduced to less than two-thirds of the minimum specified."
},
"water_closets_female": {
"calculation_type": "tiered", "min_count": 1,
"tiers": [
{ "occupants_up_to": 15, "fixtures": 1 },
{ "occupants_up_to": 35, "fixtures": 2 },
{ "occupants_up_to": 55, "fixtures": 3 }
],
"occupants_over": 55, "base_fixtures_for_over": 3, "fixtures_per_additional_over": 40
},
"lavatories_male": { "calculation_type": "tiered", "min_count": 1,
"tiers": [
{ "occupants_up_to": 15, "fixtures": 1 },
{ "occupants_up_to": 35, "fixtures": 2 },
{ "occupants_up_to": 60, "fixtures": 3 }
],
"occupants_over": 60, "base_fixtures_for_over": 3, "fixtures_per_additional_over": 45,
"notes": "Combined for male and female then distributed. Or per water closets if more restrictive."
},
"lavatories_female": { "calculation_type": "tiered", "min_count": 1,
"tiers": [
{ "occupants_up_to": 15, "fixtures": 1 },
{ "occupants_up_to": 35, "fixtures": 2 },
{ "occupants_up_to": 60, "fixtures": 3 }
],
"occupants_over": 60, "base_fixtures_for_over": 3, "fixtures_per_additional_over": 45,
"notes": "Combined for male and female then distributed. Or per water closets if more restrictive."
},
"drinking_fountains": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1},
"service_sinks": {"ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"E": {
"water_closets_male": { "ratio_per_occupant": "1 per 35", "calculation_type": "ratio", "min_count": 1},
"water_closets_female": { "ratio_per_occupant": "1 per 35", "calculation_type": "ratio", "min_count": 1},
"lavatories_male": { "ratio_per_occupant": "1 per 60", "calculation_type": "ratio", "min_count": 1},
"lavatories_female": { "ratio_per_occupant": "1 per 60", "calculation_type": "ratio", "min_count": 1},
"drinking_fountains": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1},
"service_sinks": {"ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"F-1": {
"water_closets_male": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Tiered: 1:1-15, 2:16-35, 3:36-55, 4:56-80, 5:81-110, 6:111-150, over 150 add 1 per 40. Use tiered if more restrictive." },
"water_closets_female": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Tiered: 1:1-15, 2:16-35, 3:36-55, 4:56-80, 5:81-110, 6:111-150, over 150 add 1 per 40. Use tiered if more restrictive." },
"lavatories_male": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1 },
"lavatories_female": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1 },
"drinking_fountains": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1 },
"service_sinks": { "ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"I-1": {
"water_closets_male": { "ratio_per_occupant": "1 per 10 residents", "calculation_type": "ratio", "min_count": 1 },
"water_closets_female": { "ratio_per_occupant": "1 per 10 residents", "calculation_type": "ratio", "min_count": 1 },
"lavatories_male": { "ratio_per_occupant": "1 per 10 residents", "calculation_type": "ratio", "min_count": 1 },
"lavatories_female": { "ratio_per_occupant": "1 per 10 residents", "calculation_type": "ratio", "min_count": 1 },
"bathtubs_or_showers": { "ratio_per_occupant": "1 per 8 residents", "calculation_type": "ratio", "min_count": 1 },
"drinking_fountains": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Accessible to residents." },
"service_sinks": { "ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink per floor."}
},
"M": {
"water_closets_male": { "ratio_per_occupant": "1 per 500", "calculation_type": "ratio", "min_count": 1},
"water_closets_female": { "ratio_per_occupant": "1 per 500", "calculation_type": "ratio", "min_count": 1},
"lavatories_male": { "ratio_per_occupant": "1 per 750", "calculation_type": "ratio", "min_count": 1},
"lavatories_female": { "ratio_per_occupant": "1 per 750", "calculation_type": "ratio", "min_count": 1},
"drinking_fountains": { "ratio_per_occupant": "1 per 1000", "calculation_type": "ratio", "min_count": 1},
"service_sinks": {"ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"R-1": {
"water_closets_male": {"count": 1, "calculation_type": "fixed", "notes": "Per sleeping unit. Separate facilities for public/employee use per A, B or M occupancy."},
"water_closets_female": {"count": 1, "calculation_type": "fixed", "notes": "Per sleeping unit. Separate facilities for public/employee use per A, B or M occupancy."},
"lavatories_male": {"count": 1, "calculation_type": "fixed", "notes": "Per sleeping unit."},
"lavatories_female": {"count": 1, "calculation_type": "fixed", "notes": "Per sleeping unit."},
"drinking_fountains": { "calculation_type": "notes_only", "notes": "1 per 100 for public/employee areas. Not required in sleeping units."},
"service_sinks": {"calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
},
"R-2": {
"water_closets_male": {"count": 1, "calculation_type": "fixed", "notes": "Per dwelling unit. For congregate living with >16 occupants, use R-1 public provisions."},
"water_closets_female": {"count": 1, "calculation_type": "fixed", "notes": "Per dwelling unit. For congregate living with >16 occupants, use R-1 public provisions."},
"lavatories_male": {"count": 1, "calculation_type": "fixed", "notes": "Per dwelling unit."},
"lavatories_female": {"count": 1, "calculation_type": "fixed", "notes": "Per dwelling unit."},
"drinking_fountains": { "calculation_type": "notes_only", "notes": "Not required in dwelling units. For common areas, 1 per 100 if applicable."},
"service_sinks": {"calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor in common laundry or for building maintenance."}
},
"S-1": {
"water_closets_male": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Same as F-1. Tiered: 1:1-15, 2:16-35, 3:36-55, 4:56-80, 5:81-110, 6:111-150, over 150 add 1 per 40. Use tiered if more restrictive." },
"water_closets_female": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Same as F-1. Tiered: 1:1-15, 2:16-35, 3:36-55, 4:56-80, 5:81-110, 6:111-150, over 150 add 1 per 40. Use tiered if more restrictive." },
"lavatories_male": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1 },
"lavatories_female": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1 },
"drinking_fountains": { "ratio_per_occupant": "1 per 100", "calculation_type": "ratio", "min_count": 1, "notes": "Where suc employees are exposed to heat or radiation from fire, 1 per 50." },
"service_sinks": { "ratio_per_occupant": "Special", "calculation_type": "notes_only", "notes": "At least one service sink or one curbed receptor."}
}
},
"notes": ["Table 2902.1 values are generally stable; any minor ratio changes for 2024 would need precise lookup. Tiered calculation requires specific logic for 'occupants_over' and 'fixtures_per_additional_over'."]
},
"exteriorWallRatingRequirements": {
"source": "IBC 2024 Table 602",
"description": "Minimum fire-resistance rating (in hours) for nonbearing exterior walls based on occupancy group and fire separation distance (FSD). Applies to construction types where Table 601 permits a 0-hour rating or lower rating than Table 602 for the given FSD. For other construction types, Table 601 governs but shall not be less than Table 602.",
"lookupKeys": ["occupancyGroupCategory", "fsdRangeKey"],
"data": {
"H": {
"0_to_under_5": { "rating_hours": "Per 415.6.1", "opening_protection_ref": "IBC 2024 705.8", "notes": "Typically 2 to 4 hours depending on H sub-group. Max openings per 415.6.1." },
"5_to_under_10": { "rating_hours": "Per 415.6.1", "opening_protection_ref": "IBC 2024 705.8", "notes": "Typically 2 to 3 hours." },
"10_to_under_30": { "rating_hours": "Per 415.6.1", "opening_protection_ref": "IBC 2024 705.8", "notes": "Typically 1 to 2 hours." },
"30_and_over": { "rating_hours": "Per 415.6.1", "opening_protection_ref": "IBC 2024 705.8", "notes": "Typically 1 to 2 hours." }
},
"F-1_M_S-1": {
"0_to_under_5": { "rating_hours": 2, "opening_protection_ref": "IBC 2024 705.8" },
"5_to_under_10": { "rating_hours": 1, "opening_protection_ref": "IBC 2024 705.8" },
"10_to_under_30": { "rating_hours": 1, "opening_protection_ref": "IBC 2024 705.8" },
"30_and_over": { "rating_hours": 0 }
},
"A_B_E_F-2_I_R_S-2": {
"0_to_under_5": { "rating_hours": 1, "opening_protection_ref": "IBC 2024 705.8", "notes":"For R-3 with FSD < 3ft, rating is 1hr. For R-3 with FSD 3 to <5ft, rating is 1hr (Table 602 footnote a)." },
"5_to_under_10": { "rating_hours": 1, "opening_protection_ref": "IBC 2024 705.8" },
"10_to_under_30": { "rating_hours": 0, "opening_protection_ref": "IBC 2024 705.8", "notes": "For R-3, FSD 5ft or greater is 0hr unless Table 601 dictates otherwise." },
"30_and_over": { "rating_hours": 0 }
},
"U": {
"0_to_under_5": { "rating_hours": 1, "opening_protection_ref": "IBC 2024 705.8" },
"5_to_under_10": { "rating_hours": 0, "opening_protection_ref": "IBC 2024 705.8" },
"10_to_under_30": { "rating_hours": 0 },
"30_and_over": { "rating_hours": 0 }
}
},
"notes": [
"These ratings are for NONBEARING exterior walls per IBC 2024 Table 602.",
"Bearing exterior walls are rated per Table 601. The rating required by Table 601 cannot be less than required by Table 602.",
"Opening protection (e.g., fire windows, fire doors) is required based on wall rating and FSD per IBC Section 705.8."
]
},
"interiorFinishRequirements": {
"source": "IBC 2024 Table 803.13",
"description": "Minimum interior wall and ceiling finish classification based on occupancy, location, and sprinkler status.",
"lookupKeys": ["occupancyGroup", "locationInBuilding", "sprinkleredStatus"],
"definitions": {
"ClassA": { "flame_spread_index": "0-25", "smoke_developed_index": "0-450" },
"ClassB": { "flame_spread_index": "26-75", "smoke_developed_index": "0-450" },
"ClassC": { "flame_spread_index": "76-200", "smoke_developed_index": "0-450" }
},
"data": {
"A": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450" }
},
"B": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450" }
},
"E": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "Class B in rooms with OL > 50 per Table 803.13 footnote b." }
},
"F-1": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450" }
},
"I-2": {
"exits_and_enclosures": { "flameSpread": "Class A", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"rooms_and_spaces": { "flameSpread": "Class B", "smokeDeveloped": "450", "notes": "Sleeping rooms: Class B. Other rooms: Class C. See Table 803.13 footnote d." }
},
"M": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "Class B in rooms > 3000 sqft used for sale of upholstered furniture (Table 803.13 footnote f)." }
},
"R-1": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450" }
},
"S-1": {
"exits_and_enclosures": { "flameSpread": "Class B", "smokeDeveloped": "450" },
"corridors": { "flameSpread": "Class C", "smokeDeveloped": "450", "notes": "If not sprinklered, Class B." },
"rooms_and_spaces": { "flameSpread": "Class C", "smokeDeveloped": "450" }
}
},
"notes": [
"Refer to IBC 2024 Table 803.13 for full details and footnotes. This table structure is simplified; actual Table 803.13 often directly states class. If 'notes' specify a sprinkler condition, that overrides the general assumption for the location type.",
"Sprinkler status means building equipped throughout with NFPA 13 system. Reductions per 803.1.2 (e.g. Class C where B req'd) may apply if sprinklered, unless more stringent class is req'd by other sections or Table 803.13 footnotes."
]
},
"meansOfEgressRequirements": {
"source": "IBC 2024 Sections 1006, 1017, 1020.5 (Tables 1006.2.1, 1006.3.2(1), 1006.3.2(2), 1017.2, 1020.5)",
"description": "Requirements for exit access travel distance, common path of egress travel, and number of exits.",
"lookupKeys": ["occupancyGroup"],
"data": {
"A": {
"exit_access_travel_distance": { "sprinklered": 250, "non_sprinklered": 200, "notes": "From Table 1017.2" },
"common_path_of_travel": { "sprinklered": 75, "non_sprinklered": 20, "notes": "From Table 1006.3.2(2). For A with OL<50 or fixed seats or smoke protected assembly, common path is 75ft (sprinklered or non-sprinklered) per Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes": "Increased to 50ft if sprinklered and Occupancy A, B, E, F, M, S, U with OL <= 50 per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"B": {
"exit_access_travel_distance": { "sprinklered": 300, "non_sprinklered": 200 },
"common_path_of_travel": { "sprinklered": 100, "non_sprinklered": 75, "notes": "From Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes":"50ft if sprinklered per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-49", "required_exits": 1, "notes": "If common path and travel distance limits of Table 1006.2.1 are met."},
{ "occupant_load": "50-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"E": {
"exit_access_travel_distance": { "sprinklered": 250, "non_sprinklered": 200 },
"common_path_of_travel": { "sprinklered": 75, "non_sprinklered": 75, "notes": "From Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes": "Increased to 50ft if sprinklered and OL <= 50 per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-49", "required_exits": 1, "notes": "From classrooms if common path and travel distance limits of Table 1006.2.1 are met."},
{ "occupant_load": "50-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"F-1": {
"exit_access_travel_distance": { "sprinklered": 400, "non_sprinklered": 250, "notes": "From Table 1017.2. Some F-1 uses may have lower limits (e.g. 200/300 for aircraft manufacturing)." },
"common_path_of_travel": { "sprinklered": 100, "non_sprinklered": 75, "notes": "From Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes":"50ft if sprinklered per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-49", "required_exits": 1, "notes": "If common path and travel distance limits of Table 1006.2.1 are met."},
{ "occupant_load": "50-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"I-2": {
"exit_access_travel_distance": { "sprinklered": 200, "non_sprinklered": 150 },
"common_path_of_travel": { "sprinklered": 100, "non_sprinklered": 75, "notes": "100ft from patient sleeping room door per Table 1006.3.2(1) note d. General common path 75ft (non-sprinklered), 100ft (sprinklered)." },
"dead_end_corridors": { "max_length": 30, "sprinklered_exception_length": 50, "notes": "30ft in patient sleeping/treatment rooms (1020.5 Exc 3). 50ft if sprinklered (1020.5 Exc 2)." },
"number_of_exits": [
{ "occupant_load": "1-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"M": {
"exit_access_travel_distance": { "sprinklered": 400, "non_sprinklered": 200, "notes":"From Table 1017.2. Non-sprinklered covered mall buildings is 200ft." },
"common_path_of_travel": { "sprinklered": 100, "non_sprinklered": 75, "notes": "From Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes":"50ft if sprinklered per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-49", "required_exits": 1, "notes": "If common path and travel distance limits of Table 1006.2.1 are met."},
{ "occupant_load": "50-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"R-2": {
"exit_access_travel_distance": { "sprinklered": 250, "non_sprinklered": 200 },
"common_path_of_travel": { "sprinklered": 125, "non_sprinklered": 125, "notes": "From within dwelling unit to exit door per Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes":"50ft from within dwelling unit or sleeping unit per 1020.5 Exc 1." },
"number_of_exits": [
{ "occupant_load": "1-20", "required_exits": 1, "notes": "From dwelling units if specific conditions in Table 1006.2.1 Note c are met." },
{ "occupant_load": "1-500", "required_exits": 2 , "notes": "General requirement for story if single exit exception not met."},
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
},
"S-1": {
"exit_access_travel_distance": { "sprinklered": 400, "non_sprinklered": 250, "notes": "From Table 1017.2. May be lower (e.g. 200/300) for high-piled storage." },
"common_path_of_travel": { "sprinklered": 100, "non_sprinklered": 75, "notes": "From Table 1006.3.2(1)." },
"dead_end_corridors": { "max_length": 20, "sprinklered_exception_length": 50, "notes":"50ft if sprinklered per 1020.5 Exc 2." },
"number_of_exits": [
{ "occupant_load": "1-49", "required_exits": 1, "notes": "If common path and travel distance limits of Table 1006.2.1 are met."},
{ "occupant_load": "50-500", "required_exits": 2 },
{ "occupant_load": "501-1000", "required_exits": 3 },
{ "occupant_load": "1001+", "required_exits": 4 }
]
}
},
"notes": ["Table numbers assumed largely stable. Common path for Assembly Group A with OL < 50. Dead-end corridor OL for sprinklered exception for certain occupancies."]
},
"accessibleRouteRequirements": {
"source": "IBC 2024 Chapter 11, Referencing ICC A117.1-2017 (or potentially a newer edition if adopted, e.g., 2023)",
"description": "Key dimensional requirements for accessible routes and elements (illustrative, based on ICC A117.1-2017).",
"lookupKeys": ["elementType"],
"data": {
"accessible_route": {
"min_clear_width": "36 inches",
"max_running_slope": "1:20 (5%) for walks, 1:12 (8.33%) for ramps",
"max_cross_slope": "1:48 (2.08%)",
"passing_space_interval_ft": "200 feet (if route < 60 inches wide)",
"passing_space_size_in": "60 inches x 60 inches minimum"
},
"doors": {
"min_clear_opening_width_in": "32 inches (when door open 90 degrees)",
"threshold_height_max_beveled_in": "1/2 inch",
"threshold_height_max_vertical_in": "1/4 inch",
"opening_force_interior_hinged_lbf": "5 pounds max"
},
"ramps": {
"max_slope": "1:12 (8.33%)",
"min_clear_width_in": "36 inches",
"max_rise_for_single_run_in": "30 inches",
"landing_size_min_in": "60 inches x 60 inches (at top/bottom/turns)",
"landing_length_straight_min_in": "60 inches"
},
"toilet_rooms_single_user": {
"clear_floor_space_wc_parallel_approach_in": "Varies by layout, e.g., 60 inches wide x 56 inches deep",
"clear_floor_space_wc_forward_approach_in": "Varies by layout, e.g., 36 inches wide x 66 inches deep (if door on side wall)",
"door_swing_note": "Door shall not swing into clear floor space required for any fixture, unless a 30x48 inch clear space is provided beyond the arc of the door swing.",
"grab_bar_side_wall_length_in": "42 inches min",
"grab_bar_rear_wall_length_in": "36 inches min",
"toilet_centerline_from_side_wall_in": "16 to 18 inches"
}
},
"notes": [
"Values are illustrative and based on ICC A117.1-2017. IBC 2024 would reference the adopted A117.1 edition.",
"Always verify with the specific edition of ICC A117.1 adopted by the jurisdiction.",
"Many other detailed requirements apply. Units (inches, feet, pounds-force) indicated in keys or notes."
]
}
},
"notes": [
"This data is a representation of IBC 2024 for illustrative and computational purposes, based on common evolution from IBC 2021 and identified missing data.",
"Always verify with the officially adopted code for your jurisdiction for precise 2024 values and any new provisions.",
"Many exceptions and specific conditions may apply that are not fully detailed here.",
"NL = No Limit",
"NP = Not Permitted"
]
}