🔍 Profils de recherche (critères de recherche) avec propform

Dans onOffice, les profils de recherche constituent un module à part entière : un acheteur/locataire décrit le bien immobilier qu’il recherche (région, type de bien, fourchette de prix, surface habitable, etc.), et onOffice effectue ensuite des correspondances automatiques avec les biens immobiliers correspondants. propform permet de créer des profils de recherche complets via un formulaire — y compris pour plusieurs régions, des champs de fourchette et une liaison automatique avec l’adresse.


Contenu

---

Concept : profil de recherche ≠ champ d'adresse

Dans onOffice, un profil de recherche est un enregistrement autonome — lié à une adresse, mais qui n'est pas un champ de l'adresse. Une adresse peut avoir plusieurs profils de recherche (par exemple « Recherche d'un appartement en copropriété à Berlin » + « Recherche d'un immeuble d'investissement dans toute l'Allemagne »).

Conséquence pour propform :

  • Dans l'éditeur de formulaire, sélectionnez les champs de critères de recherche comme sélection de module distincte
  • Les valeurs sont enregistrées dans le profil de recherche, et non dans l'adresse
  • propform associe automatiquement le profil de recherche à l'adresse modifiée/créée par le formulaire

---

Champs de critères de recherche dans le formulaire

Configuration :

  1. Nouveau formulaire → Ajouter les champs de données d'adresse pour le demandeur (prénom, nom, e-mail, téléphone)
  2. Pour la recherche : sélectionner le module « Critères de recherche » → Ajouter des champs

Champs de critères de recherche types :

  • objektart (Appartement / Maison / Terrain / Local commercial)
  • vermarktungsart (Achat / Location / Bail)
  • kaufpreis (Champ de plage — propform affiche automatiquement deux champs de saisie « de » / « à »)
  • kaltmiete (Champ de plage)
  • wohnflaeche (champ de plage)
  • anzahl_zimmer (champ de plage)
  • regionaler_zusatz (sélection multiple de régions)
  • Plus tous les champs de critères de recherche personnalisés créés dans onOffice

> 💡 Champs de plage : Les champs ci-dessus s'appellent simplement kaufpreis, wohnflaeche, etc. — et non kaufpreis_von / kaufpreis_bis. propform reconnaît automatiquement qu'il s'agit d'un champ de plage et affiche deux champs de saisie.

> ⚠️ Important : pour qu'un champ apparaisse dans le module des critères de recherche, il doit être explicitement défini comme champ de critères de recherche dans onOffice (Outils → Paramètres → Administration → Module des critères de recherche). Sinon, propform ne l'affiche pas.


Champs de plage (plages de valeurs)

Les critères de recherche fonctionnent généralement avec des valeurs de plage (prix de 200 000 à 500 000, surface habitable de 80 à 120 m²). Il suffit d'ajouter le champ avec son nom de base (par exemple kaufpreis) — propform reconnaît automatiquement qu'il s'agit d'un champ de plage et affiche deux champs de saisie (« de » / « à »).

> ⚠️ Le curseur de plage ne fonctionne pas ici : le champ spécial « Range Slider » n'existe que pour les champs numériques normaux, pas pour les champs de plage de critères de recherche. Pour les critères de recherche, on s'en tient à deux champs de saisie.


## Sélection multiple : régions et types d'objets

Dans les champs de critères de recherche classiques tels que regionaler_zusatz ou objektart, l'utilisateur souhaite souvent cocher plusieurs valeurs (par exemple « Berlin-Mitte ET Berlin-Friedrichshain »). propform le fait automatiquement via le champ de sélection multiple.

Conseils pour la sélection multiple dans les critères de recherche :

  • Activez « Menu déroulant uniquement lors de la saisie » pour les champs comportant de nombreuses options (les codes régionaux en comptent souvent des centaines) — voir Champs → Comportement du menu déroulant
  • Utiliser la hiérarchie parent-enfant : cocher un canton coche automatiquement tous les districts correspondants
  • Libellés personnalisés pour les formulaires multilingues (voir Formulaires multilingues)

---

Recherche géographique : périmètre vs. extension régionale

Dans onOffice, il existe deux méthodes fondamentalement différentes pour effectuer une recherche géographique — chacune a ses avantages :

Variante A — Périmètre (adresse + rayon)

L'utilisateur indique une adresse de référence (code postal, ville, rue) ainsi qu'un rayon en kilomètres. Le système fait correspondre les biens immobiliers situés à l'intérieur de ce cercle.

