Ontwerp van een verlofaanvraag-systeem voor duidelijke beleidsregels en goedkeuringen
Ontwerp van verlofaanvragen eenvoudig gemaakt: definieer beleid, hanteer opbouwberekeningen, routeer managergoedkeuringen en houd agenda's accuraat zonder rommelige workflows.

Wat er meestal misgaat in verlofprocessen
Mensen verwachten dat een verlofaanvraag aanvoelt als het boeken van een vergadering: kies data, zie je saldo, krijg een duidelijk ja of nee en laat het overal verschijnen waar het nodig is. Wanneer dat niet zo werkt, stappen teams over op “stuur me gewoon een bericht”, en het systeem wordt een administratief karwei in plaats van een betrouwbaar hulpmiddel.
Aanvragen komen meestal vast te zitten in overdrachten: een e-mailthread die de juiste manager mist, een spreadsheet die niemand bijwerkt, of een chatgoedkeuring die later onmogelijk te auditen is. De medewerker denkt dat het geregeld is, de manager verwacht dat HR het afhandelt en HR ontdekt bij de salarisadministratie dat het saldo niet klopt.
Het echte doel van het ontwerp van een verlofaanvraag-systeem is saai maar belangrijk: correcte saldi, duidelijke goedkeuringen en één bron van waarheid. Als je saldo klopt maar goedkeuringen onduidelijk zijn, blijven managers vragen “Heb ik dit al goedgekeurd?” Als goedkeuringen perfect zijn maar de agenda niet klopt, dubbelboekt het team nog steeds.
Vier groepen vertrouwen op dezelfde workflow, maar om verschillende redenen:
- Medewerkers: snelle aanvragen, directe status en vertrouwen dat het geregistreerd is
- Managers: de juiste aanvraag naar hen gerouteerd, met genoeg context om te beslissen
- HR/salarisadministratie: beleid consistent toegepast en saldi die overeenkomen met loonregels
- Het bedrijf: teamzichtbaarheid zonder privégegevens bloot te geven
Een “leesbare workflow” betekent dat je naar de stappen kunt kijken en ze in gewone taal kunt uitleggen: wat de aanvraag triggert, wie goedkeurt, wat er gebeurt bij afwijzing en wat er teruggeschreven wordt (saldo, status, kalender). Als je het niet snel kunt uitleggen, zullen mensen het omzeilen.
Tools zoals AppMaster kunnen helpen door de logica visueel en gecentraliseerd te houden, zodat beleidswijzigingen niet veranderen in een doolhof van e-mails en uitzonderingen.
De basisgegevens die je nodig hebt (zonder te overbouwen)
Een goed verloftool is grotendeels een nette set records en een paar duidelijke relaties. Als je de basis goed regelt, blijft de rest van je ontwerp van het verlofaanvraag-systeem leesbaar, zelfs wanneer beleid en goedkeuringen later groeien.
Begin met een klein aantal kernobjecten die je in één minuut kunt uitleggen:
- Medewerker: wie verlof aanvraagt (en wie hen goedkeurt).
- TimeOffRequest: de daadwerkelijke aanvraag (data, type, status).
- Policy: de regels voor een verloftype (PTO, ziekte, onbetaald).
- Balance: het huidige beschikbare bedrag voor een medewerker en beleid.
- Approval: beslissingen en opmerkingen gekoppeld aan een aanvraag.
Voor aanvragen zijn de velden die echte pijn voorkomen niet spectaculair. Ze zijn specifiek. Sla begin- en einddatum/tijd op, of het een gedeeltelijke dag is en in welke tijdzone de medewerker zich bij de aanvraag bevond. Voeg een korte reden toe en sta bijlagen toe als je HR-proces bewijs nodig heeft (bijvoorbeeld een doktersbriefje). Houd bijlagen optioneel zodat je normaal PTO niet blokkeert.
Statussen moeten weinig en voorspelbaar zijn: concept (opgeslagen maar niet verzonden), ingediend, goedgekeurd, afgewezen en geannuleerd. Vermijd extra statussen zoals “in afwachting van HR” tenzij je ze echt nodig hebt.
Sla de audittrail niet over. Zelfs een minimale “wie wat en wanneer heeft aangepast” redt je bij geschillen. Log minimaal indienen, goedkeuren, afwijzen, annuleren en elke datumwijziging.
Voor teams, locaties en afdelingen behandel je ze als aparte referentiegegevens. Koppel medewerkers aan deze groepen en koppel beleid aan de groepen waarop ze van toepassing zijn. Zo update je bij een kantoorwissel één medewerkerrecord, niet elk beleid.
Als je dit in AppMaster bouwt, houd elk object eerst eenvoudig, voeg daarna validaties en workflowstappen toe zodra de data stabiel is.
Beleidsregels: houd ze duidelijk en testbaar
Goede beleidsregels zijn opzettelijk saai. Mensen moeten het resultaat kunnen voorspellen voordat ze op Verzenden klikken. In het ontwerp van een verlofaanvraag-systeem is de snelste manier om vertrouwen te verliezen wanneer dezelfde aanvraag de ene week wordt goedgekeurd en de volgende week wordt afgewezen.
Begin met het benoemen van je verloftypes en schrijf één eenvoudige zin voor elk. Vakantie of PTO is gepland afwezigheid. Ziekteverlof is ongeplande tijd wegens gezondheid. Onbetaald verlof is tijd weg zonder loon. Ouderschapsverlof heeft vaak speciale data en documenten. Compensatietijd wordt verdiend door extra uren en besteed als PTO.
Geschiktheidsregels moeten lezen als een checklist, niet als een juridisch document. Houd ze expliciet: wie het kan gebruiken (voltijd, deeltijd, aannemers), wanneer het ingaat (na proeftijd, na X dagen) en of het afhankelijk is van dienstjaren. Als een regel uitzonderingen heeft, schrijf de uitzondering als een eigen regel, niet als voetnoot.
Aanvraagregels zijn waar verwarring meestal begint. Wees specifiek over kennisgevingstermijnen, blackout-dagen en het kleinste toegestane tijdsblok. Bijvoorbeeld: “Vakantieaanvragen moeten 5 werkdagen van tevoren worden ingediend, behalve noodgevallen goedgekeurd door HR” is testbaar. “Dien vroeg in” is dat niet.
Carryover- en vervalregels moeten in één zin passen. Voorbeeld: “Tot 40 uur wordt overgedragen naar volgend jaar en vervalt op 31 maart.” Als je een tweede zin nodig hebt, is dat een hint dat het beleid te veel doet.
Een eenvoudige manier om beleidstekst en regel-logica in sync te houden:
- Geef elke regel een korte ID (zoals PTO-NOTICE-5D)
- Bewaar de platte-tekst uitleg naast de regelconfiguratie
- Voeg 2 tot 3 voorbeeldgevallen per regel toe (goedgekeurd of afgewezen) als tests
- Wijzig beleidstekst alleen wanneer de regelconfiguratie verandert (en omgekeerd)
Voorbeeld: Een medewerker in proeftijd vraagt morgen 2 uur PTO aan. Het systeem moet het blokkeren om twee redenen die makkelijk te lezen zijn: “PTO begint na 60 dagen” en “PTO vereist 5 werkdagen kennisgeving.” Als je dit in AppMaster bouwt, houd die berichten dicht bij de regelknopen zodat updates niet uit elkaar groeien in de tijd.
Opbouw (accrual) wiskunde: patronen die verwarring veroorzaken
Opbouw is waar een verlofaanvraag-systeem vaak rommelig wordt, omdat kleine regels zich opstapelen. Het doel is geen ingewikkelde rekenkunde. Het doel is voorspelbare resultaten die overeenkomen met wat HR en medewerkers verwachten als ze een saldo controleren.
Een veelvoorkomende verwarring is het mixen van opbouwstijlen. Sommige bedrijven voegen uren toe elke loonperiode, anderen maandelijks, sommige bouwen per gewerkt uur op en sommige kennen het volledige jaarlijkse bedrag toe op een vaste datum. Problemen beginnen wanneer je alleen “saldo” opslaat en vergeet “hoe het verdiend is.” Bewaar een duidelijk record van gebeurtenissen: toekenning, opbouw, aanpassing en gebruik.
Proratering is een andere valkuil. Een nieuwe medewerker die halverwege de maand begint, of een medewerker die van deeltijd naar voltijd gaat, zou geen handmatige spreadsheetcorrectie moeten nodig hebben. Kies één regel en houd je eraan. Bijvoorbeeld: prorateer op basis van kalenderdagen in de periode of op basis van geplande uren. Welke je ook kiest, schrijf het op in eenvoudige woorden en codeer het overal hetzelfde.
Caps en negatieve saldi veroorzaken tickets van het type “het ziet er niet goed uit”. Als je carryover tot een cap toestaat, pas die cap toe op een specifiek moment (einde jaar, einde opbouwperiode of na elke opbouw). Als negatieve saldi zijn toegestaan, definieer de limiet en wat er gebeurt bij beëindiging.
Afrondingsregels creëren stille afwijking. Kies één afrondingsniveau (minuten, kwartieren of halve dagen) en pas het consequent toe op zowel opbouw als gebruik. Als je in minuten opbouwt maar aanvragen in halve dagen ingediend worden, zullen medewerkers altijd het gevoel hebben dat het systeem niet klopt.
Achteraf gedateerde aanvragen en correcties hebben een audittrail nodig. Als iemand een aanvraag indient voor vorige week, moet het systeem vanaf de aanvraagdatum opnieuw berekenen en de wijziging loggen.
Een eenvoudige checklist die de meeste geschillen voorkomt:
- Sla saldoveranderingen op als gedateerde transacties, niet alleen als één getal
- Herbereken vanaf een ingangsdatum wanneer beleidsinputs veranderen
- Pas caps en afronding toe in één gedeelde functie
- Houd handmatige aanpassingen gescheiden van opbouwlogica
- Toon altijd de “per datum” bij elk weergegeven saldo
In AppMaster wordt dit meestal netjes gemapt naar een Transactions-tabel plus een klein bedrijfsproces dat saldi herberekent wanneer een aanvraag wordt goedgekeurd of gecorrigeerd.
Managergoedkeuringen: eenvoudige routering die toch randgevallen dekt
Een managergoedkeuringsworkflow moet één vraag beantwoorden: wie kan met vertrouwen “ja” zeggen? Als je elk detail van de organogram probeert te modelleren, wordt je ontwerp van het verlofaanvraag-systeem moeilijk leesbaar en nog moeilijker te repareren.
Begin met één standaardregel: de directe manager van de medewerker keurt goed. Voeg vervolgens alleen uitzonderingen toe die risico of verantwoordelijkheid veranderen. Houd de volgorde van regels expliciet, zodat je uitkomsten kunt uitleggen zonder door instellingen te moeten graven.
Eénstaps versus meerstaps goedkeuringen
De meeste teams kunnen een enkele goedkeuringsstap gebruiken voor standaard PTO. Voeg stappen alleen toe wanneer de aanvraag loon, compliance of dekking tussen teams beïnvloedt.
Veelvoorkomende patronen die leesbaar blijven:
- Eén stap: Manager keurt goed voor standaard PTO en onbetaald verlof.
- Twee stappen: Manager en daarna HR voor verloftypes die documenten of beleidscontroles vereisen.
- Tweede goedkeurder: Voeg een afdelingshoofd toe alleen wanneer de afwezigheid gedeelde dekking raakt (bijvoorbeeld on-call rotaties).
- Auto-goedkeuring: Laag-risico aanvragen, zoals 1–2 uur voor een afspraak, of tijd die al vooraf in een rooster is goedgekeurd.
- Geen manager: HR-only goedkeuring voor aannemers of rollen zonder duidelijke manager.
Delegatie, afwijzingen en opnieuw indienen
Goedkeuringen falen wanneer de goedkeurder afwezig is. Maak delegatie een volwaardige regel, geen handmatige workaround. Als de manager als afwezig is gemarkeerd, routeer naar een gedelegeerde; als er geen gedelegeerde is, routeer naar de manager van de manager (of HR als fallback). Log altijd welke regel de goedkeurder heeft gekozen.
Afwijzingen en bewerkingen zijn waar systemen rommelig worden. Houd het simpel: een afwijzing sluit de aanvraag met een verplichte reden. Als de medewerker data of verloftype bewerkt, behandel het als een herindiening en start de routering opnieuw vanaf nul. Dat voorkomt “half-goedgekeurde” aanvragen die niet langer overeenkomen met wat er was goedgekeurd.
Een praktisch voorbeeld: Alex vraagt 3 dagen ziekteverlof aan. Het systeem routeert naar de manager, maar omdat het een beleidsgereguleerd verloftype is, krijgt HR een tweede stap alleen na managergoedkeuring. Als de manager afwezig is, keurt de gedelegeerde en toont de audittrail waarom.
Als je dit in AppMaster bouwt, houd de routeringslogica in één visueel proces met een kleine set regels in een duidelijke volgorde, zodat iedereen het later kan lezen en onderhouden.
Validatieregels voordat je een aanvraag doorlaat
Goede validatie houdt het ontwerp van het verlofaanvraag-systeem leesbaar omdat het voorkomt dat uitzonderingsgevallen in goedkeuringen lekken. Richt je op regels die makkelijk uit te leggen en te testen zijn.
Begin met boekingsregels. Overlapcontroles moeten conflicten met bestaande goedgekeurde verlofaanvragen en lopende aanvragen detecteren. Wees expliciet over gedeeltelijke dagen: sla de datum op plus een eenvoudige eenheid zoals AM, PM of uren zodat halve dagen niet per ongeluk tot hele dagen worden afgerond. Bepaal ook wat je met weekenden en bedrijfsfeestdagen doet: blokkeer ze of sta ze toe maar negeer ze in de dagtelling.
Saldo-controles zijn lastiger dan ze lijken. Veel teams valideren saldo bij indienen (zodat mensen niet eindeloos aanvragen) en controleren opnieuw bij goedkeuring (omdat opbouw en andere goedkeuringen het saldo kunnen veranderen). Als je beide doet, laat de gebruiker zien welk punt heeft gefaald.
Hier is een nette set validaties die de meeste gevallen dekt:
- Data zijn geldig (begin vóór eind, dezelfde tijdzone, geen ontbrekende keuze voor halve dag)
- Geen overlap met bestaand verlof (inclusief halve dagen)
- Dagtelling sluit weekenden en feestdagen uit (volgens je beleid)
- Vereiste bijlagen aanwezig voor specifieke verloftypes (bijvoorbeeld doktersbriefje)
- Saldo is voldoende (controleer bij indienen en opnieuw bij goedkeuren)
Teamdekkingcontroles kunnen helpen, maar vermijd harde blokkades tenzij het echt moet. Een betere standaard is een waarschuwing die de manager laat beslissen. Voorbeeld: “Twee mensen in je team zijn die dag al afwezig. Toch indienen?”
Maak foutmeldingen eerlijk en oplosbaar. Vertel gebruikers wat is mislukt, waar en hoe ze het kunnen corrigeren. Bijvoorbeeld: “Je aanvraag overlapt met een goedgekeurd verlof op 12 mrt (PM). Kies een andere tijd of bewerk de bestaande aanvraag.”
Als je dit in AppMaster bouwt, houd validaties dicht bij het aanvraagformulier en hergebruik dezelfde controles in de goedkeuringsstap zodat regels niet in de loop van de tijd uit elkaar groeien.
Stap-voor-stap: een leesbare workflow die je kunt bouwen en onderhouden
Een goed ontwerp van een verlofaanvraag-systeem voelt op een goede manier saai: elke aanvraag volgt hetzelfde pad en elke beslissing heeft één duidelijke reden. De makkelijkste manier om het leesbaar te houden is beleidgegevens (wat de regels zijn) te scheiden van workflowlogica (wat er gebeurt als iemand op Verzenden klikt).
Dit is een volgorde die eenvoudig blijft, zelfs als je later meer verloftypes toevoegt:
- Zet elk verloftype en elke regel op één plek (namen, geschiktheid, carryover, blackout-periodes). Als een regel hier niet staat opgeschreven, mag die nergens anders bestaan.
- Modelleer saldi als een tijdlijn, niet als één getal. Sla openingsaldo, verdiend (opbouw), gebruikt en aanpassingen op zodat je elk saldo op elke datum kunt uitleggen.
- Bouw het aanvraagformulier met vroege controles. Valideer data, gedeeltelijke dagen, overlaps, kennisgevingstermijnen en “genoeg saldo vóór de startdatum” voordat goedkeuringen beginnen.
- Routeer goedkeuringen met een kleine set rollen (medewerker, directe manager, HR). Voeg uitzonderingen als data toe (zoals “vereist HR-review bij 10+ dagen”) in plaats van zij hard te coderen.
- Maak kalenderitems alleen na goedkeuring en behandel ze als gesynchroniseerde records die geüpdatet of geannuleerd kunnen worden wanneer de aanvraag verandert.
Houd de workflow leesbaar door elke beslissing in gewone taal te loggen (bijvoorbeeld: “Afgewezen: overlapt bestaand goedgekeurd verlof”). Als je een visuele workflowtool gebruikt zoals AppMaster’s Business Process Editor, label stappen zoals een mens ze zou lezen.
Test vóór lancering met echte scenario’s: achterwaartse aanvragen, manager op verlof, beleidswijziging halverwege het jaar en een wijziging na goedkeuring. Als de uitkomst HR verrast, is de regel nog niet duidelijk genoeg.
Kalenderintegratie die in de loop van de tijd nauwkeurig blijft
Een agenda moet snel één vraag beantwoorden: wie is er afwezig en wanneer. Probeer het agendaitem niet te veranderen in het hele aanvraagrecord. Zet alleen wat helpt bij planning en bewaar de rest in je HR-systeem.
Voor de inhoud van events, houd het consistent. Een goede standaard is een korte titel zoals “Out of office - Alex Kim” plus het verloftype als dat relevant is (“PTO”, “Sick”). Houd details minimaal voor privacy. Veel teams tonen het event als “Bezet” en bewaren redenen, saldi en notities alleen in de aanvraag.
Behandel kalenderitems als spiegel, niet als bron
Elke aanvraag heeft een stabiele interne ID nodig en elk agendaitem moet die ID opslaan (bijvoorbeeld in een custom veld of de omschrijving). Zo kun je veilig het juiste item aanmaken, bijwerken en verwijderen wanneer aanvragen veranderen.
Statusafhandeling is waar systemen uit elkaar groeien. Beslis vooraf of voorlopige aanvragen wel zichtbaar zijn. Als je ze toont, maak het verschil dan duidelijk (bijvoorbeeld prefix “Pending” in de titel en een andere beschikbaarheidsinstelling). Wanneer een aanvraag is goedgekeurd, werk dan hetzelfde item bij in plaats van een nieuw item te maken. Als een aanvraag wordt geannuleerd of afgewezen nadat deze zichtbaar was, verwijder het item zodat agenda's geen onwaarheden tonen.
Tijdzones en “vreemde” dagen
Tijdzones bijten het hardst bij hele dagen en gedeeltelijke dagen. Sla begin en eind als exacte tijdstempels op in de lokale tijdzone van de medewerker en sla die tijdzone ook bij de aanvraag op.
Gebruik all-day events alleen voor echte volledige dagen. Voor gedeeltelijke dagen maak je tijdgebonden events (bijv. 13:00–17:00) zodat collega’s in andere zones de juiste overlap zien.
- Volledige dag: all-day event in de tijdzone van de medewerker
- Gedeeltelijke dag: timed event met begin- en eindtijdstempels
- Meerdaags: all-day events zijn prima, maar controleer de einddatum-regel (inclusief versus exclusief)
Als synchronisatie met de agenda faalt, verberg dat niet. Zet de job in de wachtrij, probeer opnieuw met backoff en toon een duidelijke status “Agenda niet bijgewerkt” met een handmatige “herprobeer synchronisatie”-actie. In tools zoals AppMaster is dit doorgaans een eenvoudig achtergrondproces plus een admin-scherm met mislukte sync-pogingen zodat HR problemen kan oplossen zonder aanvragen te bewerken.
Veelgemaakte fouten en hoe ze te vermijden
De meeste mislukkingen in het ontwerp van een verlofaanvraag-systeem gebeuren wanneer regels geleidelijk groeien. Het systeem “werkt” nog wel, maar niemand vertrouwt de saldi meer en elk vreemd geval wordt een supportticket.
Fout 1: Opbouwlogica weggestopt in uitzonderingen
Als opbouw is opgesplitst over veel speciale gevallen (nieuwe werknemers, carryover, onbetaald verlof, deeltijd), kunnen mensen hun saldo niet voorspellen.
Houd één duidelijk opbouwmodel per verloftype en voeg uitzonderingen toe als benoemde, testbare regels. Schrijf een paar voorbeeldmedewerkers en verwachte saldi voor specifieke data op en controleer ze opnieuw wanneer het beleid verandert.
Fout 2: Goedkeuringsflows die zich eindeloos vertakken
Eindeloze vertakkende goedkeuringen worden ontestbaar en managers weten niet waarom een aanvraag naar iemand anders ging.
Een veiliger patroon is:
- Eén standaardgoedkeurder (meestal de directe manager)
- Eén optionele tweede goedkeurder (HR of afdelingshoofd) op basis van simpele condities
- Eén duidelijk fallback als de goedkeurder afwezig is (gedelegeerde of volgende manager)
- Eén eindstatus per aanvraag (goedgekeurd, afgewezen, geannuleerd)
Fout 3: Beleidstekst en wiskunde mengen in één veld
Beleidstekst is voor mensen (wat telt, wie is geschikt). Wiskunderegels zijn voor het systeem (tarief, caps, afronding, carryover). Sla ze apart op zodat je de tekst kunt bijwerken zonder berekeningen te wijzigen, en test berekeningen zonder het handboek te herschrijven.
Fout 4: Wijzigingen en annuleringen worden niet vastgelegd
Als je aanvragen overschrijft, verlies je het “waarom” achter een saldoverandering.
Houd altijd een audittrail: wie, wat en wanneer is aangepast en wat de vorige waarden waren. In AppMaster is dit eenvoudig te modelleren als een request history-tabel plus statustransities in een Business Process.
Fout 5: Tijdzones en feestdagen zijn een bijzaak
Verlof overspant datums, maar goedkeuringen en agendaitems gebruiken tijdstempels. Normaliseer naar één “beleidstijdzone” en sla de lokale tijdzone van de medewerker ook op. Bepaal bovendien vroeg of feestdagen de aangevraagde dagen verminderen en pas die regel consequent toe.
Snelle checklist voordat je het uitrolt
Voordat je het aan iedereen aankondigt, doorloop een korte set controles met een echte medewerker, een manager en iemand van HR. Je wilt bevestigen dat het systeem logisch aanvoelt, niet alleen dat het werkt.
Gebruik deze checklist als go/no-go poort voor je ontwerp van het verlofaanvraag-systeem:
- Zichtbaarheid saldo: Een medewerker kan het huidige saldo zien en hoe aankomend goedgekeurd verlof het verandert (zodat ze later niet plots een negatief saldo ontdekken).
- Beleidshelderheid: Elke regel staat in eenvoudige taal (carryover, blackout-dates, minimale kennisgeving, halve dagen) en de logica komt exact overeen met die woorden.
- Behulpzame validaties: Wanneer een aanvraag wordt geblokkeerd, zegt het bericht wat te wijzigen (data, verloftype, uren, ontbrekende bijlage), niet alleen “fout” of “niet toegestaan.”
- Manager-klare goedkeuringen: Een manager kan goedkeuren vanaf één scherm met genoeg context (overblijvend saldo, overlappende teamafwezigheden, overdrachtsnotities) en kan wijzigingen vragen zonder een lange heen-en-weer.
- Kalender en audit: Kalenderitems worden aangemaakt en gesynchroniseerd bij goedkeuring, wijziging en annulering, en elke statusverandering wordt gelogd met wie het deed en wanneer.
Een snelle praktische test: maak één aanvraag, keur deze goed, wijzig de data en annuleer vervolgens. Als een stap een verkeerd saldo, een achtergebleven agendaitem of een onverklaarde status achterlaat, los dat op vóór de lancering.
Als je dit met AppMaster bouwt, houd de workflow leesbaar door elke stap te benoemen naar de gebruikersactie (Submit, Validate, Route to Manager, Update Balance, Create/Update Calendar, Log Event) zodat het gedrag duidelijk blijft als beleid evolueert.
Voorbeeldscenario: van aanvraag naar agendapunt
Een nieuwe medewerker, Maya, begint op 10 maart. Je systeem ondersteunt maandelijkse opbouw, dus Maya verdient PTO op de eerste van elke maand. Op 12 april vraagt ze een halve dag van 3 uur aan volgende vrijdag voor een medische afspraak.
Wat iedereen ziet is verschillend:
- Medewerker (Maya): huidig saldo, hoeveel uren deze aanvraag zal gebruiken en een duidelijke waarschuwing als het negatief zou worden.
- Manager: een korte samenvatting (datum, uren, dekkingnotitie) plus de optie om goed te keuren, te weigeren of te delegeren.
- HR: het gebruikte beleid voor de berekening, een audittrail en een manier om opnieuw te berekenen als regels veranderen.
Maya dient de aanvraag in. Haar manager is op vakantie, dus het systeem controleert de delegatie-instelling en routeert naar de waarnemende manager. De waarnemend manager keurt goed.
Bij goedkeuring gebeuren twee dingen: de aanvraag wordt vastgezet op de beleidsversie die is gebruikt en er wordt een agendapunt aangemaakt met “Maya - PTO (3h)” op de juiste datum en tijdsperiode. Maya ziet direct “Goedgekeurd” en de agenda-status “Toegevoegd.”
In juni werkt HR halverwege het jaar het beleid bij (bijvoorbeeld opbouw neemt toe na 90 dagen). Saldi moeten opnieuw berekend worden, maar eerder goedgekeurde aanvragen mogen niet stilletjes worden gewijzigd. Het systeem herberekent Maya’s huidige saldo vanaf de ingangsdatum en houdt een auditrecord bij van vóór/na waarden.
Een week later wijzigt Maya de aanvraagdatum (de afspraak is verplaatst). Omdat het verlof al was goedgekeurd, wordt de wijziging een nieuwe “Wijzigingsaanvraag” die teruggaat naar de geautoriseerde waarnemer. Na hernieuwde goedkeuring wordt het bestaande agendapunt bijgewerkt (zelfde event-ID), niet gedupliceerd.
Dit is eenvoudig te modelleren in een tool zoals AppMaster door de workflow leesbaar te houden: één goedkeuringstraject, één delegatiecheck, één create/update-kalenderstap en een aparte herberekeningsactie die HR kan uitvoeren wanneer beleid verandert.
Volgende stappen: breng de eerste versie uit en verbeter veilig
De veiligste manier om een ontwerp van een verlofaanvraag-systeem af te ronden is het uitbrengen van een kleine versie die mensen kunnen vertrouwen en vervolgens uitbreiden. Begin met één beleidsvorm (bijvoorbeeld PTO) en één goedkeuringstraject (medewerker -> manager). Zodra dat saai en betrouwbaar aanvoelt, voeg je het volgende verloftype, regio of randgeval toe.
Voordat je meer regels bouwt, bepaal waar de bron van waarheid ligt. Als je HR-systeem het masterrecord is, moet je app vooral valideren, goedkeuringen routeren en resultaten terug synchroniseren. Als je app het master is, heb je duidelijkere auditlogs en een plan nodig voor wat er gebeurt wanneer HR-gegevens veranderen (nieuwe manager, afdeling verplaatst, beëindigingsdata).
Een praktisch plan voor de eerste release:
- Implementeer één verloftype met een duidelijk saldo en één opbouwregel.
- Voeg één managergoedkeuringstap toe en één HR-overridepad.
- Maak een eenvoudige kalendersync voor alleen goedgekeurd verlof.
- Houd een beheerscherm waar beleidsinstellingen door niet-technische eigenaren leesbaar zijn.
- Voeg basisrapportage toe: wie is er uit en aankomende afwezigheden.
Schrijf 5 tot 10 echte testcases op en voer ze opnieuw uit na elke wijziging. Gebruik cases van je eigen team, geen verzonnen voorbeelden. Bijvoorbeeld: iemand vraagt vrijdag af op donderdag, iemand wijzigt een aanvraag na goedkeuring of een manager keurt terwijl de medewerker in een andere tijdzone is.
Als je met no-code bouwt, is zichtbaarheid net zo belangrijk als functies. In AppMaster kun je het datamodel (verloftypes, saldi, goedkeuringen) en de goedkeuringsworkflow in visuele editors houden, zodat HR en operations kunnen beoordelen wat het systeem daadwerkelijk doet. Je kunt ook API's blootstellen voor kalender-synchronisatie en schone broncode genereren naarmate beleid evolueert, zonder steeds slordige fixes bovenop elkaar te stapelen.
Wanneer de eerste versie stabiel is, breid dan één dimensie tegelijk uit: meer beleid, meer routeringsregels en daarna meer integraties.


