---
id: imobiliario/catalogo-imoveis-agente-ia
industria: Imobiliário
uso: específico
esforco: médio
grao: Imóvel elegível, uma linha por código de referência e finalidade
---

# Catálogo de imóveis para agente de IA

Uma tabela com só os imóveis que podem ser oferecidos, com preço no padrão brasileiro, características em texto legível, fotos públicas e link, pronta para o agente de atendimento, o site e o feed dos portais.

## Resumo executivo

**Para quem:** Imobiliárias que querem um agente de IA respondendo sobre imóveis ou que publicam o catálogo em portais a partir do CRM.

**O que resolve**

- O agente só oferece imóvel que está à venda ou para alugar e liberado para divulgação.
- O cliente recebe preço, características e fotos legíveis, e não um campo bruto do CRM.
- Site, portais e agente mostram o mesmo imóvel com o mesmo preço.

**Por que importa:** Um agente que oferece imóvel vendido ou com preço errado perde o cliente na primeira mensagem e expõe a imobiliária. O CRM guarda tudo, inclusive o que não pode ser divulgado: imóveis fora do site, proprietários, valores zerados e fotos internas. A tabela de consumo é a fronteira entre o cadastro e o que o cliente vê.

**Perguntas de negócio que responde**

- Quantos imóveis estão disponíveis para o agente oferecer hoje, por finalidade?
- Quais imóveis estão no CRM marcados para o site e não aparecem no catálogo?
- Quantos imóveis disponíveis estão sem foto ou sem preço?
- Qual a última vez que o catálogo foi atualizado?
- Quais lançamentos estão no CRM e ainda não estão no site?

**O que você precisa**

- CRM de imóveis conectado na Nekt, com fotos e infraestrutura
- A regra de imóvel elegível por finalidade, aprovada pela gerência
- Um domínio público para as fotos, se o feed for para portais

**O que você recebe**

- Uma tabela de consumo com um imóvel por linha, só os elegíveis
- Texto ou JSON por imóvel pronto para o agente e para a busca semântica
- Feed XML no padrão dos portais
- Data da última carga em cada linha

## Detalhado

### O problema

O cadastro de imóveis do CRM tem centenas de colunas, campos aninhados de infraestrutura e fotos, valores como texto e imóveis que não podem ser divulgados. O agente que lê o cadastro bruto oferece imóvel vendido, mostra 'R$ 0' e manda link de foto interna. Lançamento, usado e locação têm regras diferentes de disponível e de preço, e cada canal precisa do imóvel num formato.

### Regras de negócio

