@horizon-domains/property-model
Version:
Modelo de propriedades imobiliárias v3 - Sistema de atributos dinâmicos
452 lines (451 loc) • 11 kB
JSON
{"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"
}
]
}