🔍 Perfiles de búsqueda (criterios de búsqueda) con propform

Los perfiles de búsqueda son un módulo independiente en onOffice: un comprador/inquilino describe la propiedad que desea (región, tipo de inmueble, rango de precios, superficie habitable, etc.), y onOffice realiza posteriormente emparejamientos automáticos con las propiedades que se ajustan a sus criterios. propform puede crear perfiles de búsqueda completos mediante un formulario, incluyendo campos multirregión, campos de rango y vinculación automática con la dirección.


Contenido

---

Concepto: perfil de búsqueda ≠ campo de dirección

En onOffice, un perfil de búsqueda es un registro independiente — vinculado a una dirección, pero no un campo de la dirección. Una dirección puede tener varios perfiles de búsqueda (p. ej., «Busco piso en propiedad en Berlín» + «Busco edificio de viviendas para inversión en toda Alemania»).

Consecuencias para propform:

  • En el editor de formularios, selecciona campos de criterios de búsqueda como selección de módulo independiente
  • Los valores se escriben en el perfil de búsqueda, no en la dirección
  • propform vincula automáticamente el perfil de búsqueda con la dirección editada/creada por el formulario

---

Campos de criterios de búsqueda en el formulario

Configuración:

  1. Nuevo formulario → Añadir campos de datos de dirección para el solicitante (nombre, apellidos, correo electrónico, teléfono)
  2. Para la búsqueda: seleccionar el módulo «Criterios de búsqueda» → Añadir campos

Campos típicos de criterios de búsqueda:

  • objektart (Piso / Casa / Terreno / Local comercial)
  • vermarktungsart (Compra / Alquiler / Arrendamiento)
  • kaufpreis (campo de rango — propform muestra automáticamente dos campos de entrada «desde» / «hasta»)
  • kaltmiete (campo de rango)
  • wohnflaeche (campo de rango)
  • anzahl_zimmer (campo de rango)
  • regionaler_zusatz (selección múltiple de regiones)
  • Además de todos los campos de criterios de búsqueda propios creados en onOffice

> 💡 Campos de rango: Los campos anteriores se denominan simplemente kaufpreis, wohnflaeche, etc., no kaufpreis_von / kaufpreis_bis. propform reconoce automáticamente que se trata de un campo de rango y muestra dos campos de entrada.

> ⚠️ Importante: Para que un campo aparezca en el módulo de criterios de búsqueda, debe estar definido explícitamente como campo de criterios de búsqueda en onOffice (Extras → Configuración → Administración → Módulo de criterios de búsqueda). De lo contrario, propform no lo mostrará.

---

Campos de rango (intervalos de/a)

Los criterios de búsqueda suelen trabajar con valores de rango (precio de 200 000 a 500 000, superficie habitable de 80 a 120 m²). Solo tienes que añadir el campo con su nombre básico (p. ej., kaufpreis); propform detectará automáticamente que se trata de un campo de rango y mostrará dos campos de entrada («desde» / «hasta»).

> ⚠️ El control deslizante de rango no funciona aquí: el campo especial «Range Slider» solo está disponible para campos numéricos normales, no para campos de rango de criterios de búsqueda. En los criterios de búsqueda se mantienen los dos campos de entrada.


## Selección múltiple: regiones y tipos de inmuebles

En los campos clásicos de criterios de búsqueda, como regionaler_zusatz o objektart, el usuario suele querer marcar varios valores (por ejemplo, «Berlin-Mitte Y Berlin-Friedrichshain»). propform lo hace automáticamente mediante el campo de selección múltiple.

Consejos para la selección múltiple en los criterios de búsqueda:

  • Activar «Menú desplegable solo al introducir datos» en campos con muchas opciones (el complemento regional suele tener cientos); véase Campos → Comportamiento del menú desplegable
  • Utilizar la jerarquía padre-hijo: Al marcar un cantón, se marcan automáticamente todos los distritos.
  • Etiquetas personalizadas para formularios multilingües (véase Formularios multilingües)

---

Búsqueda geográfica: radio vs. complemento regional

En onOffice hay dos formas fundamentalmente diferentes de configurar una búsqueda geográfica; cada una tiene sus ventajas:

Variante A — Radio (dirección + radio)

El usuario introduce una dirección de referencia (código postal, localidad, calle) más un radio en kilómetros. El sistema busca inmuebles que se encuentren dentro de ese círculo.

