Quote Builder API Schema
This document describes the parameter schema for the Quote Builder (formerly Radiant Heat Calculator/RHC) API.
Overview
Section titled “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
Section titled “API Parameters”Environment
Section titled “Environment”The top-level environment determines which subsequent parameters are available.
Values: Indoor | Outdoor
Room Configuration Parameters
Section titled “Room Configuration Parameters”room_type_key
Section titled “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
Section titled “sub_floor_type_key”The subfloor material (Indoor only).
Indoor Options:
woodnewly-poured-indoor-concrete-slabexisting-concrete-slab
floor_type_key
Section titled “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
Section titled “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
Section titled “membrane_type”Uncoupling membrane type (Indoor only).
Indoor Options:
ProdesoDitra
cable_spacing
Section titled “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
Section titled “voltage_id”The electrical voltage for the heating system.
Indoor Options: 120 | 240
Outdoor Options: 120 | 208 | 240 | 277
heating_system_product_line_url
Section titled “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
Section titled “Area Calculations”heated_area
Section titled “heated_area”Type: float (square feet)
Optional: Yes
Note: If present, zones are ignored.
Example: 100.0
room_area
Section titled “room_area”Type: float (square feet)
Optional: Yes
Example: 120.0
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]=10design_data
Section titled “design_data”Type: Object
Optional: Yes
Note: Advanced design configuration data.
Example:
{ "design_data": {}}Related Files
Section titled “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
Section titled “Usage Examples”Indoor Bathroom with Tile (Simple)
Section titled “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-rollOutdoor Driveway with Zones
Section titled “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