XML 13 R25.htm IDEA: XBRL DOCUMENT v3.20.1
Revenue (Tables)
3 Months Ended
Mar. 31, 2020
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue The following table presents revenue disaggregated by revenue source and pattern of revenue recognition (in thousands):
 Three Months Ended March 31,
20202019
 Over TimePoint In TimeTotal RevenuesOver TimePoint In TimeTotal Revenues
Time and materials contracts$99,991  $—  $99,991  $88,378  $—  $88,378  
Fixed fee percent complete contracts11,621  —  11,621  12,458  —  12,458  
Fixed fee contracts25,028  —  25,028  24,180  —  24,180  
Reimbursable expenses4,394  —  4,394  3,914  —  3,914  
Total professional services fees141,034  —  141,034  128,930  —  128,930  
Other services revenue*3,630  738  4,368  3,345  591  3,936  
Total services144,664  738  145,402  132,275  591  132,866  
Software and hardware—  160  160  —  949  949  
Total revenues$144,664  $898  $145,562  $132,275  $1,540  $133,815  

* Other services revenue primarily consists of hosting fees, maintenance, training, internally developed SaaS and partner referral fees.
The following table presents revenue disaggregated by geographic area, as determined by the billing address of customers (in thousands):

Three Months Ended March 31,
 20202019
United States$142,570  $130,446  
Canada1,079  581  
Other countries1,913  2,788  
Total revenues$145,562  $133,815