import {z} from 'zod' export type AddressInputComponentName = {forename?: (string | null) | undefined, middlename?: (string | null) | undefined, surname?: (string | null) | undefined}; export type AddressRestrictionRules = {exists?: (boolean | null) | undefined, must_be?: (Array | null) | undefined, must_not_be?: (Array | null) | undefined}; export type AddressLocalityConstrains = {region?: AddressRestrictionRules | undefined}; export type AddressInputComponents = {unspecified?: (Array | null) | undefined, names?: (Array | null) | undefined, locality?: AddressLocalityConstrains | undefined}; export type AddressNameValuePair = {name?: (string | null) | undefined, value?: (string | null) | undefined}; export type EnrichmentV2AttributesGeocode = 'latitude' | 'longitude' | 'match_level'; export type EnrichmentV2AttributesUsaRegionalGeocodes = 'latitude' | 'longitude' | 'match_level' | 'census_tract' | 'census_block' | 'core_based_statistical_area' | 'congressional_district_code' | 'county_code'; export type EnrichmentV2AttributesAusRegionalGeocodes = 'latitude' | 'longitude' | 'match_level' | 'sa1' | 'meshblock' | 'lga_code' | 'lga_name' | 'street_pid' | 'locality_pid' | 'geocode_level_code' | 'geocode_level_description' | 'geocode_type_code' | 'geocode_type_description' | 'highest_level_longitude' | 'highest_level_latitude' | 'highest_level_elevation' | 'highest_level_planimetric_accuracy' | 'highest_level_boundary_extent' | 'highest_level_geocode_reliability_code' | 'highest_level_geocode_reliability_description' | 'confidence_level_code' | 'confidence_level_description' | '2021_meshblock_id' | '2021_meshblock_code' | '2021_meshblock_match_code' | '2021_meshblock_match_description' | '2016_meshblock_id' | '2016_meshblock_code' | '2016_meshblock_match_code' | '2016_meshblock_match_description' | 'address_type_code' | 'primary_address_pid' | 'address_join_type' | 'collector_district_id' | 'collector_district_code' | 'commonwealth_electoral_boundary_id' | 'commonwealth_electoral_boundary_name' | 'statistical_local_area_id' | 'statistical_local_area_code' | 'statistical_local_area_name' | 'state_electoral_boundary_id' | 'state_electoral_boundary_name' | 'state_electoral_effective_start' | 'state_electoral_effective_end' | 'state_electoral_new_pid' | 'state_electoral_new_name' | 'state_electoral_new_effective_start' | 'state_electoral_new_effective_end' | 'address_level_longitude' | 'address_level_latitude' | 'address_level_elevation' | 'address_level_planimetric_accuracy' | 'address_level_boundary_extent' | 'address_level_geocode_reliability_code' | 'address_level_geocode_reliability_description' | 'street_level_longitude' | 'street_level_latitude' | 'street_level_planimetric_accuracy' | 'street_level_boundary_extent' | 'street_level_geocode_reliability_code' | 'street_level_geocode_reliability_description' | 'locality_level_longitude' | 'locality_level_latitude' | 'locality_level_planimetric_accuracy' | 'locality_level_geocode_reliability_code' | 'locality_level_geocode_reliability_description' | 'gnaf_legal_parcel_identifier' | 'locality_class_code'; export type EnrichmentV2AttributesNzlRegionalGeocodes = 'front_of_property_nztm_x_coordinate' | 'front_of_property_nztm_y_coordinate' | 'centroid_of_property_nztm_x_coordinate' | 'centroid_of_property_nztm_y_coordinate' | 'linz_parcel_id' | 'property_purpose_type' | 'addressable' | 'mesh_block_code' | 'territorial_authority_code' | 'territorial_authority_name' | 'regional_council_code' | 'regional_council_name' | 'general_electorate_code' | 'general_electorate_name' | 'maori_electorate_code' | 'maori_electorate_name' | 'front_of_property_latitude' | 'front_of_property_longitude' | 'centroid_of_property_latitude' | 'centroid_of_property_longitude' | 'match_level'; export type EnrichmentV2AttributesUkLocationComplete = 'latitude' | 'longitude' | 'match_level' | 'udprn' | 'uprn' | 'x_coordinate' | 'y_coordinate'; export type EnrichmentV2AttributesUkLocationEssential = 'latitude' | 'longitude' | 'match_level' | 'udprn' | 'uprn' | 'x_coordinate' | 'y_coordinate'; export type EnrichmentV2AttributesGbrGovernment = 'eer_code' | 'eer_code_pre_2011' | 'eer_name' | 'gor_code' | 'gor_code_pre_2011' | 'gor_name' | 'lea_code' | 'lea_name' | 'la_code' | 'la_code_pre_2011' | 'la_name' | 'ward_code' | 'ward_code_pre_2011' | 'ward_name' | 'cens_out_area'; export type EnrichmentV2AttributesGbrHealth = 'authority_code' | 'authority_code_2011' | 'authority_name' | 'pclh_code' | 'pclh_code_2011' | 'pclh_name' | 'ward_code' | 'ward_code_2011' | 'ward_name' | 'ccg_code' | 'ccg_name' | 'doh_code'; export type EnrichmentV2AttributesGbAdditionalBusinessAddressValidate = 'urn' | 'commercial_mosaic' | 'registration' | 'phone' | 'number_of_employees' | 'location' | 'standard_industry_classification' | 'non_limited_company_key'; export type EnrichmentV2AttributesPremiumLocationInsight = 'geocodes' | 'geocodes_building_xy' | 'geocodes_access' | 'time'; export type EnrichmentV2AttributesWhat3Words = 'latitude' | 'longitude' | 'name' | 'description'; export type EnrichmentV2GbrLocationGrid = 'postzon' | 'codepoint'; export type EnrichmentV2GbrParliament = 'westminster' | 'scotland'; export type EnrichmentV2GbrMosaic = 'household' | 'postal_code'; export type EnrichmentV2GbrMosaicFinancial = 'postal_code' | 'household'; export type EnrichmentV2GbrAlias = 'aliases'; export type EnrichmentV2GbrQuality = 'record'; export type EnrichmentV2AprClassification = 'code' | 'record' | 'scheme'; export type EnrichmentV2AprCrossReference = 'addresslayer_2' | 'council_tax' | 'integrated_transport_network' | 'non_domestic_rates' | 'topography_layer'; export type EnrichmentV2AprGovernment = 'government'; export type EnrichmentV2AprHealth = 'health'; export type EnrichmentV2AprLocationGrid = 'blpu' | 'building' | 'postal_code' | 'street'; export type EnrichmentV2AprParliament = 'westminster'; export type EnrichmentV2AprQuality = 'custodian' | 'metadata' | 'record'; export type EnrichmentV2AprStreet = 'grid' | 'record' | 'usrn'; export type EnrichmentV2AprTopography = 'topographic_ids'; export type EnrichmentV2AprVoa = 'primary_description' | 'special_category'; export type EnrichmentV2IrlMosaic = 'household'; export type EnrichmentV2NzlHousehold = 'head_of_household_age' | 'children_at_address' | 'household_composition' | 'head_of_household_lifestage' | 'adults_at_address'; export type EnrichmentV2NzlMosaic = 'mosaic' | 'mosaic_segment' | 'factor_a' | 'factor_b' | 'factor_c' | 'factor_d' | 'factor_e' | 'factor_f'; export type EnrichmentV2NzlProperty = 'property_type' | 'property_ownership' | 'property_value' | 'property_size' | 'bedrooms' | 'bathrooms'; export type EnrichmentV2SgpMosaic = 'demographic_postal_code' | 'residential_postal_code' | 'affluence' | 'life_stage'; export type AddressFormatV1RequestAttributes = {geocodes?: (Array | null) | undefined, usa_regional_geocodes?: (Array | null) | undefined, aus_regional_geocodes?: (Array | null) | undefined, nzl_regional_geocodes?: (Array | null) | undefined, uk_location_complete?: (Array | null) | undefined, uk_location_essential?: (Array | null) | undefined, gbr_government?: (Array | null) | undefined, gbr_health?: (Array | null) | undefined, gbr_business?: (Array | null) | undefined, premium_location_insight?: (Array | null) | undefined, what3words?: (Array | null) | undefined, gbr_location_grid?: (Array | null) | undefined, gbr_parliament?: (Array | null) | undefined, gbr_mosaic?: (Array | null) | undefined, gbr_mosaic_financial?: (Array | null) | undefined, gbr_alias?: (Array | null) | undefined, gbr_quality?: (Array | null) | undefined, addressbase_classification?: (Array | null) | undefined, addressbase_cross_reference?: (Array | null) | undefined, addressbase_government?: (Array | null) | undefined, addressbase_health?: (Array | null) | undefined, addressbase_location_grid?: (Array | null) | undefined, addressbase_parliament?: (Array | null) | undefined, addressbase_quality?: (Array | null) | undefined, addressbase_street?: (Array | null) | undefined, addressbase_topography?: (Array | null) | undefined, addressbase_voa?: (Array | null) | undefined, irl_mosaic?: (Array | null) | undefined, nzl_household?: (Array | null) | undefined, nzl_mosaic?: (Array | null) | undefined, nzl_property?: (Array | null) | undefined, sgp_mosaic?: (Array | null) | undefined}; export type AddressLayoutFormat = 'default' | 'address_lines'; export type AddressValidateV1Request = {country_iso: string, datasets: Array, max_suggestions?: (number | null) | undefined, components: AddressInputComponents, options?: (Array | null) | undefined, attributes?: AddressFormatV1RequestAttributes | undefined, layouts?: (Array | null) | undefined, layout_format?: AddressLayoutFormat | undefined}; export type CreateApiAddressValidateV1Args = {'Reference-Id'?: string | undefined, 'Timeout-Seconds'?: number | undefined, 'Add-Components'?: boolean | undefined, 'Add-Metadata'?: boolean | undefined, 'Add-Enrichment'?: boolean | undefined, 'Add-ExtraMatchInfo'?: boolean | undefined, body: AddressValidateV1Request}; export type CreateApiAddressValidateV1Options = {baseUrl?: string | undefined, OAuth2?: string | undefined, fetch?: typeof fetch | undefined}; export const responseError = z.object({type: z.string().nullable().optional(), title: z.string().nullable().optional(), detail: z.string().nullable().optional(), instance: z.string().nullable().optional()}); export const addressValidationDetail = z.object({building_firm_name_corrected: z.boolean().optional(), primary_number_corrected: z.boolean().optional(), street_corrected: z.boolean().optional(), rural_route_highway_contract_matched: z.boolean().optional(), city_name_corrected: z.boolean().optional(), city_name_alias_matched: z.boolean().optional(), state_corrected: z.boolean().optional(), zip_code_corrected: z.boolean().optional(), secondary_num_retained: z.boolean().optional(), iden_pre_st_info_retained: z.boolean().optional(), gen_pre_st_info_retained: z.boolean().optional(), post_st_info_retained: z.boolean().optional()}); export const address7Lines = z.object({address_line_1: z.string().nullable().optional(), address_line_2: z.string().nullable().optional(), address_line_3: z.string().nullable().optional(), locality: z.string().nullable().optional(), region: z.string().nullable().optional(), postal_code: z.string().nullable().optional(), country: z.string().nullable().optional()}); export const addressLineContent = z.enum(["none", "address", "name", "ancillary", "dataplus"]); export const addressLine = z.object({label: z.string().nullable().optional(), line: z.string().nullable().optional(), has_overflown_to_other_line: z.boolean().optional(), is_truncated: z.boolean().optional(), line_content: addressLineContent.optional()}); export const addressFormattedAddressLines = z.object({layout_name: z.string().nullable().optional(), not_enough_lines: z.boolean().optional(), has_truncated_lines: z.boolean().optional(), address: z.record(z.string(), z.unknown()).nullable().optional(), has_missing_sub_premises: z.boolean().optional(), address_lines: z.array(addressLine).nullable().optional()}); export const addressComponentPostalCode = z.object({full_name: z.string().nullable().optional(), primary: z.string().nullable().optional(), secondary: z.string().nullable().optional()}); export const addressComponentDeliveryService = z.object({full_name: z.string().nullable().optional(), service_type: z.string().nullable().optional(), service_number: z.string().nullable().optional(), post_centre_name: z.string().nullable().optional()}); export const addressComponentSubBuildingItem = z.object({full_name: z.string().nullable().optional(), type: z.string().nullable().optional(), value: z.string().nullable().optional()}); export const addressComponentSubBuilding = z.object({name: z.string().nullable().optional(), entrance: addressComponentSubBuildingItem.optional(), floor: addressComponentSubBuildingItem.optional(), door: addressComponentSubBuildingItem.optional()}); export const addressComponentBuilding = z.object({building_name: z.string().nullable().optional(), secondary_name: z.string().nullable().optional(), building_number: z.string().nullable().optional(), secondary_number: z.string().nullable().optional(), allotment_number: z.string().nullable().optional()}); export const addressComponentBusinessOrganization = z.object({company_name: z.string().nullable().optional()}); export const addressComponentOrganization = z.object({department_name: z.string().nullable().optional(), secondary_department_name: z.string().nullable().optional(), company_name: z.string().nullable().optional(), business: addressComponentBusinessOrganization.optional()}); export const addressComponentStreet = z.object({full_name: z.string().nullable().optional(), prefix: z.string().nullable().optional(), name: z.string().nullable().optional(), type: z.string().nullable().optional(), suffix: z.string().nullable().optional()}); export const addressComponentRouteService = z.object({full_name: z.string().nullable().optional(), service_type: z.string().nullable().optional(), service_number: z.string().nullable().optional(), delivery_name: z.string().nullable().optional(), qualifier: z.string().nullable().optional()}); export const addressComponentLocalityItem = z.object({name: z.string().nullable().optional(), code: z.string().nullable().optional(), description: z.string().nullable().optional()}); export const addressComponentLocality = z.object({region: addressComponentLocalityItem.optional(), sub_region: addressComponentLocalityItem.optional(), town: addressComponentLocalityItem.optional(), district: addressComponentLocalityItem.optional(), sub_district: addressComponentLocalityItem.optional()}); export const addressComponentAdditionalSubRegion = z.object({administrative_county: z.string().nullable().optional(), former_postal_county: z.string().nullable().optional(), traditional_county: z.string().nullable().optional()}); export const addressComponentAdditionalLocality = z.object({sub_region: addressComponentAdditionalSubRegion.optional()}); export const addressComponentAdditionalElements = z.object({locality: addressComponentAdditionalLocality.optional()}); export const addressComponent = z.object({language: z.string().nullable().optional(), country_name: z.string().nullable().optional(), country_iso_3: z.string().nullable().optional(), country_iso_2: z.string().nullable().optional(), country_iso_numeric: z.string().nullable().optional(), postal_code: addressComponentPostalCode.optional(), delivery_service: addressComponentDeliveryService.optional(), secondary_delivery_service: addressComponentDeliveryService.optional(), sub_building: addressComponentSubBuilding.optional(), building: addressComponentBuilding.optional(), organization: addressComponentOrganization.optional(), street: addressComponentStreet.optional(), secondary_street: addressComponentStreet.optional(), route_service: addressComponentRouteService.optional(), locality: addressComponentLocality.optional(), physical_locality: addressComponentLocality.optional(), additional_elements: addressComponentAdditionalElements.optional()}); export const addressNameValuePair = z.object({name: z.string().nullable().optional(), value: z.string().nullable().optional()}); export const addressSuggestion = z.object({global_address_key: z.string().nullable().optional(), text: z.string().nullable().optional(), matched: z.array(z.array(z.number().int())).nullable().optional(), format: z.string().nullable().optional(), stepin: z.string().nullable().optional(), number_of_addresses: z.number().int().optional(), dataset: z.string().nullable().optional(), additional_attributes: z.array(addressNameValuePair).nullable().optional(), names: z.array(z.string()).nullable().optional(), uprn: z.string().nullable().optional()}); export const matchInfoFlags = z.object({postcode_action: z.string().nullable().optional(), address_action: z.string().nullable().optional(), generic_info: z.array(z.string()).nullable().optional(), aus_info: z.array(z.string()).nullable().optional(), deu_info: z.array(z.string()).nullable().optional(), fra_info: z.array(z.string()).nullable().optional(), gbr_info: z.array(z.string()).nullable().optional(), nld_info: z.array(z.string()).nullable().optional(), nzl_info: z.array(z.string()).nullable().optional(), sgp_info: z.array(z.string()).nullable().optional()}); export const addressValidateV1Result = z.object({validation_detail: addressValidationDetail.optional(), global_address_key: z.string().nullable().optional(), more_results_available: z.boolean().nullable().optional(), confidence: z.string().nullable().optional(), address: address7Lines.optional(), addresses_formatted: z.array(addressFormattedAddressLines).nullable().optional(), components: addressComponent.optional(), suggestions_key: z.string().nullable().optional(), suggestions_prompt: z.string().nullable().optional(), suggestions: z.array(addressSuggestion).nullable().optional(), match_type: z.string().nullable().optional(), match_confidence: z.string().nullable().optional(), match_info: matchInfoFlags.optional()}); export const addressMetadataInfoId = z.object({umrrn: z.string().nullable().optional(), udprn: z.string().nullable().optional(), uprn: z.string().nullable().optional(), dpid: z.string().nullable().optional(), gnafPid: z.string().nullable().optional(), paf_address_key: z.string().nullable().optional(), hin: z.string().nullable().optional(), organization_key: z.string().nullable().optional(), lpi_key: z.string().nullable().optional(), dps: z.string().nullable().optional(), parent_uprn: z.string().nullable().optional(), building_id: z.string().nullable().optional()}); export const addressMetadataInfo = z.object({sources: z.array(z.string()).nullable().optional(), number_of_households: z.string().nullable().optional(), just_built_date: z.string().nullable().optional(), identifier: addressMetadataInfoId.optional()}); export const addressMetadataBarcode = z.object({delivery_point_barcode: z.string().nullable().optional(), check_digit: z.string().nullable().optional(), sort_plan_number: z.string().nullable().optional()}); export const addressMetadataRouteClassification = z.object({carrier_route: z.string().nullable().optional(), id: z.string().nullable().optional(), elot: z.string().nullable().optional(), roudis_id: z.string().nullable().optional()}); export const addressMetadataAddressType = z.object({code: z.string().nullable().optional(), description: z.string().nullable().optional()}); export const addressMetadataAddressClassification = z.object({address_type: addressMetadataAddressType.optional(), delivery_type: z.string().nullable().optional(), is_deliverable: z.string().nullable().optional()}); export const addressMetadataDpv = z.object({cmra_indicator: z.string().nullable().optional(), seed_indicator: z.string().nullable().optional(), dpv_indicator: z.string().nullable().optional(), footnotes: z.array(z.string()).nullable().optional(), vacancy_indicator: z.string().nullable().optional(), no_stats_indicator: z.string().nullable().optional(), pbsa_indicator: z.string().nullable().optional(), lacs_indicator: z.string().nullable().optional(), lacs_code: z.string().nullable().optional(), urbanization: z.string().nullable().optional(), delivery_line_1: z.string().nullable().optional(), delivery_line_2: z.string().nullable().optional(), last_line: z.string().nullable().optional(), no_stat_reason_code: z.array(z.string()).nullable().optional(), drop: z.string().nullable().optional(), throwback: z.string().nullable().optional(), non_delivery_days_indicator: z.string().nullable().optional(), non_delivery_days_value: z.array(z.string()).nullable().optional(), no_secure_location: z.string().nullable().optional(), door_not_accessible: z.string().nullable().optional(), enhanced_dpv_code: z.string().nullable().optional(), firm_name: z.string().nullable().optional()}); export const addressMetadata = z.object({address_info: addressMetadataInfo.optional(), barcode: addressMetadataBarcode.optional(), route_classification: addressMetadataRouteClassification.optional(), address_classification: addressMetadataAddressClassification.optional(), dpv: addressMetadataDpv.optional()}); export const enrichmentV2DatasetGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const enrichmentV2DatasetUsaRegionalGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), census_tract: z.string().nullable().optional(), census_block: z.string().nullable().optional(), core_based_statistical_area: z.string().nullable().optional(), congressional_district_code: z.string().nullable().optional(), county_code: z.string().nullable().optional()}); export const enrichmentV2DatasetAusRegionalGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), sa1: z.string().nullable().optional(), meshblock: z.string().nullable().optional(), lga_code: z.string().nullable().optional(), lga_name: z.string().nullable().optional(), street_pid: z.string().nullable().optional(), locality_pid: z.string().nullable().optional(), geocode_level_code: z.string().nullable().optional(), geocode_level_description: z.string().nullable().optional(), geocode_type_code: z.string().nullable().optional(), geocode_type_description: z.string().nullable().optional(), highest_level_longitude: z.number().nullable().optional(), highest_level_latitude: z.number().nullable().optional(), highest_level_elevation: z.string().nullable().optional(), highest_level_planimetric_accuracy: z.string().nullable().optional(), highest_level_boundary_extent: z.string().nullable().optional(), highest_level_geocode_reliability_code: z.string().nullable().optional(), highest_level_geocode_reliability_description: z.string().nullable().optional(), confidence_level_code: z.string().nullable().optional(), confidence_level_description: z.string().nullable().optional(), "2021_meshblock_id": z.string().nullable().optional(), "2021_meshblock_code": z.string().nullable().optional(), "2021_meshblock_match_code": z.string().nullable().optional(), "2021_meshblock_match_description": z.string().nullable().optional(), "2016_meshblock_id": z.string().nullable().optional(), "2016_meshblock_code": z.string().nullable().optional(), "2016_meshblock_match_code": z.string().nullable().optional(), "2016_meshblock_match_description": z.string().nullable().optional(), address_type_code: z.string().nullable().optional(), primary_address_pid: z.string().nullable().optional(), address_join_type: z.string().nullable().optional(), collector_district_id: z.string().nullable().optional(), collector_district_code: z.string().nullable().optional(), commonwealth_electoral_boundary_id: z.string().nullable().optional(), commonwealth_electoral_boundary_name: z.string().nullable().optional(), statistical_local_area_id: z.string().nullable().optional(), statistical_local_area_code: z.string().nullable().optional(), statistical_local_area_name: z.string().nullable().optional(), state_electoral_boundary_id: z.string().nullable().optional(), state_electoral_boundary_name: z.string().nullable().optional(), state_electoral_effective_start: z.string().nullable().optional(), state_electoral_effective_end: z.string().nullable().optional(), state_electoral_new_pid: z.string().nullable().optional(), state_electoral_new_name: z.string().nullable().optional(), state_electoral_new_effective_start: z.string().nullable().optional(), state_electoral_new_effective_end: z.string().nullable().optional(), address_level_longitude: z.number().nullable().optional(), address_level_latitude: z.number().nullable().optional(), address_level_elevation: z.string().nullable().optional(), address_level_planimetric_accuracy: z.string().nullable().optional(), address_level_boundary_extent: z.string().nullable().optional(), address_level_geocode_reliability_code: z.string().nullable().optional(), address_level_geocode_reliability_description: z.string().nullable().optional(), street_level_longitude: z.number().nullable().optional(), street_level_latitude: z.number().nullable().optional(), street_level_planimetric_accuracy: z.string().nullable().optional(), street_level_boundary_extent: z.string().nullable().optional(), street_level_geocode_reliability_code: z.string().nullable().optional(), street_level_geocode_reliability_description: z.string().nullable().optional(), locality_level_longitude: z.number().nullable().optional(), locality_level_latitude: z.number().nullable().optional(), locality_level_planimetric_accuracy: z.string().nullable().optional(), locality_level_geocode_reliability_code: z.string().nullable().optional(), locality_level_geocode_reliability_description: z.string().nullable().optional(), gnaf_legal_parcel_identifier: z.string().nullable().optional(), locality_class_code: z.string().nullable().optional()}); export const enrichmentV2DatasetNzlRegionalGeocodes = z.object({front_of_property_nztm_x_coordinate: z.number().nullable().optional(), front_of_property_nztm_y_coordinate: z.number().nullable().optional(), centroid_of_property_nztm_x_coordinate: z.number().nullable().optional(), centroid_of_property_nztm_y_coordinate: z.number().nullable().optional(), linz_parcel_id: z.string().nullable().optional(), property_purpose_type: z.string().nullable().optional(), addressable: z.string().nullable().optional(), mesh_block_code: z.string().nullable().optional(), territorial_authority_code: z.string().nullable().optional(), territorial_authority_name: z.string().nullable().optional(), regional_council_code: z.string().nullable().optional(), regional_council_name: z.string().nullable().optional(), general_electorate_code: z.string().nullable().optional(), general_electorate_name: z.string().nullable().optional(), maori_electorate_code: z.string().nullable().optional(), maori_electorate_name: z.string().nullable().optional(), front_of_property_latitude: z.number().nullable().optional(), front_of_property_longitude: z.number().nullable().optional(), centroid_of_property_latitude: z.number().nullable().optional(), centroid_of_property_longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const enrichmentV2DatasetUkLocationComplete = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), udprn: z.string().nullable().optional(), uprn: z.string().nullable().optional(), x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const enrichmentV2DatasetUkLocationEssential = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), udprn: z.string().nullable().optional(), uprn: z.string().nullable().optional(), x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const enrichmentV2DatasetGbrGovernment = z.object({eer_code: z.string().nullable().optional(), eer_code_pre_2011: z.string().nullable().optional(), eer_name: z.string().nullable().optional(), gor_code: z.string().nullable().optional(), gor_code_pre_2011: z.string().nullable().optional(), gor_name: z.string().nullable().optional(), lea_code: z.string().nullable().optional(), lea_name: z.string().nullable().optional(), la_code: z.string().nullable().optional(), la_code_pre_2011: z.string().nullable().optional(), la_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_code_pre_2011: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), cens_out_area: z.string().nullable().optional()}); export const commercialMosaicElements = z.object({group_type_code: z.string().nullable().optional(), group_type_description: z.string().nullable().optional(), group_code: z.string().nullable().optional(), group_description: z.string().nullable().optional()}); export const standardIndustryClassificationElements = z.object({sic_2007_code: z.string().nullable().optional(), sic_2007_description: z.string().nullable().optional(), thomson_code: z.string().nullable().optional(), thomson_description: z.string().nullable().optional()}); export const locationElements = z.object({code: z.string().nullable().optional(), description: z.string().nullable().optional(), small_or_home_office: z.boolean().optional()}); export const enrichmentV2DatasetGbAdditionalBusinessAddressValidate = z.object({urn: z.string().nullable().optional(), commercial_mosaic: commercialMosaicElements.optional(), registration: z.string().nullable().optional(), non_limited_company_key: z.string().nullable().optional(), phone: z.string().nullable().optional(), number_of_employees: z.string().nullable().optional(), standard_industry_classification: standardIndustryClassificationElements.optional(), location: locationElements.optional()}); export const enrichmentV2DatasetGbrHealth = z.object({authority_code: z.string().nullable().optional(), authority_code_2011: z.string().nullable().optional(), authority_name: z.string().nullable().optional(), pclh_code: z.string().nullable().optional(), pclh_code_2011: z.string().nullable().optional(), pclh_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_code_2011: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), ccg_code: z.string().nullable().optional(), ccg_name: z.string().nullable().optional(), doh_code: z.string().nullable().optional()}); export const premiumLocationInsightGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const premiumLocationInsightGeocodesBuildingXy = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const premiumLocationInsightGeocodesAccess = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional()}); export const premiumLocationInsightReferenceTime = z.object({tag: z.string().nullable().optional(), standard_offset: z.string().nullable().optional(), daylight_savings: z.string().nullable().optional(), sunrise: z.string().nullable().optional(), sunset: z.string().nullable().optional()}); export const premiumLocationInsightTimeTransition = z.object({tag: z.string().nullable().optional(), standard_offset: z.string().nullable().optional(), daylight_savings: z.string().nullable().optional(), utc_start: z.string().nullable().optional(), utc_end: z.string().nullable().optional()}); export const premiumLocationInsightTime = z.object({time_zone_id: z.string().nullable().optional(), generic: z.string().nullable().optional(), standard: z.string().nullable().optional(), daylight: z.string().nullable().optional(), reference_time: premiumLocationInsightReferenceTime.optional(), time_transition: z.array(premiumLocationInsightTimeTransition).nullable().optional()}); export const enrichmentV2DatasetPremiumLocationInsight = z.object({geocodes: premiumLocationInsightGeocodes.optional(), geocodes_building_xy: premiumLocationInsightGeocodesBuildingXy.optional(), geocodes_access: z.array(premiumLocationInsightGeocodesAccess).nullable().optional(), time: z.array(premiumLocationInsightTime).nullable().optional()}); export const enrichmentV2DatasetWhat3Words = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), name: z.string().nullable().optional(), description: z.string().nullable().optional()}); export const enrichmentV2GbrLocationGridPostzonResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), os_x_coordinate: z.number().nullable().optional(), os_y_coordinate: z.number().nullable().optional(), latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), os_landranger: z.string().nullable().optional()}); export const enrichmentV2GbrLocationGridCodepointResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), pqi: z.string().nullable().optional(), is_delivery_service: z.string().nullable().optional(), ndp: z.string().nullable().optional(), ndp_pqi: z.string().nullable().optional(), ndp_domestic: z.string().nullable().optional(), ndp_commercial: z.string().nullable().optional(), ndp_delivery_service: z.string().nullable().optional(), ndp_matched: z.string().nullable().optional(), ndp_unmatched: z.string().nullable().optional()}); export const enrichmentV2GbrLocationGridResult = z.object({postzon: enrichmentV2GbrLocationGridPostzonResult.optional(), codepoint: enrichmentV2GbrLocationGridCodepointResult.optional()}); export const enrichmentV2GbrParliamentWestminsterResult = z.object({constituency_code: z.string().nullable().optional(), constituency: z.string().nullable().optional(), mp: z.string().nullable().optional(), mp_party: z.string().nullable().optional()}); export const enrichmentV2GbrParliamentScotlandResult = z.object({constituency_code: z.string().nullable().optional(), constituency: z.string().nullable().optional(), region: z.string().nullable().optional(), region_code: z.string().nullable().optional(), mp: z.string().nullable().optional(), mp_party: z.string().nullable().optional(), regional_msp1: z.string().nullable().optional(), regional_msp1_party: z.string().nullable().optional(), regional_msp2: z.string().nullable().optional(), regional_msp2_party: z.string().nullable().optional(), regional_msp3: z.string().nullable().optional(), regional_msp3_party: z.string().nullable().optional(), regional_msp4: z.string().nullable().optional(), regional_msp4_party: z.string().nullable().optional(), regional_msp5: z.string().nullable().optional(), regional_msp5_party: z.string().nullable().optional(), regional_msp6: z.string().nullable().optional(), regional_msp6_party: z.string().nullable().optional(), regional_msp7: z.string().nullable().optional(), regional_msp7_party: z.string().nullable().optional()}); export const enrichmentV2GbrParliamentResult = z.object({westminster: enrichmentV2GbrParliamentWestminsterResult.optional(), scotland: enrichmentV2GbrParliamentScotlandResult.optional()}); export const enrichmentV2GbrCommonElementsWithVersionResult = z.object({version: z.string().nullable().optional(), type_code: z.string().nullable().optional(), type: z.string().nullable().optional(), group_code: z.string().nullable().optional(), group: z.string().nullable().optional()}); export const enrichmentV2GbrMosaicResult = z.object({household: enrichmentV2GbrCommonElementsWithVersionResult.optional(), postal_code: enrichmentV2GbrCommonElementsWithVersionResult.optional()}); export const enrichmentV2GbrCommonElementsResult = z.object({type_code: z.string().nullable().optional(), type: z.string().nullable().optional(), group_code: z.string().nullable().optional(), group: z.string().nullable().optional()}); export const enrichmentV2GbrMosaicFinancialResult = z.object({postal_code: enrichmentV2GbrCommonElementsResult.optional(), household: enrichmentV2GbrCommonElementsResult.optional()}); export const enrichmentV2GbrAliasElementsResult = z.object({building_name: z.string().nullable().optional(), also_known_as: z.string().nullable().optional(), department: z.string().nullable().optional(), organization_description: z.string().nullable().optional(), organization_at_residential: z.string().nullable().optional(), trading_name: z.string().nullable().optional(), misc: z.string().nullable().optional(), welsh_alternative: z.string().nullable().optional()}); export const enrichmentV2GbrAliasResult = z.object({aliases: enrichmentV2GbrAliasElementsResult.optional()}); export const enrichmentV2GbrQualityRecordResult = z.object({address: z.string().nullable().optional(), postal_code: z.string().nullable().optional()}); export const enrichmentV2GbrQualityResult = z.object({record: enrichmentV2GbrQualityRecordResult.optional()}); export const enrichmentV2AprClassificationCodeResult = z.object({code: z.string().nullable().optional(), primary: z.string().nullable().optional(), secondary: z.string().nullable().optional(), tertiary: z.string().nullable().optional(), quaternary: z.string().nullable().optional()}); export const enrichmentV2AprClassificationRecordResult = z.object({key: z.string().nullable().optional(), start_date: z.string().nullable().optional(), end_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprClassificationSchemeResult = z.object({scheme: z.string().nullable().optional(), version: z.string().nullable().optional()}); export const enrichmentV2AprClassificationResult = z.object({code: enrichmentV2AprClassificationCodeResult.optional(), record: enrichmentV2AprClassificationRecordResult.optional(), scheme: enrichmentV2AprClassificationSchemeResult.optional()}); export const enrichmentV2AprCrossReferenceAddressLayer2Result = z.object({primary_key: z.string().nullable().optional(), key: z.string().nullable().optional(), version: z.string().nullable().optional(), created_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprCrossReferenceCouncilTaxResult = z.object({primary_key: z.string().nullable().optional(), key: z.string().nullable().optional(), version: z.string().nullable().optional(), created_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprCrossReferenceIntegratedTransportNetworkResult = z.object({primary_key: z.string().nullable().optional(), key: z.string().nullable().optional(), version: z.string().nullable().optional(), created_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprCrossReferenceNonDomesticRatesResult = z.object({primary_key: z.string().nullable().optional(), key: z.string().nullable().optional(), version: z.string().nullable().optional(), created_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprCrossReferenceTopographyLayerResult = z.object({primary_key: z.string().nullable().optional(), key: z.string().nullable().optional(), version: z.string().nullable().optional(), created_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprCrossReferenceResult = z.object({addresslayer_2: enrichmentV2AprCrossReferenceAddressLayer2Result.optional(), council_tax: enrichmentV2AprCrossReferenceCouncilTaxResult.optional(), integrated_transport_network: enrichmentV2AprCrossReferenceIntegratedTransportNetworkResult.optional(), non_domestic_rates: enrichmentV2AprCrossReferenceNonDomesticRatesResult.optional(), topography_layer: enrichmentV2AprCrossReferenceTopographyLayerResult.optional()}); export const enrichmentV2AprGovernmentElementsResult = z.object({eer_code: z.string().nullable().optional(), eer_name: z.string().nullable().optional(), gor_code: z.string().nullable().optional(), gor_name: z.string().nullable().optional(), lea_code: z.string().nullable().optional(), lea_name: z.string().nullable().optional(), la_code: z.string().nullable().optional(), la_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), cens_out_area: z.string().nullable().optional()}); export const enrichmentV2AprGovernmentResult = z.object({government: enrichmentV2AprGovernmentElementsResult.optional()}); export const enrichmentV2AprHealthElementsResult = z.object({authority_code: z.string().nullable().optional(), authority_name: z.string().nullable().optional(), pclh_code: z.string().nullable().optional(), pclh_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), ccg_code: z.string().nullable().optional(), ccg_name: z.string().nullable().optional(), doh_code: z.string().nullable().optional()}); export const enrichmentV2AprHealthResult = z.object({health: enrichmentV2AprHealthElementsResult.optional()}); export const enrichmentV2AprLocationGridBlpuResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), ap_x_coordinate: z.number().nullable().optional(), ap_y_coordinate: z.number().nullable().optional(), latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), rpc: z.string().nullable().optional(), postal_code: z.string().nullable().optional()}); export const enrichmentV2AprLocationGridBuildingResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), ap_x_coordinate: z.number().nullable().optional(), ap_y_coordinate: z.number().nullable().optional()}); export const enrichmentV2AprLocationGridPostalCodeResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), ap_x_coordinate: z.number().nullable().optional(), ap_y_coordinate: z.number().nullable().optional()}); export const enrichmentV2AprLocationGridStreetResult = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional(), ap_x_coordinate: z.number().nullable().optional(), ap_y_coordinate: z.number().nullable().optional()}); export const enrichmentV2AprLocationGridResult = z.object({blpu: enrichmentV2AprLocationGridBlpuResult.optional(), building: enrichmentV2AprLocationGridBuildingResult.optional(), postal_code: enrichmentV2AprLocationGridPostalCodeResult.optional(), street: enrichmentV2AprLocationGridStreetResult.optional()}); export const enrichmentV2AprParliamentWestminsterResult = z.object({constituency_code: z.string().nullable().optional(), constituency: z.string().nullable().optional(), mp: z.string().nullable().optional(), mp_party: z.string().nullable().optional()}); export const enrichmentV2AprParliamentResult = z.object({westminster: enrichmentV2AprParliamentWestminsterResult.optional()}); export const enrichmentV2AprQualityCustodianResult = z.object({custodian: z.string().nullable().optional(), custodian_uprn: z.string().nullable().optional(), custodian_language: z.string().nullable().optional(), custodian_code: z.string().nullable().optional()}); export const enrichmentV2AprQualityMetadataResult = z.object({coordinate_system: z.string().nullable().optional(), coordinate_unit: z.string().nullable().optional(), postal_code_type: z.string().nullable().optional(), gazetteer_name: z.string().nullable().optional(), gazetteer_scope: z.string().nullable().optional(), linked_data: z.string().nullable().optional(), gazetteer_owner: z.string().nullable().optional(), metadata_date: z.string().nullable().optional(), classification_scheme: z.string().nullable().optional(), gazetteer_date: z.string().nullable().optional()}); export const enrichmentV2AprQualityRecordResult = z.object({blpu_status: z.string().nullable().optional(), lpi_status: z.string().nullable().optional(), state: z.string().nullable().optional(), state_date: z.string().nullable().optional(), start_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional(), update_frequency: z.string().nullable().optional(), is_official: z.string().nullable().optional(), paf_update_date: z.string().nullable().optional()}); export const enrichmentV2AprQualityResult = z.object({custodian: enrichmentV2AprQualityCustodianResult.optional(), metadata: enrichmentV2AprQualityMetadataResult.optional(), record: enrichmentV2AprQualityRecordResult.optional()}); export const enrichmentV2AprStreetGridResult = z.object({start_x_coordinate: z.number().nullable().optional(), start_y_coordinate: z.number().nullable().optional(), end_x_coordinate: z.number().nullable().optional(), end_y_coordinate: z.number().nullable().optional(), start_latitude: z.number().nullable().optional(), start_longitude: z.number().nullable().optional(), end_latitude: z.number().nullable().optional(), end_longitude: z.number().nullable().optional(), tolerance: z.string().nullable().optional()}); export const enrichmentV2AprStreetRecordResult = z.object({type: z.string().nullable().optional(), authority: z.string().nullable().optional(), classification: z.string().nullable().optional(), surface_type: z.string().nullable().optional(), state: z.string().nullable().optional(), state_date: z.string().nullable().optional(), version: z.string().nullable().optional()}); export const enrichmentV2AprStreetUsrnResult = z.object({usrn: z.string().nullable().optional(), usrn_match: z.string().nullable().optional()}); export const enrichmentV2AprStreetResult = z.object({grid: enrichmentV2AprStreetGridResult.optional(), record: enrichmentV2AprStreetRecordResult.optional(), usrn: enrichmentV2AprStreetUsrnResult.optional()}); export const enrichmentV2AprTopographyTopographicIdsResult = z.object({addresslayer_2: z.string().nullable().optional(), topography_layer: z.string().nullable().optional(), integrated_transport_network: z.string().nullable().optional()}); export const enrichmentV2AprTopographyResult = z.object({topographic_ids: enrichmentV2AprTopographyTopographicIdsResult.optional()}); export const enrichmentV2AprVoaPrimaryDescriptionResult = z.object({scheme: z.string().nullable().optional(), version: z.string().nullable().optional(), key: z.string().nullable().optional(), code: z.string().nullable().optional(), start_date: z.string().nullable().optional(), end_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprVoaSpecialCategoryResult = z.object({scheme: z.string().nullable().optional(), version: z.string().nullable().optional(), key: z.string().nullable().optional(), code: z.string().nullable().optional(), start_date: z.string().nullable().optional(), end_date: z.string().nullable().optional(), update_date: z.string().nullable().optional(), entry_date: z.string().nullable().optional()}); export const enrichmentV2AprVoaResult = z.object({primary_description: enrichmentV2AprVoaPrimaryDescriptionResult.optional(), special_category: enrichmentV2AprVoaSpecialCategoryResult.optional()}); export const enrichmentV2IrlMosaicHouseholdResult = z.object({type_code: z.string().nullable().optional(), type: z.string().nullable().optional(), group_code: z.string().nullable().optional(), group: z.string().nullable().optional(), area_code: z.string().nullable().optional()}); export const enrichmentV2IrlMosaicResult = z.object({household: enrichmentV2IrlMosaicHouseholdResult.optional()}); export const enrichmentV2NzlElementCodeResult = z.object({code: z.string().nullable().optional()}); export const enrichmentV2NzlHouseholdResult = z.object({head_of_household_age: enrichmentV2NzlElementCodeResult.optional(), children_at_address: enrichmentV2NzlElementCodeResult.optional(), household_composition: enrichmentV2NzlElementCodeResult.optional(), head_of_household_lifestage: enrichmentV2NzlElementCodeResult.optional(), adults_at_address: enrichmentV2NzlElementCodeResult.optional()}); export const enrichmentV2NzlMosaicElementResult = z.object({group_code: z.string().nullable().optional(), type_code: z.string().nullable().optional()}); export const enrichmentV2NzlMosaicFactorResult = z.object({score: z.number().nullable().optional(), percentile: z.number().nullable().optional(), decile: z.number().nullable().optional()}); export const enrichmentV2NzlMosaicResult = z.object({mosaic: enrichmentV2NzlMosaicElementResult.optional(), mosaic_segment: enrichmentV2NzlElementCodeResult.optional(), factor_a: enrichmentV2NzlMosaicFactorResult.optional(), factor_b: enrichmentV2NzlMosaicFactorResult.optional(), factor_c: enrichmentV2NzlMosaicFactorResult.optional(), factor_d: enrichmentV2NzlMosaicFactorResult.optional(), factor_e: enrichmentV2NzlMosaicFactorResult.optional(), factor_f: enrichmentV2NzlMosaicFactorResult.optional()}); export const enrichmentV2NzlPropertyResult = z.object({property_type: enrichmentV2NzlElementCodeResult.optional(), property_ownership: enrichmentV2NzlElementCodeResult.optional(), property_value: enrichmentV2NzlElementCodeResult.optional(), property_size: enrichmentV2NzlElementCodeResult.optional(), bedrooms: enrichmentV2NzlElementCodeResult.optional(), bathrooms: enrichmentV2NzlElementCodeResult.optional()}); export const enrichmentV2SgpMosaicDemographicPostalCodeResult = z.object({type_code: z.string().nullable().optional(), type: z.string().nullable().optional(), group_code: z.string().nullable().optional(), group: z.string().nullable().optional()}); export const enrichmentV2SgpMosaicResidentialPostalCodeResult = z.object({households: z.string().nullable().optional(), residents: z.string().nullable().optional()}); export const enrichmentV2SgpMosaicFactorResult = z.object({score: z.number().nullable().optional(), percentile: z.number().nullable().optional(), decile: z.number().nullable().optional()}); export const enrichmentV2SgpMosaicResult = z.object({demographic_postal_code: enrichmentV2SgpMosaicDemographicPostalCodeResult.optional(), residential_postal_code: enrichmentV2SgpMosaicResidentialPostalCodeResult.optional(), affluence: enrichmentV2SgpMosaicFactorResult.optional(), life_stage: enrichmentV2SgpMosaicFactorResult.optional()}); export const enrichmentV2ResultAddressValidate = z.object({geocodes: enrichmentV2DatasetGeocodes.optional(), usa_regional_geocodes: enrichmentV2DatasetUsaRegionalGeocodes.optional(), aus_regional_geocodes: enrichmentV2DatasetAusRegionalGeocodes.optional(), nzl_regional_geocodes: enrichmentV2DatasetNzlRegionalGeocodes.optional(), uk_location_complete: enrichmentV2DatasetUkLocationComplete.optional(), uk_location_essential: enrichmentV2DatasetUkLocationEssential.optional(), gbr_government: enrichmentV2DatasetGbrGovernment.optional(), gbr_business: enrichmentV2DatasetGbAdditionalBusinessAddressValidate.optional(), gbr_health: enrichmentV2DatasetGbrHealth.optional(), premium_location_insight: enrichmentV2DatasetPremiumLocationInsight.optional(), what3words: enrichmentV2DatasetWhat3Words.optional(), gbr_location_grid: enrichmentV2GbrLocationGridResult.optional(), gbr_parliament: enrichmentV2GbrParliamentResult.optional(), gbr_mosaic: enrichmentV2GbrMosaicResult.optional(), gbr_mosaic_financial: enrichmentV2GbrMosaicFinancialResult.optional(), gbr_alias: enrichmentV2GbrAliasResult.optional(), gbr_quality: enrichmentV2GbrQualityResult.optional(), addressbase_classification: enrichmentV2AprClassificationResult.optional(), addressbase_cross_reference: enrichmentV2AprCrossReferenceResult.optional(), addressbase_government: enrichmentV2AprGovernmentResult.optional(), addressbase_health: enrichmentV2AprHealthResult.optional(), addressbase_location_grid: enrichmentV2AprLocationGridResult.optional(), addressbase_parliament: enrichmentV2AprParliamentResult.optional(), addressbase_quality: enrichmentV2AprQualityResult.optional(), addressbase_street: enrichmentV2AprStreetResult.optional(), addressbase_topography: enrichmentV2AprTopographyResult.optional(), addressbase_voa: enrichmentV2AprVoaResult.optional(), irl_mosaic: enrichmentV2IrlMosaicResult.optional(), nzl_household: enrichmentV2NzlHouseholdResult.optional(), nzl_mosaic: enrichmentV2NzlMosaicResult.optional(), nzl_property: enrichmentV2NzlPropertyResult.optional(), sgp_mosaic: enrichmentV2SgpMosaicResult.optional()}); export const datasetMetadata = z.object({code: z.string().nullable().optional(), message: z.string().nullable().optional(), value: z.string().nullable().optional()}); export const enrichmentV2GeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional()}); export const enrichmentV2UsaRegionalGeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), census_tract: datasetMetadata.optional(), census_block: datasetMetadata.optional(), core_based_statistical_area: datasetMetadata.optional(), congressional_district_code: datasetMetadata.optional(), county_code: datasetMetadata.optional()}); export const enrichmentV2AusRegionalGeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), sa1: datasetMetadata.optional(), meshblock: datasetMetadata.optional(), lga_code: datasetMetadata.optional(), lga_name: datasetMetadata.optional(), street_pid: datasetMetadata.optional(), locality_pid: datasetMetadata.optional(), geocode_level_code: datasetMetadata.optional(), geocode_level_description: datasetMetadata.optional(), geocode_type_code: datasetMetadata.optional(), geocode_type_description: datasetMetadata.optional(), highest_level_longitude: datasetMetadata.optional(), highest_level_latitude: datasetMetadata.optional(), highest_level_elevation: datasetMetadata.optional(), highest_level_planimetric_accuracy: datasetMetadata.optional(), highest_level_boundary_extent: datasetMetadata.optional(), highest_level_geocode_reliability_code: datasetMetadata.optional(), highest_level_geocode_reliability_description: datasetMetadata.optional(), confidence_level_code: datasetMetadata.optional(), confidence_level_description: datasetMetadata.optional(), "2021_meshblock_id": datasetMetadata.optional(), "2021_meshblock_code": datasetMetadata.optional(), "2021_meshblock_match_code": datasetMetadata.optional(), "2021_meshblock_match_description": datasetMetadata.optional(), "2016_meshblock_id": datasetMetadata.optional(), "2016_meshblock_code": datasetMetadata.optional(), "2016_meshblock_match_code": datasetMetadata.optional(), "2016_meshblock_match_description": datasetMetadata.optional(), address_type_code: datasetMetadata.optional(), primary_address_pid: datasetMetadata.optional(), address_join_type: datasetMetadata.optional(), collector_district_id: datasetMetadata.optional(), collector_district_code: datasetMetadata.optional(), commonwealth_electoral_boundary_id: datasetMetadata.optional(), commonwealth_electoral_boundary_name: datasetMetadata.optional(), statistical_local_area_id: datasetMetadata.optional(), statistical_local_area_code: datasetMetadata.optional(), statistical_local_area_name: datasetMetadata.optional(), state_electoral_boundary_id: datasetMetadata.optional(), state_electoral_boundary_name: datasetMetadata.optional(), state_electoral_effective_start: datasetMetadata.optional(), state_electoral_effective_end: datasetMetadata.optional(), state_electoral_new_pid: datasetMetadata.optional(), state_electoral_new_name: datasetMetadata.optional(), state_electoral_new_effective_start: datasetMetadata.optional(), state_electoral_new_effective_end: datasetMetadata.optional(), address_level_longitude: datasetMetadata.optional(), address_level_latitude: datasetMetadata.optional(), address_level_elevation: datasetMetadata.optional(), address_level_planimetric_accuracy: datasetMetadata.optional(), address_level_boundary_extent: datasetMetadata.optional(), address_level_geocode_reliability_code: datasetMetadata.optional(), address_level_geocode_reliability_description: datasetMetadata.optional(), street_level_longitude: datasetMetadata.optional(), street_level_latitude: datasetMetadata.optional(), street_level_planimetric_accuracy: datasetMetadata.optional(), street_level_boundary_extent: datasetMetadata.optional(), street_level_geocode_reliability_code: datasetMetadata.optional(), street_level_geocode_reliability_description: datasetMetadata.optional(), locality_level_longitude: datasetMetadata.optional(), locality_level_latitude: datasetMetadata.optional(), locality_level_planimetric_accuracy: datasetMetadata.optional(), locality_level_geocode_reliability_code: datasetMetadata.optional(), locality_level_geocode_reliability_description: datasetMetadata.optional(), gnaf_legal_parcel_identifier: datasetMetadata.optional(), locality_class_code: datasetMetadata.optional()}); export const enrichmentV2NzlRegionalGeocodesMetadata = z.object({front_of_property_nztm_x_coordinate: datasetMetadata.optional(), front_of_property_nztm_y_coordinate: datasetMetadata.optional(), centroid_of_property_nztm_x_coordinate: datasetMetadata.optional(), centroid_of_property_nztm_y_coordinate: datasetMetadata.optional(), linz_parcel_id: datasetMetadata.optional(), property_purpose_type: datasetMetadata.optional(), addressable: datasetMetadata.optional(), mesh_block_code: datasetMetadata.optional(), territorial_authority_code: datasetMetadata.optional(), territorial_authority_name: datasetMetadata.optional(), regional_council_code: datasetMetadata.optional(), regional_council_name: datasetMetadata.optional(), general_electorate_code: datasetMetadata.optional(), general_electorate_name: datasetMetadata.optional(), maori_electorate_code: datasetMetadata.optional(), maori_electorate_name: datasetMetadata.optional(), front_of_property_latitude: datasetMetadata.optional(), front_of_property_longitude: datasetMetadata.optional(), centroid_of_property_latitude: datasetMetadata.optional(), centroid_of_property_longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional()}); export const enrichmentV2UkLocationCompleteMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), udprn: datasetMetadata.optional(), uprn: datasetMetadata.optional(), x_coordinate: datasetMetadata.optional(), y_coordinate: datasetMetadata.optional()}); export const enrichmentV2UkLocationEssentialMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), udprn: datasetMetadata.optional(), uprn: datasetMetadata.optional(), x_coordinate: datasetMetadata.optional(), y_coordinate: datasetMetadata.optional()}); export const enrichmentV2GbrGovernmentMetadata = z.object({eer_code: datasetMetadata.optional(), eer_code_pre_2011: datasetMetadata.optional(), eer_name: datasetMetadata.optional(), gor_code: datasetMetadata.optional(), gor_code_pre_2011: datasetMetadata.optional(), gor_name: datasetMetadata.optional(), lea_code: datasetMetadata.optional(), lea_name: datasetMetadata.optional(), la_code: datasetMetadata.optional(), la_code_pre_2011: datasetMetadata.optional(), la_name: datasetMetadata.optional(), ward_code: datasetMetadata.optional(), ward_code_pre_2011: datasetMetadata.optional(), ward_name: datasetMetadata.optional(), cens_out_area: datasetMetadata.optional()}); export const enrichmentV2GbrHealthMetadata = z.object({authority_code: datasetMetadata.optional(), authority_code_2011: datasetMetadata.optional(), authority_name: datasetMetadata.optional(), pclh_code: datasetMetadata.optional(), pclh_code_2011: datasetMetadata.optional(), pclh_name: datasetMetadata.optional(), ward_code: datasetMetadata.optional(), ward_code_2011: datasetMetadata.optional(), ward_name: datasetMetadata.optional(), ccg_code: datasetMetadata.optional(), ccg_name: datasetMetadata.optional(), doh_code: datasetMetadata.optional()}); export const enrichmentV2PremiumLocationInsightMetadata = z.object({geocodes: datasetMetadata.optional(), geocodes_building_xy: datasetMetadata.optional(), geocodes_access: datasetMetadata.optional(), time: datasetMetadata.optional()}); export const enrichmentV2What3WordsMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), name: datasetMetadata.optional(), description: datasetMetadata.optional()}); export const datasetMetadataV2 = z.object({code: z.string().nullable(), message: z.string().nullable(), value: z.string().nullable()}); export const enrichmentV2GbrLocationGridMetadata = z.object({postzon: datasetMetadataV2.optional(), codepoint: datasetMetadataV2.optional()}); export const enrichmentV2GbrParliamentMetadata = z.object({westminster: datasetMetadataV2.optional(), scotland: datasetMetadataV2.optional()}); export const enrichmentV2GbrMosaicMetadata = z.object({household: datasetMetadataV2.optional(), postal_code: datasetMetadataV2.optional()}); export const enrichmentV2GbrMosaicFinancialMetadata = z.object({postal_code: datasetMetadataV2.optional(), household: datasetMetadataV2.optional()}); export const enrichmentV2GbrAliasMetadata = z.object({aliases: datasetMetadataV2.optional()}); export const enrichmentV2GbrQualityMetadata = z.object({record: datasetMetadataV2.optional()}); export const enrichmentV2AprClassificationMetadata = z.object({code: datasetMetadataV2.optional(), record: datasetMetadataV2.optional(), scheme: datasetMetadataV2.optional()}); export const enrichmentV2AprCrossReferenceMetadata = z.object({addresslayer_2: datasetMetadataV2.optional(), council_tax: datasetMetadataV2.optional(), integrated_transport_network: datasetMetadataV2.optional(), non_domestic_rates: datasetMetadataV2.optional(), topography_layer: datasetMetadataV2.optional()}); export const enrichmentV2AprGovernmentMetadata = z.object({government: datasetMetadataV2.optional()}); export const enrichmentV2AprHealthMetadata = z.object({health: datasetMetadataV2.optional()}); export const enrichmentV2AprLocationGridMetadata = z.object({blpu: datasetMetadataV2.optional(), building: datasetMetadataV2.optional(), postal_code: datasetMetadataV2.optional(), street: datasetMetadataV2.optional()}); export const enrichmentV2AprParliamentMetadata = z.object({westminster: datasetMetadataV2.optional()}); export const enrichmentV2AprQualityMetadata = z.object({custodian: datasetMetadataV2.optional(), metadata: datasetMetadataV2.optional(), record: datasetMetadataV2.optional()}); export const enrichmentV2AprStreetMetadata = z.object({grid: datasetMetadataV2.optional(), record: datasetMetadataV2.optional(), usrn: datasetMetadataV2.optional()}); export const enrichmentV2AprTopographyMetadata = z.object({topographic_ids: datasetMetadataV2.optional()}); export const enrichmentV2AprVoaMetadata = z.object({primary_description: datasetMetadataV2.optional(), special_category: datasetMetadataV2.optional()}); export const enrichmentV2IrlMosaicMetadata = z.object({household: datasetMetadataV2.optional()}); export const enrichmentV2NzlHouseholdMetadata = z.object({head_of_household_age: datasetMetadataV2.optional(), children_at_address: datasetMetadataV2.optional(), household_composition: datasetMetadataV2.optional(), head_of_household_lifestage: datasetMetadataV2.optional(), adults_at_address: datasetMetadataV2.optional()}); export const enrichmentV2NzlMosaicMetadata = z.object({mosaic: datasetMetadataV2.optional(), mosaic_segment: datasetMetadataV2.optional(), factor_a: datasetMetadataV2.optional(), factor_b: datasetMetadataV2.optional(), factor_c: datasetMetadataV2.optional(), factor_d: datasetMetadataV2.optional(), factor_e: datasetMetadataV2.optional(), factor_f: datasetMetadataV2.optional()}); export const enrichmentV2NzlPropertyMetadata = z.object({property_type: datasetMetadataV2.optional(), property_ownership: datasetMetadataV2.optional(), property_value: datasetMetadataV2.optional(), property_size: datasetMetadataV2.optional(), bedrooms: datasetMetadataV2.optional(), bathrooms: datasetMetadataV2.optional()}); export const enrichmentV2SgpMosaicMetadata = z.object({demographic_postal_code: datasetMetadataV2.optional(), residential_postal_code: datasetMetadataV2.optional(), affluence: datasetMetadataV2.optional(), life_stage: datasetMetadataV2.optional()}); export const enrichmentV2ResultAddressValidateMetadataDatasets = z.object({geocodes: enrichmentV2GeocodesMetadata.optional(), usa_regional_geocodes: enrichmentV2UsaRegionalGeocodesMetadata.optional(), aus_regional_geocodes: enrichmentV2AusRegionalGeocodesMetadata.optional(), nzl_regional_geocodes: enrichmentV2NzlRegionalGeocodesMetadata.optional(), uk_location_complete: enrichmentV2UkLocationCompleteMetadata.optional(), uk_location_essential: enrichmentV2UkLocationEssentialMetadata.optional(), gbr_government: enrichmentV2GbrGovernmentMetadata.optional(), gbr_health: enrichmentV2GbrHealthMetadata.optional(), premium_location_insight: enrichmentV2PremiumLocationInsightMetadata.optional(), what3words: enrichmentV2What3WordsMetadata.optional(), gbr_location_grid: enrichmentV2GbrLocationGridMetadata.optional(), gbr_parliament: enrichmentV2GbrParliamentMetadata.optional(), gbr_mosaic: enrichmentV2GbrMosaicMetadata.optional(), gbr_mosaic_financial: enrichmentV2GbrMosaicFinancialMetadata.optional(), gbr_alias: enrichmentV2GbrAliasMetadata.optional(), gbr_quality: enrichmentV2GbrQualityMetadata.optional(), addressbase_classification: enrichmentV2AprClassificationMetadata.optional(), addressbase_cross_reference: enrichmentV2AprCrossReferenceMetadata.optional(), addressbase_government: enrichmentV2AprGovernmentMetadata.optional(), addressbase_health: enrichmentV2AprHealthMetadata.optional(), addressbase_location_grid: enrichmentV2AprLocationGridMetadata.optional(), addressbase_parliament: enrichmentV2AprParliamentMetadata.optional(), addressbase_quality: enrichmentV2AprQualityMetadata.optional(), addressbase_street: enrichmentV2AprStreetMetadata.optional(), addressbase_topography: enrichmentV2AprTopographyMetadata.optional(), addressbase_voa: enrichmentV2AprVoaMetadata.optional(), irl_mosaic: enrichmentV2IrlMosaicMetadata.optional(), nzl_household: enrichmentV2NzlHouseholdMetadata.optional(), nzl_mosaic: enrichmentV2NzlMosaicMetadata.optional(), nzl_property: enrichmentV2NzlPropertyMetadata.optional(), sgp_mosaic: enrichmentV2SgpMosaicMetadata.optional()}); export const enrichmentV2ResultAddressValidateMetadata = z.object({code: z.string().nullable().optional(), message: z.string().nullable().optional(), detail: z.string().nullable().optional(), datasets: enrichmentV2ResultAddressValidateMetadataDatasets.optional()}); export const addressFormatV1ResponseEnrichment = z.object({transaction_id: z.string().nullable().optional(), result: enrichmentV2ResultAddressValidate.optional(), metadata: enrichmentV2ResultAddressValidateMetadata.optional(), error: responseError.optional()}); export const addressValidateV1Response = z.object({error: responseError.optional(), result: addressValidateV1Result.optional(), metadata: addressMetadata.optional(), enrichment: addressFormatV1ResponseEnrichment.optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Validate an address. * * POST /address/validate/v1 * * Also accepts auth: Auth-Token, x-app-key */ export const createApiAddressValidateV1 = async (args: CreateApiAddressValidateV1Args, options?: CreateApiAddressValidateV1Options) => { const {baseUrl = "https://api.experianaperture.io", fetch: fetchFn = fetch, OAuth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args['Reference-Id'] != null) headers.set("Reference-Id", String(args['Reference-Id'])) if (args['Timeout-Seconds'] != null) headers.set("Timeout-Seconds", String(args['Timeout-Seconds'])) if (args['Add-Components'] != null) headers.set("Add-Components", String(args['Add-Components'])) if (args['Add-Metadata'] != null) headers.set("Add-Metadata", String(args['Add-Metadata'])) if (args['Add-Enrichment'] != null) headers.set("Add-Enrichment", String(args['Add-Enrichment'])) if (args['Add-ExtraMatchInfo'] != null) headers.set("Add-ExtraMatchInfo", String(args['Add-ExtraMatchInfo'])) if (OAuth2 !== undefined) headers.set('authorization', `Bearer ${OAuth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/address/validate/v1${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(addressValidateV1Response, await res.json()) };