# Dierenwinkel Module voor PrestaShop: documentatie van de module

> Deze module voegt aan PrestaShop 8 en 9 dierprofielen in het klantaccount toe, een portieberekening en een aanbevolen zakgrootte op de voerpagina's, en bijbestelplannen die een herinnering sturen voordat de…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfpetcare/>
- Taal: nl
- Bijgewerkt op: 2026-09-24
- Andere talen: [fr](https://www.datafirefly.com/documentation/dfpetcare/index.md), [en](https://www.datafirefly.com/en/documentation/dfpetcare/index.md), [es](https://www.datafirefly.com/es/documentation/dfpetcare/index.md), [de](https://www.datafirefly.com/de/documentation/dfpetcare/index.md), [it](https://www.datafirefly.com/it/documentation/dfpetcare/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfpetcare/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfpetcare/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

Deze module voegt aan PrestaShop 8 en 9 dierprofielen in het klantaccount toe, een portieberekening en een aanbevolen zakgrootte op de voerpagina's, en bijbestelplannen die een herinnering sturen voordat de zak leeg is, berekend op het werkelijke verbruik van de klant. Technische naam: `dfpetcare`.

## Installatie

1. Klik in **Modules > Modulebeheer** op **Een module uploaden** en sleep het ZIP-bestand erin.
2. De module maakt haar tabellen en drie diersoorten met hun rassen aan: hond (32 rassen), kat (12 rassen) en konijn (2 rassen).
3. Er verschijnt een menu **Verkoop > Dierenwinkel** met vier pagina's: **Voederinstellingen**, **Bijbestelplannen**, **Dierprofielen** en **Diersoorten en rassen**. Op de pagina Mijn account van de klant wordt een link **Mijn dieren** toegevoegd.
4. Plan de cron-URL die op de configuratiepagina van de module staat (zie hieronder).

## Voerproducten instellen

Alleen producten die in **Dierenwinkel > Voederinstellingen** zijn toegevoegd, tonen het portieblok. Klik op **Toevoegen**, zoek het product op naam, referentie of ID en vul in:

- **Voor**: de betrokken diersoorten. Alleen dieren van deze soorten worden op de productpagina aangeboden. Leeg laten voor alle soorten.
- De **levensfase** van het voer (alle leeftijden, groei, volwassen, senior): er verschijnt een waarschuwing als het dier van de klant niet in die fase is.
- **Berekening**: via de energie of via de voedertabel (zie hieronder).
- **Houdbaarheid na opening** in dagen: zakken die langer open zouden blijven, worden niet aanbevolen. 0 = geen limiet.
- **Nettogewicht**: bij een product met combinaties het gewicht van elke combinatie in gram. De knop **Invullen vanuit de combinatienamen** neemt de gewichten over die in de namen staan (`12 kg`, `400 g`, `12 x 85 g`). Laat een combinatie die geen voer is leeg. Bij een enkelvoudig product vult u het totale nettogewicht in.

### Berekening via de energie

Vul de metaboliseerbare energie van het voer in kcal/kg in (droogvoer: meestal 3400 tot 4200, natvoer: 700 tot 1200). Voor een hond of kat berekent de module de energiebehoefte in rust (70 × gewicht0,75), vermenigvuldigt die met een factor voor levensfase, castratie en activiteit en rekent die om naar grammen. Deze methode geldt niet voor diersoorten met het model „Overig”.

### Berekening via de voedertabel

Neem de tabel van de zak over: één regel per diergewicht met de grammen per dag en de levensfase van de regel. Tussen twee regels wordt de portie geïnterpoleerd. Buiten de tabel volgt ze het metabole gewicht. De optie **Aanpassen aan het dier** corrigeert de portie voor castratie en activiteit bij volwassen dieren en senioren. Voor konijnen, knaagdieren en vogels is dit de enige mogelijke methode.

Als de dierenarts een streefgewicht heeft vastgesteld, berekent de module de portie voor dat gewicht en niet voor het huidige.

## Diersoorten en rassen

In **Dierenwinkel > Diersoorten en rassen** heeft elke diersoort een naam per taal en een **voedingsmodel**: hond, kat of overig (alleen voedertabel). Rassen hebben een naam per taal en een **grootte** van toy tot reus: bij een pup bepaalt de grootte de volwassen leeftijd (12 maanden bij kleine rassen, 18 maanden bij grote, 24 maanden bij reuzenrassen). Zonder ras wordt de grootte afgeleid uit het gewicht. Een diersoort die door dieren wordt gebruikt, kan niet worden verwijderd: schakel haar uit. Als u een ras verwijdert, blijven de betrokken dieren zonder ras.

## Wat de klant ziet

### Mijn dieren

Vanuit Mijn account maakt de klant tot 20 profielen aan: naam, diersoort, ras, geslacht, geboortedatum, huidig gewicht, streefgewicht, castratie en activiteitsniveau. Elke kaart toont de leeftijd en levensfase (pup, kitten, volwassen, senior).

### Productpagina

Onder de prijs biedt het blok **Dagelijkse portie en verpakking** de dieren van de klant aan die bij het voer passen. Voor de geselecteerde dieren toont het de portie in gram per dag, het geadviseerde aantal maaltijden, het totaal bij meerdere dieren en een tabel met zakgroottes, hun duur en kiloprijs. De aanbevolen grootte heeft een badge en een knop **Kies de zak**. Een overgangsschema van 7 dagen geeft dag per dag de grammen nieuw voer, met de naam van het huidige voer als die bekend is.

Aanbevolen wordt de goedkoopste grootte per kilo onder de beschikbare groottes die minstens de ingestelde **minimale duur** meegaan, zonder de houdbaarheid na opening te overschrijden.

Het vakje **Mail me een paar dagen voordat de zak leeg is** schakelt de herinneringen voor dit voer in. De keuze van de dieren en het vakje worden onthouden voor de volgende bestelling.

### Bezoekers

Met de **portiecalculator voor bezoekers** vult een bezoeker of een klant zonder dieren de soort, het gewicht, de leeftijd, de activiteit en de castratie in en krijgt dezelfde aanbeveling. Een ingelogde klant kan dit profiel opslaan door het een naam te geven.

### Bestelbevestigingspagina

Na een voerbestelling stelt een blok voor om herinneringen in te schakelen en, als de klant meerdere dieren heeft, de dieren te kiezen die dit voer eten. Dit blok schakelt actieve herinneringen nooit uit: het kan ze alleen inschakelen en de dieren instellen.

## Bijbestelplannen

Elke klant heeft één plan per voer. Een bestelling wordt bij validatie vastgelegd en aan het plan toegevoegd zodra haar status als betaald geldt. De voorraad start op de besteldatum plus de **gemiddelde levertijd** en daalt elke dag met het verbruik:

- het **theoretische verbruik** is de som van de porties van de dieren die aan het plan gekoppeld zijn;
- bij elk antwoord van de klant over wat er nog is (minstens 5 dagen na het vorige) berekent de module het waargenomen verbruik, begrenst het tussen 0,4 en 2,5 keer het theoretische om typefouten uit te sluiten, en combineert het met de vorige schatting;
- als de klant een dierprofiel wijzigt, volgt het verbruik in dezelfde verhouding.

Daaruit volgt de einddatum van de zak, en de herinnering wordt met de ingestelde **voorlooptijd** eerder gepland. Een plan waarvan de zak al 90 dagen leeg is zonder nieuwe bestelling, wordt afgesloten.

### Klantomgeving

In Mijn dieren toont elk gevolgd voer een voorraadmeter, de resterende dagen, de geschatte einddatum, de datum van de volgende herinnering en het gebruikte verbruik. De klant kan aangeven wat er nog is (leeg, een kwart, de helft, driekwart, één zak, anderhalve zak, twee zakken), kiezen welke dieren het voer eten, herinneringen in- of uitschakelen, opnieuw bestellen of het voer niet meer volgen.

## Herinneringen en herbestelling

Alleen plannen waarvan de klant herinneringen heeft ingeschakeld, krijgen e-mails:

- de **eerste herinnering** gaat op de geplande dag uit;
- de **tweede herinnering** volgt het ingestelde aantal dagen later als de klant niet heeft bijbesteld of geantwoord (0 schakelt haar uit).

De e-mail bevat een knop **Opnieuw bestellen**, drie antwoordlinks (nog ongeveer 2 weken, nog ongeveer 1 week, de zak is leeg) en een link om herinneringen te pauzeren. De antwoordlinks openen een bevestigingspagina: er wordt niets opgeslagen voordat de klant klikt, wat beschermt tegen mailscanners die links openen.

De knop Opnieuw bestellen vraagt om in te loggen, vult de winkelwagen met dezelfde grootte en hoeveelheid en leidt door naar de bestelling. Is die grootte uitverkocht, dan stelt de module de beschikbare grootte met de dichtstbijzijnde hoeveelheid voor. Als de **bijbestelkorting** hoger is dan 0 en de klant herinneringen aan laat staan, wordt een eenmalige kortingsbon toegepast, beperkt tot dat voer en geldig gedurende het ingestelde aantal dagen (code `PET` gevolgd door 8 tekens).

De module schrijft nooit af bij de klant: die betaalt de herbestelling met uw gebruikelijke betaalmethoden.

## Configuratie van de module

- **Voorlooptijd herinnering** (7 dagen): hoeveel dagen voor de geschatte einddatum de herinnering uitgaat. Reken uw levertijd mee.
- **Tweede herinnering** (5 dagen, 0 = uit).
- **Gemiddelde levertijd** (3 dagen): start van het verbruik van een nieuwe zak.
- **Bijbestelkorting** (5%, 0 = geen bon) en **geldigheid van de bon** (14 dagen).
- **Minimale duur van de aanbevolen zak** (14 dagen) en **standaard houdbaarheid na opening** (42 dagen), vooraf ingevuld bij nieuwe voerproducten.
- **Portiecalculator voor bezoekers**, **taken uitvoeren via back-officeverkeer** en **herinneringen per run** (50).

Waarden buiten het bereik worden automatisch binnen de toegestane grenzen gebracht.

## Cronjob

De configuratiepagina toont een met een token beveiligde URL. Roep die elk uur aan, bijvoorbeeld:

```
0 * * * * curl -s "https://uw-winkel.nl/module/dfpetcare/cron?token=..." > /dev/null
```

Elke run verwerkt betaalde bestellingen, verstuurt de verschuldigde herinneringen en sluit inactieve plannen af. Zonder cronjob laat u de uitvoering via back-officeverkeer ingeschakeld: de taken draaien dan hooguit elke 3 uur wanneer een medewerker de back-office gebruikt. De knop **Taken nu uitvoeren** start ze op verzoek.

## Back-office

- **Bijbestelplannen**: lijst van plannen filterbaar op klant, e-mail, voer, status, herinneringen en einddatum, exporteerbaar naar CSV, met de indicatoren van de maand (verstuurde herinneringen, herbestellingen na een herinnering, voorraadantwoorden). De planweergave toont de dieren en hun portie, het theoretische en gebruikte verbruik, de geschatte voorraad en de volledige geschiedenis, en laat u de door de klant gemelde voorraad vastleggen of de herinnering opnieuw versturen.
- **Dierprofielen**: filterbare en exporteerbare lijst voor uw marketingsegmenten (soort, ras, leeftijd, gewicht, castratie, klant).
- **Klantpagina**: een blok toont de dieren en plannen van de klant met een link naar elk plan.

## E-mails en vertalingen

Het sjabloon `dfpetcare_reorder` wordt geleverd in 8 talen (Frans, Engels, Spaans, Duits, Italiaans, Nederlands, Pools, Portugees), in HTML en tekst, met een eigen onderwerp en inleiding voor de tweede herinnering. Voor elke andere geïnstalleerde taal wordt het Engelse sjabloon gekopieerd. De interface van de module is in dezelfde talen vertaald.

## AVG

De module beantwoordt verzoeken om export en verwijdering van persoonsgegevens: dierprofielen, plannen, gevolgde bestellingen en opgeslagen keuzes. Het verwijderen van een klant verwijdert ook diens gegevens in de module.

## Bijwerken vanaf 1.0.0

Installeer de ZIP 1.1.0 over de bestaande versie. Het updatescript voegt de datum van de laatste herinnering toe, schakelt de tweede herinnering in op 5 dagen, koppelt de hooks van de bestelbevestiging en de klantpagina en behoudt uw dieren, voerproducten en plannen.

## Veelgestelde vragen

### Het portieblok verschijnt niet op de productpagina

Controleer of het product in Voederinstellingen is toegevoegd en ingeschakeld, of er een energie of tabel is ingevuld en of de klant een dier van een passende soort heeft. Zonder dieren verschijnt de calculator alleen als die is ingeschakeld.

### De duur van de zakken wordt niet getoond

Het nettogewicht van de combinatie ontbreekt. Vul het in bij Voederinstellingen.

### Er wordt geen herinnering verstuurd

Controleer of de klant herinneringen voor dit voer heeft ingeschakeld, of de cronjob draait (datum van de laatste uitvoering op de configuratiepagina) en of de e-mails van de winkel werken. De knop Herinnering nu versturen in de planweergave toont een fout als het versturen mislukt.

### Wat gebeurt er bij het verwijderen?

De tabellen van de module worden verwijderd: dieren, voerproducten, plannen en geschiedenis. Reeds aangemaakte kortingsbonnen blijven in de winkelwagenregels staan.
