XML 36 R25.htm IDEA: XBRL DOCUMENT v3.19.2
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2019
Jun. 30, 2018
Jun. 30, 2019
Jun. 30, 2018
Disaggregation of Revenue        
Revenue, Performance Obligation, Description of Payment Terms     We typically invoice our customers with payment terms of net due in 30 days  
Receivable payment terms (in days)     30 days  
Revenue $ 650,302 $ 535,043 $ 1,188,775 $ 999,984
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00% 100.00% 100.00%
Industrial        
Disaggregation of Revenue        
Revenue $ 198,002 $ 114,077 $ 366,662 $ 214,177
Percentage of revenue from contract with customer (as a percent) 30.50% 21.30% 30.80% 21.40%
Education        
Disaggregation of Revenue        
Revenue $ 100,220 $ 109,447 $ 166,963 $ 197,650
Percentage of revenue from contract with customer (as a percent) 15.40% 20.50% 14.10% 19.80%
Office Buildings        
Disaggregation of Revenue        
Revenue $ 105,483 $ 79,309 $ 171,695 $ 148,429
Percentage of revenue from contract with customer (as a percent) 16.20% 14.80% 14.40% 14.90%
Healthcare        
Disaggregation of Revenue        
Revenue $ 87,878 $ 71,930 $ 179,901 $ 135,113
Percentage of revenue from contract with customer (as a percent) 13.50% 13.40% 15.10% 13.50%
Government        
Disaggregation of Revenue        
Revenue $ 44,443 $ 37,285 $ 76,722 $ 73,432
Percentage of revenue from contract with customer (as a percent) 6.80% 7.00% 6.50% 7.30%
Retail, Restaurants and Entertainment        
Disaggregation of Revenue        
Revenue $ 58,086 $ 56,204 $ 117,477 $ 108,991
Percentage of revenue from contract with customer (as a percent) 8.90% 10.50% 9.90% 10.90%
Multi-Family and Residential        
Disaggregation of Revenue        
Revenue $ 29,061 $ 36,040 $ 59,296 $ 69,092
Percentage of revenue from contract with customer (as a percent) 4.50% 6.70% 5.00% 6.90%
Other        
Disaggregation of Revenue        
Revenue $ 27,129 $ 30,751 $ 50,059 $ 53,100
Percentage of revenue from contract with customer (as a percent) 4.20% 5.80% 4.20% 5.30%
New Construction        
Disaggregation of Revenue        
Revenue $ 291,479 $ 193,211 $ 515,439 $ 378,493
Percentage of revenue from contract with customer (as a percent) 44.80% 36.10% 43.40% 37.90%
Existing Building Construction        
Disaggregation of Revenue        
Revenue $ 199,398 $ 200,040 $ 381,694 $ 356,798
Percentage of revenue from contract with customer (as a percent) 30.70% 37.40% 32.10% 35.70%
Service Projects        
Disaggregation of Revenue        
Revenue $ 58,808 $ 51,900 $ 109,192 $ 94,333
Percentage of revenue from contract with customer (as a percent) 9.00% 9.70% 9.20% 9.40%
Service Calls, Maintenance and Monitoring        
Disaggregation of Revenue        
Revenue $ 100,617 $ 89,892 $ 182,450 $ 170,360
Percentage of revenue from contract with customer (as a percent) 15.50% 16.80% 15.30% 17.00%
HVAC and Plumbing        
Disaggregation of Revenue        
Revenue $ 504,253 $ 484,011 $ 986,243 $ 908,028
Percentage of revenue from contract with customer (as a percent) 77.50% 90.50% 83.00% 90.80%
Electrical Services        
Disaggregation of Revenue        
Revenue $ 97,271   $ 101,159  
Percentage of revenue from contract with customer (as a percent) 15.00%   8.50%  
Building Automation Control Systems        
Disaggregation of Revenue        
Revenue $ 20,262 $ 26,261 $ 49,276 $ 46,306
Percentage of revenue from contract with customer (as a percent) 3.10% 4.90% 4.10% 4.60%
Other.        
Disaggregation of Revenue        
Revenue $ 28,516 $ 24,771 $ 52,097 $ 45,650
Percentage of revenue from contract with customer (as a percent) 4.40% 4.60% 4.40% 4.60%
Minimum        
Disaggregation of Revenue        
Payments received term (in days)     30 days  
Maximum        
Disaggregation of Revenue        
Payments received term (in days)     90 days