XML 20 R30.htm IDEA: XBRL DOCUMENT v2.4.1.9
Segment and Nonregulated Business Reporting (Details) (USD $)
In Thousands, unless otherwise specified
3 Months Ended
Mar. 31, 2015
subsidiaries
Mar. 31, 2014
Dec. 31, 2014
Segment Reporting Information [Line Items]      
Number of Subsidiaries 4sjw_NumberOfSubsidiaries    
Operating revenue $ 62,112us-gaap_RegulatedOperatingRevenue $ 54,596us-gaap_RegulatedOperatingRevenue  
Operating expense 49,307us-gaap_UtilitiesOperatingExpense 48,542us-gaap_UtilitiesOperatingExpense  
Operating income (loss) 12,805us-gaap_OperatingIncomeLoss 6,054us-gaap_OperatingIncomeLoss  
Net income (loss) 4,695us-gaap_NetIncomeLoss 906us-gaap_NetIncomeLoss  
Depreciation and amortization 10,159us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization 9,485us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization  
Senior note, mortgage and other interest expense 5,652us-gaap_InterestExpense 4,870us-gaap_InterestExpense  
Income tax expense (benefit) in net income 2,794us-gaap_IncomeTaxExpenseBenefit 561us-gaap_IncomeTaxExpenseBenefit  
Assets 1,277,821us-gaap_Assets 1,123,935us-gaap_Assets 1,269,304us-gaap_Assets
Water Utility Services | Regulated      
Segment Reporting Information [Line Items]      
Operating revenue 58,887us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
51,626us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Operating expense 46,922us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
46,463us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Operating income (loss) 11,965us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
5,163us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Net income (loss) 4,701us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
903us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Depreciation and amortization 9,679us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
8,977us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Senior note, mortgage and other interest expense 4,830us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
4,081us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Income tax expense (benefit) in net income 2,818us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
552us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Assets 1,188,389us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
1,027,073us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Water Utility Services | Non-tariffed      
Segment Reporting Information [Line Items]      
Operating revenue 1,447us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
1,228us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Operating expense 962us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
872us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Operating income (loss) 485us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
356us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Net income (loss) 218us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
151us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Depreciation and amortization 90us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
90us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Senior note, mortgage and other interest expense 0us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
0us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Income tax expense (benefit) in net income 182us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
124us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Assets 18,668us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
16,965us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentOneMember
 
Real Estate Services | Non-tariffed      
Segment Reporting Information [Line Items]      
Operating revenue 1,778us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
1,742us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Operating expense 1,024us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
1,022us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Operating income (loss) 754us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
720us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Net income (loss) 260us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
204us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Depreciation and amortization 390us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
418us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Senior note, mortgage and other interest expense 255us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
237us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Income tax expense (benefit) in net income 145us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
153us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
Assets 66,053us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
70,710us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= sjw_ReportableSegmentTwoMember
 
All Other | Non-tariffed      
Segment Reporting Information [Line Items]      
Operating revenue 0us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] 0us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Operating expense 399us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] 185us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Operating income (loss) (399)us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] (185)us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Net income (loss) (484)us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] (352)us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Depreciation and amortization 0us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] 0us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Senior note, mortgage and other interest expense 567us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] 552us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Income tax expense (benefit) in net income (351)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] (268)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
Assets 4,711us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1] 9,187us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
[1]  
SJW Corp. | Regulated      
Segment Reporting Information [Line Items]      
Operating revenue 58,887us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
51,626us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Operating expense 46,922us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
46,463us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Operating income (loss) 11,965us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
5,163us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Net income (loss) 4,701us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
903us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Depreciation and amortization 9,679us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
8,977us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Senior note, mortgage and other interest expense 4,830us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
4,081us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Income tax expense (benefit) in net income 2,818us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
552us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Assets 1,188,389us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
1,027,073us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_RegulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
SJW Corp. | Non-tariffed      
Segment Reporting Information [Line Items]      
Operating revenue 3,225us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
2,970us-gaap_RegulatedOperatingRevenue
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Operating expense 2,385us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
2,079us-gaap_UtilitiesOperatingExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Operating income (loss) 840us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
891us-gaap_OperatingIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Net income (loss) (6)us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
3us-gaap_NetIncomeLoss
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Depreciation and amortization 480us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
508us-gaap_UtilitiesOperatingExpenseDepreciationAndAmortization
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Senior note, mortgage and other interest expense 822us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
789us-gaap_InterestExpense
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Income tax expense (benefit) in net income (24)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
9us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
Assets $ 89,432us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
$ 96,862us-gaap_Assets
/ us-gaap_PublicUtilityRegulatedOrUnregulatedStatusAxis
= us-gaap_UnregulatedOperationMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
 
[1] The “All Other” category includes the accounts of SJW Corp. on a stand-alone basis