Skip to content

Fase 3: Boarding + Paw Vouchers

Fase 3 bouwt voort op de dagelijkse operatie uit Fase 2. Dit is de complexste fase: 4 kamertypes, kortingsberekeningen, gesplitste betaling en kamertoewijzing. Daarnaast worden Paw Vouchers (strippenkaarten) toegevoegd als betaaloptie voor daycare. In totaal 29 user stories.


Route: /bookings/new

Stap 1: Dienst kiezen

De klant kiest “Boarding / Hotel” uit de dienstenlijst. Deze optie is alleen zichtbaar voor honden met een goedgekeurde testdag (trial_day_passed = true).

Stap 2: Hond(en) selecteren

Checkboxes per hond. Het systeem voert een vaccinatiecheck uit:

  • Verlopen vaccinatie: boeking geblokkeerd
  • Bijna verlopen (binnen 30 dagen): waarschuwing, boeking nog mogelijk

Meerdere honden van dezelfde eigenaar kunnen in dezelfde boeking. Dit is relevant voor de kortingsberekening.

Stap 3: Kamertype kiezen

De klant kiest een kamertype uit vier opties:

KamertypePrijs per dag
Outside Kennels AC Room40 AWG
AC Room45 AWG
AC Room Deluxe55 AWG
Presidential Suite65 AWG

Per type toont het systeem de beschikbaarheid. Kamertypes zonder vrije kamers in de gekozen periode zijn niet selecteerbaar.

Stap 4: Datums kiezen

Kalender met beschikbaarheid per kamertype. De klant selecteert een begin- en einddatum. Het systeem controleert:

  • Kamerbeschikbaarheid per type voor de gehele periode
  • Totale boarding capaciteit

Bij vol: de klant krijgt een melding dat het gekozen kamertype niet beschikbaar is voor die periode.

Stap 5: Bijzondere instructies en medicatie

Per hond:

  • Vrij tekstveld voor bijzondere instructies (optioneel)
  • Medicatie aangeven: welk medicijn, dosering. Kosten: 5 AWG per medicijn per dag. Dit wordt automatisch bij de prijs opgeteld.
  • Geautoriseerde ophalers toevoegen: naam en contactgegevens van personen die de hond mogen ophalen. Zonder autorisatie wordt de hond niet meegegeven.

Stap 6: Overzicht en bevestigen

Compleet overzicht met:

  • Per hond: naam, kamertype, datums
  • Aantal nachten
  • Basisprijs per hond
  • Toegepaste korting (als die er is), met uitleg waarom
  • Medicatiekosten (als van toepassing)
  • Subtotaal
  • BBO (6%) en BAZV (1,5%) inbegrepen in het totaal
  • Totaalbedrag

De klant ziet duidelijk welke korting is toegepast. Bijvoorbeeld: “20% korting extra hond zelfde kamer” of “10% korting verblijf langer dan 30 dagen”.

Na bevestiging:

  • Boeking krijgt status pending
  • Factuur wordt aangemaakt met 50% aanbetaling
  • Sentoo betaallink voor de 50% wordt gegenereerd en per mail verstuurd
  • De 50% aanbetaling is niet-restitueerbaar

Foutafhandeling:

  • Geen goedgekeurde testdag: boarding is niet zichtbaar
  • Kamertype vol: niet selecteerbaar, melding met beschikbare alternatieven
  • Verlopen vaccinatie: boeking geblokkeerd

Het systeem past automatisch kortingen toe bij boarding boekingen. Er geldt altijd maar een korting per hond per boeking. De hoogste korting wint.

Beschikbare kortingen:

SituatieKorting
Extra hond in zelfde kamer, zelfde eigenaar20% op de extra hond
Verblijf langer dan 30 dagen, 1 hond10%
Verblijf langer dan 30 dagen, 2 honden20%

Geen stapeling: als een hond zowel “extra hond” als “langdurig verblijf” korting zou krijgen, wordt alleen de hoogste toegepast.

Voorbeeld: 2 honden, 35 dagen, AC Room (45 AWG/dag):

  • Hond 1: 35 x 45 = 1.575 AWG (geen korting, basishond)
  • Hond 2: 35 x 45 = 1.575 x 0,80 = 1.260 AWG (20% korting: combinatie multi-hond + langdurig)
  • Subtotaal: 2.835 AWG
  • BBO en BAZV inbegrepen in het totaal

De klant ziet in het overzicht per hond welke korting is toegepast en het oorspronkelijke bedrag doorgestreept naast het kortingsbedrag.


Boarding werkt met gesplitste betaling: 50% vooraf, 50% bij check-in.

Eerste 50% (aanbetaling)

Na bevestiging ontvangt de klant een factuur met Sentoo betaallink voor 50% van het totaalbedrag. Deze aanbetaling is niet-restitueerbaar.

Vervaltermijn: als de 50% niet binnen 7 dagen na factuurdatum is betaald, wordt de reservering automatisch verwijderd. De kamer komt vrij voor andere klanten. De klant ontvangt een notificatie dat de reservering is vervallen.

Tweede 50% (bij check-in)

De resterende 50% wordt betaald bij check-in. De admin maakt hiervoor een tweede factuur aan met Sentoo betaallink, of de klant betaalt cash/pin aan de balie.


Route: /bookings/new (dienst: Paw Voucher) of /subscriptions