Avantages :

  • Facile à expliquer et à utiliser — la plupart des utilisateurs pensent en termes de « gare centrale + 10 km »
  • Fonctionne à l'échelle mondiale sans que vous ayez à préconfigurer les régions
  • Effort de configuration réduit dans onOffice

Champs : umkreis_ort, umkreis_plz, umkreis_strasse, umkreis_radius

Variante B — Module régional (régions préconfigurées)

L'utilisateur effectue sa sélection à partir d'une hiérarchie régionale à sélection multiple (Länder → districts → quartiers). Cela suppose que vos régions soient gérées dans onOffice et que les biens immobiliers aient été correctement classés.

Avantages :

  • Contrôle précis des régions disponibles à la sélection
  • Hiérarchie parent-enfant : un clic sur « Bavière » sélectionne toutes les sous-régions bavaroises
  • Rapports cohérents (région comme dimension)

Champ : regionaler_zusatz (sélection multiple)

Recommandation

Quand Choix
Formulaire client final général, tous sites Rayon
Agence immobilière locale avec des districts clairement définis Supplément régional
Profils de recherche premium, pertinents pour le reporting Supplément régional
Configuration rapide sans gestion des régions dans onOffice Rayon

> ⚠️ Le passage d'une variante à l'autre n'est pas anodin — les profils de recherche créés avec un rayon ne peuvent pas être convertis à l'identique en suppléments régionaux (type de données différent). Il est préférable de choisir une variante dès le début et de l'utiliser de manière cohérente.


Liaison automatique avec l'adresse

propform lie automatiquement les profils de recherche à l'adresse que le formulaire est en train de modifier ou de créer — vous n'avez pas besoin de configuration supplémentaire pour la liaison des enregistrements.

Workflow type :

  1. Le demandeur remplit les données d'adresse + les critères de recherche
  2. propform crée un enregistrement d'adresse (ou en trouve un existant via le contrôle des doublons)
  3. propform crée un profil de recherche + le relie automatiquement à cette adresse
  4. Facultatif : rédiger une activité en référence à l'adresse

> 💡 Un enregistrement d'adresse peut avoir autant de profils de recherche que souhaité. Si le même demandeur crée plusieurs recherches, un nouveau profil de recherche est ajouté à chaque fois, tous pour la même adresse.

---

Afficher et générer les critères de recherche

Il existe des macros spécifiques à propform pour les e-mails de confirmation ou les affichages récapitulatifs :

Macro Effet
_pfGetSearchCriteriaInformation Génère le profil de recherche vient d'être créé sous forme de tableau complet (toutes les valeurs)
_pfGetSearchCriteriaField(<feldname>) Affiche une seule valeur — par exemple _pfGetSearchCriteriaField(objektart)
_pfGetSearchCriteriaUUID UUID crypté du profil de recherche — pour des liens inter-formulaires sécurisés
_pfButton(<URL>;<Beschriftung>) Génère un lien sous forme de bouton formaté dans les e-mails/PDF — accepte n'importe quelle URL, y compris les UUID résolus par macro (par exemple, un lien de modification vers le profil de recherche)

Exemple d'e-mail de confirmation après soumission :

Hallo _Vorname _Name,

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

_pfGetSearchCriteriaInformation

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

→ Le tableau complet des critères de recherche est automatiquement inséré dans le corps du message.

📖 Pour en savoir plus, consultez Macros — spécifiques à propform.


Modifier / désactiver des profils de recherche

propform permet non seulement de créer de nouveaux profils de recherche, mais aussi de lire, modifier et désactiver ceux qui existent déjà — idéal pour les processus en libre-service (« Gérez vous-même vos profils de recherche »).

Modèle : e-mail récapitulatif + actions en un clic

Workflow en libre-service très robuste pour les acheteurs/locataires :

  1. E-mail récapitulatif (via un modèle d’e-mail, déclenché depuis onOffice ou sous forme de newsletter) : répertorie tous les profils de recherche actifs via une boucle (voir section suivante). Deux boutons par entrée :
    • « Modifier » → URL vers un formulaire de modification avec l’UUID des critères de recherche comme paramètre
    • « Désactiver » → URL vers un formulaire de désactivation avec l'UUID des critères de recherche
  2. Formulaire de modification : formulaire classique de critères de recherche, charge le profil de recherche via l'UUID, renvoie les valeurs modifiées.
  3. Formulaire de désactivation : définit uniquement le champ de statut sur 0. Avec Auto-Submit (voir Auto-Submit & Routing) — l'utilisateur clique sur le lien dans l'e-mail et le formulaire est envoyé sans interaction avec l'interface utilisateur → la page de remerciement s'affiche immédiatement.

