UNPKG

@horizon-domains/property-model

Version:

Modelo de propriedades imobiliárias v3 - Sistema de atributos dinâmicos

452 lines (451 loc) 11 kB
{"fields": [ { "key": "reference", "label": "Referência", "type": "String", "validation": {"required": true}, "categories": ["identificacao"], "origin": "hb:property" }, { "key": "updated_at", "label": "Última atualização", "type": "String", "format": "datetime", "categories": ["sistema"], "origin": "hb:property" }, { "key": "title", "label": "Título", "type": "String", "validation": { "required": true, "maxLength": 200 }, "categories": ["identificacao"], "origin": "hb:property" }, { "key": "description", "label": "Descrição", "type": "String", "validation": {"required": true}, "db": {"type": "text", "index": "fulltext" }, "categories": ["identificacao"], "origin": "hb:property" }, { "key": "seo_slug", "label": "Slug SEO", "type": "String", "categories": ["seo"], "origin": "hb:property" }, { "key": "seo_title", "label": "Título SEO", "type": "String", "validation": {"maxLength": 60}, "categories": ["seo"], "origin": "hb:property" }, { "key": "seo_description", "label": "Descrição SEO", "type": "String", "validation": {"maxLength": 160}, "categories": ["seo"], "origin": "hb:property" }, { "key": "seo_keywords", "label": "Palavras-chave SEO", "type": "String", "validation": {"maxLength": 200}, "categories": ["seo"], "origin": "hb:property" }, { "key": "main_image", "label": "Imagem principal", "type": "Json", "categories": ["media"], "origin": "hb:property" }, { "key": "images", "label": "Imagens", "type": "Json[]", "validation": {"required": true}, "categories": ["media"], "origin": "hb:property" }, { "key": "videos", "label": "Vídeos", "type": "Json[]", "validation": {"required": true}, "categories": ["media"], "origin": "hb:property" }, { "key": "virtual_tours", "label": "Tours virtuais", "type": "Json[]", "validation": {"required": true}, "categories": ["media"], "origin": "hb:property" }, { "key": "documents", "label": "Documentos", "type": "Json[]", "validation": {"required": true}, "categories": ["media"], "origin": "hb:property" }, { "key": "currency", "label": "Moeda", "type": "String", "db": {"default": "BRL"}, "categories": ["sistema"], "origin": "hb:property" }, { "key": "unit_area", "label": "Unidade de área", "type": "String", "db": {"default": "m2"}, "categories": ["sistema"], "origin": "hb:property" }, { "key": "unit_distance", "label": "Unidade de distância", "enum": { "meters": "Metros", "km": "Quilômetros" }, "type": "String", "db": {"default": "meters" }, "categories": ["sistema"], "origin": "hb:property" }, { "key": "map_show_proximity", "label": "Exibir aproximado no mapa", "type": "Boolean", "db": {"default": "false"}, "categories": ["sistema"], "origin": "hb:property" }, { "key": "operacao", "label": "Operação", "enum": { "venda": "Venda", "locacao": "Locação", "temporada": "Temporada" }, "type": "String[]", "categories": ["comercial"], "origin": "hb:property" }, { "key": "valor_venda", "label": "Valor de venda", "type": "Number", "format": "currency", "unit": "BRL", "validation": {"precision": 2}, "conditions": ["operacao:venda"], "categories": ["valores","principais"], "origin": "hb:property" }, { "key": "valor_locacao", "label": "Valor de locação", "type": "Number", "format": "currency", "unit": "BRL", "validation": {"precision": 2}, "conditions": ["operacao:locacao"], "categories": ["valores","principais"], "origin": "hb:property" }, { "key": "valor_diaria", "label": "Valor da diária", "type": "Number", "format": "currency", "unit": "BRL", "validation": {"precision": 2}, "conditions": ["operacao:temporada"], "categories": ["valores"], "origin": "hb:property" }, { "key": "valor_condominio", "label": "Valor do condomínio", "type": "Number", "format": "currency", "unit": "BRL", "validation": {"precision": 2}, "categories": ["valores"], "origin": "hb:property" }, { "key": "valor_iptu", "label": "Valor do IPTU", "type": "Number", "format": "currency", "unit": "BRL", "validation": {"precision": 2}, "categories": ["valores"], "origin": "hb:property" }, { "key": "area_total", "label": "Área total", "type": "Number", "format": "area", "unit": "m2", "validation": {"min": 0}, "categories": ["estrutura","principais"], "origin": "hb:property" }, { "key": "area_privativa", "label": "Área privativa", "type": "Number", "format": "area", "unit": "m2", "validation": {"min": 0}, "categories": ["estrutura"], "origin": "hb:property" }, { "key": "area_util", "label": "Área útil", "type": "Number", "format": "area", "unit": "m2", "validation": {"min": 0}, "categories": ["estrutura"], "origin": "hb:property" }, { "key": "dormitorios", "label": "Dormitórios", "type": "Number", "format": "count", "validation": {"min": 0}, "categories": ["dependencias","principais"], "origin": "hb:property" }, { "key": "suites", "label": "Suítes", "type": "Number", "format": "count", "validation": {"min": 0}, "categories": ["dependencias"], "origin": "hb:property" }, { "key": "banheiros", "label": "Banheiros", "type": "Number", "format": "count", "validation": {"min": 0}, "categories": ["dependencias","principais"], "origin": "hb:property" }, { "key": "vagas_garagem", "label": "Vagas de garagem", "type": "Number", "format": "count", "validation": {"min": 0}, "categories": ["dependencias","principais"], "origin": "hb:property" }, { "key": "finalidade", "label": "Finalidade", "type": "String", "categories": ["estrutura"], "origin": "hb:property" }, { "key": "tipo", "label": "Tipo do imóvel", "type": "String", "categories": ["estrutura"], "origin": "hb:property" }, { "key": "subtipo", "label": "Sub-tipo do imóvel", "type": "String", "parent": "tipo", "categories": ["estrutura"], "origin": "hb:property" }, { "key": "endereco_cep", "label": "CEP", "type": "String", "validation": {"maxLength": 9}, "mask": "cep", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_estado", "label": "Estado", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_cidade", "label": "Cidade", "type": "String", "parent": "endereco_estado", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_bairro", "label": "Bairro", "type": "String", "parent": "endereco_cidade", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_logradouro", "label": "Logradouro", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_numero", "label": "Número", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_complemento", "label": "Complemento", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_referencia", "label": "Referência", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "endereco_zona", "label": "Zona", "type": "String", "categories": ["localizacao"], "origin": "hb:property" }, { "key": "latitude", "label": "Latitude", "type": "Number", "validation": {"min": -90, "max": 90, "precision": 8}, "db": {"type": "decimal(10,8)", "index": "geo"}, "categories": ["localizacao"], "origin": "hb:property" }, { "key": "longitude", "label": "Longitude", "type": "Number", "validation": {"min": -180, "max": 180, "precision": 8}, "db": {"type": "decimal(11,8)", "index": "geo"}, "categories": ["localizacao"], "origin": "hb:property" }, { "key": "mobiliado", "label": "Mobiliado", "type": "Boolean", "categories": ["caracteristicas"], "origin": "hb:property" }, { "key": "caracteristicas", "label": "Características", "type": "String[]", "categories": ["caracteristicas"], "origin": "hb:property" }, { "key": "destaque", "label": "Imóvel em destaque", "type": "Boolean", "categories": ["comercial"], "origin": "hb:property" }, { "key": "corretor_key", "label": "ID do corretor", "type": "String", "categories": ["corretor"], "origin": "hb:property" }, { "key": "corretor_nome", "label": "Nome do corretor", "type": "String", "categories": ["corretor"], "origin": "hb:property" }, { "key": "condominio_key", "label": "ID do condomínio", "type": "String", "categories": ["condominio"], "origin": "hb:property" }, { "key": "condominio_nome", "label": "Nome do condomínio", "type": "String", "categories": ["condominio"], "origin": "hb:property" }, { "key": "tags", "label": "Tags do Imóvel", "type": "String[]", "categories": ["identificacao"], "origin": "hb:property" }, { "key": "numero_pessoas", "label": "Número de pessoas", "type": "Number", "format": "count", "validation": {"min": 0}, "categories": ["caracteristicas"], "origin": "hb:property" } ] }