Case study · background jobs · reservatiecommunicatie

Automatisering van reservatie-e-mails met Hangfire

E-mails exact op het juiste moment verzenden zonder de gebruikerservaring te vertragen. Hangfire biedt permanente opslag, automatische retries en een dashboard voor alle tijdsgebonden communicatie op het reserveringsplatform.

Minder no-shows

Herinneringen werken

Gasten ontvangen automatisch een herinnering 24 tot 48 uur voor hun reservatie — op het juiste moment, zonder handmatige actie.

Tijdswinst

0 uur handmatig

Bevestigingen, herinneringen en review-verzoeken worden automatisch verstuurd — ook na een serverherstart of technische storing.

Schaalbaarheid

Groeit mee

Het systeem beheert tienduizenden geplande berichten zonder handmatige tussenkomst — ook bij drukke boekingsperiodes.

Probleem

Tijdkritische e-mails konden de reservatieflow niet blokkeren

Het reserveringsplatform Reservatie.eu moest e-mails exact op het juiste moment versturen. Te vroeg of te laat betekende een verstoorde gastervaring of een gemiste kans op feedback.

Tegelijkertijd mocht het versturen van een bevestigingsmail nooit de gebruiker laten wachten. Synchrone verwerking was dus geen optie.

Bijkomende complexiteit

Tienduizenden geplande taken moesten betrouwbaar worden verwerkt, ook bij serverherstarts of piekbelasting — zonder verlies en zonder dubbele verzending.

Analyse

Elk type communicatie vroeg een ander timing-model

Herinneringen 24 of 48 uur vooraf moesten exact op tijdstip aankomen bij gasten.

Review-verzoeken uren na de reservatie mochten de eigenlijke flow niet vertragen.

Bevestigingsmails direct na boeking werden als fire-and-forget verwerkt.

Bij serverherstart of netwerkfout moesten lopende taken automatisch hervatten.

De conclusie was duidelijk: we hadden geen one-size-fits-all oplossing nodig, maar een flexibel systeem waarin elk communicatietype zijn eigen job-strategie kon krijgen.

Oplossing

Hangfire als job-orkestratieplatform

Met drie verschillende job-types krijgt elk communicatiescenario zijn eigen strategie: nauwkeurig gepland, direct asynchroon of periodiek terugkerend.

1. Delayed Job — Herinneringsmails

// Herinneringsmail als Delayed Job
BackgroundJob.Schedule(
    () => _emailService.SendReminder(reservationId),
    remindTime);

2. Fire-and-Forget — Bevestigingsmails

// Bevestigingsmail fire-and-forget
BackgroundJob.Enqueue(
    () => _emailService.SendConfirmation(reservationData));

3. Recurring Job — Dagelijkse cleanup

// Dagelijkse opruimtaak als Recurring Job
RecurringJob.AddOrUpdate(
    "Cleanup-Job",
    () => _cleanupService.RunCleanup(),
    Cron.Daily);

Dashboard

Volledig inzicht via het Hangfire dashboard

Het ingebouwde dashboard toont alle jobs: in wachtrij, geslaagd, mislukt en gepland. Een mislukte taak is direct zichtbaar en herstelbaar, zonder productiedebuggen.

Hangfire dashboard overzicht

Trade-off

Persistente opslag kost iets, maar is niet optioneel

Pro

Jobs overleven serverherstart, automatische retries bij falen en volledige audittrail in het dashboard.

Con

SQL Server opslag groeit mee met het volume. Periodieke cleanup-jobs zijn noodzakelijk om de tabel beheersbaar te houden.

Architectuurprincipe

E-mail hoort niet in de HTTP-request-cyclus thuis

Elke taak die afhankelijk is van een extern systeem en geen directe feedback geeft, verdient een achtergrondwachtrij. Zo blijft de API responsief en de communicatielaag ontkoppeld van het domein.

Ontwerpstandpunt

