Consultas y visitas
Cómo llegan a la agencia el formulario de contacto y las solicitudes de visita del sitio web, cómo las trabaja el equipo en el panel y los límites que mantienen limpios los formularios.
Para el paquete Full Stack
Cómo llega una solicitud a la agencia
| En el sitio web | En el panel |
|---|---|
| El formulario de contacto | Una consulta, marcada como contacto, o como pregunta cuando se envió sobre una propiedad |
| Una solicitud de visita en una página de propiedad | Una solicitud de visita, con una consulta detrás marcada como visita |
- Cada una notifica, en directo, a cada administrador que puede ver consultas o visitas, y llega a la página Contactos o Visitas del panel.
- El visitante ve una confirmación en la página: una solicitud de visita muestra su referencia y sigue pendiente de confirmación hasta que la agencia la confirma.
- No se envía nada por correo, ni al visitante ni a la agencia: la plantilla no tiene servicio de correo. Un desarrollador puede añadir uno junto a la notificación.
Consultas
| Estado | Significado |
|---|---|
| Nueva | Recién recibida. Cada consulta empieza aquí. |
| Contactada | La agencia ha respondido. |
| Cualificada | Un comprador o inquilino serio. |
| Cerrada | Terminada, sea cual sea el resultado. |
- La página Contactos filtra por estado y busca, diez por página, junto a la consulta seleccionada: su propiedad, los datos del visitante y lo que pidió (comprar o alquilar, zona, presupuesto, mensaje).
- El panel de detalle cambia el estado y guarda una nota interna, de hasta 2000 caracteres, que el visitante nunca ve.
- Las consultas no se pueden eliminar: cierra las que ya hayas terminado.
Visitas
| Estado | Significado | Próximos pasos |
|---|---|---|
| Solicitada | Enviada desde el sitio web, a la hora preferida del visitante | Confirmar, o cancelar |
| Confirmado | La agencia acordó una hora | Confirmar de nuevo a otra hora, completar, o cancelar |
| Completada | La visita se realizó | Ninguno |
| Cancelada | No se realizará | Ninguno |
- La página Visitas tiene una pestaña por estado con sus recuentos. Las visitas solicitadas se listan con la más próxima primero, las confirmadas con la siguiente cita primero.
- Confirmar mantiene la hora preferida del visitante, o fija otra fecha y hora en la zona horaria de la agencia, cada media hora de 08:00 a 20:00.
- Cada visita guarda una nota interna de hasta 500 caracteres. Las visitas no se pueden eliminar: cancela las que no se realizarán.
- Toda hora se muestra y se introduce en la hora de la agencia,
Asia/Dubai, sea cual sea el reloj del propio equipo. El sitio web ofrece de 09:00 a 18:00 y rechaza una hora con menos de una hora de antelación.
Mantener limpios los formularios
- Cada dirección puede enviar cinco formularios de contacto y cinco solicitudes de visita en diez minutos; la siguiente se rechaza con un mensaje para esperar. Las cuentas están en la memoria de la API.
- Un campo oculto atrapa a los bots: un envío que lo rellena recibe la respuesta habitual y no se guarda en ningún sitio.
- Cada envío lleva un token de un solo uso, así que un doble clic o un reenvío guarda una consulta, no dos.
- Detrás de un proxy inverso, define
TRUST_PROXY=1en el.envde la API, o cada visitante comparte la cuota del proxy.
Quién puede hacer qué
| Permiso | Permite |
|---|---|
leads.view | Leer las consultas y recibir avisos de las nuevas |
leads.edit | Cambiar el estado y la nota de una consulta |
viewings.view | Leer las solicitudes de visita y recibir avisos de las nuevas |
viewings.edit | Confirmar, completar y cancelar visitas, y su nota |
Los dos roles de la carga inicial, Super Admin y Agent, tienen los cuatro.
Las rutas que hay detrás
POST /api/leads y POST /api/viewings son públicas y responden 201 con un recibo: el id y la hora de la consulta, o la referencia, el estado y la hora preferida de la visita con su zona horaria. El panel las lee y las actualiza con GET y PATCH /api/leads/:id y /api/viewings/:id; una visita avanza con { "action": "confirm" }, complete o cancel, y una acción desde el estado equivocado se rechaza.