Ventajas:

  • Fácil de explicar y de usar: la mayoría de los usuarios piensan en términos de «estación central + 10 km»
  • Funciona a nivel global, sin necesidad de preconfigurar regiones
  • Menor esfuerzo de configuración en onOffice

Campos: umkreis_ort, umkreis_plz, umkreis_strasse, umkreis_radius

Variante B — Complemento regional (regiones preconfiguradas)

El usuario selecciona desde una jerarquía de regiones de selección múltiple (estados federados → distritos → barrios). Esto requiere que tus regiones estén gestionadas en onOffice y que los inmuebles se hayan categorizado correctamente.

Ventajas:

  • Control granular sobre qué regiones están disponibles para la selección
  • Jerarquía padre-hijo: al hacer clic en «Baviera» se seleccionan todas las subregiones bávaras con
  • Informes coherentes (la región como dimensión)

Campo: regionaler_zusatz (selección múltiple)

Recomendación

Cuándo Opción
Formulario general para clientes finales, todas las ubicaciones Área de influencia
Agencia inmobiliaria que opera a nivel local con distritos claramente definidos Añadido regional
Perfiles de búsqueda premium, relevantes para la generación de informes Añadido regional
Configuración rápida sin mantenimiento de regiones en onOffice Área de influencia

> ⚠️ Cambiar entre las variantes no es sencillo — Los perfiles de búsqueda creados con «Área de influencia» no se pueden convertir directamente en «Suplementos regionales» (tipo de datos diferente). Lo mejor es decidirte por una variante desde el principio y aplicarla de forma coherente.

---

Vinculación automática con la dirección

propform vincula automáticamente los perfiles de búsqueda con la dirección que el formulario está editando o creando en ese momento; no necesitas ninguna configuración adicional para la conexión de registros.

Flujo de trabajo típico:

  1. El solicitante rellena los datos de la dirección y los criterios de búsqueda
  2. propform crea un registro de dirección (o encuentra uno existente mediante la comprobación de duplicados)
  3. propform crea un perfil de búsqueda y lo vincula automáticamente a esta dirección
  4. Opcional: crear una actividad relacionada con la dirección

> 💡 Un registro de dirección puede tener tantos perfiles de búsqueda como se desee. Si el mismo solicitante crea varias búsquedas, se añade un nuevo perfil de búsqueda cada vez, todos con la misma dirección.

---

Mostrar y generar criterios de búsqueda

Para los correos de confirmación o las vistas generales, existen macros específicas de propform:

Macro Efecto
_pfGetSearchCriteriaInformation Genera el perfil de búsqueda recién creado como una tabla completa (todos los valores)
_pfGetSearchCriteriaField(<feldname>) Muestra un valor único — p. ej., _pfGetSearchCriteriaField(objektart)
_pfGetSearchCriteriaUUID UUID cifrado del perfil de búsqueda — para enlaces seguros entre formularios
_pfButton(<URL>;<Beschriftung>) Genera un enlace de botón formateado en correos electrónicos/PDF — toma cualquier URL, incluyendo UUID resueltos por macros (por ejemplo, un enlace de edición al perfil de búsqueda)

Correo electrónico de confirmación de ejemplo tras el envío:

Hallo _Vorname _Name,

vielen Dank für deine Suchanfrage. Wir haben folgendes Suchprofil angelegt:

_pfGetSearchCriteriaInformation

Wir melden uns, sobald passende Immobilien verfügbar sind.

→ En el cuerpo se inserta automáticamente la tabla completa de criterios de búsqueda.

📖 Más información en Macros — específicas de propform.


## Editar/desactivar perfiles de búsqueda

propform no solo puede crear nuevos perfiles de búsqueda, sino también leer, editar y desactivar los existentes — perfecto para procesos de autoservicio («Gestiona tú mismo tus perfiles de búsqueda»).

Patrón: correo de resumen + acciones con un solo clic

Flujo de trabajo de autoservicio muy sólido para compradores/inquilinos:

  1. Correo de resumen (mediante plantilla de correo electrónico, activado desde onOffice o como boletín informativo): enumera todos los perfiles de búsqueda activos mediante un bucle (véase la siguiente sección). Dos botones por entrada:
    • «Editar» → URL a un formulario de edición con el UUID del criterio de búsqueda como parámetro
    • «Desactivar» → URL a un formulario de desactivación con el UUID del criterio de búsqueda
  2. Formulario de edición: formulario clásico de criterios de búsqueda, carga el perfil de búsqueda mediante el UUID y devuelve los valores modificados.
  3. Formulario de desactivación: Solo establece el campo de estado en 0. Con envío automático (véase Envío automático y enrutamiento): el usuario hace clic en el enlace del correo electrónico y el formulario se envía sin interacción con la interfaz de usuario → La página de agradecimiento aparece inmediatamente.

