Revenues - Schedule of Disaggregation of Revenue (Details) - USD ($) $ in Thousands | 12 Months Ended |
Dec. 31, 2018 | Dec. 31, 2017 |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | $ 964,720 | $ 864,041 |
Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 469,456 | 433,450 |
Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 231,283 | 208,784 |
Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 250,991 | 210,811 |
Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 12,990 | 10,996 |
Permian Basin | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 443,247 | 386,994 |
Permian Basin | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 185,763 | 169,795 |
Permian Basin | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 125,528 | 113,010 |
Permian Basin | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 118,634 | 92,816 |
Permian Basin | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 13,322 | 11,373 |
Texas Gulf Coast | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 64,416 | 63,021 |
Texas Gulf Coast | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 1,037 | 3,139 |
Texas Gulf Coast | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 35,074 | 31,886 |
Texas Gulf Coast | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 28,305 | 27,996 |
Texas Gulf Coast | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
ArkLaTex & Mid-Continent | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 283,846 | 250,714 |
ArkLaTex & Mid-Continent | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 185,367 | 161,442 |
ArkLaTex & Mid-Continent | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 44,492 | 37,870 |
ArkLaTex & Mid-Continent | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 53,987 | 51,402 |
ArkLaTex & Mid-Continent | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Rocky Mountain | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 159,576 | 157,073 |
Rocky Mountain | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 100,601 | 99,612 |
Rocky Mountain | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 31,908 | 32,294 |
Rocky Mountain | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 27,067 | 25,167 |
Rocky Mountain | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Eastern USA | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 9,169 | 14,206 |
Eastern USA | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 3,609 | 6,315 |
Eastern USA | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Eastern USA | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 5,560 | 7,891 |
Eastern USA | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
West Coast | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 30,342 | 26,072 |
West Coast | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
West Coast | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
West Coast | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 30,342 | 26,072 |
West Coast | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Corporate (Intercompany) | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | (25,876) | (34,039) |
Corporate (Intercompany) | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | (6,921) | (6,853) |
Corporate (Intercompany) | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | (5,719) | (6,276) |
Corporate (Intercompany) | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | (12,904) | (20,533) |
Corporate (Intercompany) | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | (332) | (377) |
Pumping Equipment | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 294,227 | 268,840 |
Pumping Equipment | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 294,227 | 268,840 |
Pumping Equipment | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Pumping Equipment | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Pumping Equipment | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Well Servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 217,812 | 175,463 |
Well Servicing | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Well Servicing | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Well Servicing | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 217,812 | 175,463 |
Well Servicing | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Transport/Vacuum | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 142,222 | 130,670 |
Transport/Vacuum | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Transport/Vacuum | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 142,222 | 130,670 |
Transport/Vacuum | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Transport/Vacuum | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Coiled Tubing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 68,562 | 81,606 |
Coiled Tubing | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 68,562 | 81,606 |
Coiled Tubing | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Coiled Tubing | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Coiled Tubing | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
RAFT | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 88,527 | 65,807 |
RAFT | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 88,527 | 65,807 |
RAFT | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
RAFT | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
RAFT | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Plugging | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 25,165 | 25,053 |
Plugging | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Plugging | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Plugging | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 25,165 | 25,053 |
Plugging | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Production and Disposal Facilities | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 24,204 | 20,485 |
Production and Disposal Facilities | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Production and Disposal Facilities | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 24,204 | 20,485 |
Production and Disposal Facilities | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Production and Disposal Facilities | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Hot Oiler | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 20,613 | 18,882 |
Hot Oiler | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Hot Oiler | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 20,613 | 18,882 |
Hot Oiler | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Hot Oiler | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Kill Truck | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 13,329 | 11,929 |
Kill Truck | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Kill Truck | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 13,329 | 11,929 |
Kill Truck | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Kill Truck | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Other | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 70,059 | 65,306 |
Other | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 18,140 | 17,197 |
Other | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 30,915 | 26,818 |
Other | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 8,014 | 10,295 |
Other | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 12,990 | 10,996 |
Products transferred at a point in time | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 5,938 | 599 |
Products transferred at a point in time | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Products transferred at a point in time | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Products transferred at a point in time | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 5,938 | 599 |
Products transferred at a point in time | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 0 | 0 |
Products and services transferred over time | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 958,782 | 863,442 |
Products and services transferred over time | Completion and remedial services | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 469,456 | 433,450 |
Products and services transferred over time | Water logistics | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 231,283 | 208,784 |
Products and services transferred over time | Well servicing | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | 245,053 | 210,212 |
Products and services transferred over time | Contract drilling | | |
Segment Reporting, Revenue Reconciling Item [Line Items] | | |
Operating revenues | $ 12,990 | $ 10,996 |