Conditionele teksten in templates
Conditionele teksten zijn tekstblokken in je template die automatisch verschijnen of verdwijnen op basis van de diensten die je bij een dossier hebt geselecteerd. Selecteer je "demonteren" bij de taxatie? Dan verschijnt de tekst over demontage automatisch op de offerte. Selecteer je het niet? Dan verdwijnt die tekst en ziet de klant hem niet.
Het resultaat: je hebt een of twee templates in plaats van tientallen losse varianten. Liever conditionele teksten dan 68 losse templates.
Waarom conditionele teksten?
Zonder conditionele teksten heb je twee opties:
Losse templates per scenario - een template voor alleen verhuizen, een voor verhuizen + montage, een voor verhuizen + montage + inpakken, enzovoort. Dat levert al snel zes of meer templates op die je allemaal apart moet onderhouden.
Alles in een template - alle teksten staan altijd op de offerte, ook als de dienst niet van toepassing is. Dat is verwarrend voor de klant.
Met conditionele teksten combineer je het beste van beide: een template die zich automatisch aanpast aan de gekozen diensten.
De 6 diensten
Het systeem kent zes diensten die je bij een taxatie of dossier kunt selecteren. Op basis van deze diensten bepaalt de conditionele logica welke teksten zichtbaar zijn.
Dienst | Systeemnaam | Wat het betekent |
Basisverhuizing |
| Laden, rijden, lossen (altijd aanwezig) |
Montage |
| Meubels in elkaar zetten op het losadres |
Demontage |
| Meubels uit elkaar halen op het laadadres |
Inpakken |
| Klein huisraad inpakken in dozen |
Uitpakken |
| Dozen uitpakken en inrichten op het losadres |
Opslag |
| Inboedel opslaan in een container |
Let op: De systeemnamen (zoals certificate en assemble) worden gebruikt in de code. Je hoeft deze niet zelf te typen -- je onboarding-specialist bouwt de conditionele logica in. Maar het helpt om te begrijpen hoe het werkt.
Hoe werkt de syntax?
De conditionele logica gebruikt Twig-syntax. Dit is de code die in de template-editor wordt geplaatst.
Een dienst controleren
{% if project.usesService('assemble') %}Wij zorgen voor de montage van uw meubels op het losadres.{% endif %}
De tekst "Wij zorgen voor de montage..." verschijnt alleen als de dienst "montage" is geselecteerd bij het dossier.
Controleren of een dienst NIET is gekozen
{% if not project.usesService('packing') %}U zorgt zelf voor het inpakken van uw huisraad in dozen.{% endif %}
Deze tekst verschijnt alleen als de klant NIET heeft gekozen voor de inpakdienst.
Meerdere diensten combineren
{% if project.usesService('assemble') and project.usesService('packing') %}Wij verzorgen zowel de demontage/montage als het inpakken van uw inboedel.{% endif %}
Gebruik and om te checken of meerdere diensten tegelijk actief zijn. Gebruik and not om te combineren met een uitsluiting:
{% if project.usesService('assemble') and not project.usesService('packing') %}Wij verzorgen de demontage en montage. U zorgt zelf voor het inpakken.{% endif %}
Blok afsluiten
Elk {% if %} blok moet worden afgesloten met:
{% endif %}
De 6 scenario's in de praktijk
In de verhuisbranche zijn er zes veelvoorkomende combinaties van diensten. Hieronder zie je per scenario welke diensten actief zijn, welke conditie in de template wordt gebruikt, en wat de klant zelf doet versus wat jullie doen.
Scenario 1 - Basisverhuizing (alleen laden en lossen)
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Nee |
Inpakken | Nee |
Uitpakken | Nee |
Opslag | Nee |
Conditie:
{% if project.usesService('certificate') %}{% if not project.usesService('assemble') %}{% if not project.usesService('packing') %}{% if not project.usesService('storage') %}...tekst...{% endif %}{% endif %}{% endif %}{% endif %}
Wat de klant zelf doet: groot meubilair uit elkaar halen, klein huisraad in dozen verpakken, dozen uitpakken en inrichten.
Wat jullie doen: laden, rijden, lossen, garderobedozen en beschermmateriaal voorzien, bijzondere items veilig vervoeren.
Scenario 2 - Verhuizing + montage/demontage
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Ja |
Inpakken | Nee |
Uitpakken | Nee |
Opslag | Nee |
Conditie:
{% if project.usesService('assemble') and project.usesService('disassemble') and not project.usesService('packing') %}...tekst...{% endif %}
Wat de klant zelf doet: inpakken en uitpakken van dozen.
Wat jullie doen: meubels uit elkaar halen, laden, rijden, lossen, meubels weer in elkaar zetten.
Scenario 3 - Verhuizing + montage/demontage + inpakken
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Ja |
Inpakken | Ja |
Uitpakken | Nee |
Opslag | Nee |
Conditie:
{% if project.usesService('assemble') and project.usesService('disassemble') and project.usesService('packing') and not project.usesService('unpack') %}...tekst...{% endif %}
Wat de klant zelf doet: dozen uitpakken en inrichten.
Wat jullie doen: inpakken van de inboedel, demontage, laden, rijden, lossen, montage.
Scenario 4 - Volledig pakket
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Ja |
Inpakken | Ja |
Uitpakken | Ja |
Opslag | Nee |
Conditie:
{% if project.usesService('assemble') and project.usesService('disassemble') and project.usesService('packing') and project.usesService('unpack') %}...tekst...{% endif %}
Wat de klant zelf doet: niets.
Wat jullie doen: alles -- inpakken, demontage, laden, rijden, lossen, montage, uitpakken en inrichten.
Scenario 5 - Opslag + montage/demontage
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Ja |
Inpakken | Nee |
Uitpakken | Nee |
Opslag | Ja |
Conditie:
{% if project.usesService('storage') and project.usesService('assemble') and project.usesService('disassemble') and not project.usesService('packing') %}...tekst...{% endif %}
Wat de klant zelf doet: inpakken van dozen, later uitpakken.
Wat jullie doen: demontage, laden in container, opslaan, later afleveren en montage.
Scenario 6 - Opslag + montage/demontage + inpakken
Dienst | Actief? |
Basisverhuizing | Ja |
Montage/demontage | Ja |
Inpakken | Ja |
Uitpakken | Nee |
Opslag | Ja |
Conditie:
{% if project.usesService('storage') and project.usesService('assemble') and project.usesService('disassemble') and project.usesService('packing') %}...tekst...{% endif %}
Wat de klant zelf doet: later dozen uitpakken en inrichten.
Wat jullie doen: inpakken, demontage, laden in container, opslaan, later afleveren en montage.
Vaste patronen om te onthouden
Bij het opzetten van conditionele teksten gelden een aantal vaste regels. Deze patronen komen voort uit hoe verhuisbedrijven in de praktijk werken.
Patroon | Uitleg |
Montage en demontage gaan altijd samen | Er is geen scenario waarin je alleen monteert zonder te demonteren, of andersom. Als |
Opslag gaat altijd samen met montage/demontage | Bij opslag moet de inboedel eerst worden gedemonteerd om in de container te passen. Opslag zonder montageservice bestaat niet. |
Uitpakken bestaat alleen bij het volledig pakket | De uitpakservice ( |
Basisverhuizing is altijd aanwezig | De dienst |
Stap-voor-stap: conditionele tekst laten inbouwen
De conditionele logica wordt door je onboarding-specialist ingebouwd. Jij levert de teksten aan, je specialist schrijft de code.
Voorbereiding
Bepaal welke scenario's voor jouw bedrijf van toepassing zijn (zie de 6 scenario's hierboven)
Schrijf per scenario de tekst die op de offerte moet staan
Markeer per tekstblok bij welk scenario het hoort
Aanvragen bij je onboarding-specialist
Stuur je teksten naar je onboarding-specialist
Je specialist bouwt de if-statements in de template-editor in
Test de template door een testdossier aan te maken met verschillende diensten geselecteerd
Testen
Maak een testdossier aan en selecteer bij de taxatie de diensten voor scenario 1 (alleen basisverhuizing)
Genereer een concept-offerte en controleer of alleen de juiste tekst verschijnt
Pas het testdossier aan: selecteer nu montage/demontage erbij (scenario 2)
Genereer opnieuw een concept-offerte en controleer het resultaat
Herhaal voor de andere scenario's die je gebruikt
Verwacht resultaat: Per scenario verschijnt alleen de tekst die bij die specifieke combinatie van diensten hoort. Teksten voor niet-geselecteerde diensten zijn volledig onzichtbaar.
Tip: Je hoeft niet alle zes de scenario's te gebruiken. Veel bedrijven beginnen met drie of vier scenario's en breiden later uit.
Voorbeeld: hoe het er in de template uitziet
Hieronder een vereenvoudigd voorbeeld van hoe conditionele tekst eruitziet in de template-editor. De code staat tussen de gewone tekst in.
Geachte ####{{ contact.salutation }} ####{{ contact.last_name }},Naar aanleiding van onze taxatie bieden wij u het volgende aan:{% if not project.usesService('assemble') and not project.usesService('packing') %}Op de verhuisdag zorgt u ervoor dat alle meubels verhuisklaar staanen dat alle kleine spullen zijn ingepakt in dozen.{% endif %}{% if project.usesService('assemble') and project.usesService('disassemble') and not project.usesService('packing') %}Wij zorgen voor de demontage van uw meubels op het laadadres en demontage op het losadres. U zorgt zelf voor het inpakken van uwhuisraad in dozen.{% endif %}{% if project.usesService('packing') %}Wij zorgen voor het inpakken van uw complete inboedel.{% endif %}{% if project.usesService('storage') %}Uw inboedel wordt opgeslagen in onze opslagfaciliteit totdathet nieuwe adres beschikbaar is.{% endif %}
De klant ziet op de offerte alleen de tekst die van toepassing is. De code ({% if %} en {% endif %}) is onzichtbaar in de PDF.
Tips
Lever concrete teksten aan. Hoe specifieker je teksten per scenario, hoe beter je specialist de logica kan inbouwen.
Begin met de belangrijkste scenario's. Je hoeft niet meteen alle zes scenario's in te richten. Start met de twee of drie die je het vaakst gebruikt.
Selecteer de juiste diensten bij de taxatie. De conditionele tekst werkt alleen als de diensten correct zijn geselecteerd in het dossier. Vergeet je om "demonteren" aan te vinken, dan verschijnt de demontagetekst niet.
Test altijd met een concept-offerte. Genereer na elke wijziging een concept-PDF om te controleren of de juiste teksten verschijnen.
Combineer met variabelen. Conditionele teksten werken prima samen met variabelen. Binnen een
{% if %}blok kun je gewoon####{{ contact.last_name }}of andere variabelen gebruiken.
Let op
Wijzig de code niet zelf. De Twig-syntax is precies. Een ontbrekende spatie of accolade kan ervoor zorgen dat de hele template niet meer werkt. Laat codewijzigingen altijd door je onboarding-specialist doen.
Diensten moeten bij de taxatie worden geselecteerd. Als de dienst niet actief is in het dossier, verschijnt de bijbehorende tekst niet op de offerte -- ook niet als je de tekst in de template hebt staan.
Opslag heeft extra informatie nodig. Bij opslagscenario's (5 en 6) verschijnt vaak ook tekst over de opslagverzekering. Houd hier rekening mee bij het aanleveren van je teksten.
Online offertes lopen door als een pagina. Conditionele teksten kunnen de lengte van je offerte veranderen per scenario. In de online weergave is dat geen probleem (de pagina loopt door). In de PDF-versie kan het invloed hebben op waar pagina-afbrekingen vallen. Test daarom altijd de PDF.
Volgende stap: Berichtgevingen overzicht
