1use serde::Deserialize;
2use serde::Serialize;
3use std::fmt::Debug;
4
5use super::response::EnrichmentResponse;
6
7#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
8pub struct PrincipalResponse {
9 pub smarty_key: String,
10 pub data_set_name: String,
11 pub data_subset_name: String,
12 pub attributes: PrincipalAttributes,
13}
14
15impl EnrichmentResponse for PrincipalResponse {
16 fn lookup_type() -> &'static str {
17 "property/principal"
18 }
19}
20
21#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
22#[serde(default)]
23pub struct PrincipalAttributes {
24 #[serde(rename = "1st_floor_sqft")]
25 pub first_floor_sqft: String,
26 #[serde(rename = "2nd_floor_sqft")]
27 pub second_floor_sqft: String,
28 pub acres: String,
29 pub air_conditioner: String,
30 pub arbor_pergola: String,
31 pub assessed_improvement_percent: String,
32 pub assessed_improvement_value: String,
33 pub assessed_land_value: String,
34 pub assessed_value: String,
35 pub assessor_last_update: String,
36 pub assessor_taxroll_update: String,
37 pub attic_area: String,
38 pub attic_flag: String,
39 pub balcony: String,
40 pub balcony_area: String,
41 pub basement_sqft: String,
42 pub basement_sqft_finished: String,
43 pub basement_sqft_unfinished: String,
44 pub bath_house: String,
45 pub bath_house_sqft: String,
46 pub bathrooms_partial: String,
47 pub bathrooms_total: String,
48 pub bedrooms: String,
49 pub block1: String,
50 pub block2: String,
51 pub boat_access: String,
52 pub boat_house: String,
53 pub boat_house_sqft: String,
54 pub boat_lift: String,
55 pub bonus_room: String,
56 pub breakfast_nook: String,
57 pub breezeway: String,
58 pub building_definition_code: String,
59 pub building_sqft: String,
60 pub cabin: String,
61 pub cabin_sqft: String,
62 pub canopy: String,
63 pub canopy_sqft: String,
64 pub carport: String,
65 pub carport_sqft: String,
66 pub cbsa_code: String,
67 pub cbsa_name: String,
68 pub cellar: String,
69 pub census_block: String,
70 pub census_block_group: String,
71 pub census_fips_place_code: String,
72 pub census_tract: String,
73 pub central_vacuum: String,
74 pub code_title_company: String,
75 pub combined_statistical_area: String,
76 pub community_rec: String,
77 pub company_flag: String,
78 pub congressional_district: String,
79 pub construction_type: String,
80 pub contact_city: String,
81 pub contact_crrt: String,
82 pub contact_full_address: String,
83 pub contact_house_number: String,
84 pub contact_mail_info_format: String,
85 pub contact_mail_info_privacy: String,
86 pub contact_mailing_county: String,
87 pub contact_mailing_fips: String,
88 pub contact_post_direction: String,
89 pub contact_pre_direction: String,
90 pub contact_state: String,
91 pub contact_street_name: String,
92 pub contact_suffix: String,
93 pub contact_unit_designator: String,
94 pub contact_value: String,
95 pub contact_zip: String,
96 pub contact_zip4: String,
97 pub courtyard: String,
98 pub courtyard_area: String,
99 pub deck: String,
100 pub deck_area: String,
101 pub deed_document_page: String,
102 pub deed_document_book: String,
103 pub deed_document_number: String,
104 pub deed_owner_first_name: String,
105 pub deed_owner_first_name2: String,
106 pub deed_owner_first_name3: String,
107 pub deed_owner_first_name4: String,
108 pub deed_owner_full_name: String,
109 pub deed_owner_full_name2: String,
110 pub deed_owner_full_name3: String,
111 pub deed_owner_full_name4: String,
112 pub deed_owner_last_name: String,
113 pub deed_owner_last_name2: String,
114 pub deed_owner_last_name3: String,
115 pub deed_owner_last_name4: String,
116 pub deed_owner_middle_name: String,
117 pub deed_owner_middle_name2: String,
118 pub deed_owner_middle_name3: String,
119 pub deed_owner_middle_name4: String,
120 pub deed_owner_suffix: String,
121 pub deed_owner_suffix2: String,
122 pub deed_owner_suffix3: String,
123 pub deed_owner_suffix4: String,
124 pub deed_sale_date: String,
125 pub deed_sale_price: String,
126 pub deed_transaction_id: String,
127 pub depth_linear_footage: String,
128 pub disabled_tax_exemption: String,
129 pub document_type_description: String,
130 pub driveway_sqft: String,
131 pub driveway_type: String,
132 pub effective_year_built: String,
133 pub elevation_feet: String,
134 pub elevator: String,
135 pub equestrian_arena: String,
136 pub escalator: String,
137 pub exercise_room: String,
138 pub exterior_walls: String,
139 pub family_room: String,
140 pub fence: String,
141 pub fence_area: String,
142 pub fips_code: String,
143 pub fire_resistance_code: String,
144 pub fire_sprinklers_flag: String,
145 pub fireplace: String,
146 pub fireplace_number: String,
147 pub first_name: String,
148 pub first_name_2: String,
149 pub first_name_3: String,
150 pub first_name_4: String,
151 pub flooring: String,
152 pub foundation: String,
153 pub game_room: String,
154 pub garage: String,
155 pub garage_sqft: String,
156 pub gazebo: String,
157 pub gazebo_sqft: String,
158 pub golf_course: String,
159 pub grainery: String,
160 pub grainery_sqft: String,
161 pub great_room: String,
162 pub greenhouse: String,
163 pub greenhouse_sqft: String,
164 pub gross_sqft: String,
165 pub guesthouse: String,
166 pub guesthouse_sqft: String,
167 pub handicap_accessibility: String,
168 pub heat: String,
169 pub heat_fuel_type: String,
170 pub hobby_room: String,
171 pub homeowner_tax_exemption: String,
172 pub instrument_date: String,
173 pub intercom_system: String,
174 pub interest_rate_type_2: String,
175 pub interior_structure: String,
176 pub kennel: String,
177 pub kennel_sqft: String,
178 pub land_use_code: String,
179 pub land_use_group: String,
180 pub land_use_standard: String,
181 pub last_name: String,
182 pub last_name_2: String,
183 pub last_name_3: String,
184 pub last_name_4: String,
185 pub latitude: String,
186 pub laundry: String,
187 pub lean_to: String,
188 pub lean_to_sqft: String,
189 pub legal_description: String,
190 pub legal_unit: String,
191 pub lender_address: String,
192 pub lender_address_2: String,
193 pub lender_city: String,
194 pub lender_city_2: String,
195 pub lender_code_2: String,
196 pub lender_first_name: String,
197 pub lender_first_name_2: String,
198 pub lender_last_name: String,
199 pub lender_last_name_2: String,
200 pub lender_name: String,
201 pub lender_name_2: String,
202 pub lender_seller_carry_back: String,
203 pub lender_seller_carry_back_2: String,
204 pub lender_state: String,
205 pub lender_state_2: String,
206 pub lender_zip: String,
207 pub lender_zip_2: String,
208 pub lender_zip_extended: String,
209 pub lender_zip_extended_2: String,
210 pub loading_platform: String,
211 pub loading_platform_sqft: String,
212 pub longitude: String,
213 pub lot_1: String,
214 pub lot_2: String,
215 pub lot_3: String,
216 pub lot_sqft: String,
217 pub market_improvement_percent: String,
218 pub market_improvement_value: String,
219 pub market_land_value: String,
220 pub market_value_year: String,
221 pub match_type: String,
222 pub media_room: String,
223 pub metro_division: String,
224 pub middle_name: String,
225 pub middle_name_2: String,
226 pub middle_name_3: String,
227 pub middle_name_4: String,
228 pub milkhouse: String,
229 pub milkhouse_sqft: String,
230 pub minor_civil_division_code: String,
231 pub minor_civil_division_name: String,
232 pub mobile_home_hookup: String,
233 pub mortgage_amount: String,
234 pub mortgage_amount_2: String,
235 pub mortgage_due_date: String,
236 pub mortgage_due_date_2: String,
237 pub mortgage_interest_rate: String,
238 pub mortgage_interest_rate_type: String,
239 pub mortgage_lender_code: String,
240 pub mortgage_rate_2: String,
241 pub mortgage_recording_date: String,
242 pub mortgage_recording_date_2: String,
243 pub mortgage_term: String,
244 pub mortgage_term_2: String,
245 pub mortgage_term_type: String,
246 pub mortgage_term_type_2: String,
247 pub mortgage_type: String,
248 pub mortgage_type_2: String,
249 pub msa_code: String,
250 pub msa_name: String,
251 pub mud_room: String,
252 pub multi_parcel_flag: String,
253 pub name_title_company: String,
254 pub neighborhood_code: String,
255 pub number_of_buildings: String,
256 pub office: String,
257 pub office_sqft: String,
258 pub other_tax_exemption: String,
259 pub outdoor_kitchen_fireplace: String,
260 pub overhead_door: String,
261 pub owner_full_name: String,
262 pub owner_full_name_2: String,
263 pub owner_full_name_3: String,
264 pub owner_full_name_4: String,
265 pub owner_occupancy_status: String,
266 pub ownership_transfer_date: String,
267 pub ownership_transfer_doc_number: String,
268 pub ownership_transfer_transaction_id: String,
269 pub ownership_type: String,
270 pub ownership_type_2: String,
271 pub ownership_vesting_relation_code: String,
272 pub parcel_account_number: String,
273 pub parcel_map_book: String,
274 pub parcel_map_page: String,
275 pub parcel_number_alternate: String,
276 pub parcel_number_formatted: String,
277 pub parcel_number_previous: String,
278 pub parcel_number_year_added: String,
279 pub parcel_number_year_change: String,
280 pub parcel_raw_number: String,
281 pub parcel_shell_record: String,
282 pub parking_spaces: String,
283 pub patio_area: String,
284 pub phase_name: String,
285 pub plumbing_fixtures_count: String,
286 pub pole_struct: String,
287 pub pole_struct_sqft: String,
288 pub pond: String,
289 pub pool: String,
290 pub pool_area: String,
291 pub poolhouse: String,
292 pub poolhouse_sqft: String,
293 pub porch: String,
294 pub porch_area: String,
295 pub poultry_house: String,
296 pub poultry_house_sqft: String,
297 pub previous_assessed_value: String,
298 pub prior_sale_amount: String,
299 pub prior_sale_date: String,
300 pub property_address_carrier_route_code: String,
301 pub property_address_city: String,
302 pub property_address_full: String,
303 pub property_address_house_number: String,
304 pub property_address_post_direction: String,
305 pub property_address_pre_direction: String,
306 pub property_address_state: String,
307 pub property_address_street_name: String,
308 pub property_address_street_suffix: String,
309 pub property_address_unit_designator: String,
310 pub property_address_unit_value: String,
311 pub property_address_zip_4: String,
312 pub property_address_zipcode: String,
313 pub publication_date: String,
314 pub quarter: String,
315 pub quarter_quarter: String,
316 pub quonset: String,
317 pub quonset_sqft: String,
318 pub range: String,
319 pub recording_date: String,
320 pub roof_cover: String,
321 pub roof_frame: String,
322 pub rooms: String,
323 pub rv_parking: String,
324 pub safe_room: String,
325 pub sale_amount: String,
326 pub sale_date: String,
327 pub sauna: String,
328 pub section: String,
329 pub security_alarm: String,
330 pub senior_tax_exemption: String,
331 pub sewer_type: String,
332 pub shed: String,
333 pub shed_sqft: String,
334 pub silo: String,
335 pub silo_sqft: String,
336 pub sitting_room: String,
337 pub situs_county: String,
338 pub situs_state: String,
339 pub sound_system: String,
340 pub sports_court: String,
341 pub sprinklers: String,
342 pub stable: String,
343 pub stable_sqft: String,
344 pub storage_building: String,
345 pub storage_building_sqft: String,
346 pub stories_number: String,
347 pub storm_shelter: String,
348 pub storm_shutter: String,
349 pub structure_style: String,
350 pub study: String,
351 pub subdivision: String,
352 pub suffix: String,
353 pub suffix_2: String,
354 pub suffix_3: String,
355 pub suffix_4: String,
356 pub sunroom: String,
357 pub tax_assess_year: String,
358 pub tax_billed_amount: String,
359 pub tax_delinquent_year: String,
360 pub tax_fiscal_year: String,
361 pub tax_jurisdiction: String,
362 pub tax_rate_area: String,
363 pub tennis_court: String,
364 pub topography_code: String,
365 pub total_market_value: String,
366 pub township: String,
367 pub tract_number: String,
368 pub transfer_amount: String,
369 pub trust_description: String,
370 pub unit_count: String,
371 pub upper_floors_sqft: String,
372 pub utility: String,
373 pub utility_building: String,
374 pub utility_building_sqft: String,
375 pub utility_sqft: String,
376 pub veteran_tax_exemption: String,
377 pub view_description: String,
378 pub water_feature: String,
379 pub water_service_type: String,
380 pub wet_bar: String,
381 pub widow_tax_exemption: String,
382 pub width_linear_footage: String,
383 pub wine_cellar: String,
384 pub year_built: String,
385 pub zoning: String,
386}