Conditions préalables à la configuration

  • Champs du module de critères de recherche dans le formulaire de modification, comme dans le formulaire de création
  • Filtre par formulaire basé sur la référence d'adresse propre (voir Filtre par formulaire) — empêche les utilisateurs de modifier des profils de recherche étrangers en manipulant l'UUID
  • Exigence d'UUID (voir Protection des formulaires) — aucun appel sans UUID de critère de recherche
  • Dans l'e-mail récapitulatif : utilise la boucle _bScRek_("status:1") (voir ci-dessous) et les macros _pfGetSearchCriteriaUUID + _pfButton(...) pour les boutons d'action

> 💡 Meilleure pratique : la macro _pfButton prend automatiquement en charge la mise en page (style des boutons) — vous n'avez pas besoin de formater en HTML.

---

Boucle de critères de recherche pour les e-mails récapitulatifs

Si un utilisateur dispose de plusieurs profils de recherche et que vous souhaitez les répertorier tous dans un e-mail ou sur une page récapitulative, vous pouvez utiliser la boucle de critères de recherche :

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

_eScRek_

Filtre status:1 : uniquement les profils de recherche actifs. Sans filtre : tous (y compris les profils désactivés).

📖 Syntaxe complète et options de filtrage sous Macros → Boucle de critères de recherche.


Profils de recherche Premium

Dans certaines versions d'onOffice, il existe un champ dédié « Profil de recherche Premium » (souvent prio ou champ personnalisé) — un indicateur permettant de repérer les acheteurs/locataires particulièrement importants qui doivent être informés plus rapidement / de manière plus détaillée des nouveaux biens immobiliers.

Configuration propform pour le marquage Premium :

  • Champ « Premium » sous forme de sélection unique (Oui / Non) ou de valeur booléenne dans le formulaire de critères de recherche
  • Définir la valeur par défaut sur « Oui » lorsque le formulaire est appelé via un lien Premium (paramètre URL)
  • Créer un filtre « Profils de recherche Premium uniquement » dans onOffice → gérer à partir de là votre propre flux d’e-mails

> 💡 Si vous n’avez pas de concept Premium, cela n’est pas nécessaire — le workflow standard des profils de recherche suffit alors.

---

Pièges à éviter

Modèles de critères de recherche (l'API ne lit que le modèle par défaut)

Dans onOffice, sous Outils → Paramètres → Administration → Critères de recherche, vous pouvez définir plusieurs modèles — par exemple un modèle « Acheteurs de biens immobiliers résidentiels », un autre « Locataires commerciaux », etc.

> ⚠️ Piège : l'API onOffice lit exclusivement le modèle par défaut (modèle standard). Les autres modèles sont complètement ignorés.

Symptôme : vous ajoutez un nouveau champ de critères de recherche dans un autre modèle, propform ne le « trouve » pas. Frustrant.

Solution :

  • Gérez toujours les champs que vous souhaitez utiliser dans les formulaires propform dans le modèle par défaut
  • Ou modifiez le modèle par défaut (si vous l'avez délibérément structuré différemment)

Type d'objet vs. Type d'objet — Incompatibilité

Si le formulaire utilise à la fois objektart et objekttyp, les valeurs doivent être compatibles. Les combinaisons incompatibles (par exemple, type d'objet = Wohnung + type d'objet = Mehrfamilienhaus) entraînent la non-création silencieuse du critère de recherche — aucun message d'erreur, aucun enregistrement.

Conseil : lors de la création du formulaire, teste la logique des valeurs avec différentes combinaisons avant de le déployer.

L'adresse doit exister avant le critère de recherche

Le profil de recherche est toujours associé à une adresse. Si votre formulaire crée un nouveau profil de recherche, mais que l'adresse n'existe pas encore (le contrôle des doublons échoue, une nouvelle adresse est créée), la création de l'adresse s'effectue en premier, puis celle du profil de recherche.

→ Cela fonctionne sans problème dans la plupart des cas. Le profil de recherche ne peut échouer qu'en cas d'erreurs de validation très inhabituelles sur l'adresse.


Connexes