1. **Elegível depende da finalidade.** Venda de usado: marcado para exibir no site e com status Venda, Venda e Aluguel ou Em Negociação, excluindo a categoria empreendimento e terrenos inativos. Lançamento: categoria empreendimento, situação diferente de usado e marcado para o site. Locação: valor total de aluguel maior que zero e abaixo de um teto de sanidade (por exemplo, R$ 50 mil). Cada finalidade vira uma tabela ou uma coluna de finalidade. (Evite: Mandar ao agente todos os imóveis do CRM.)
2. **Em negociação aparece com aviso.** Imóvel em negociação continua elegível para não perder o cliente, mas o agente diz que ele está em negociação e oferece parecidos. Vendido, alugado, reservado ou suspenso nunca entra. Imóvel que não existe no catálogo é uma resposta diferente de imóvel indisponível. (Evite: Oferecer imóvel em negociação como disponível.)
3. **Preço no padrão brasileiro, sem zero.** Valores chegam como número, como texto com vírgula ou como 'valor|BRL' (no Bitrix24). Converta, arredonde e formate como R$ 1.250.000,00. Valor zero ou nulo vira uma frase fixa, por exemplo 'Entre em contato para informações de valores.'. Lançamento mostra 'a partir de'; usado mostra o valor. Condomínio e IPTU saem em campos próprios. (Evite: Mandar ao cliente 'Valor: 0' ou '1916900|BRL'.)
4. **Campos aninhados viram texto legível.** Infraestrutura e características chegam como estrutura com dezenas de campos Sim, Não ou vazio. Gere uma lista só com o que é Sim ou tem valor, cada item com o rótulo em português ('Piscina', 'Churrasqueira', 'Água: poço artesiano'). Campos vazios somem do texto, em vez de virar 'Rótulo:' sem valor. (Evite: Converter a estrutura inteira em JSON e mandar ao agente.)
5. **Só fotos liberadas, com endereço público.** Use apenas as fotos marcadas para exibir no site, com a foto de destaque primeiro. A URL precisa ser pública: fotos do CRM novo costumam exigir um domínio base para o feed dos portais. Link de site com localhost ou de ambiente de teste fica fora. (Evite: Usar todas as fotos do cadastro, inclusive as internas.)
6. **Um formato por canal, a mesma regra.** Para o agente, um texto por imóvel com 'Rótulo: valor' separados por vírgula, começando pelo código. Para a busca semântica, um JSON por imóvel com chaves legíveis e o mesmo conteúdo como metadado, com o id do imóvel estável para atualizar e apagar. Para os portais, uma linha por imóvel já no padrão VrSync. Os três saem da mesma tabela de elegíveis. (Evite: Uma regra de disponível no agente e outra no feed.)
7. **Feed de portal com tipos e limites do padrão.** Mapeie o tipo do imóvel do CRM para o PropertyType do VrSync por dicionário (apartamento, casa, sobrado, cobertura, terreno, sala comercial). Título com até 100 caracteres, descrição sem HTML e sem o fechamento de CDATA, com até 3000 caracteres. Transação vazia vira venda. Dormitórios vazios usam quartos mais suítes. Ano de construção fora de 1800 a 2100 vira nulo. O destaque do anúncio vem do campo de portais do imóvel. (Evite: Mandar ao portal a descrição com HTML e o tipo como código do CRM.)
8. **Nada de proprietário nem dado interno.** A tabela do agente nunca leva nome, telefone ou documento do proprietário, captador, comissão nem observações internas. Ela traz só o que pode ser dito ao cliente final. Ampliar o que o agente pode dizer é decisão da gerência, registrada. (Evite: Expor o proprietário porque a coluna estava na tabela.)
9. **tenant_id em toda linha e caches separados.** Quando o mesmo agente atende mais de uma imobiliária ou marca, cada linha leva o tenant_id e o agente filtra sempre por ele. Cache de imóveis e cache de contatos ficam em tabelas separadas. (Evite: Um cache único de imóveis e contatos de várias marcas.)
10. **Frescor faz parte da resposta.** A tabela roda por evento logo depois da sincronização do CRM e cada linha guarda a data da carga. Se a carga atrasou além do limite combinado, o agente não confirma disponibilidade: diz que vai verificar com um corretor. (Evite: Catálogo atualizado à mão, sem data.)

### Quem entra no catálogo

Regras reais de elegibilidade, por finalidade, a partir do cadastro do CRM.

- **Exibir no site = Sim e status Venda, Venda e Aluguel** → Venda de usado
- **Status Em Negociação, marcado para o site** → Venda, com aviso de negociação
- **Categoria empreendimento, situação diferente de usado** → Lançamento, preço 'a partir de'
- **Valor total de aluguel > 0 e abaixo do teto** → Locação
- **Vendido, alugado, reservado, suspenso ou fora do site** → Fora do catálogo
- **Link com localhost ou terreno inativo** → Fora do catálogo

### Definições

| Métrica | Definição |
|---|---|
| Imóvel elegível | imóvel que passa na regra da sua finalidade (venda, lançamento ou locação) no momento da carga |
| Preço exibido | valor de venda ou aluguel convertido de texto, arredondado e formatado em R$; frase fixa quando zero ou nulo; 'a partir de' para lançamento |
| Foto principal | primeira foto marcada para exibir no site, com URL pública |
| Cobertura do catálogo | imóveis elegíveis no catálogo / imóveis marcados para o site no CRM com status de venda ou locação |
| Imóvel incompleto | elegível sem foto, sem preço ou sem link público |
| Frescor | agora menos a data da última carga do catálogo, em horas |