De klant koopt een strippenkaart voor daycare. Bij elke daycare check-in wordt 1 credit afgetrokken.

Beschikbare staffels:

VoucherPrijs AWG
1x35
5x170
10x295
15x395
20x495
30x695

Wat de klant ziet:

  • Overzicht van alle staffels met prijs
  • Na selectie: Sentoo betaallink voor 100% vooruitbetaling
  • Na betaling: credits worden direct bijgeschreven

Route: /subscriptions

Hier ziet de klant per hond:

  • Resterende credits
  • Gebruikshistorie (datum + gekoppelde boeking per afgeschreven credit)

Notificatie bij lage credits: als het saldo 2 of minder is, stuurt het systeem een notificatie naar de klant.


Route: /bookings/new

Bij het kiezen van een dienst ziet de klant “Daycare Paw Voucher” als optie, maar alleen als het vouchersaldo groter is dan 0. Staat het saldo op 0, dan is deze optie niet zichtbaar.

De boekingsflow is verder gelijk aan een normale daycare boeking (capaciteitscheck, vaccinatiecheck, datum kiezen). Het verschil is dat er geen factuur wordt aangemaakt. In plaats daarvan wordt bij check-in automatisch 1 credit afgetrokken van de voucher.


Route: /admin/settings (sectie Kamers)

De admin beheert het kamerbestand:

Per kamer:

  • Naam (bijv. “Kamer 3”, “Presidential 1”)
  • Type (outside_ac, ac_room, ac_deluxe, presidential)
  • Capaciteit (hoeveel honden)
  • Airco (ja/nee)
  • Notities (vrij tekstveld)
  • Status: actief of inactief

Acties:

  • Kamer toevoegen
  • Kamer bewerken
  • Kamer deactiveren (bij onderhoud of schoonmaak)

Gedeactiveerde kamers worden niet meegeteld in de beschikbaarheid.


Route: /admin (dashboard sectie)

Het kamerbezettingsoverzicht toont:

  • Per kamer: welke hond erin zit, eigenaar, tot wanneer
  • Vrije kamers per type
  • Visueel overzicht als lijst met statusindicator (bezet/vrij)

Dit helpt de admin om snel te zien waar plek is en welke kamers binnenkort vrijkomen.


Route: /admin/bookings/[id]

Bij het registreren van een check-in voor een boarding boeking selecteert de admin een specifieke kamer uit de beschikbare kamers van het geboekte type.

Wat de admin ziet:

  • Lijst met vrije kamers van het geboekte type
  • Per kamer: naam, eventuele notities

Na toewijzing is de kamer bezet tot check-out.

Bij check-out: de kamer wordt automatisch vrijgegeven. De admin bevestigt de check-out, het tijdstip wordt vastgelegd en de kamer verdwijnt uit het bezettingsoverzicht.


Route: /admin/invoices/[id]

Bij boarding en langdurig verblijf kan de admin de factuur bewerken voordat deze naar de klant gaat. Dit is de vereenvoudigde versie van de concept-factuur flow.

Bewerkbare velden:

  • Kortingspercentage aanpassen
  • Factuurregels toevoegen, wijzigen of verwijderen
  • Notities toevoegen (zichtbaar op de factuur)

Na het bewerken kan de admin de factuur goedkeuren en versturen. Het systeem genereert dan een Sentoo betaallink en stuurt de factuur per email naar de klant.


Het systeem telt dagen voor boarding op de volgende manier:

  • Ochtend ophalen (voor 12:00): telt niet als extra dag
  • Middag ophalen (na 12:00): telt als extra dag
  • Niet opgehaald voor sluitingstijd: het systeem boekt automatisch een extra overnachting en het nachtarief wordt in rekening gebracht

De admin hoeft hier niets voor te doen. Bij check-out berekent het systeem automatisch de juiste dagentelling op basis van het tijdstip.


Route: /admin

Het dashboard toont twee financiele blokken:

Openstaande betalingen Totaalbedrag en aantal facturen dat nog openstaat. Klikbaar naar het factuuroverzicht met filter “openstaand”.

Concept-facturen ter controle Facturen die nog bewerkt moeten worden voordat ze naar de klant gaan. Typisch bij langdurig boarding verblijf met kortingen.


Route: /admin/invoices/[id]

De admin kan handmatig een betaalherinnering sturen naar de klant. Dit genereert een email met de openstaande factuur en Sentoo betaallink. Handig als de automatische herinneringen (dag 3, dag 7) niet genoeg waren.


Route: /admin/bookings/[id]

Bij check-out van een boarding boeking toont het systeem de lijst met geautoriseerde ophalers. De admin verifieert of de persoon die de hond komt ophalen op de lijst staat.

Wat de admin ziet:

  • Naam eigenaar
  • Lijst geautoriseerde ophalers (naam + contactgegevens)
  • De persoon die zich meldt

Als de ophaler niet op de lijst staat, wordt de hond niet meegegeven. De admin neemt contact op met de eigenaar voor autorisatie.


Route: /admin/subscriptions

De admin kan alle actieve strippenkaarten overzien:

  • Per voucher: klant, hond, resterende credits, type voucher
  • Filter op actief/leeg

Route: /admin/subscriptions/[id]

Per strippenkaart kan de admin:

  • Credits handmatig bijwerken (correctie, bijv. bij een fout of coulance)
  • Gebruikshistorie inzien (welke credits wanneer afgeschreven)