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.
Klantflows
Section titled “Klantflows”Boarding boeken
Section titled “Boarding boeken”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:
| Kamertype | Prijs per dag |
|---|---|
| Outside Kennels AC Room | 40 AWG |
| AC Room | 45 AWG |
| AC Room Deluxe | 55 AWG |
| Presidential Suite | 65 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
Kortingsregels
Section titled “Kortingsregels”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:
| Situatie | Korting |
|---|---|
| Extra hond in zelfde kamer, zelfde eigenaar | 20% op de extra hond |
| Verblijf langer dan 30 dagen, 1 hond | 10% |
| Verblijf langer dan 30 dagen, 2 honden | 20% |
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.
Gesplitste betaling
Section titled “Gesplitste betaling”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.
Paw Voucher kopen
Section titled “Paw Voucher kopen”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:
| Voucher | Prijs AWG |
|---|---|
| 1x | 35 |
| 5x | 170 |
| 10x | 295 |
| 15x | 395 |
| 20x | 495 |
| 30x | 695 |
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.
Daycare boeken met Paw Voucher
Section titled “Daycare boeken met Paw Voucher”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.
Adminflows
Section titled “Adminflows”Kamerbeheer
Section titled “Kamerbeheer”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.
Kamerbezetting overzicht
Section titled “Kamerbezetting overzicht”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.
Kamertoewijzing bij check-in
Section titled “Kamertoewijzing bij check-in”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.
Factuur bewerken
Section titled “Factuur bewerken”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.
Dagentelling
Section titled “Dagentelling”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.
Dashboard: openstaande betalingen
Section titled “Dashboard: openstaande betalingen”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.
Betaalherinnering versturen
Section titled “Betaalherinnering versturen”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.
Ophaler verifieren bij check-out
Section titled “Ophaler verifieren bij check-out”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.
Paw Vouchers beheren (admin)
Section titled “Paw Vouchers beheren (admin)”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)