### Armadilhas

- **Imóvel fora do site oferecido.** O agente lia o cadastro inteiro e oferecia imóveis que não estavam liberados para divulgação ou já tinham sido vendidos. Como evitar: Agente lê só a tabela de elegíveis.
- **Filtro de teste esquecido.** Uma transformação do catálogo ficou com o filtro de um único código de imóvel usado no teste e publicou um catálogo de um imóvel. Como evitar: Teste de aceite com a contagem de elegíveis contra o CRM a cada carga.
- **Limite de linhas em produção.** A consulta que alimentava a IA saiu com um limite de 10 linhas usado na exploração. Como evitar: Revise limites e filtros antes de ligar a tabela ao agente.
- **Coluna de disponível sem filtro.** O cache do agente trazia a coluna de imóvel ativo, mas não filtrava por ela, e o agente oferecia inativos quando a instrução falhava. Como evitar: Filtre na tabela, não na instrução do agente.
- **Lançamento só no CRM.** Empreendimentos cadastrados no CRM e ainda não publicados no site ficavam fora do catálogo, enquanto o corretor já vendia. Como evitar: Una os lançamentos do site com os do CRM marcados para divulgação que ainda não estão no site.
- **Aluguel absurdo.** Sem teto, valores de aluguel fora da realidade, por erro de cadastro, entravam no catálogo de locação ao lado dos imóveis reais. Como evitar: Teto de sanidade no valor e lista dos imóveis barrados para correção.

### Teste de aceitação

- [ ] A quantidade de imóveis elegíveis por finalidade bate com a contagem no CRM aplicando a mesma regra (diferença zero).
- [ ] Nenhum imóvel vendido, alugado, reservado, suspenso ou fora do site aparece no catálogo.
- [ ] Nenhuma linha tem preço 'R$ 0', valor com '|BRL' ou link com localhost.
- [ ] Toda linha tem a data da última carga e ela é de menos de 24 horas.
- [ ] Nenhuma coluna da tabela do agente contém nome, telefone ou documento de proprietário.

### Context document

```text
Catálogo de imóveis para o agente
- Ofereça só imóveis da tabela de elegíveis. Se o imóvel não está nela, ele não pode ser oferecido.
- Elegível: venda de usado com exibir no site = Sim e status Venda, Venda e Aluguel ou Em Negociação; lançamento com categoria empreendimento e situação diferente de usado; locação com aluguel maior que zero e abaixo do teto.
- Imóvel em negociação: diga que está em negociação e ofereça parecidos.
- Imóvel não encontrado é diferente de indisponível. Não encontrado: diga que não achou e ofereça parecidos. Indisponível: diga que não está mais disponível.
- Preço: use o preço formatado da tabela. Se vier a frase de entre em contato, não invente valor. Lançamento é 'a partir de'.
- Nunca informe dados de proprietário, captador, comissão ou observações internas.
- Se a data da última carga tiver mais de <horas> horas, não confirme disponibilidade: diga que um corretor vai confirmar.
- Filtre sempre pelo tenant_id da imobiliária que está atendendo.
- Negociação de preço, proposta, documentos e visita agendada passam para um corretor.
Exceções por cliente:
- <cliente>: teto de aluguel de R$ <valor> para locação.
- <cliente>: imóveis da categoria <categoria> não entram no catálogo do agente.
```

### Variações

- **Unidades de incorporadora:** Catálogo por unidade disponível do espelho de vendas, com tipologia, metragem e preço da tabela vigente, sem unidades reservadas.
- **Contatos para o agente:** Um cache separado de contatos, com o melhor telefone da base única, para o agente reconhecer quem já é cliente.
- **Pendências de cadastro:** Lista diária dos imóveis marcados para o site que ficaram fora do catálogo por falta de foto, preço ou link, para o captador corrigir.
