Benutzerdefinierte Vorlagen

Um eigene Vorlagen zu verwenden, muss in der Systemkonfiguration eine Konfigurationsdatei angelegt werden mit dem Typen TECR_CONFIG:

Systemkonfiguration für die Terminanfrage Vorlagen

Der Dateiinhalt kann Beispielsweise so aussehen:

{ "langConfigs": { "0": { "requestMailTemplateName": "Vorlagen/Terminanfrage/Anfrage.ftl", "requestDeclinedMailTemplateName": "Vorlagen/Terminanfrage/Stornierung.ftl", "requestReminderMailTemplateName": "Vorlagen/Terminanfrage/Erinnerung.ftl", "requestInteractionAnswerMailTemplateName": "Vorlagen/Terminanfrage/Interaktions_Bestätigung.ftl", "upcomingTaskTemplateName": "Vorlagen/Terminanfrage/Bevorstehender_Termin_Erinnerung.ftl", "requestMailTemplateNameTxt": "Vorlagen/Terminanfrage/Anfrage_Txt.ftl", "requestDeclinedMailTemplateNameTxt": "Vorlagen/Terminanfrage/Stornierung_Txt.ftl", "requestReminderMailTemplateNameTxt": "Vorlagen/Terminanfrage/Erinnerung_Txt.ftl", "requestInteractionAnswerMailTemplateNameTxt": "Vorlagen/Terminanfrage/Interaktions_Bestätigung_Txt.ftl", "upcomingTaskTemplateNameTxt": "Vorlagen/Terminanfrage/Bevorstehender_Termin_Erinnerung_Txt.ftl" }, "1": { "requestMailTemplateName": "Vorlagen/Terminanfrage/Anfrage_De.ftl" }, "2": { "requestMailTemplateName": "Vorlagen/Terminanfrage/Anfrage_En.ftl" } } }

 

Die Struktur ergibt sich wie Folgt:

  • langConfigs: Hier werden die Vorlagen für die Sprachen der User definiert.

    • Achtung: Die Sprache der Vorlage bezieht sich auf die Sprache des Absender-User

    • Die Schlüssel 0, 1, 2, ... entsprechen den Unterstützten Sprachen von Levatis

    • Aktuell unterstützte Werte

      • 0 Standard falls nicht für einzelne Sprachen überschrieben

      • 1 Deutsch

      • 2 Englisch

  • Innerhalb einer Sprachkonfiguration werden die Einzelnen Templates angegeben

    • Wenn eine Option nicht angegeben wird, wird sie zuerst in der Standard Sprach-Konfiguration (0) gesucht, wird dort auch nichts gefunden, wird die Standard-Vorlage von Levatis verwendet.

    • Für jede Option gibt es einmal eine Normale Variante und eine mit dem Appendix Txt

      • Die Normale Option gibt die HTML Vorlage für die E-Mail an

      • Die Txt Variante ist eine Reine Text Repräsentation die eventuell von manchen E-Mail Clients angezeigt wird, falls die Mail z.B. im Spam landet.

    • Folgende Optionen sind Verfügbar:

      • requestMailTemplateName

        • Initiale Terminanfrage

      • requestDeclinedMailTemplateName

        • Absage Benachrichtigung falls der Termin Verschoben wird

      • requestReminderMailTemplateName

        • Erinnerung an den Kunden, dass die Terminanfrage noch nicht beantwortet wurde

      • requestInteractionAnswerMailTemplateName

        • Benachrichtigung an den Kunden sobald der Kunde die Anfrage bestätigt/ablehnt

      • upcomingTaskTemplateName

        • Erinnerung an den Kunden, dass der Termin in Kürze ansteht insofern der Termin angenommen wurde

      • requestMailTemplateNameTxt

      • requestDeclinedMailTemplateNameTxt

      • requestReminderMailTemplateNameTxt

      • requestInteractionAnswerMailTemplateNameTxt

      • upcomingTaskTemplateNameTxt

  • Die Werte der einzelnen Optionen gibt den Pfad der Vorlage an. Diese Bezieht sich auf Dokumente welche im LEVATIS_REGIE Objekt hochgeladen wurden

    • Im Oben angeführten Beispiel liegen die Vorlagen alle in einem Unterordner Terminanfrage im Vorlagen Ordner

    • Die Datei Endung ist nicht relevant. FTL ist das Technische Format (siehe Dokumentation) in welchem die Vorlagen vom System gelesen werden, jedoch ist z.B. .html oder .txt genauso möglich.

Weiters müssen die Vorlagen als Datei im LEVATIS_REGIE Objekt als Dokument in einem beliebigen Ordner hochgeladen werden:

Dokumente des LEVATIS_REGIE Objekts

Vorlagen Inhalt

Die Vorlagen verwenden Apache FreeMarker um sie dynamisch mit Daten zu füllen.

In einer Vorlage können einige Referenzen auf den Termin verwendet werden.

  • task: Aufgabe des Termins

  • company: Eigener Mandant

  • user: Aktuell eingeloggter Benutzer

  • recipients: Liste der Empfänger Mails

  • internalProject: LEVATIS_REGIE Objekt

  • Zusätzlich bei Terminanfrage, Terminanfrage-Erinnerung und Antwort auf Bestätigen/Ablehnen Aktion vom Kunden

    • tes: Liste der Ausgewählten Terminen (nur in der Terminanfrage und Terminanfrage Erinnerung Mail)

    • teTimes: Zeiten der Termine

Von diese Objekten können jeweils weitere Unter-Attribute referenziert werden.

Beispiele:

  • <h1>Sehr geehrter Kunde ${task.project.customer.lname}!</h1>

  • <p>Die Firma ${company.name} informiert Sie über die Einplanung ${(tes?size > 1)?then('folgender Termine', 'des folgenden Termins')}:</p>

  • <a href="mailto:${user.email}">${user.email}</a>

Des weiteren sollten die requestMailTemplateName Vorlagen die folgenden zwei Blöcke in beliebiger Variation beinhalten. (Wichtig <lev-readonly id="..."></lev-readonly>)

  • Links zur Bestätigen/Ablehnen Seite

    <lev-readonly id="interactions-container"> <div style="display: flex; flex-direction: column; gap: 10px;"> <span>Klicken Sie hier zum bestätigen: <a id="acceptBtn" target="_blank" href="${acceptLink}">Termin${(tes?size > 1)?then('e', '')} bestätigen</a></span> <span>Klicken Sie hier zum ablehnen: <a id="declineBtn" target="_blank" href="${declineLink}">Termin${(tes?size > 1)?then('e', '')} ablehnen</a></span> </div> </lev-readonly>
  • Eine Liste an welche Mails diese Anfrage versendet wurde

    <lev-readonly id="mail-receivers-wrapper"> <p>Diese Email wurde an folgende Email Addressen versendet:</p> <div id="mail-receivers"></div> </lev-readonly>

Standard Vorlagen

Bilder Einbinden

Um Bilder einzubinden muss einfach ein img HTML Element in der Vorlage verwendet werden.

Beispiel:

 

Wenn das Bild bei Levatis gehostet werden soll, muss es als Dokument hochgeladen werden.

Dann kann der Öffentliche Link über das Drei-Punkte-Menü in die Zwischenablage kopiert werden:

Benutzerdefiniertes Logo auf der Termin-Bestätigen/Ablehnen Seite

Um ein benutzerdefiniertes Logo auf der Seite anzuzeigen, muss von Levatis ein Optionales Feld mit dem Schlüssel urlLogo angelegt werden. Der Wert muss eine URL zum Logo (siehe Bilder Einbinden) sein.