Skip to content

Fase 4: Unlimited Daycare

11 user stories, 5 scenario’s + 1 edge case.

Developer checkt of de infrastructuur voor maandelijkse facturering werkt.

Dekt: 4.1.1, 4.1.2

Voorwaarden: Supabase Pro actief ($25/maand)

  1. Check Supabase Pro plan actief in het dashboard
  2. Check pg_cron extensie beschikbaar en geactiveerd
  3. Maak pg_cron job aan voor maandelijkse facturering. Job schedule: draait dagelijks, checkt welke abonnementen op die dag aan verlenging toe zijn op basis van hun facturatiedag
  4. Test de job handmatig. Facturen worden gegenereerd voor abonnementen waarvan de facturatiedag overeenkomt met vandaag
  5. Check job monitoring: pg_cron logging is actief, mislukte runs zijn zichtbaar in Supabase logs
  6. Check dat de job geen dubbele facturen aanmaakt bij herhaald draaien op dezelfde dag

Resultaat: pg_cron werkt, maandelijkse job functioneel, monitoring en logging actief, idempotent bij herhaald draaien.

Klant start een Unlimited daycare abonnement en gebruikt het.

Dekt: 4.2.1, 4.2.2, 4.2.6, 4.2.7

Voorwaarden: Klant met hond, daycare beschikbaar, klant heeft nog geen actief abonnement

  1. Ga naar /bookings/new (dienst: Daycare Unlimited) of /subscriptions. Optie is niet zichtbaar als klant al een actief abonnement heeft
  2. Kies startdatum. Facturatiedag wordt automatisch ingesteld op basis van de startdatum
  3. Check de maandprijs die getoond wordt: is BBO (6%) en BAZV (1,5%) inbegrepen in het maandbedrag?
  4. Bevestig. Eerste maandfactuur met Sentoo betaallink wordt aangemaakt en per mail verstuurd
  5. Betaal. Abonnement wordt actief
  6. Boek daycare op /bookings/new. Optie “Daycare Unlimited” is zichtbaar (alleen bij actief abonnement). Geen factuur, geen betaling nodig
  7. Bekijk abonnementsdetails op /subscriptions: startdatum, maandprijs, volgende betaaldatum, status (actief)
  8. End-of-month test: stel facturatiedag is 31. Wat gebeurt er in februari (28/29 dagen)? Check dat het systeem correct omgaat met maanden die korter zijn dan de facturatiedag
  9. Volgende maand: controleer dat pg_cron automatisch factuur + Sentoo betaallink genereert en per mail verstuurt

Resultaat: Abonnement actief, daycare gratis bij actief abonnement, maandprijs en belasting transparant, end-of-month handling correct, maandelijkse facturering automatisch.

Systeem escaleert bij niet-betaling van maandfactuur.

Dekt: 4.2.3

Voorwaarden: Unlimited abonnement actief, maandfactuur onbetaald

  1. Dag 3 na factuurdatum (dus dag 4 na aanmaak): check dat herinnerings-email automatisch verstuurd wordt naar klant met openstaande factuur en Sentoo betaallink
  2. Dag 7 na factuurdatum: check tweede herinnering met dringender toon en waarschuwing dat abonnement geblokkeerd kan worden
  3. Dag 14 na factuurdatum: check dat admin een notificatie ontvangt. Admin kan beslissen: nog een herinnering sturen, abonnement pauzeren, of contact opnemen met klant
  4. Check dat het systeem het abonnement niet automatisch blokkeert (dat is een handmatige admin-beslissing)

Resultaat: Escalatie op correcte momenten (dag 3, 7, 14 na factuurdatum), admin geinformeerd op dag 14, geen automatische blokkering.

Klant en admin kunnen een Unlimited abonnement opzeggen of pauzeren.

Dekt: 4.2.4, 4.2.5

