Quote Builder API Schema
This document describes the parameter schema for the Quote Builder (formerly Radiant Heat Calculator/RHC) API.
Overview
The Quote Builder accepts parameters for both Indoor (floor heating) and Outdoor (snow melting) environments. Parameters vary based on the selected environment.
API Parameters
Environment
The top-level environment determines which subsequent parameters are available.
Values: Indoor | Outdoor
Room Configuration Parameters
room_type_key
The type of room or outdoor area being heated.
Indoor Options:
additionbasementbathroombedroombreakfast-nookdining-roomenclosed-porchensuiteentry-hallwayfamily-roomfour-season-roomgaragehome-theater-roomkitchenlaundryliving-roommaster-bathroommaster-bedroommudroomofficeotherpowder-roomrecreation-media-roomshop-floorshower-saunasunroomthree-season-room
Outdoor Options:
bridgecarportcourtyarddrivewayentryexitlandingpatioporchrampstairvaletwalkway
sub_floor_type_key
The subfloor material (Indoor only).
Indoor Options:
woodnewly-poured-indoor-concrete-slabexisting-concrete-slab
floor_type_key
The finished floor/surface material.
Indoor Options:
bamboo-floatingbamboo-gluedbamboo-nailedcarpet-gluedcarpetcorkengineered-floatingengineered-gluedengineered-nailedunfinished-stamped-or-colored-concretewood-gluedwood-nailedlaminate-click-together-floatinglaminate-glued-together-floatinglaminate-nailedotherresilients-vinyl-and-luxury-vinyl-tile-lvtstonetile-marble-or-stone
Outdoor Options:
asphaltconcretepaver
coverage_state
The coverage pattern for outdoor snow melting systems.
Outdoor Options:
full(0) - Full coveragetire_tracks_legacy(3) - Legacy tire track coverage (via server)tire_tracks(4) - Tire track coverage
membrane_type
Uncoupling membrane type (Indoor only).
Indoor Options:
ProdesoDitra
cable_spacing
The spacing between heating cables/elements (in inches).
Indoor Options: 3.0 | 3.5 | 3.75 | 4.0 | 4.75 | 5.0
Outdoor Options: 3.0 | 5.0
voltage_id
The electrical voltage for the heating system.
Indoor Options: 120 | 240
Outdoor Options: 120 | 208 | 240 | 277
heating_system_product_line_url
The specific product line to use for the heating system.
Indoor Options:
floor-heating-tempzone-flex-rollfloor-heating-tempzone-easy-matfloor-heating-tempzone-cablefloor-heating-environ-flex-rollfloor-heating-environ-easy-matfloor-heating-slab-heat-matfloor-heating-slab-heat-cable
Outdoor Options:
snow-melting-matsnow-melting-cable
Area Calculations
heated_area
Type: float (square feet)
Optional: Yes
Note: If present, zones are ignored.
Example: 100.0
room_area
Type: float (square feet)
Optional: Yes
Example: 120.0
zones
Type: Array of zone objects
Optional: Yes
Note: Ignored if heated_area is present.
Each zone object contains:
length-float(feet)width-float(feet)
Example:
{
"zones": [
{
"length": 20.0,
"width": 10.0
},
{
"length": 15.0,
"width": 8.0
}
]
}
Query String Format:
zones_attributes[1529695727819][length_raw]=10&zones_attributes[1529695727819][width_raw]=10
design_data
Type: Object
Optional: Yes
Note: Advanced design configuration data.
Example:
{
"design_data": {}
}
Related Files
This schema is implemented across the following components:
- Controller:
app/controllers/www/quote_builder_controller.rb - Services:
app/services/heating_system_calculator/ - Frontend:
client/js/www/quotes/ - Models:
app/models/heating_element_product_line_option.rb
Usage Examples
Indoor Bathroom with Tile (Simple)
?environment=Indoor
&room_type_key=bathroom
&floor_type_key=tile-marble-or-stone
&sub_floor_type_key=wood
&heated_area=100.0
&cable_spacing=3.0
&voltage_id=120
&heating_system_product_line_url=floor-heating-tempzone-flex-roll
Outdoor Driveway with Zones
?environment=Outdoor
&room_type_key=driveway
&floor_type_key=asphalt
&zones_attributes[1][length_raw]=20
&zones_attributes[1][width_raw]=10
&coverage_state=full
&cable_spacing=3.0
&voltage_id=240
&heating_system_product_line_url=snow-melting-cable