XML 35 R24.htm IDEA: XBRL DOCUMENT v3.19.1
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2019
Mar. 31, 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 $ 538,473 $ 464,941
Percentage of revenue from contract with customer (as a percent) 100.00% 100.00%
Industrial    
Disaggregation of Revenue    
Revenue $ 168,660 $ 100,100
Percentage of revenue from contract with customer (as a percent) 31.30% 21.50%
Education    
Disaggregation of Revenue    
Revenue $ 66,743 $ 88,203
Percentage of revenue from contract with customer (as a percent) 12.40% 19.00%
Office Buildings    
Disaggregation of Revenue    
Revenue $ 66,212 $ 69,120
Percentage of revenue from contract with customer (as a percent) 12.30% 14.90%
Healthcare    
Disaggregation of Revenue    
Revenue $ 92,023 $ 63,183
Percentage of revenue from contract with customer (as a percent) 17.10% 13.60%
Government    
Disaggregation of Revenue    
Revenue $ 32,279 $ 36,147
Percentage of revenue from contract with customer (as a percent) 6.00% 7.80%
Retail, Restaurants and Entertainment    
Disaggregation of Revenue    
Revenue $ 59,391 $ 52,787
Percentage of revenue from contract with customer (as a percent) 11.00% 11.30%
Multi-Family and Residential    
Disaggregation of Revenue    
Revenue $ 30,235 $ 33,052
Percentage of revenue from contract with customer (as a percent) 5.60% 7.10%
Other    
Disaggregation of Revenue    
Revenue $ 22,931 $ 22,349
Percentage of revenue from contract with customer (as a percent) 4.30% 4.80%
New Construction    
Disaggregation of Revenue    
Revenue $ 223,961 $ 185,282
Percentage of revenue from contract with customer (as a percent) 41.60% 39.90%
Existing Building Construction    
Disaggregation of Revenue    
Revenue $ 182,296 $ 156,758
Percentage of revenue from contract with customer (as a percent) 33.80% 33.70%
Service Projects    
Disaggregation of Revenue    
Revenue $ 50,384 $ 42,433
Percentage of revenue from contract with customer (as a percent) 9.40% 9.10%
Service Calls, Maintenance and Monitoring    
Disaggregation of Revenue    
Revenue $ 81,833 $ 80,468
Percentage of revenue from contract with customer (as a percent) 15.20% 17.30%
HVAC and Plumbing    
Disaggregation of Revenue    
Revenue $ 481,990 $ 424,017
Percentage of revenue from contract with customer (as a percent) 89.50% 91.20%
Building Automation Control Systems    
Disaggregation of Revenue    
Revenue $ 29,014 $ 20,045
Percentage of revenue from contract with customer (as a percent) 5.40% 4.30%
Other    
Disaggregation of Revenue    
Revenue $ 27,469 $ 20,879
Percentage of revenue from contract with customer (as a percent) 5.10% 4.50%
Minimum    
Disaggregation of Revenue    
Payments received term (in days) 30 days  
Maximum    
Disaggregation of Revenue    
Payments received term (in days) 90 days