Skip to content

Quote Builder API Schema

This document describes the parameter schema for the Quote Builder (formerly Radiant Heat Calculator/RHC) API.

The Quote Builder accepts parameters for both Indoor (floor heating) and Outdoor (snow melting) environments. Parameters vary based on the selected environment.


The top-level environment determines which subsequent parameters are available.

Values: Indoor | Outdoor


The type of room or outdoor area being heated.

Indoor Options:

  • addition
  • basement
  • bathroom
  • bedroom
  • breakfast-nook
  • dining-room
  • enclosed-porch
  • ensuite
  • entry-hallway
  • family-room
  • four-season-room
  • garage
  • home-theater-room
  • kitchen
  • laundry
  • living-room
  • master-bathroom
  • master-bedroom
  • mudroom
  • office
  • other
  • powder-room
  • recreation-media-room
  • shop-floor
  • shower-sauna
  • sunroom
  • three-season-room

Outdoor Options:

  • bridge
  • carport
  • courtyard
  • driveway
  • entry
  • exit
  • landing
  • patio
  • porch
  • ramp
  • stair
  • valet
  • walkway

The subfloor material (Indoor only).

Indoor Options:

  • wood
  • newly-poured-indoor-concrete-slab
  • existing-concrete-slab

The finished floor/surface material.

Indoor Options:

  • bamboo-floating
  • bamboo-glued
  • bamboo-nailed
  • carpet-glued
  • carpet
  • cork
  • engineered-floating
  • engineered-glued
  • engineered-nailed
  • unfinished-stamped-or-colored-concrete
  • wood-glued
  • wood-nailed
  • laminate-click-together-floating
  • laminate-glued-together-floating
  • laminate-nailed
  • other
  • resilients-vinyl-and-luxury-vinyl-tile-lvt
  • stone
  • tile-marble-or-stone

Outdoor Options:

  • asphalt
  • concrete
  • paver

The coverage pattern for outdoor snow melting systems.

Outdoor Options:

  • full (0) - Full coverage
  • tire_tracks_legacy (3) - Legacy tire track coverage (via server)
  • tire_tracks (4) - Tire track coverage

Uncoupling membrane type (Indoor only).

Indoor Options:

  • Prodeso
  • Ditra

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


The electrical voltage for the heating system.

Indoor Options: 120 | 240

Outdoor Options: 120 | 208 | 240 | 277


The specific product line to use for the heating system.

Indoor Options:

  • floor-heating-tempzone-flex-roll
  • floor-heating-tempzone-easy-mat
  • floor-heating-tempzone-cable
  • floor-heating-environ-flex-roll
  • floor-heating-environ-easy-mat
  • floor-heating-slab-heat-mat
  • floor-heating-slab-heat-cable

Outdoor Options:

  • snow-melting-mat
  • snow-melting-cable

Type: float (square feet)
Optional: Yes
Note: If present, zones are ignored.

Example: 100.0


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]=10

Type: Object
Optional: Yes
Note: Advanced design configuration data.

Example:

{
"design_data": {}
}

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

?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
?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