timum Hilfe durchsuchen
Website-Booking-Widget – onOffice
Plug & Play bzw. Copy & Paste
Die statische Plug & Play Einbindung für die Buchung einer Ressource ohne Anpassungen ist durch eine Code-Snippet mit wenigen Zeilen zu erreichen. Hier die Kopier-Vorlage in einer Sandbox Test-Umgebung. (gerne beliebig darin ändern und testen)
Advanced Embed (Fortgeschritten)
Die im Folgenden beschriebenen Möglichkeiten der Einbettung der timum Buchung in Website erfordert einige Erfahrung mit HTML und javascript.
Einige Funktionalitäten sind nur in timum Professional Plänen verfügbar.
Zugangssteuerung für die eingebettete Terminbuchung
Kapselung als lokaler iFrame
Plugin-Konfiguration (advanced)
Übergabe von Custom Fields
Anatomy of a field
<fieldName> : {
title: string or JSXElement;
validation: yup based validation. See https://github.com/jquense/yup. Re-exported and accessible via timum.yup
type: string; either 'text' (default), 'phoneNumber', 'textarea', 'checkbox' or 'select',
prefilled: string; value a fiels is initiated with.
Note that for fields of type 'select' you must use the 'key' of on of it's options.
preventRendering: boolean, default false;
if true the field is not visible to the user.
Useful in conjunction with sendCustomValuesInMessage allowing you to
enrich booked appointments with internal data
without the customer becoming aware of your internal processes.
}
Das Code-Snippet für den html-Bereich
<div id="bookingSection" style="display:none"> <h4>Besichtigung</h4> <div id="timumBooking"></div> </div> <div class="container"> <img src="https://cdn.timum.de/wp-content/uploads/sites/6/2023/03/villa-mit-parkgrundstueck.jpg" alt="Villa mit Parkgründstück" class="aligncenter size-full wp-image-1328" /> </div> <h2>Interaktives Web-Exposé mit Terminbuchung</h2> <p>In diesem interaktiven Web-Exposé erscheint die Terminbuchung nur für Besucher, die über einen speziellen Link eingeladen wurden.<br /> Bei Nutzung von timum mit Integration in ein CRM-System, werden exklusiv durch personalisierten Link eingeladene Kontakte automatisch identifiziert und direkt ihren Termin, ohne Dateneingabe.<br /> Der Termin wird automatisch dem jeweiligen Kontakt im CRM-System als Aktivität zugewiesen.</p>
Einbettung der Terminbuchung der Maklerin
Es ist außerdem möglich, statt des Kalenders der Immobilie auch den Kalender des Objekt-Betreuers einzubinden. Dieser bietet dann Sprechzeiten an, in denen sich Interessenten einen Termin anfragen oder buchen können. Die Sprechzeiten berücksichtigen dabei automatisch alle bestehenden Termine aus dem onOffice-Kalender des Betreuers.
Das Script am Ende des body – Buchung auf Makler mit Übergabe der Immobilien-Kennung
Wichtig für die Übertragung der Custom Data ist außerdem der letzte Wert ’sendCustomValuesInMessage: true’.
selectedEstate: { index: 6, title: 'Gewähltes Objekt', type: 'text', prefilled: 'Objekt SCR-700', preventRendering: true, }, }, sendCustomValuesInMessage: true, // necessary to transmit custom field values as part of the customer message
Das Script am Ende des body – Buchung auf eine Immobilie
Hier werden die Parameter ‘ref’ und ‘pData’ an den iFrame übergeben.
<script> // IMPORTANT: put these script to bottom before closing body tag, cause div 'timumBooking' is needed to be created first const url = new URL(window.location.href); const ref = url.searchParams.get("ref"); const pdata = url.searchParams.get("pData"); // Show hidden button and headline for appointment booking if ( ref || pdata) { document.getElementById("bookingSection").style.display = "block”; } var iframe = document.createElement('iframe'); iframe.srcdoc = "<!doctype html><body><div id='bookingjs'><\/div><script type='module'>import * as timum from 'https:\/\/cdn.jsdelivr.net\/npm\/@timum\/booking@1.2.7\/build\/timum-booking.js'; timum.init({ calendarFrontend: 'pureListView' });<\/script><\/body>"; iframe.id = "timumFrame"; iframe.setAttribute('width','100%'); iframe.setAttribute('height','700'); iframe.setAttribute('frameborder','0'); document.getElementById('timumBooking').appendChild(iframe); timumFrame.onload = function () { var frameLocation = new URL(timumFrame.contentWindow.location.href); if ( ref || pdata ) { frameLocation = frameLocation + '?'; if ( ref ) { frameLocation = frameLocation + 'ref=' + ref + '&'; }; if ( pdata ) { frameLocation = frameLocation + 'pData=' + pdata; }; timumFrame.contentWindow.location.href = frameLocation; } timumFrame.onload = null; // clear the handler, not to run it after the location update by parameters } </script>
Termin-Buchungslink in onOffice Mailing Templates
Die Prinzip-Referenz für den Aufbau eines Referenz-Links zeigt diese url:
www.timum.de/read/interaktives-web-expose?ref=_Id@2b4f51b0-11db-11ea-b4f2-0ab1a19a17c2@onofficeEstate&pData={%27platform%27:%27onoffice%27,%27address%27:%27_AdrDatensatznummer%27,%27tenantId%27:%27_MdtID%27}
Bitte folgende Bestandteile ersetzen:
- die base url ersetzen durch die url der jeweiligen Immobilie – im Beispiel www.timum.de/read/interaktives-web-expose
- Hier braucht es ein geeignetes Mapping, um aus einem in onOffice verfügbaren Parameter die url der Immobilien-Detailseite auf eurer Website zu generieren.
- Hast du dazu eine Idee? Lass uns dazu am besten nochmal telefonieren.
- den Value für den ref Parameter
Es gibt dafür 3 mögliches Varianten: