{"id":74665,"date":"2025-05-29T13:54:33","date_gmt":"2025-05-29T13:54:33","guid":{"rendered":"https:\/\/www.schwankgroup.com\/?page_id=74665"},"modified":"2025-07-25T16:21:16","modified_gmt":"2025-07-25T16:21:16","slug":"schwank-patio-roi-tool","status":"publish","type":"page","link":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/","title":{"rendered":"Schwank Patio ROI Tool"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f4f4f4&#8243; da_disable_devices=&#8221;off|off|off&#8221; global_colors_info=&#8221;{}&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row column_structure=&#8221;2_3,1_3&#8243; use_custom_gutter=&#8221;on&#8221; make_equal=&#8221;on&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; custom_margin=&#8221;18px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;2_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; custom_padding=&#8221;60px|60px|60px|60px|true|true&#8221; custom_padding_tablet=&#8221;30px|30px|0px|30px|false|true&#8221; custom_padding_phone=&#8221;|20px|0px|20px|false|true&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Schwank Patio Heater ROI Tool<\/h2>\n<h3>Take the guesswork out of the ideal patio solution.<\/h3>\n<p>Start calculating the profit of your outdoor patio with this easy to use tool.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; custom_padding=&#8221;60px|60px|60px|60px|true|true&#8221; custom_padding_tablet=&#8221;30px|30px|0px|30px|false|true&#8221; custom_padding_phone=&#8221;|20px|0px|20px|false|true&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3>\u00a0<\/h3>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;\/outdoor-patio-design-form\/&#8221; button_text=&#8221;Request a Design&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;20px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#000000&#8243; button_border_color=&#8221;#000000&#8243; button_border_radius=&#8221;3px&#8221; button_icon_color=&#8221;RGBA(255,255,255,0)&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; make_equal=&#8221;on&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; min_height=&#8221;1388.7px&#8221; custom_margin=&#8221;-33px|auto|0px|auto|false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; custom_padding=&#8221;60px|60px|60px|60px|true|true&#8221; custom_padding_tablet=&#8221;30px|30px|0px|30px|false|true&#8221; custom_padding_phone=&#8221;|20px|0px|20px|false|true&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<!DOCTYPE html><!-- [et_pb_line_break_holder] --><html lang=\"en\"><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->  <meta charset=\"UTF-8\" \/><!-- [et_pb_line_break_holder] -->  <title>Heated Patio ROI Calculator<\/title><!-- [et_pb_line_break_holder] -->  <\/p>\n<style><!-- [et_pb_line_break_holder] -->    @font-face {<!-- [et_pb_line_break_holder] -->      font-family: 'Century Gothic';<!-- [et_pb_line_break_holder] -->      src: local('Century Gothic'), local('CenturyGothic'),<!-- [et_pb_line_break_holder] -->           url('https:\/\/fonts.cdnfonts.com\/s\/10864\/CenturyGothic.woff') format('woff');<!-- [et_pb_line_break_holder] -->      font-weight: normal;<!-- [et_pb_line_break_holder] -->      font-style: normal;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    *, *::before, *::after {<!-- [et_pb_line_break_holder] -->      box-sizing: border-box;<!-- [et_pb_line_break_holder] -->      font-family: 'Century Gothic', Arial, sans-serif;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    html, body {<!-- [et_pb_line_break_holder] -->      margin: 0;<!-- [et_pb_line_break_holder] -->      padding: 0;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      font-family: 'Century Gothic', Arial, sans-serif;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    body {<!-- [et_pb_line_break_holder] -->      padding: 2rem;<!-- [et_pb_line_break_holder] -->      background-color: #f5f5f5;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    h1 {<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      margin-bottom: 2rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    form {<!-- [et_pb_line_break_holder] -->      max-width: 100%;<!-- [et_pb_line_break_holder] -->      margin: 0 auto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    label, select, input, button {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      margin: 0.5rem 0;<!-- [et_pb_line_break_holder] -->      font-family: 'Century Gothic', Arial, sans-serif;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    input, select {<!-- [et_pb_line_break_holder] -->      padding: 0.5rem;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      max-width: 600px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    button {<!-- [et_pb_line_break_holder] -->      padding: 0.6rem 1.5rem;<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->      margin: 0.5rem 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #result {<!-- [et_pb_line_break_holder] -->      margin-top: 2rem;<!-- [et_pb_line_break_holder] -->      background: #fff;<!-- [et_pb_line_break_holder] -->      padding: 1rem;<!-- [et_pb_line_break_holder] -->      border-radius: 8px;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 0 4px rgba(0,0,0,0.1);<!-- [et_pb_line_break_holder] -->      overflow-x: auto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #chartContainer {<!-- [et_pb_line_break_holder] -->      margin-top: 2rem;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      overflow-x: auto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #breakdown {<!-- [et_pb_line_break_holder] -->      margin-top: 2rem;<!-- [et_pb_line_break_holder] -->      overflow-x: auto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #breakdown table {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      border-collapse: collapse;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #breakdown th, #breakdown td {<!-- [et_pb_line_break_holder] -->      border: 1px solid #ccc;<!-- [et_pb_line_break_holder] -->      padding: 0.5rem;<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @media (max-width: 600px) {<!-- [et_pb_line_break_holder] -->      input, select {<!-- [et_pb_line_break_holder] -->        max-width: 100%;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  <\/style>\n<p><!-- [et_pb_line_break_holder] -->  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script><!-- [et_pb_line_break_holder] -->  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-annotation@1.4.0\"><\/script><!-- [et_pb_line_break_holder] -->  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script><!-- [et_pb_line_break_holder] -->  <script src=\"https:\/\/html2canvas.hertzen.com\/dist\/html2canvas.min.js\"><\/script><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] -->  <\/p>\n<form id=\"roiForm\"><!-- [et_pb_line_break_holder] -->    <label>Choose City:<\/label><!-- [et_pb_line_break_holder] -->    <select id=\"city\"><!-- [et_pb_line_break_holder] --><option>Toronto<\/option><option>Montreal<\/option><option>Calgary<\/option><!-- [et_pb_line_break_holder] --><option>Ottawa<\/option><option>Minneapolis<\/option><option>Boston<\/option><!-- [et_pb_line_break_holder] --><option>Chicago<\/option><option>New York<\/option><option>Vancouver<\/option><!-- [et_pb_line_break_holder] --><option>Seattle<\/option><option>Denver<\/option><option>Los Angeles<\/option><!-- [et_pb_line_break_holder] --><option>San Francisco<\/option><option>Phoenix<\/option><option>Miami<\/option><!-- [et_pb_line_break_holder] --><option>Edmonton<\/option><option>St. John&#8217;s<\/option><option>Victoria<\/option><!-- [et_pb_line_break_holder] --><option>Atlanta<\/option><option>Nashville<\/option><option>San Diego<\/option><!-- [et_pb_line_break_holder] -->    <\/select><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Choose Heater Model:<\/label><!-- [et_pb_line_break_holder] -->    <select id=\"heaterModel\"><!-- [et_pb_line_break_holder] --><option>supremeSchwank 2300 Series<\/option><!-- [et_pb_line_break_holder] --><option>phantomSchwank STP Series<\/option><!-- [et_pb_line_break_holder] --><option>eSchwank Ghost Series (Electric)<\/option><!-- [et_pb_line_break_holder] -->    <\/select><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Patio Length (ft):<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"length\" value=\"30\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Patio Width (ft):<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"width\" value=\"20\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Square Feet per Person:<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"sqftPerPerson\" value=\"15\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Average Spend per Person ($):<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"avgSpend\" value=\"40\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Food Profit Margin (%):<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"margin\" value=\"30\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <label>Hours of Heater Use Per Day:<\/label><!-- [et_pb_line_break_holder] -->    <input type=\"number\" id=\"hoursPerDay\" value=\"6\" min=\"1\" max=\"24\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <button type=\"button\" onclick=\"calculateROI()\">Calculate ROI<\/button><!-- [et_pb_line_break_holder] -->    <button type=\"button\" onclick=\"exportPDF()\">Download PDF<\/button><!-- [et_pb_line_break_holder] -->  <\/form>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"result\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"chartContainer\"><!-- [et_pb_line_break_holder] -->    <canvas id=\"barChart\" width=\"700\" height=\"350\"><\/canvas><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"breakdown\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    const exchangeRate = 1.36;<!-- [et_pb_line_break_holder] -->    const monthNames = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];<!-- [et_pb_line_break_holder] -->    const cityData = {<!-- [et_pb_line_break_holder] -->      Toronto:{lows:[17,19,28,38,48,58,63,62,55,44,34,24],gas:1.27,elec:0.14,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Montreal:{lows:[7,10,22,37,47,57,63,61,52,44,30,18],gas:1.27,elec:0.09,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Calgary:{lows:[7,10,20,34,46,53,57,56,47,36,23,10],gas:1.27,elec:0.13,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Ottawa:{lows:[9,11,24,36,47,57,61,59,49,42,28,14],gas:1.27,elec:0.13,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Minneapolis:{lows:[4,8,21,34,46,57,61,60,52,41,27,12],gas:1.45,elec:0.13,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Boston:{lows:[22,24,32,42,52,61,66,65,58,47,37,28],gas:1.45,elec:0.21,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Chicago:{lows:[16,19,28,40,51,61,66,65,56,43,32,21],gas:1.45,elec:0.16,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      \"New York\":{lows:[26,28,35,45,54,64,69,68,60,50,41,32],gas:1.45,elec:0.22,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Vancouver:{lows:[36,37,39,44,49,53,56,56,52,46,40,36],gas:1.27,elec:0.12,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Seattle:{lows:[37,38,41,44,49,53,56,56,52,45,40,37],gas:1.45,elec:0.10,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Denver:{lows:[17,20,29,37,45,55,61,60,52,40,28,18],gas:1.45,elec:0.11,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      \"Los Angeles\":{lows:[44,46,48,51,56,60,64,65,63,58,50,44],gas:2.28,elec:0.24,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      \"San Francisco\":{lows:[45,48,50,52,55,57,58,58,58,55,50,46],gas:2.28,elec:0.27,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Phoenix:{lows:[43,46,50,56,65,74,81,80,74,62,50,43],gas:1.45,elec:0.14,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Miami:{lows:[60,61,65,69,73,76,77,77,75,72,66,61],gas:1.45,elec:0.12,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Edmonton:{lows:[13,17,28,36,48,58,65,62,52,41,28,17],gas:1.27,elec:0.13,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      \"St. John's\":{lows:[20,25,33,41,50,59,65,67,62,51,40,31],gas:1.27,elec:0.12,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Victoria:{lows:[40,41,43,47,51,55,59,62,57,48,42,39],gas:1.27,elec:0.12,currency:\"CAD\"},<!-- [et_pb_line_break_holder] -->      Atlanta:{lows:[33,36,42,51,60,68,71,70,67,57,47,36],gas:1.45,elec:0.14,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      Nashville:{lows:[27,32,41,51,60,69,71,70,67,57,47,37],gas:1.45,elec:0.15,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->      \"San Diego\":{lows:[49,51,52,55,59,64,67,67,66,62,56,50],gas:2.28,elec:0.24,currency:\"USD\"},<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const cityLogic = {<!-- [et_pb_line_break_holder] -->      Toronto:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Montreal:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Calgary:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Ottawa:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Minneapolis:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Boston:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Chicago:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      \"New York\":{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Vancouver:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Seattle:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Denver:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      \"Los Angeles\":{full:[44,60],half:[40,43],exclude:[5,6,7]},<!-- [et_pb_line_break_holder] -->      \"San Francisco\":{full:[44,60],half:[40,43],exclude:[5,6,7]},<!-- [et_pb_line_break_holder] -->      Phoenix:{full:[44,60],half:[40,43],exclude:[5,6,7]},<!-- [et_pb_line_break_holder] -->      Miami:{full:[-Infinity,65],half:null,exclude:[0,2,3,4,5,6,7,8,9,10]},<!-- [et_pb_line_break_holder] -->      Edmonton:{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      \"St. John's\":{full:[44,55],half:[38,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Victoria:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Atlanta:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      Nashville:{full:[44,60],half:[40,43],exclude:[6,7]},<!-- [et_pb_line_break_holder] -->      \"San Diego\":{full:[44,60],half:[40,43],exclude:[5,6,7]},<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const heaters = {<!-- [et_pb_line_break_holder] -->      \"supremeSchwank 2300 Series\":{cost:3800,rate:50000,cov:100,maintenance:300,fuelType:\"gas\"},<!-- [et_pb_line_break_holder] -->      \"phantomSchwank STP Series\":{cost:5100,rate:80000,cov:200,maintenance:250,fuelType:\"gas\"},<!-- [et_pb_line_break_holder] -->      \"eSchwank Ghost Series (Electric)\":{cost:1500,rate:6,cov:150,maintenance:150,fuelType:\"electric\"}<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    function formatMoney(v){<!-- [et_pb_line_break_holder] -->      return v.toLocaleString(undefined,{minimumFractionDigits:2,maximumFractionDigits:2});<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    function removeConsecutiveHalves(months){<!-- [et_pb_line_break_holder] -->      for(let i=0;i<months.length-1;i++){<!-- [et_pb_line_break_holder] -->        if(months[i].includes(\"(\u00bd\") && months[i+1].includes(\"(\u00bd\")){<!-- [et_pb_line_break_holder] -->          months.splice(i,1);<!-- [et_pb_line_break_holder] -->          break;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    function calculateROI(){<!-- [et_pb_line_break_holder] -->      const ck=document.getElementById(\"city\").value;<!-- [et_pb_line_break_holder] -->      const hk=document.getElementById(\"heaterModel\").value;<!-- [et_pb_line_break_holder] -->      const L=+document.getElementById(\"length\").value;<!-- [et_pb_line_break_holder] -->      const W=+document.getElementById(\"width\").value;<!-- [et_pb_line_break_holder] -->      const sqft=+document.getElementById(\"sqftPerPerson\").value;<!-- [et_pb_line_break_holder] -->      const avg=+document.getElementById(\"avgSpend\").value;<!-- [et_pb_line_break_holder] -->      const margin=+document.getElementById(\"margin\").value\/100;<!-- [et_pb_line_break_holder] -->      const hrsPD=+document.getElementById(\"hoursPerDay\").value;<!-- [et_pb_line_break_holder] -->      if(!L||!W||!sqft||!avg||margin<0||!hrsPD||hrsPD<=0||hrsPD>24){<!-- [et_pb_line_break_holder] -->        document.getElementById(\"result\").innerHTML='<span style=\"color:red;\">\u26a0\ufe0f Check inputs\u2014they must be positive and valid.<\/span>';<!-- [et_pb_line_break_holder] -->        document.getElementById(\"breakdown\").innerHTML=\"\";<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      const city=cityData[ck],logic=cityLogic[ck],heater=heaters[hk],curr=city.currency;<!-- [et_pb_line_break_holder] -->      const area=L*W, seats=(area\/sqft)*0.6, dinersPM=seats*2*30;<!-- [et_pb_line_break_holder] -->      let months=0,extm=[];<!-- [et_pb_line_break_holder] -->      city.lows.forEach((low,i)=>{<!-- [et_pb_line_break_holder] -->        if(logic.exclude.includes(i))return;<!-- [et_pb_line_break_holder] -->        let w=0;<!-- [et_pb_line_break_holder] -->        if(low>=logic.full[0]&&low<=logic.full[1])w=1;<!-- [et_pb_line_break_holder] -->        else if(logic.half&&low>=logic.half[0]&&low<=logic.half[1])w=0.5;<!-- [et_pb_line_break_holder] -->        if(w){<!-- [et_pb_line_break_holder] -->          extm.push(monthNames[i]+(w===0.5?\" (\u00bd)\":\"\"));<!-- [et_pb_line_break_holder] -->          months+=w;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      removeConsecutiveHalves(extm);<!-- [et_pb_line_break_holder] -->      if(!months){<!-- [et_pb_line_break_holder] -->        document.getElementById(\"result\").innerHTML='<span style=\"color:red;\">\u26a0\ufe0f No heating season.<\/span>';<!-- [et_pb_line_break_holder] -->        document.getElementById(\"breakdown\").innerHTML=\"\";<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      const nH=Math.ceil(area\/heater.cov);<!-- [et_pb_line_break_holder] -->      const heaterCost=curr===\"CAD\"?heater.cost*nH*exchangeRate:heater.cost*nH;<!-- [et_pb_line_break_holder] -->      const installCost=curr===\"CAD\"?((heater.fuelType===\"gas\"?2000:1200)*nH*exchangeRate):((heater.fuelType===\"gas\"?2000:1200)*nH);<!-- [et_pb_line_break_holder] -->      const maintCost=curr===\"CAD\"?heater.maintenance*nH*exchangeRate:heater.maintenance*nH;<!-- [et_pb_line_break_holder] -->      const hrsPM=hrsPD*30;<!-- [et_pb_line_break_holder] -->      const fuelCost=heater.fuelType===\"gas\"<!-- [et_pb_line_break_holder] -->        ?heater.rate*hrsPM\/100000*city.gas*months*nH<!-- [et_pb_line_break_holder] -->        :heater.rate*hrsPM*city.elec*months*nH;<!-- [et_pb_line_break_holder] -->      const gross=dinersPM*avg*months;<!-- [et_pb_line_break_holder] -->      const profit=gross*margin;<!-- [et_pb_line_break_holder] -->      const upfront=heaterCost+installCost;<!-- [et_pb_line_break_holder] -->      const annualCost=upfront\/5+fuelCost+maintCost;<!-- [et_pb_line_break_holder] -->      const netProfit=profit-annualCost;<!-- [et_pb_line_break_holder] -->      if(netProfit<=0){<!-- [et_pb_line_break_holder] -->        document.getElementById(\"result\").innerHTML='<span style=\"color:red;\">\u26a0\ufe0f No profit\u2014costs exceed revenue.<\/span>';<!-- [et_pb_line_break_holder] -->        document.getElementById(\"breakdown\").innerHTML=\"\";<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      const payback=upfront\/(netProfit\/12), payYr=payback\/12, tY=Math.ceil(payYr)+1;<!-- [et_pb_line_break_holder] -->      document.getElementById(\"result\").innerHTML=`<!-- [et_pb_line_break_holder] -->        \ud83d\udccd <strong>${ck}<\/strong> | \ud83d\udd25 <strong>${hk}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udccf Area: ${area.toFixed(0)}\u202fsqft \u2014 <strong>${nH}<\/strong> heaters<!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udcba Seats (60% occupancy): <strong>${Math.round(seats)}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83c\udfaf Turnovers\/night: <strong>2<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\uddd3\ufe0f Heating Months: <strong>${extm.join(\", \")}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udcb5 Heater Cost: <strong>${formatMoney(heaterCost)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83e\uddf0 Installation Cost: <strong>${formatMoney(installCost)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udee0\ufe0f Maintenance (year): <strong>${formatMoney(maintCost)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \u26a1 Fuel Cost (year): <strong>${formatMoney(fuelCost)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udcb5 Total Upfront: <strong>${formatMoney(upfront)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udcca Net Profit (year): <strong>${formatMoney(netProfit)} ${curr}<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \ud83d\udd52 Payback: <strong>${formatMoney(payback)} mo (~${formatMoney(payYr)} yrs)<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->        \u2705 <em>Estimated break-even in ~<strong>${formatMoney(payback)} months<\/strong>.<\/em><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->      drawChart(upfront, netProfit, curr, payback);<!-- [et_pb_line_break_holder] -->      renderTable(upfront, netProfit, curr, payYr, tY, payback);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function drawChart(upfront, netProfit, curr, payback) {<!-- [et_pb_line_break_holder] -->      const ctx = document.getElementById(\"barChart\").getContext(\"2d\");<!-- [et_pb_line_break_holder] -->      if (window.chart) window.chart.destroy();<!-- [et_pb_line_break_holder] -->      const py = payback \/ 12, tY = Math.ceil(py) + 1;<!-- [et_pb_line_break_holder] -->      const labels = [], bar = [], line = [];<!-- [et_pb_line_break_holder] -->      for (let i = 0; i <= tY; i++) {<!-- [et_pb_line_break_holder] -->        labels.push(`Year ${i}`);<!-- [et_pb_line_break_holder] -->        bar.push(-upfront + netProfit * i);<!-- [et_pb_line_break_holder] -->        line.push(netProfit * i);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      window.chart = new Chart(ctx, {<!-- [et_pb_line_break_holder] -->        type: \"bar\",<!-- [et_pb_line_break_holder] -->        data: {<!-- [et_pb_line_break_holder] -->          labels,<!-- [et_pb_line_break_holder] -->          datasets: [<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->              label: \"Cumulative Value\",<!-- [et_pb_line_break_holder] -->              data: bar,<!-- [et_pb_line_break_holder] -->              backgroundColor: bar.map(v => v < 0 ? \"#e53935\" : \"#4caf50\")<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->              type: \"line\",<!-- [et_pb_line_break_holder] -->              label: \"Net Profit\",<!-- [et_pb_line_break_holder] -->              data: line,<!-- [et_pb_line_break_holder] -->              borderColor: \"#2196f3\",<!-- [et_pb_line_break_holder] -->              fill: false,<!-- [et_pb_line_break_holder] -->              tension: 0.3,<!-- [et_pb_line_break_holder] -->              borderWidth: 2<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->          ]<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        options: {<!-- [et_pb_line_break_holder] -->          scales: {<!-- [et_pb_line_break_holder] -->            y: {<!-- [et_pb_line_break_holder] -->              beginAtZero: false,<!-- [et_pb_line_break_holder] -->              title: {<!-- [et_pb_line_break_holder] -->                display: true,<!-- [et_pb_line_break_holder] -->                text: `Value (${curr})`<!-- [et_pb_line_break_holder] -->              }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->          },<!-- [et_pb_line_break_holder] -->          plugins: {<!-- [et_pb_line_break_holder] -->            legend: { position: \"top\" },<!-- [et_pb_line_break_holder] -->            tooltip: { mode: \"index\", intersect: false },<!-- [et_pb_line_break_holder] -->            annotation: {<!-- [et_pb_line_break_holder] -->              annotations: {<!-- [et_pb_line_break_holder] -->                paybackLine: {<!-- [et_pb_line_break_holder] -->                  type: \"line\",<!-- [et_pb_line_break_holder] -->                  xMin: py,<!-- [et_pb_line_break_holder] -->                  xMax: py,<!-- [et_pb_line_break_holder] -->                  borderColor: \"orange\",<!-- [et_pb_line_break_holder] -->                  borderWidth: 2,<!-- [et_pb_line_break_holder] -->                  label: {<!-- [et_pb_line_break_holder] -->                    content: `\ud83d\udcc8 ${formatMoney(payback)} mo`,<!-- [et_pb_line_break_holder] -->                    enabled: true,<!-- [et_pb_line_break_holder] -->                    position: \"top\",<!-- [et_pb_line_break_holder] -->                    backgroundColor: \"orange\",<!-- [et_pb_line_break_holder] -->                    color: \"white\",<!-- [et_pb_line_break_holder] -->                    font: { weight: \"bold\", size: 12 },<!-- [et_pb_line_break_holder] -->                    padding: 6<!-- [et_pb_line_break_holder] -->                  }<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->              }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderTable(upfront, netProfit, curr, payYr, tY, payback) {<!-- [et_pb_line_break_holder] -->      let html = `<\/p>\n<h3>\ud83d\udcc5 Year\u2011by\u2011Year Breakdown<\/h3>\n<table><!-- [et_pb_line_break_holder] -->        <\/p>\n<tr>\n<th>Year<\/th>\n<th>Cumulative Value<\/th>\n<th>Total Profit<\/th>\n<th>Note<\/th>\n<\/tr>\n<p>`;<!-- [et_pb_line_break_holder] -->      const ry = Math.round(payYr);<!-- [et_pb_line_break_holder] -->      for (let y = 0; y <= tY; y++) {<!-- [et_pb_line_break_holder] -->        const cum = -upfront + netProfit * y;<!-- [et_pb_line_break_holder] -->        const note = (y === ry) ? `\ud83d\udcc8 Payback in ${formatMoney(payback)} mo` : \"\";<!-- [et_pb_line_break_holder] -->        html += `<\/p>\n<tr><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>${y}<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td style=\"color:${cum < 0 ? \"red\" : \"green\"}\">${formatMoney(cum)} ${curr}<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>${formatMoney(netProfit * y)} ${curr}<\/td>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<td>${note}<\/td>\n<p><!-- [et_pb_line_break_holder] -->        <\/tr>\n<p>`;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      html += \"<\/table>\n<p>\";<!-- [et_pb_line_break_holder] -->      document.getElementById(\"breakdown\").innerHTML = html;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    async function exportPDF() {<!-- [et_pb_line_break_holder] -->      const { jsPDF } = window.jspdf;<!-- [et_pb_line_break_holder] -->      const pdf = new jsPDF();<!-- [et_pb_line_break_holder] -->      const r = await html2canvas(document.getElementById(\"result\"));<!-- [et_pb_line_break_holder] -->      pdf.addImage(r.toDataURL(), \"PNG\", 10, 10, 190, 0);<!-- [et_pb_line_break_holder] -->      pdf.addPage().addImage(document.getElementById(\"barChart\").toDataURL(), \"PNG\", 10, 10, 190, 0);<!-- [et_pb_line_break_holder] -->      const br = await html2canvas(document.getElementById(\"breakdown\"));<!-- [et_pb_line_break_holder] -->      pdf.addPage().addImage(br.toDataURL(), \"PNG\", 10, 10, 190, 0);<!-- [et_pb_line_break_holder] -->      pdf.save(\"Heated_Patio_ROI_Report.pdf\");<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  <\/script><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>[\/et_pb_code][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; min_height=&#8221;66.6px&#8221; custom_margin=&#8221;|auto|0px|auto||&#8221; custom_padding=&#8221;13px|60px|0px|60px|false|true&#8221; custom_padding_tablet=&#8221;0px|30px|30px|30px|false|true&#8221; custom_padding_phone=&#8221;|20px||20px|true|true&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3>Our design engineers are ready!<\/h3>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; min_height=&#8221;140.6px&#8221; custom_margin=&#8221;|auto|12px|auto||&#8221; custom_padding=&#8221;13px|60px|0px|60px|false|true&#8221; custom_padding_tablet=&#8221;0px|30px|30px|30px|false|true&#8221; custom_padding_phone=&#8221;|20px||20px|true|true&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_button button_url=&#8221;\/outdoor-patio-design-form\/&#8221; button_text=&#8221;Request a Design&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;20px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#000000&#8243; button_border_color=&#8221;#000000&#8243; button_border_radius=&#8221;3px&#8221; button_icon_color=&#8221;RGBA(255,255,255,0)&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_button button_url=&#8221;https:\/\/www.schwankgroup.com\/compare-schwank-patio-heater-models\/&#8221; button_text=&#8221;Compare Patio Heaters&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;20px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#000000&#8243; button_border_color=&#8221;#000000&#8243; button_border_radius=&#8221;3px&#8221; button_icon_color=&#8221;RGBA(255,255,255,0)&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_button button_url=&#8221;https:\/\/www.schwankgroup.com\/locator\/&#8221; button_text=&#8221;Where to Buy&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;20px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#000000&#8243; button_border_color=&#8221;#000000&#8243; button_border_radius=&#8221;3px&#8221; button_icon_color=&#8221;RGBA(255,255,255,0)&#8221; hover_enabled=&#8221;0&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Section&#8221; _builder_version=&#8221;4.7.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f4f4f4&#8243; custom_padding=&#8221;24px|||||&#8221; custom_padding_tablet=&#8221;10px||45px||false|false&#8221; custom_padding_phone=&#8221;10px||30px||false|false&#8221; da_disable_devices=&#8221;off|off|off&#8221; global_module=&#8221;14804&#8243; saved_tabs=&#8221;all&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row custom_padding_last_edited=&#8221;on|desktop&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;|20%|||false|false&#8221; custom_padding_tablet=&#8221;|0%|||false|false&#8221; custom_padding_phone=&#8221;&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;|30%|||false|false&#8221; custom_padding_tablet=&#8221;|0%|||false|false&#8221; custom_padding_phone=&#8221;&#8221; custom_padding_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3><span style=\"color: #000000;\">Get started<\/span><\/h3>\n<h3>For more information or to purchase, contact us<\/h3>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; make_equal=&#8221;on&#8221; module_class=&#8221;gq_r_fixed_buttons&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_enable_color=&#8221;off&#8221; min_height=&#8221;259.9px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blurb use_icon=&#8221;on&#8221; font_icon=&#8221;&#x77;||divi||400&#8243; image_icon_width=&#8221;45px&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;40px||||false|false&#8221; icon_font_size=&#8221;45px&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blurb][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Helvetica Neue LT 83||||||||&#8221; text_font_size=&#8221;19px&#8221; header_2_font_size=&#8221;21px&#8221; header_5_font_size=&#8221;9px&#8221; header_6_text_color=&#8221;#e25303&#8243; header_6_letter_spacing=&#8221;1px&#8221; header_6_line_height=&#8221;1.4em&#8221; custom_margin=&#8221;||8px||false|false&#8221; custom_padding=&#8221;20px|30px|0px|30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h4>Get in touch<\/h4>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;-8px||19px||false|false&#8221; custom_padding=&#8221;0px|30px||30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>For general inquiries, please call us toll-free (USA &amp; Canada) 1-877-686-3779 or email our experts.\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;mailto:%91email_csr%93&#8243; button_text=&#8221;Email our experts&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; custom_margin=&#8221;|30px|20px|30px|false|true&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; background_enable_image=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blurb use_icon=&#8221;on&#8221; font_icon=&#8221;&#xe01d;||divi||400&#8243; image_icon_width=&#8221;45px&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;40px||||false|false&#8221; icon_font_size=&#8221;45px&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blurb][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Helvetica Neue LT 83||||||||&#8221; text_font_size=&#8221;19px&#8221; header_2_font_size=&#8221;21px&#8221; header_5_font_size=&#8221;9px&#8221; header_6_text_color=&#8221;#e25303&#8243; header_6_letter_spacing=&#8221;1px&#8221; header_6_line_height=&#8221;1.4em&#8221; custom_margin=&#8221;||8px||false|false&#8221; custom_padding=&#8221;20px|30px|0px|30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h4>Where to buy<\/h4>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;-8px||||false|false&#8221; custom_padding=&#8221;0px|30px|20px|30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Schwank reps will help you select the units and designs that best fit your application, at no charge.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;\/locator\/&#8221; button_text=&#8221;Locator map&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; custom_margin=&#8221;|30px|20px|30px|false|true&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; background_enable_image=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blurb use_icon=&#8221;on&#8221; font_icon=&#8221;&#x6b;||divi||400&#8243; image_icon_width=&#8221;45px&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;40px||||false|false&#8221; icon_font_size=&#8221;45px&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blurb][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Helvetica Neue LT 83||||||||&#8221; text_font_size=&#8221;19px&#8221; header_2_font_size=&#8221;21px&#8221; header_5_font_size=&#8221;9px&#8221; header_6_text_color=&#8221;#e25303&#8243; header_6_letter_spacing=&#8221;1px&#8221; header_6_line_height=&#8221;1.4em&#8221; custom_margin=&#8221;||8px||false|false&#8221; custom_padding=&#8221;20px|30px|0px|30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h4>Request a design<\/h4>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;-8px||||false|false&#8221; custom_padding=&#8221;0px|30px|20px|30px|false|true&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>We can recommend, support specifying, and be a partner through the entire design process.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;\/support&#8221; button_text=&#8221;Request your design&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; custom_margin=&#8221;|30px|20px|30px|false|true&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Outil de calcul du retour sur investissement des chauffages de terrasse Schwank Ne cherchez plus \u00e0 savoir quelle est la solution id\u00e9ale pour votre terrasse. Commencez \u00e0 calculer le b\u00e9n\u00e9fice de votre terrasse gr\u00e2ce \u00e0 cet outil facile \u00e0 utiliser. Nos ing\u00e9nieurs concepteurs sont pr\u00eats ! Commencez Pour plus d'informations ou pour acheter, contactez-nousContactez-nousPour toute question d'ordre g\u00e9n\u00e9ral, appelez-nous sans frais (\u00c9tats-Unis et Canada) au 1-877-686-3779 ou envoyez un courriel \u00e0 nos experts. O\u00f9 acheterLes repr\u00e9sentants Schwank vous aideront gratuitement \u00e0 s\u00e9lectionner les unit\u00e9s et les mod\u00e8les les mieux adapt\u00e9s \u00e0 votre application.Demander un mod\u00e8leNous pouvons vous recommander, vous aider \u00e0 \u00e9tablir des sp\u00e9cifications et \u00eatre un partenaire tout au long du processus de conception.<\/p>","protected":false},"author":3377,"featured_media":0,"parent":0,"menu_order":25,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-74665","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Schwank Patio Heater ROI Tool Take the guesswork out of the ideal patio solution. Start calculating the profit of your outdoor patio with this easy to use tool. Request a Design Heated Patio ROI Calculator Choose City: TorontoMontrealCalgary OttawaMinneapolisBoston ChicagoNew YorkVancouver SeattleDenverLos Angeles San FranciscoPhoenixMiami EdmontonSt. John&#039;sVictoria AtlantaNashvilleSan Diego Choose Heater Model: supremeSchwank 2300\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/#listItem\",\"name\":\"Schwank Patio ROI Tool\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/#listItem\",\"position\":2,\"name\":\"Schwank Patio ROI Tool\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/#organization\",\"name\":\"Schwank\",\"description\":\"Smart Infrared Heating, Air Curtains, Air Movement\",\"url\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/#webpage\",\"url\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/\",\"name\":\"Schwank | Schwank Patio ROI Tool\",\"description\":\"Schwank Patio Heater ROI Tool Take the guesswork out of the ideal patio solution. Start calculating the profit of your outdoor patio with this easy to use tool. Request a Design Heated Patio ROI Calculator Choose City: TorontoMontrealCalgary OttawaMinneapolisBoston ChicagoNew YorkVancouver SeattleDenverLos Angeles San FranciscoPhoenixMiami EdmontonSt. John'sVictoria AtlantaNashvilleSan Diego Choose Heater Model: supremeSchwank 2300\",\"inLanguage\":\"fr-CA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/schwank-patio-roi-tool\\\/#breadcrumblist\"},\"datePublished\":\"2025-05-29T13:54:33+00:00\",\"dateModified\":\"2025-07-25T16:21:16+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/\",\"name\":\"Schwank\",\"description\":\"Smart Infrared Heating, Air Curtains, Air Movement\",\"inLanguage\":\"fr-CA\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.schwankgroup.com\\\/fr\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Schwank | Schwank Patio ROI Tool","description":"Schwank Patio Heater ROI Tool Take the guesswork out of the ideal patio solution. Start calculating the profit of your outdoor patio with this easy to use tool. Request a Design Heated Patio ROI Calculator Choose City: TorontoMontrealCalgary OttawaMinneapolisBoston ChicagoNew YorkVancouver SeattleDenverLos Angeles San FranciscoPhoenixMiami EdmontonSt. John'sVictoria AtlantaNashvilleSan Diego Choose Heater Model: supremeSchwank 2300","canonical_url":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.schwankgroup.com\/fr#listItem","position":1,"name":"Home","item":"https:\/\/www.schwankgroup.com\/fr","nextItem":{"@type":"ListItem","@id":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/#listItem","name":"Schwank Patio ROI Tool"}},{"@type":"ListItem","@id":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/#listItem","position":2,"name":"Schwank Patio ROI Tool","previousItem":{"@type":"ListItem","@id":"https:\/\/www.schwankgroup.com\/fr#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/www.schwankgroup.com\/fr\/#organization","name":"Schwank","description":"Smart Infrared Heating, Air Curtains, Air Movement","url":"https:\/\/www.schwankgroup.com\/fr\/"},{"@type":"WebPage","@id":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/#webpage","url":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/","name":"Schwank | Schwank Patio ROI Tool","description":"Schwank Patio Heater ROI Tool Take the guesswork out of the ideal patio solution. Start calculating the profit of your outdoor patio with this easy to use tool. Request a Design Heated Patio ROI Calculator Choose City: TorontoMontrealCalgary OttawaMinneapolisBoston ChicagoNew YorkVancouver SeattleDenverLos Angeles San FranciscoPhoenixMiami EdmontonSt. John'sVictoria AtlantaNashvilleSan Diego Choose Heater Model: supremeSchwank 2300","inLanguage":"fr-CA","isPartOf":{"@id":"https:\/\/www.schwankgroup.com\/fr\/#website"},"breadcrumb":{"@id":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/#breadcrumblist"},"datePublished":"2025-05-29T13:54:33+00:00","dateModified":"2025-07-25T16:21:16+00:00"},{"@type":"WebSite","@id":"https:\/\/www.schwankgroup.com\/fr\/#website","url":"https:\/\/www.schwankgroup.com\/fr\/","name":"Schwank","description":"Smart Infrared Heating, Air Curtains, Air Movement","inLanguage":"fr-CA","publisher":{"@id":"https:\/\/www.schwankgroup.com\/fr\/#organization"}}]}},"aioseo_meta_data":{"post_id":"74665","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-05-29 13:33:54","updated":"2026-09-29 16:37:40","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.schwankgroup.com\/fr\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSchwank Patio ROI Tool\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.schwankgroup.com\/fr"},{"label":"Schwank Patio ROI Tool","link":"https:\/\/www.schwankgroup.com\/fr\/schwank-patio-roi-tool\/"}],"_links":{"self":[{"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/pages\/74665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/users\/3377"}],"replies":[{"embeddable":true,"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/comments?post=74665"}],"version-history":[{"count":0,"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/pages\/74665\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.schwankgroup.com\/fr\/wp-json\/wp\/v2\/media?parent=74665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}