@horizon-integrations/jetimob-crm
Version:
Integração da Imobland Horizon com a Jetimob CRM
1,431 lines (1,424 loc) • 51.5 kB
TypeScript
import { z } from 'zod';
declare const JetimobPropertySchemaSchema: z.ZodObject<{
codigo: z.ZodString;
titulo_anuncio: z.ZodOptional<z.ZodString>;
observacoes: z.ZodOptional<z.ZodString>;
descricao_anuncio: z.ZodOptional<z.ZodString>;
contrato: z.ZodOptional<z.ZodEnum<["Compra", "Locação", "Temporada"]>>;
tipo: z.ZodOptional<z.ZodString>;
subtipo: z.ZodOptional<z.ZodString>;
status: z.ZodOptional<z.ZodString>;
situacao: z.ZodOptional<z.ZodString>;
destaque: z.ZodOptional<z.ZodString>;
destaque_fim: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
exclusividade: z.ZodOptional<z.ZodBoolean>;
financiavel: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>>;
permuta: z.ZodOptional<z.ZodBoolean>;
seguro_fianca: z.ZodOptional<z.ZodBoolean>;
mobiliado: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>>;
valor_venda: z.ZodOptional<z.ZodNumber>;
valor_venda_visivel: z.ZodOptional<z.ZodBoolean>;
valor_locacao: z.ZodOptional<z.ZodNumber>;
valor_locacao_visivel: z.ZodOptional<z.ZodBoolean>;
valor_temporada: z.ZodOptional<z.ZodNumber>;
valor_temporada_visivel: z.ZodOptional<z.ZodBoolean>;
valor_condominio: z.ZodOptional<z.ZodNumber>;
valor_condominio_visivel: z.ZodOptional<z.ZodBoolean>;
valor_iptu: z.ZodOptional<z.ZodNumber>;
valor_iptu_visivel: z.ZodOptional<z.ZodBoolean>;
valor_seguro_incendio: z.ZodOptional<z.ZodNumber>;
valor_taxa_limpeza: z.ZodOptional<z.ZodNumber>;
dormitorios: z.ZodOptional<z.ZodNumber>;
suites: z.ZodOptional<z.ZodNumber>;
banheiros: z.ZodOptional<z.ZodNumber>;
garagens: z.ZodOptional<z.ZodNumber>;
area_total: z.ZodOptional<z.ZodNumber>;
area_privativa: z.ZodOptional<z.ZodNumber>;
area_util: z.ZodOptional<z.ZodNumber>;
andar: z.ZodOptional<z.ZodNumber>;
andar_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_cep: z.ZodOptional<z.ZodString>;
endereco_estado: z.ZodOptional<z.ZodString>;
endereco_estado_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_cidade: z.ZodOptional<z.ZodString>;
endereco_cidade_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_bairro: z.ZodOptional<z.ZodString>;
endereco_bairro_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_zona: z.ZodOptional<z.ZodString>;
endereco_logradouro: z.ZodOptional<z.ZodString>;
endereco_logradouro_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_numero: z.ZodOptional<z.ZodString>;
endereco_numero_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_complemento: z.ZodOptional<z.ZodString>;
endereco_complemento_visivel: z.ZodOptional<z.ZodBoolean>;
endereco_referencia: z.ZodOptional<z.ZodString>;
endereco_referencia_visivel: z.ZodOptional<z.ZodBoolean>;
latitude: z.ZodOptional<z.ZodNumber>;
longitude: z.ZodOptional<z.ZodNumber>;
geoposicionamento_visivel: z.ZodOptional<z.ZodNumber>;
id_imovel: z.ZodOptional<z.ZodNumber>;
id_estado: z.ZodOptional<z.ZodNumber>;
id_cidade: z.ZodOptional<z.ZodNumber>;
id_bairro: z.ZodOptional<z.ZodNumber>;
id_condominio: z.ZodOptional<z.ZodNumber>;
id_subcondominio: z.ZodOptional<z.ZodNumber>;
id_corretor: z.ZodOptional<z.ZodNumber>;
distancia_mar: z.ZodOptional<z.ZodNumber>;
tipo_construcao: z.ZodOptional<z.ZodString>;
tipo_piso: z.ZodOptional<z.ZodString>;
entrega_ano: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
entrega_mes: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
posicao: z.ZodOptional<z.ZodString>;
posicao_solar: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodString>;
terreno_frente: z.ZodOptional<z.ZodNumber>;
terreno_fundos: z.ZodOptional<z.ZodNumber>;
terreno_esquerdo: z.ZodOptional<z.ZodNumber>;
terreno_direita: z.ZodOptional<z.ZodNumber>;
terreno_total: z.ZodOptional<z.ZodNumber>;
medida_terreno_total: z.ZodOptional<z.ZodString>;
numero_pessoas: z.ZodOptional<z.ZodNumber>;
periodicidade_iptu: z.ZodOptional<z.ZodString>;
condominio_fechado: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>>;
condominio_nome: z.ZodOptional<z.ZodString>;
condominio_tipo: z.ZodOptional<z.ZodString>;
condominio_comodidades: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
imovel_comodidades: z.ZodOptional<z.ZodString>;
rural: z.ZodOptional<z.ZodObject<{
atividade_rural: z.ZodOptional<z.ZodString>;
rural_sedes: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
rural_area_aravel: z.ZodOptional<z.ZodNumber>;
medida_total_area_aravel: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
atividade_rural?: string | undefined;
rural_sedes?: string | number | undefined;
rural_area_aravel?: number | undefined;
medida_total_area_aravel?: string | undefined;
}, {
atividade_rural?: string | undefined;
rural_sedes?: string | number | undefined;
rural_area_aravel?: number | undefined;
medida_total_area_aravel?: string | undefined;
}>>;
calendario_temporada: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
meta_description: z.ZodOptional<z.ZodString>;
imagens: z.ZodOptional<z.ZodArray<z.ZodObject<{
link: z.ZodString;
titulo: z.ZodString;
link_thumb: z.ZodString;
}, "strip", z.ZodTypeAny, {
link: string;
titulo: string;
link_thumb: string;
}, {
link: string;
titulo: string;
link_thumb: string;
}>, "many">>;
videos: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
plantas: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
tour360: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
medida: z.ZodOptional<z.ZodDefault<z.ZodString>>;
data_cadastro: z.ZodOptional<z.ZodString>;
data_update: z.ZodOptional<z.ZodString>;
data_atualizacao: z.ZodOptional<z.ZodString>;
updated_at: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
codigo: string;
status?: string | undefined;
titulo_anuncio?: string | undefined;
observacoes?: string | undefined;
descricao_anuncio?: string | undefined;
contrato?: "Compra" | "Locação" | "Temporada" | undefined;
tipo?: string | undefined;
subtipo?: string | undefined;
situacao?: string | undefined;
destaque?: string | undefined;
destaque_fim?: string | null | undefined;
exclusividade?: boolean | undefined;
financiavel?: number | boolean | undefined;
permuta?: boolean | undefined;
seguro_fianca?: boolean | undefined;
mobiliado?: number | boolean | undefined;
valor_venda?: number | undefined;
valor_venda_visivel?: boolean | undefined;
valor_locacao?: number | undefined;
valor_locacao_visivel?: boolean | undefined;
valor_temporada?: number | undefined;
valor_temporada_visivel?: boolean | undefined;
valor_condominio?: number | undefined;
valor_condominio_visivel?: boolean | undefined;
valor_iptu?: number | undefined;
valor_iptu_visivel?: boolean | undefined;
valor_seguro_incendio?: number | undefined;
valor_taxa_limpeza?: number | undefined;
dormitorios?: number | undefined;
suites?: number | undefined;
banheiros?: number | undefined;
garagens?: number | undefined;
area_total?: number | undefined;
area_privativa?: number | undefined;
area_util?: number | undefined;
andar?: number | undefined;
andar_visivel?: boolean | undefined;
endereco_cep?: string | undefined;
endereco_estado?: string | undefined;
endereco_estado_visivel?: boolean | undefined;
endereco_cidade?: string | undefined;
endereco_cidade_visivel?: boolean | undefined;
endereco_bairro?: string | undefined;
endereco_bairro_visivel?: boolean | undefined;
endereco_zona?: string | undefined;
endereco_logradouro?: string | undefined;
endereco_logradouro_visivel?: boolean | undefined;
endereco_numero?: string | undefined;
endereco_numero_visivel?: boolean | undefined;
endereco_complemento?: string | undefined;
endereco_complemento_visivel?: boolean | undefined;
endereco_referencia?: string | undefined;
endereco_referencia_visivel?: boolean | undefined;
latitude?: number | undefined;
longitude?: number | undefined;
geoposicionamento_visivel?: number | undefined;
id_imovel?: number | undefined;
id_estado?: number | undefined;
id_cidade?: number | undefined;
id_bairro?: number | undefined;
id_condominio?: number | undefined;
id_subcondominio?: number | undefined;
id_corretor?: number | undefined;
distancia_mar?: number | undefined;
tipo_construcao?: string | undefined;
tipo_piso?: string | undefined;
entrega_ano?: string | number | undefined;
entrega_mes?: string | number | undefined;
posicao?: string | undefined;
posicao_solar?: string | undefined;
tags?: string | undefined;
terreno_frente?: number | undefined;
terreno_fundos?: number | undefined;
terreno_esquerdo?: number | undefined;
terreno_direita?: number | undefined;
terreno_total?: number | undefined;
medida_terreno_total?: string | undefined;
numero_pessoas?: number | undefined;
periodicidade_iptu?: string | undefined;
condominio_fechado?: number | boolean | undefined;
condominio_nome?: string | undefined;
condominio_tipo?: string | undefined;
condominio_comodidades?: string | string[] | undefined;
imovel_comodidades?: string | undefined;
rural?: {
atividade_rural?: string | undefined;
rural_sedes?: string | number | undefined;
rural_area_aravel?: number | undefined;
medida_total_area_aravel?: string | undefined;
} | undefined;
calendario_temporada?: string | string[] | undefined;
meta_description?: string | undefined;
imagens?: {
link: string;
titulo: string;
link_thumb: string;
}[] | undefined;
videos?: any[] | undefined;
plantas?: any[] | undefined;
tour360?: any[] | undefined;
medida?: string | undefined;
data_cadastro?: string | undefined;
data_update?: string | undefined;
data_atualizacao?: string | undefined;
updated_at?: string | undefined;
}, {
codigo: string;
status?: string | undefined;
titulo_anuncio?: string | undefined;
observacoes?: string | undefined;
descricao_anuncio?: string | undefined;
contrato?: "Compra" | "Locação" | "Temporada" | undefined;
tipo?: string | undefined;
subtipo?: string | undefined;
situacao?: string | undefined;
destaque?: string | undefined;
destaque_fim?: string | null | undefined;
exclusividade?: boolean | undefined;
financiavel?: number | boolean | undefined;
permuta?: boolean | undefined;
seguro_fianca?: boolean | undefined;
mobiliado?: number | boolean | undefined;
valor_venda?: number | undefined;
valor_venda_visivel?: boolean | undefined;
valor_locacao?: number | undefined;
valor_locacao_visivel?: boolean | undefined;
valor_temporada?: number | undefined;
valor_temporada_visivel?: boolean | undefined;
valor_condominio?: number | undefined;
valor_condominio_visivel?: boolean | undefined;
valor_iptu?: number | undefined;
valor_iptu_visivel?: boolean | undefined;
valor_seguro_incendio?: number | undefined;
valor_taxa_limpeza?: number | undefined;
dormitorios?: number | undefined;
suites?: number | undefined;
banheiros?: number | undefined;
garagens?: number | undefined;
area_total?: number | undefined;
area_privativa?: number | undefined;
area_util?: number | undefined;
andar?: number | undefined;
andar_visivel?: boolean | undefined;
endereco_cep?: string | undefined;
endereco_estado?: string | undefined;
endereco_estado_visivel?: boolean | undefined;
endereco_cidade?: string | undefined;
endereco_cidade_visivel?: boolean | undefined;
endereco_bairro?: string | undefined;
endereco_bairro_visivel?: boolean | undefined;
endereco_zona?: string | undefined;
endereco_logradouro?: string | undefined;
endereco_logradouro_visivel?: boolean | undefined;
endereco_numero?: string | undefined;
endereco_numero_visivel?: boolean | undefined;
endereco_complemento?: string | undefined;
endereco_complemento_visivel?: boolean | undefined;
endereco_referencia?: string | undefined;
endereco_referencia_visivel?: boolean | undefined;
latitude?: number | undefined;
longitude?: number | undefined;
geoposicionamento_visivel?: number | undefined;
id_imovel?: number | undefined;
id_estado?: number | undefined;
id_cidade?: number | undefined;
id_bairro?: number | undefined;
id_condominio?: number | undefined;
id_subcondominio?: number | undefined;
id_corretor?: number | undefined;
distancia_mar?: number | undefined;
tipo_construcao?: string | undefined;
tipo_piso?: string | undefined;
entrega_ano?: string | number | undefined;
entrega_mes?: string | number | undefined;
posicao?: string | undefined;
posicao_solar?: string | undefined;
tags?: string | undefined;
terreno_frente?: number | undefined;
terreno_fundos?: number | undefined;
terreno_esquerdo?: number | undefined;
terreno_direita?: number | undefined;
terreno_total?: number | undefined;
medida_terreno_total?: string | undefined;
numero_pessoas?: number | undefined;
periodicidade_iptu?: string | undefined;
condominio_fechado?: number | boolean | undefined;
condominio_nome?: string | undefined;
condominio_tipo?: string | undefined;
condominio_comodidades?: string | string[] | undefined;
imovel_comodidades?: string | undefined;
rural?: {
atividade_rural?: string | undefined;
rural_sedes?: string | number | undefined;
rural_area_aravel?: number | undefined;
medida_total_area_aravel?: string | undefined;
} | undefined;
calendario_temporada?: string | string[] | undefined;
meta_description?: string | undefined;
imagens?: {
link: string;
titulo: string;
link_thumb: string;
}[] | undefined;
videos?: any[] | undefined;
plantas?: any[] | undefined;
tour360?: any[] | undefined;
medida?: string | undefined;
data_cadastro?: string | undefined;
data_update?: string | undefined;
data_atualizacao?: string | undefined;
updated_at?: string | undefined;
}>;
type JetimobPropertySchema = z.infer<typeof JetimobPropertySchemaSchema>;
declare const HorizonPropertySchemaByJetimobZod: z.ZodObject<{
reference: z.ZodString;
updated_at: z.ZodOptional<z.ZodString>;
title: z.ZodString;
description: z.ZodString;
seo_slug: z.ZodOptional<z.ZodString>;
seo_title: z.ZodOptional<z.ZodString>;
seo_description: z.ZodOptional<z.ZodString>;
seo_keywords: z.ZodOptional<z.ZodString>;
main_image: z.ZodOptional<z.ZodAny>;
images: z.ZodArray<z.ZodAny, "many">;
videos: z.ZodArray<z.ZodAny, "many">;
virtual_tours: z.ZodArray<z.ZodAny, "many">;
documents: z.ZodArray<z.ZodAny, "many">;
currency: z.ZodOptional<z.ZodString>;
unit_area: z.ZodOptional<z.ZodString>;
unit_distance: z.ZodOptional<z.ZodEnum<["meters", "km"]>>;
map_show_proximity: z.ZodOptional<z.ZodBoolean>;
operacao: z.ZodOptional<z.ZodArray<z.ZodEnum<["venda", "locacao", "temporada"]>, "many">>;
valor_venda: z.ZodOptional<z.ZodNumber>;
valor_locacao: z.ZodOptional<z.ZodNumber>;
valor_diaria: z.ZodOptional<z.ZodNumber>;
valor_condominio: z.ZodOptional<z.ZodNumber>;
valor_iptu: z.ZodOptional<z.ZodNumber>;
area_total: z.ZodOptional<z.ZodNumber>;
area_privativa: z.ZodOptional<z.ZodNumber>;
area_util: z.ZodOptional<z.ZodNumber>;
dormitorios: z.ZodOptional<z.ZodNumber>;
suites: z.ZodOptional<z.ZodNumber>;
banheiros: z.ZodOptional<z.ZodNumber>;
vagas_garagem: z.ZodOptional<z.ZodNumber>;
finalidade: z.ZodOptional<z.ZodString>;
tipo: z.ZodOptional<z.ZodString>;
subtipo: z.ZodOptional<z.ZodString>;
endereco_cep: z.ZodOptional<z.ZodString>;
endereco_estado: z.ZodOptional<z.ZodString>;
endereco_cidade: z.ZodOptional<z.ZodString>;
endereco_bairro: z.ZodOptional<z.ZodString>;
endereco_logradouro: z.ZodOptional<z.ZodString>;
endereco_numero: z.ZodOptional<z.ZodString>;
endereco_complemento: z.ZodOptional<z.ZodString>;
endereco_referencia: z.ZodOptional<z.ZodString>;
endereco_zona: z.ZodOptional<z.ZodString>;
latitude: z.ZodOptional<z.ZodNumber>;
longitude: z.ZodOptional<z.ZodNumber>;
mobiliado: z.ZodOptional<z.ZodBoolean>;
caracteristicas: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
destaque: z.ZodOptional<z.ZodBoolean>;
corretor_key: z.ZodOptional<z.ZodString>;
corretor_nome: z.ZodOptional<z.ZodString>;
condominio_key: z.ZodOptional<z.ZodString>;
condominio_nome: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
numero_pessoas: z.ZodOptional<z.ZodNumber>;
valor_seguro_incendio: z.ZodOptional<z.ZodNumber>;
valor_taxa_limpeza: z.ZodOptional<z.ZodNumber>;
andar: z.ZodOptional<z.ZodNumber>;
financiavel: z.ZodOptional<z.ZodBoolean>;
exclusividade: z.ZodOptional<z.ZodBoolean>;
permuta: z.ZodOptional<z.ZodBoolean>;
seguro_fianca: z.ZodOptional<z.ZodBoolean>;
situacao: z.ZodOptional<z.ZodString>;
distancia_mar: z.ZodOptional<z.ZodNumber>;
posicao: z.ZodOptional<z.ZodString>;
posicao_solar: z.ZodOptional<z.ZodString>;
status: z.ZodOptional<z.ZodString>;
calendario_temporada: z.ZodOptional<z.ZodAny>;
condominio_comodidades: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
condominio_tipo: z.ZodOptional<z.ZodString>;
subcondominio_id: z.ZodOptional<z.ZodString>;
condominio_fechado: z.ZodOptional<z.ZodBoolean>;
entrega_ano: z.ZodOptional<z.ZodNumber>;
entrega_mes: z.ZodOptional<z.ZodNumber>;
tipo_construcao: z.ZodOptional<z.ZodString>;
tipo_piso: z.ZodOptional<z.ZodString>;
periodicidade_iptu: z.ZodOptional<z.ZodString>;
terreno_frente: z.ZodOptional<z.ZodNumber>;
terreno_fundos: z.ZodOptional<z.ZodNumber>;
terreno_esquerdo: z.ZodOptional<z.ZodNumber>;
terreno_direita: z.ZodOptional<z.ZodNumber>;
terreno_area_total: z.ZodOptional<z.ZodNumber>;
rural_area_aravel: z.ZodOptional<z.ZodNumber>;
rural_sedes: z.ZodOptional<z.ZodNumber>;
rural_atividade: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
videos: any[];
reference: string;
title: string;
description: string;
images: any[];
virtual_tours: any[];
documents: any[];
status?: string | undefined;
rural_sedes?: number | undefined;
rural_area_aravel?: number | undefined;
tipo?: string | undefined;
subtipo?: string | undefined;
situacao?: string | undefined;
destaque?: boolean | undefined;
exclusividade?: boolean | undefined;
financiavel?: boolean | undefined;
permuta?: boolean | undefined;
seguro_fianca?: boolean | undefined;
mobiliado?: boolean | undefined;
valor_venda?: number | undefined;
valor_locacao?: number | undefined;
valor_condominio?: number | undefined;
valor_iptu?: number | undefined;
valor_seguro_incendio?: number | undefined;
valor_taxa_limpeza?: number | undefined;
dormitorios?: number | undefined;
suites?: number | undefined;
banheiros?: number | undefined;
area_total?: number | undefined;
area_privativa?: number | undefined;
area_util?: number | undefined;
andar?: number | undefined;
endereco_cep?: string | undefined;
endereco_estado?: string | undefined;
endereco_cidade?: string | undefined;
endereco_bairro?: string | undefined;
endereco_zona?: string | undefined;
endereco_logradouro?: string | undefined;
endereco_numero?: string | undefined;
endereco_complemento?: string | undefined;
endereco_referencia?: string | undefined;
latitude?: number | undefined;
longitude?: number | undefined;
distancia_mar?: number | undefined;
tipo_construcao?: string | undefined;
tipo_piso?: string | undefined;
entrega_ano?: number | undefined;
entrega_mes?: number | undefined;
posicao?: string | undefined;
posicao_solar?: string | undefined;
tags?: string[] | undefined;
terreno_frente?: number | undefined;
terreno_fundos?: number | undefined;
terreno_esquerdo?: number | undefined;
terreno_direita?: number | undefined;
numero_pessoas?: number | undefined;
periodicidade_iptu?: string | undefined;
condominio_fechado?: boolean | undefined;
condominio_nome?: string | undefined;
condominio_tipo?: string | undefined;
condominio_comodidades?: string[] | undefined;
calendario_temporada?: any;
updated_at?: string | undefined;
seo_slug?: string | undefined;
seo_title?: string | undefined;
seo_description?: string | undefined;
seo_keywords?: string | undefined;
main_image?: any;
currency?: string | undefined;
unit_area?: string | undefined;
unit_distance?: "meters" | "km" | undefined;
map_show_proximity?: boolean | undefined;
operacao?: ("venda" | "locacao" | "temporada")[] | undefined;
valor_diaria?: number | undefined;
vagas_garagem?: number | undefined;
finalidade?: string | undefined;
caracteristicas?: string[] | undefined;
corretor_key?: string | undefined;
corretor_nome?: string | undefined;
condominio_key?: string | undefined;
subcondominio_id?: string | undefined;
terreno_area_total?: number | undefined;
rural_atividade?: string | undefined;
}, {
videos: any[];
reference: string;
title: string;
description: string;
images: any[];
virtual_tours: any[];
documents: any[];
status?: string | undefined;
rural_sedes?: number | undefined;
rural_area_aravel?: number | undefined;
tipo?: string | undefined;
subtipo?: string | undefined;
situacao?: string | undefined;
destaque?: boolean | undefined;
exclusividade?: boolean | undefined;
financiavel?: boolean | undefined;
permuta?: boolean | undefined;
seguro_fianca?: boolean | undefined;
mobiliado?: boolean | undefined;
valor_venda?: number | undefined;
valor_locacao?: number | undefined;
valor_condominio?: number | undefined;
valor_iptu?: number | undefined;
valor_seguro_incendio?: number | undefined;
valor_taxa_limpeza?: number | undefined;
dormitorios?: number | undefined;
suites?: number | undefined;
banheiros?: number | undefined;
area_total?: number | undefined;
area_privativa?: number | undefined;
area_util?: number | undefined;
andar?: number | undefined;
endereco_cep?: string | undefined;
endereco_estado?: string | undefined;
endereco_cidade?: string | undefined;
endereco_bairro?: string | undefined;
endereco_zona?: string | undefined;
endereco_logradouro?: string | undefined;
endereco_numero?: string | undefined;
endereco_complemento?: string | undefined;
endereco_referencia?: string | undefined;
latitude?: number | undefined;
longitude?: number | undefined;
distancia_mar?: number | undefined;
tipo_construcao?: string | undefined;
tipo_piso?: string | undefined;
entrega_ano?: number | undefined;
entrega_mes?: number | undefined;
posicao?: string | undefined;
posicao_solar?: string | undefined;
tags?: string[] | undefined;
terreno_frente?: number | undefined;
terreno_fundos?: number | undefined;
terreno_esquerdo?: number | undefined;
terreno_direita?: number | undefined;
numero_pessoas?: number | undefined;
periodicidade_iptu?: string | undefined;
condominio_fechado?: boolean | undefined;
condominio_nome?: string | undefined;
condominio_tipo?: string | undefined;
condominio_comodidades?: string[] | undefined;
calendario_temporada?: any;
updated_at?: string | undefined;
seo_slug?: string | undefined;
seo_title?: string | undefined;
seo_description?: string | undefined;
seo_keywords?: string | undefined;
main_image?: any;
currency?: string | undefined;
unit_area?: string | undefined;
unit_distance?: "meters" | "km" | undefined;
map_show_proximity?: boolean | undefined;
operacao?: ("venda" | "locacao" | "temporada")[] | undefined;
valor_diaria?: number | undefined;
vagas_garagem?: number | undefined;
finalidade?: string | undefined;
caracteristicas?: string[] | undefined;
corretor_key?: string | undefined;
corretor_nome?: string | undefined;
condominio_key?: string | undefined;
subcondominio_id?: string | undefined;
terreno_area_total?: number | undefined;
rural_atividade?: string | undefined;
}>;
type HorizonPropertySchemaByJetimobType = z.infer<typeof HorizonPropertySchemaByJetimobZod>;
/**
* Converte um imóvel do formato Jetimob para o formato PropertyV3 específico
*
* Dividido em duas partes:
* 1. Base Fields: campos que existem no horizon-property-schema-base.json
* 2. Extended Fields: campos específicos do Jetimob (não existem no schema base)
*/
declare function convertJetimobPropertyToHorizon(imovel: JetimobPropertySchema): HorizonPropertySchemaByJetimobType;
interface PropertyDownloaderConfig {
webserviceKey: string;
outputDir: string;
baseUrl?: string;
}
interface DownloadResult {
totalPages: number;
totalItems: number;
downloadedItems: number;
errors: string[];
}
declare class PropertyDownloader {
private webserviceKey;
private baseUrl;
private outputDir;
constructor(config: PropertyDownloaderConfig);
private getProperties;
private ensureOutputDir;
private savePageData;
downloadAll(pageSize?: number): Promise<DownloadResult>;
}
declare const jetimobFakeData: {
apartamentos: {
codigo: string;
titulo_anuncio: string;
observacoes: string;
contrato: string;
tipo: string;
subtipo: string;
mobiliado: number;
financiavel: number;
exclusividade: boolean;
medida: string;
endereco_estado: string;
endereco_cidade: string;
data_cadastro: string;
data_update: string;
data_atualizacao: string;
updated_at: string;
dormitorios: number;
suites: number;
banheiros: number;
garagens: number;
area_total: number;
area_privativa: number;
andar: number;
valor_venda: number;
endereco_bairro: string;
endereco_logradouro: string;
endereco_numero: string;
endereco_cep: string;
endereco_complemento: string;
latitude: number;
longitude: number;
imovel_comodidades: string;
imagens: {
link: string;
titulo: string;
link_thumb: string;
}[];
videos: never[];
tour360: never[];
plantas: never[];
valor_venda_visivel: boolean;
valor_locacao_visivel: boolean;
valor_temporada_visivel: boolean;
valor_condominio_visivel: boolean;
valor_iptu_visivel: boolean;
endereco_estado_visivel: boolean;
endereco_cidade_visivel: boolean;
endereco_bairro_visivel: boolean;
endereco_logradouro_visivel: boolean;
endereco_numero_visivel: boolean;
endereco_complemento_visivel: boolean;
}[];
casas: {
codigo: string;
titulo_anuncio: string;
observacoes: string;
contrato: string;
tipo: string;
subtipo: string;
mobiliado: number;
financiavel: number;
exclusividade: boolean;
medida: string;
endereco_estado: string;
endereco_cidade: string;
data_cadastro: string;
data_update: string;
data_atualizacao: string;
updated_at: string;
dormitorios: number;
suites: number;
banheiros: number;
garagens: number;
area_total: number;
area_privativa: number;
terreno_total: number;
valor_venda: number;
endereco_bairro: string;
endereco_logradouro: string;
endereco_numero: string;
endereco_cep: string;
endereco_complemento: string;
latitude: number;
longitude: number;
imovel_comodidades: string;
imagens: {
link: string;
titulo: string;
link_thumb: string;
}[];
videos: never[];
tour360: never[];
plantas: never[];
valor_venda_visivel: boolean;
valor_locacao_visivel: boolean;
valor_temporada_visivel: boolean;
valor_condominio_visivel: boolean;
valor_iptu_visivel: boolean;
endereco_estado_visivel: boolean;
endereco_cidade_visivel: boolean;
endereco_bairro_visivel: boolean;
endereco_logradouro_visivel: boolean;
endereco_numero_visivel: boolean;
endereco_complemento_visivel: boolean;
}[];
comerciais: {
codigo: string;
titulo_anuncio: string;
observacoes: string;
contrato: string;
tipo: string;
mobiliado: number;
financiavel: number;
exclusividade: boolean;
medida: string;
endereco_estado: string;
endereco_cidade: string;
data_cadastro: string;
data_update: string;
data_atualizacao: string;
updated_at: string;
subtipo: string;
banheiros: number;
garagens: number;
area_total: number;
area_privativa: number;
andar: number;
valor_venda: number;
endereco_bairro: string;
endereco_logradouro: string;
endereco_numero: string;
endereco_cep: string;
endereco_complemento: string;
latitude: number;
longitude: number;
imovel_comodidades: string;
imagens: {
link: string;
titulo: string;
link_thumb: string;
}[];
videos: never[];
tour360: never[];
plantas: never[];
valor_venda_visivel: boolean;
valor_locacao_visivel: boolean;
valor_temporada_visivel: boolean;
valor_condominio_visivel: boolean;
valor_iptu_visivel: boolean;
endereco_estado_visivel: boolean;
endereco_cidade_visivel: boolean;
endereco_bairro_visivel: boolean;
endereco_logradouro_visivel: boolean;
endereco_numero_visivel: boolean;
endereco_complemento_visivel: boolean;
}[];
terrenos: {
codigo: string;
titulo_anuncio: string;
observacoes: string;
contrato: string;
tipo: string;
subtipo: string;
mobiliado: number;
financiavel: number;
exclusividade: boolean;
dormitorios: number;
suites: number;
banheiros: number;
area_total: number;
area_privativa: number;
medida: string;
endereco_estado: string;
endereco_cidade: string;
data_cadastro: string;
data_update: string;
data_atualizacao: string;
updated_at: string;
terreno_total: number;
valor_venda: number;
endereco_bairro: string;
endereco_logradouro: string;
endereco_numero: string;
endereco_cep: string;
endereco_complemento: string;
latitude: number;
longitude: number;
imovel_comodidades: string;
imagens: {
link: string;
titulo: string;
link_thumb: string;
}[];
videos: never[];
tour360: never[];
plantas: never[];
valor_venda_visivel: boolean;
valor_locacao_visivel: boolean;
valor_temporada_visivel: boolean;
valor_condominio_visivel: boolean;
valor_iptu_visivel: boolean;
endereco_estado_visivel: boolean;
endereco_cidade_visivel: boolean;
endereco_bairro_visivel: boolean;
endereco_logradouro_visivel: boolean;
endereco_numero_visivel: boolean;
endereco_complemento_visivel: boolean;
}[];
coberturas: {
codigo: string;
titulo_anuncio: string;
observacoes: string;
contrato: string;
tipo: string;
subtipo: string;
mobiliado: number;
financiavel: number;
exclusividade: boolean;
medida: string;
endereco_estado: string;
endereco_cidade: string;
data_cadastro: string;
data_update: string;
data_atualizacao: string;
updated_at: string;
dormitorios: number;
suites: number;
banheiros: number;
garagens: number;
area_total: number;
area_privativa: number;
andar: number;
valor_venda: number;
endereco_bairro: string;
endereco_logradouro: string;
endereco_numero: string;
endereco_cep: string;
endereco_complemento: string;
latitude: number;
longitude: number;
imovel_comodidades: string;
imagens: {
link: string;
titulo: string;
link_thumb: string;
}[];
videos: never[];
tour360: never[];
plantas: never[];
valor_venda_visivel: boolean;
valor_locacao_visivel: boolean;
valor_temporada_visivel: boolean;
valor_condominio_visivel: boolean;
valor_iptu_visivel: boolean;
endereco_estado_visivel: boolean;
endereco_cidade_visivel: boolean;
endereco_bairro_visivel: boolean;
endereco_logradouro_visivel: boolean;
endereco_numero_visivel: boolean;
endereco_complemento_visivel: boolean;
}[];
};
declare const HorizonPropertySchemaByJetimob: {
readonly fields: readonly [...({
key: string;
label: string;
type: string;
validation: {
required: boolean;
maxLength?: undefined;
precision?: undefined;
min?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
format: string;
categories: string[];
origin: string;
validation?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
validation: {
required: boolean;
maxLength: number;
precision?: undefined;
min?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
validation: {
required: boolean;
maxLength?: undefined;
precision?: undefined;
min?: undefined;
max?: undefined;
};
db: {
type: string;
index: string;
default?: undefined;
};
categories: string[];
origin: string;
format?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
categories: string[];
origin: string;
validation?: undefined;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
validation: {
maxLength: number;
required?: undefined;
precision?: undefined;
min?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
db: {
default: string;
type?: undefined;
index?: undefined;
};
categories: string[];
origin: string;
validation?: undefined;
format?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
enum: {
meters: string;
km: string;
venda?: undefined;
locacao?: undefined;
temporada?: undefined;
};
type: string;
db: {
default: string;
type?: undefined;
index?: undefined;
};
categories: string[];
origin: string;
validation?: undefined;
format?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
enum: {
venda: string;
locacao: string;
temporada: string;
meters?: undefined;
km?: undefined;
};
type: string;
categories: string[];
origin: string;
validation?: undefined;
format?: undefined;
db?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
format: string;
unit: string;
validation: {
precision: number;
required?: undefined;
maxLength?: undefined;
min?: undefined;
max?: undefined;
};
conditions: string[];
categories: string[];
origin: string;
db?: undefined;
enum?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
format: string;
unit: string;
validation: {
precision: number;
required?: undefined;
maxLength?: undefined;
min?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
db?: undefined;
enum?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
format: string;
unit: string;
validation: {
min: number;
required?: undefined;
maxLength?: undefined;
precision?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
db?: undefined;
enum?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
format: string;
validation: {
min: number;
required?: undefined;
maxLength?: undefined;
precision?: undefined;
max?: undefined;
};
categories: string[];
origin: string;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
parent: string;
categories: string[];
origin: string;
validation?: undefined;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
mask?: undefined;
} | {
key: string;
label: string;
type: string;
validation: {
maxLength: number;
required?: undefined;
precision?: undefined;
min?: undefined;
max?: undefined;
};
mask: string;
categories: string[];
origin: string;
format?: undefined;
db?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
} | {
key: string;
label: string;
type: string;
validation: {
min: number;
max: number;
precision: number;
required?: undefined;
maxLength?: undefined;
};
db: {
type: string;
index: string;
default?: undefined;
};
categories: string[];
origin: string;
format?: undefined;
enum?: undefined;
unit?: undefined;
conditions?: undefined;
parent?: undefined;
mask?: undefined;
})[], {
readonly key: "valor_seguro_incendio";
readonly label: "Valor do seguro incêndio";
readonly type: "Number";
readonly format: "currency";
readonly unit: "BRL";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["valores"];
readonly origin: "jetimob:property";
}, {
readonly key: "valor_taxa_limpeza";
readonly label: "Valor da taxa de limpeza";
readonly type: "Number";
readonly format: "currency";
readonly unit: "BRL";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["valores"];
readonly origin: "jetimob:property";
}, {
readonly key: "andar";
readonly label: "Andar";
readonly type: "Number";
readonly categories: readonly ["endereco"];
readonly origin: "jetimob:property";
}, {
readonly key: "financiavel";
readonly label: "Financiável";
readonly type: "Boolean";
readonly categories: readonly ["comercial"];
readonly origin: "jetimob:property";
}, {
readonly key: "exclusividade";
readonly label: "Exclusividade";
readonly type: "Boolean";
readonly categories: readonly ["comercial"];
readonly origin: "jetimob:property";
}, {
readonly key: "permuta";
readonly label: "Aceita permuta";
readonly type: "Boolean";
readonly categories: readonly ["comercial"];
readonly conditions: readonly ["operacao.contains:venda"];
readonly origin: "jetimob:property";
}, {
readonly key: "seguro_fianca";
readonly label: "Seguro fiança";
readonly type: "Boolean";
readonly conditions: readonly ["operacao.contains:locacao"];
readonly categories: readonly ["comercial"];
readonly origin: "jetimob:property";
}, {
readonly key: "situacao";
readonly label: "Situação de ocupação";
readonly type: "String";
readonly categories: readonly ["situacoes"];
readonly origin: "jetimob:property";
}, {
readonly key: "distancia_mar";
readonly label: "Distância do mar";
readonly type: "Number";
readonly format: "distance";
readonly unit: "m";
readonly validation: {
readonly min: 0;
};
readonly categories: readonly ["localizacao"];
readonly origin: "jetimob:property";
}, {
readonly key: "posicao";
readonly label: "Posição do imóvel no terreno";
readonly type: "String";
readonly categories: readonly ["estrutura"];
readonly origin: "jetimob:property";
}, {
readonly key: "posicao_solar";
readonly label: "Posição solar";
readonly type: "String";
readonly categories: readonly ["estrutura"];
readonly origin: "jetimob:property";
}, {
readonly key: "status";
readonly label: "Status do imóvel";
readonly type: "String";
readonly db: {
readonly default: "ativo";
};
readonly categories: readonly ["comercial"];
readonly origin: "jetimob:property";
}, {
readonly key: "calendario_temporada";
readonly label: "Calendário temporada";
readonly type: "Json";
readonly db: {
readonly type: "jsonb";
};
readonly conditions: readonly ["operacao.contains:temporada"];
readonly categories: readonly ["comercial"];
readonly origin: "jetimob:property";
}, {
readonly key: "condominio_comodidades";
readonly label: "Comodidades do condomínio";
readonly type: "String[]";
readonly db: {
readonly type: "jsonb";
readonly index: "gin";
};
readonly categories: readonly ["condominio"];
readonly origin: "jetimob:property";
}, {
readonly key: "condominio_tipo";
readonly label: "Tipo do condomínio";
readonly type: "String";
readonly categories: readonly ["condominio"];
readonly origin: "jetimob:property";
}, {
readonly key: "subcondominio_id";
readonly label: "ID do subcondomínio";
readonly type: "String";
readonly categories: readonly ["condominio"];
readonly origin: "jetimob:property";
}, {
readonly key: "condominio_fechado";
readonly label: "Condomínio fechado";
readonly type: "Boolean";
readonly categories: readonly ["condominio"];
readonly origin: "jetimob:property";
}, {
readonly key: "entrega_ano";
readonly label: "Ano de entrega";
readonly type: "Number";
readonly format: "year";
readonly categories: readonly ["cronograma"];
readonly origin: "jetimob:property";
}, {
readonly key: "entrega_mes";
readonly label: "Mês de entrega";
readonly type: "Number";
readonly format: "month";
readonly validation: {
readonly min: 1;
readonly max: 12;
};
readonly conditions: readonly ["entrega_ano.exists:true"];
readonly categories: readonly ["cronograma"];
readonly origin: "jetimob:property";
}, {
readonly key: "tipo_construcao";
readonly label: "Tipo de construção";
readonly type: "String";
readonly categories: readonly ["estrutura"];
readonly origin: "jetimob:property";
}, {
readonly key: "tipo_piso";
readonly label: "Tipo de piso";
readonly type: "String";
readonly categories: readonly ["estrutura"];
readonly origin: "jetimob:property";
}, {
readonly key: "periodicidade_iptu";
readonly label: "Periodicidade do IPTU";
readonly type: "String";
readonly categories: readonly ["valores"];
readonly origin: "jetimob:property";
}, {
readonly key: "terreno_frente";
readonly label: "Frente do terreno";
readonly type: "Number";
readonly format: "distance";
readonly unit: "m";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["medidas"];
readonly origin: "jetimob:property";
}, {
readonly key: "terreno_fundos";
readonly label: "Fundos do terreno";
readonly type: "Number";
readonly format: "distance";
readonly unit: "m";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["medidas"];
readonly origin: "jetimob:property";
}, {
readonly key: "terreno_esquerdo";
readonly label: "Lateral esquerda";
readonly type: "Number";
readonly format: "distance";
readonly unit: "m";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["medidas"];
readonly origin: "jetimob:property";
}, {
readonly key: "terreno_direita";
readonly label: "Lateral direita";
readonly type: "Number";
readonly format: "distance";
readonly unit: "m";
readonly validation: {
readonly min: 0;
readonly precision: 2;
};
readonly categories: readonly ["medidas"];
readonly origin: "jetimob:property";
}, {
readonly key: "terreno_area_total";
readonly label: "Área total do terreno";
readonly type: "Number";
readonly format: "area";
readonly unit: "m2";
readonly validation: {
readonly min: 0;