Voorwaarden: Actief Unlimited abonnement

  1. Klant opzeggen op /subscriptions: klik “Opzeggen” knop
  2. Bevestigingsdialoog verschijnt met tekst: “Er vindt geen restitutie plaats voor de lopende maand.”
  3. Na bevestiging: status wijzigt naar “opgezegd”. Abonnement blijft actief tot het einde van de huidige betaalperiode
  4. Check: na einde betaalperiode wordt abonnement definitief stopgezet. Klant ontvangt bevestigingsmail
  5. Check: geen nieuwe maandfactuur volgende maand
  6. Check: na opzeggen kan klant geen “Daycare Unlimited” meer boeken (optie niet zichtbaar), maar wel losse daycare of Paw Voucher
  7. Admin pauzeren op /admin/subscriptions/[id]: klik “Pauzeren”
  8. Check: geen facturering tijdens pauze, klant kan geen Unlimited daycare boeken (optie niet zichtbaar)
  9. Admin heractiveren: klik “Heractiveren” op /admin/subscriptions/[id]. Abonnement wordt weer actief
  10. Admin opzeggen namens klant op /admin/subscriptions/[id]: klik “Opzeggen”. Geen restitutie, openstaande facturen blijven verschuldigd, klant ontvangt notificatie
  11. Klant met gepauzeerd abonnement probeert daycare te boeken: optie “Daycare Unlimited” is niet zichtbaar, klant wordt niet geblokkeerd voor andere betaalopties

Resultaat: Opzeggen actief tot einde betaalperiode, pauzeren en heractiveren werkt, gepauzeerd abonnement blokkeert Unlimited maar niet andere opties.

Admin overziet alle abonnementen en factuurhistorie.

Dekt: 4.3.1, 4.3.2

Voorwaarden: Meerdere Unlimited abonnementen in het systeem

  1. Ga naar /admin/subscriptions. Overzicht per abonnement: klant, hond, status (actief/gepauzeerd/opgezegd), startdatum, volgende betaaldatum, openstaande maandfacturen (ja/nee met bedrag)
  2. Check filters: status (actief/gepauzeerd/opgezegd) en openstaande facturen (ja/nee)
  3. Check dat abonnementen met openstaande facturen bovenaan staan
  4. Open specifiek abonnement op /admin/subscriptions/[id]. Bekijk factuurhistorie per maand: factuurnummer, factuurdatum, bedrag, betaalstatus (betaald/openstaand/verlopen), betaalmethode (Sentoo/cash/pin), betaaldatum
  5. Klik door naar factuurdetails op /admin/invoices/[id] om herinnering te sturen of factuur handmatig als betaald te markeren

Resultaat: Overzicht compleet met filters, openstaande facturen prioriteit, factuurhistorie per abonnement beschikbaar met doorklik.

Klant heeft zowel Unlimited abonnement als Paw Voucher actief.

Versterkt: S-4.2, S-3.9

  1. Klant heeft actief Unlimited + voucher met 5 credits
  2. Boek daycare op /bookings/new. Check welke betaalopties getoond worden vanuit het perspectief van de klant. Unlimited heeft voorrang: optie “Daycare Unlimited” wordt getoond, niet “Daycare Paw Voucher”
  3. Check dat voucher credits niet worden afgetrokken bij een Unlimited boeking
  4. Klant zegt Unlimited op. Na einde betaalperiode: volgende boeking toont weer “Daycare Paw Voucher” als optie (mits saldo > 0)
  5. Unlimited met onbetaalde maandfactuur: optie “Daycare Unlimited” is niet zichtbaar. Klant kan wel boeken via voucher of regulier
  6. Check of er een daily limit is voor Unlimited daycare (bijv. max 1 bezoek per dag per hond). Kan een klant 2x op dezelfde dag boeken?

Resultaat: Duidelijke prioriteit (Unlimited > Voucher > Regulier), geen dubbele afschrijving, daily limit gedefinieerd.