Requisitos de configuración

  • Campos del módulo de criterios de búsqueda en el formulario de edición, igual que en el formulario de creación
  • Filtro por formulario basado en la propia referencia de dirección (véase Filtro por formulario): impide que los usuarios editen perfiles de búsqueda ajenos mediante la manipulación del UUID
  • Requisito de UUID (véase Protección de formularios): no se permite el acceso sin el UUID de los criterios de búsqueda
  • En el correo de resumen: utiliza el bucle _bScRek_("status:1") (véase más abajo) y las macros _pfGetSearchCriteriaUUID + _pfButton(...) para los botones de acción

> 💡 Práctica recomendada: La macro _pfButton se encarga automáticamente del diseño (estilo de los botones); no es necesario formatear en HTML.


## Bucle de criterios de búsqueda para correos de resumen

Si un usuario tiene varios perfiles de búsqueda y quieres mostrarlos todos en un correo o en una página de resumen, existe el bucle de criterios de búsqueda:

_bScRek_("status:1")
Suche: _pfGetSearchCriteriaField(objektart) in _pfGetSearchCriteriaField(ort)
Preis bis: _pfGetSearchCriteriaField(kaufpreis_bis)
Link: _pfLink("https://example.com?id=_pfGetSearchCriteriaUUID", "Suchprofil öffnen")

_eScRek_

Filtro status:1: Solo perfiles de búsqueda activos. Sin filtro: todos (incluso los desactivados).

📖 Sintaxis completa y opciones de filtro en Macros → Bucle de criterios de búsqueda.


## Perfiles de búsqueda Premium

En algunas versiones de onOffice existe un campo específico «Perfil de búsqueda Premium» (a menudo prio o un campo personalizado): una marca para compradores/inquilinos especialmente importantes a los que se les debe notificar de forma más rápida o detallada sobre nuevas propiedades.

Configuración de propform para la marca Premium:

  • Campo «Premium» como selección única (Sí / No) o booleano en el formulario de criterios de búsqueda
  • Establecer el valor predeterminado en «Sí» si se accede al formulario a través de un enlace Premium (parámetro URL)
  • Crear en onOffice un filtro «solo perfiles de búsqueda Premium» → mantener a partir de ahí una secuencia de correo propia

> 💡 Si tú mismo no tienes un concepto Premium, esto no es necesario; en ese caso, basta con el flujo de trabajo estándar de perfiles de búsqueda.


## Obstáculos

Plantillas de criterios de búsqueda (la API solo lee la plantilla predeterminada)

En onOffice, en Extras → Configuración → Administración → Criterios de búsqueda, puedes definir varias plantillas, por ejemplo, una plantilla «Compradores de inmuebles residenciales», otra «Inquilinos de inmuebles comerciales», etc.

> ⚠️ Trampa: La API de onOffice lee exclusivamente la plantilla predeterminada (plantilla estándar). Las plantillas alternativas se ignoran por completo.

Síntoma: Añades un nuevo campo de criterios de búsqueda en una plantilla alternativa y propform no lo «encuentra». Frustración.

Solución:

  • Mantén siempre los campos que quieras utilizar en los formularios de propform en la plantilla predeterminada
  • O cambia la plantilla predeterminada (si la has configurado de forma diferente a propósito)

Tipo de objeto frente a clase de objeto — Incompatibilidad

Si el formulario escribe tanto objektart como objekttyp, los valores deben ser compatibles. Las combinaciones incompatibles (p. ej., tipo de objeto = Wohnung + tipo de objeto = Mehrfamilienhaus) provocan que el criterio de búsqueda no se cree de forma silenciosa — sin mensaje de error, sin registro.

Consejo: Al crear el formulario, comprueba la lógica de los valores con diferentes combinaciones a modo de prueba antes de implementarlo.

La dirección debe existir antes que el criterio de búsqueda

El perfil de búsqueda siempre se vincula a una dirección. Si tu formulario crea un nuevo perfil de búsqueda, pero la dirección aún no existe (la comprobación de duplicados falla, se crea una nueva dirección), primero se ejecuta la creación de la dirección y luego el perfil de búsqueda.

→ Funciona sin problemas en la mayoría de los casos. El perfil de búsqueda solo puede fallar en caso de errores de validación muy excepcionales en la dirección.


Relacionado