De mailservice weet niets over de reserveringscontext. Ze ontvangt alleen wat ze nodig heeft voor de taak: geen lek van domeinkennis, geen koppeling naar het datamodel.

Resultaat

Betrouwbare communicatie zonder impact op de gebruikerservaring

Lagere no-show percentages door punctuele herinneringen.

Snellere reserveringsflow dankzij asynchrone bevestigingen.

Meer feedback via betrouwbare review-verzoeken.

Direct inzicht in lopende en mislukte taken via het Hangfire dashboard.

Lessons learned

Wat ik hieruit meeneem voor elk communicatiesysteem

Betrouwbare communicatie is geen nice-to-have. Zodra je geen controle hebt over timing en faalscenario's, verliezen gasten snel het vertrouwen in het platform.

Gebruik delayed jobs voor communicatie die op een exact toekomstig tijdstip moet plaatsvinden.

Fire-and-forget is de juiste keuze voor taken die de gebruikerservaring niet mogen blokkeren.

Persistent storage (SQL Server) is essentieel voor betrouwbaarheid bij serverherstart.

Monitor altijd via het dashboard: mislukte taken zijn zichtbaar en manueel herstelbaar.

Plan expliciete cleanup-jobs om de wachtrij en opslag beheersbaar te houden.

E-mail lifecycle

Van reservatie tot gastfeedback

De volledige communicatiecyclus loopt via Hangfire: bevestiging meteen na boeking, herinnering kort voor aankomst, review-verzoek kort na het bezoek.

E-mail lifecycle voor reservatiecommunicatie

Takeaway

Automatiseer niet enkel de inhoud van je communicatie, maar ook het moment en de betrouwbaarheid ervan.

Een goed getimede herinnering of een vlotte bevestiging zit in het kleine percentage van de gebruikerservaring dat onthouden wordt. Dat is precies wat Hangfire voor dit platform mogelijk maakt.

Veelgestelde vragen over geautomatiseerde e-mailcommunicatie

Wat is Hangfire en waarom werd het gekozen voor deze oplossing?
Hangfire is een open-source .NET bibliotheek voor het plannen en uitvoeren van achtergrondtaken. We kozen Hangfire omdat het ingebouwde retry-logica biedt bij falen, een overzichtelijk dashboard heeft voor monitoring, stabiel is onder hoge belasting en naadloos integreert in het bestaande ASP.NET technologiestack.
Wat gebeurt er als een e-mail mislukt door een netwerk- of serverfout?
Hangfire probeert de taak automatisch opnieuw uit te voeren na een instelbare wachttijd. Na het maximale aantal pogingen wordt de taak als mislukt gemarkeerd en zichtbaar in het dashboard, zodat de verantwoordelijke persoon kan ingrijpen.
Schaal het systeem mee als het aantal klanten groeit?
Ja. De achtergrondwachtrij van Hangfire is horizontaal schaalbaar. Extra workers kunnen toegevoegd worden naarmate het volume toeneemt, zonder aanpassingen aan de kernapplicatie.
Kan dit ook voor andere communicatiekanalen dan e-mail?
Zeker. Dezelfde architectuur kan uitgebreid worden met SMS-notificaties, WhatsApp Business API of push-notificaties. Elk kanaal wordt als aparte taak in de wachtrij gezet en volgt dezelfde retry- en monitoringlogica.
Is een gelijkaardig systeem ook haalbaar voor mijn bedrijf?
Als je nu manueel terugkerende mails verstuurt — bevestigingen, herinneringen, follow-ups — is automatisering via Hangfire of een vergelijkbare technologie bijna altijd de moeite waard. Plan een vrijblijvend gesprek zodat we jouw situatie kunnen inschatten.
Mitch

Ben jij nog telkens opnieuw dezelfde mail aan het voorbereiden?

Plan een vrijblijvende digitale kennismaking met Mitch en ontdek wat wij voor jouw organisatie kunnen betekenen.