@@ -194,6 +194,76 @@ class Housing(_HasExtras, ApiModelMixin):
194194 extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
195195
196196
197+ @dataclass (slots = True , frozen = True )
198+ class Social (_HasExtras , ApiModelMixin ):
199+ """
200+ American Community Survey social data.
201+ """
202+ high_school_graduate_or_higher : Optional [int ] = None
203+ bachelors_degree_or_higher : Optional [int ] = None
204+ graduate_degree_or_higher : Optional [int ] = None
205+ veterans : Optional [int ] = None
206+ veterans_percentage : Optional [float ] = None
207+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
208+
209+
210+ @dataclass (slots = True , frozen = True )
211+ class ZIP4Data (_HasExtras , ApiModelMixin ):
212+ """USPS ZIP+4 code and delivery information."""
213+ zip4 : str
214+ delivery_point : str
215+ carrier_route : str
216+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
217+
218+
219+ @dataclass (slots = True , frozen = True )
220+ class FederalRiding (_HasExtras , ApiModelMixin ):
221+ """Canadian federal electoral district information."""
222+ code : str
223+ name_english : str
224+ name_french : str
225+ ocd_id : str
226+ year : int
227+ source : str
228+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
229+
230+
231+ @dataclass (slots = True , frozen = True )
232+ class ProvincialRiding (_HasExtras , ApiModelMixin ):
233+ """Canadian provincial electoral district information."""
234+ name_english : str
235+ name_french : str
236+ ocd_id : str
237+ is_upcoming_district : bool
238+ source : str
239+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
240+
241+
242+ @dataclass (slots = True , frozen = True )
243+ class StatisticsCanadaData (_HasExtras , ApiModelMixin ):
244+ """Canadian statistical boundaries from Statistics Canada."""
245+ division : Dict [str , Any ]
246+ consolidated_subdivision : Dict [str , Any ]
247+ subdivision : Dict [str , Any ]
248+ economic_region : str
249+ statistical_area : Dict [str , Any ]
250+ cma_ca : Dict [str , Any ]
251+ tract : str
252+ population_centre : Dict [str , Any ]
253+ dissemination_area : Dict [str , Any ]
254+ dissemination_block : Dict [str , Any ]
255+ census_year : int
256+ designated_place : Optional [Dict [str , Any ]] = None
257+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
258+
259+
260+ @dataclass (slots = True , frozen = True )
261+ class FFIECData (_HasExtras , ApiModelMixin ):
262+ """FFIEC CRA/HMDA Data (Beta)."""
263+ # Add FFIEC specific fields as they become available
264+ extras : Dict [str , Any ] = field (default_factory = dict , repr = False )
265+
266+
197267@dataclass (slots = True , frozen = True )
198268class GeocodioFields :
199269 """
@@ -205,14 +275,42 @@ class GeocodioFields:
205275 state_legislative_districts : Optional [List [StateLegislativeDistrict ]] = None
206276 state_legislative_districts_next : Optional [List [StateLegislativeDistrict ]] = None
207277 school_districts : Optional [List [SchoolDistrict ]] = None
278+
279+ # Census data for all available years
280+ census2000 : Optional [CensusData ] = None
208281 census2010 : Optional [CensusData ] = None
282+ census2011 : Optional [CensusData ] = None
283+ census2012 : Optional [CensusData ] = None
284+ census2013 : Optional [CensusData ] = None
285+ census2014 : Optional [CensusData ] = None
286+ census2015 : Optional [CensusData ] = None
287+ census2016 : Optional [CensusData ] = None
288+ census2017 : Optional [CensusData ] = None
289+ census2018 : Optional [CensusData ] = None
290+ census2019 : Optional [CensusData ] = None
209291 census2020 : Optional [CensusData ] = None
292+ census2021 : Optional [CensusData ] = None
293+ census2022 : Optional [CensusData ] = None
210294 census2023 : Optional [CensusData ] = None
295+ census2024 : Optional [CensusData ] = None
296+
297+ # ACS data
211298 acs : Optional [ACSSurveyData ] = None
212299 demographics : Optional [Demographics ] = None
213300 economics : Optional [Economics ] = None
214301 families : Optional [Families ] = None
215302 housing : Optional [Housing ] = None
303+ social : Optional [Social ] = None
304+
305+ # New fields
306+ zip4 : Optional [ZIP4Data ] = None
307+ ffiec : Optional [FFIECData ] = None
308+
309+ # Canadian fields
310+ riding : Optional [FederalRiding ] = None
311+ provriding : Optional [ProvincialRiding ] = None
312+ provriding_next : Optional [ProvincialRiding ] = None
313+ statcan : Optional [StatisticsCanadaData ] = None
216314
217315
218316# ──────────────────────────────────────────────────────────────────────────────
0 commit comments