# Módulo Tienda de Mascotas para PrestaShop: documentación del módulo

> Este módulo añade a PrestaShop 8 y 9 perfiles de mascotas en la cuenta del cliente, un cálculo de ración y una recomendación de formato en las fichas de pienso,…

- Página: <https://www.datafirefly.com/es/documentation/dfpetcare/>
- Idioma: es
- Actualizado el: 2026-09-24
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfpetcare/index.md), [en](https://www.datafirefly.com/en/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), [nl](https://www.datafirefly.com/nl/documentation/dfpetcare/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfpetcare/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

Este módulo añade a PrestaShop 8 y 9 perfiles de mascotas en la cuenta del cliente, un cálculo de ración y una recomendación de formato en las fichas de pienso, y planes de reposición que envían un aviso antes de que se acabe el saco, calculado sobre el consumo real del cliente. Nombre técnico: `dfpetcare`.

## Instalación

1. En **Módulos > Gestor de módulos**, haga clic en **Subir un módulo** y arrastre el archivo ZIP.
2. El módulo crea sus tablas y tres especies con sus razas: perro (32 razas), gato (12 razas) y conejo (2 razas).
3. Aparece un menú **Vender > Mascotas** con cuatro páginas: **Raciones de alimentos**, **Reposición**, **Perfiles de mascotas** y **Especies y razas**. Se añade un enlace **Mis mascotas** en la página Mi cuenta del cliente.
4. Programe la URL cron que aparece en la página de configuración del módulo (ver más abajo).

## Configurar los alimentos

Solo los productos declarados en **Mascotas > Raciones de alimentos** muestran el bloque de ración. Haga clic en **Añadir**, busque el producto por nombre, referencia o ID e indique:

- **Para**: las especies afectadas. Solo se proponen en la ficha las mascotas de estas especies. Deje vacío para todas.
- La **etapa de vida** del alimento (todas las edades, crecimiento, adulto, sénior): se muestra un aviso si la mascota del cliente no está en esa etapa.
- **Cálculo**: por la energía o por la tabla de raciones (ver más abajo).
- **Conservación tras la apertura** en días: no se recomiendan los sacos que quedarían abiertos más tiempo. 0 = sin límite.
- **Peso neto**: para un producto con combinaciones, el peso de cada combinación en gramos. El botón **Rellenar desde los nombres de las combinaciones** toma los pesos leídos en los nombres (`12 kg`, `400 g`, `12 x 85 g`). Deje vacía una combinación que no sea alimento. Para un producto simple, indique el peso neto total.

### Cálculo por la energía

Indique la energía metabolizable del alimento en kcal/kg (pienso seco: en general 3400 a 4200, húmedo: 700 a 1200). Para un perro o un gato, el módulo calcula la necesidad energética en reposo (70 × peso0,75), la multiplica por un coeficiente según la etapa de vida, la esterilización y la actividad, y la convierte en gramos. Este método no se aplica a las especies configuradas como «Otra».

### Cálculo por la tabla de raciones

Copie la tabla impresa en el saco: una línea por peso de la mascota con los gramos al día y la etapa de vida de la línea. Entre dos líneas, la ración se interpola. Fuera de la tabla, sigue el peso metabólico. La opción **Ajustar a la mascota** corrige la ración según la esterilización y la actividad para adultos y sénior. Es el único método posible para conejos, roedores y aves.

Cuando el veterinario ha fijado un peso objetivo, el módulo calcula la ración para ese peso y no para el peso actual.

## Especies y razas

En **Mascotas > Especies y razas**, cada especie tiene un nombre por idioma y un **modelo nutricional**: perro, gato u otra (solo tabla de raciones). Las razas tienen un nombre por idioma y un **tamaño** de toy a gigante: para un cachorro, el tamaño fija la edad adulta (12 meses en razas pequeñas, 18 meses en grandes, 24 meses en gigantes). Sin raza, el tamaño se deduce del peso. Una especie usada por mascotas no se puede eliminar: desactívela. Eliminar una raza deja a las mascotas afectadas sin raza.

## Lo que ve el cliente

### Mis mascotas

Desde Mi cuenta, el cliente crea hasta 20 perfiles: nombre, especie, raza, sexo, fecha de nacimiento, peso actual, peso objetivo, esterilización y nivel de actividad. Cada tarjeta muestra la edad y la etapa de vida (cachorro, gatito, adulto, sénior).

### Ficha de producto

Bajo el precio, el bloque **Ración diaria y formato** propone las mascotas del cliente compatibles con el alimento. Para las mascotas marcadas, muestra la ración en gramos al día, el número de tomas aconsejado, el total cuando hay varias y una tabla de formatos con su duración y su precio por kilo. El formato recomendado lleva una etiqueta y un botón **Elegir el saco**. Una guía de transición de 7 días indica los gramos del nuevo alimento día a día, con el nombre del alimento actual de la mascota cuando se conoce.

El formato recomendado es el más barato por kilo entre los disponibles que duran al menos la **duración mínima** configurada, sin superar la conservación tras la apertura.

La casilla **Avisarme por e-mail unos días antes de que se acabe el saco** activa los avisos para este alimento. La elección de mascotas y la casilla se guardan para el próximo pedido.

### Visitantes

Con la **calculadora de ración para visitantes**, un visitante o un cliente sin mascotas indica la especie, el peso, la edad, la actividad y la esterilización y obtiene la misma recomendación. Un cliente conectado puede guardar este perfil dándole un nombre.

### Página de confirmación de pedido

Tras un pedido de pienso, un bloque propone activar los avisos y, si el cliente tiene varias mascotas, elegir las que comen este alimento. Este bloque nunca desactiva avisos ya activos: solo puede activarlos e indicar las mascotas.

## Planes de reposición

Cada cliente tiene un plan por alimento. Un pedido se registra al validarse y se añade al plan cuando su estado cuenta como pagado. El stock empieza en la fecha del pedido más el **plazo de entrega medio** y disminuye cada día según el consumo:

- el **consumo teórico** es la suma de las raciones de las mascotas vinculadas al plan;
- en cada respuesta del cliente sobre lo que le queda (al menos 5 días después de la anterior), el módulo calcula el consumo observado, lo acota entre 0,4 y 2,5 veces el teórico para descartar errores de introducción y lo combina con la estimación anterior;
- si el cliente modifica el perfil de una mascota, el consumo sigue la misma proporción.

De ahí se deduce la fecha de fin del saco, y el aviso se programa con la **antelación del recordatorio** configurada. Un plan cuyo saco lleva vacío 90 días sin nuevo pedido se cierra.

### Área de cliente

En Mis mascotas, cada alimento seguido muestra un indicador de stock, los días restantes, la fecha de fin estimada, la fecha del próximo aviso y el consumo utilizado. El cliente puede indicar cuánto le queda (vacío, un cuarto, la mitad, tres cuartos, un saco, saco y medio, dos sacos), elegir qué mascotas comen el alimento, activar o desactivar los avisos, volver a pedir o dejar de seguir el alimento.

## Avisos y nuevo pedido

Solo los planes cuyo cliente ha activado los avisos reciben e-mails:

- el **primer aviso** sale el día previsto;
- el **segundo aviso** sale el número de días configurado más tarde si el cliente no ha vuelto a pedir ni respondido (0 lo desactiva).

El e-mail contiene un botón **Volver a pedir**, tres enlaces de respuesta (quedan unas 2 semanas, 1 semana aprox., el saco está vacío) y un enlace para pausar los avisos. Los enlaces de respuesta abren una página de confirmación: no se registra nada hasta que el cliente hace clic, lo que protege frente a los antivirus de correo que abren los enlaces.

El botón Volver a pedir pide iniciar sesión, llena el carrito con el mismo formato y cantidad y redirige al pedido. Si ese formato está agotado, el módulo propone el formato disponible más cercano en cantidad. Si el **descuento de reposición** es superior a 0 y el cliente mantiene los avisos activos, se aplica un cupón de un solo uso, limitado a ese alimento y válido el número de días configurado (código `PET` seguido de 8 caracteres).

El módulo nunca cobra al cliente: paga el nuevo pedido con sus medios de pago habituales.

## Configuración del módulo

- **Antelación del recordatorio** (7 días): cuántos días antes del fin estimado sale el aviso. Incluya su plazo de entrega.
- **Segundo recordatorio** (5 días, 0 = desactivado).
- **Plazo de entrega medio** (3 días): inicio del consumo de un saco nuevo.
- **Descuento de reposición** (5 %, 0 = sin cupón) y **validez del cupón** (14 días).
- **Duración mínima del saco recomendado** (14 días) y **conservación tras apertura por defecto** (42 días), que se rellena en los nuevos alimentos.
- **Calculadora de ración para visitantes**, **ejecutar tareas con el tráfico del back office** y **recordatorios por ejecución** (50).

Los valores fuera de rango se ajustan automáticamente a los límites permitidos.

## Tarea cron

La página de configuración muestra una URL protegida por token. Llámela cada hora, por ejemplo:

```
0 * * * * curl -s "https://su-tienda.es/module/dfpetcare/cron?token=..." > /dev/null
```

Cada ejecución integra los pedidos pagados, envía los avisos pendientes y cierra los planes inactivos. Sin cron, deje activada la ejecución con el tráfico del back office: las tareas se ejecutan como máximo cada 3 horas cuando un empleado usa el back office. El botón **Ejecutar tareas ahora** las lanza a demanda.

## Back office

- **Reposición**: lista de planes filtrable por cliente, e-mail, alimento, estado, avisos y fecha de fin, exportable a CSV, con los indicadores del mes (avisos enviados, pedidos tras un aviso, respuestas de stock). La ficha de un plan muestra las mascotas y su ración, el consumo teórico y el utilizado, el stock estimado y el historial completo, y permite registrar el stock indicado por el cliente o reenviar el aviso.
- **Perfiles de mascotas**: lista filtrable y exportable para sus segmentos de marketing (especie, raza, edad, peso, esterilización, cliente).
- **Ficha de cliente**: un bloque muestra sus mascotas y sus planes con un enlace a cada plan.

## E-mails y traducciones

La plantilla `dfpetcare_reorder` se entrega en 8 idiomas (francés, inglés, español, alemán, italiano, neerlandés, polaco, portugués), en HTML y texto, con un asunto y una introducción propios para el segundo aviso. Para otro idioma instalado se copia la plantilla inglesa. La interfaz del módulo está traducida a los mismos idiomas.

## RGPD

El módulo responde a las solicitudes de exportación y supresión de datos personales: perfiles de mascotas, planes, pedidos seguidos y elecciones guardadas. Eliminar un cliente también elimina sus datos en el módulo.

## Actualización desde la 1.0.0

Instale el ZIP 1.1.0 sobre la versión existente. El script de actualización añade la fecha del último aviso, activa el segundo aviso a 5 días, engancha los hooks de la página de confirmación de pedido y de la ficha de cliente, y conserva sus mascotas, alimentos y planes.

## Preguntas frecuentes

### El bloque de ración no aparece en la ficha de producto

Compruebe que el producto está declarado y activado en Raciones de alimentos, que hay una energía o una tabla, y que el cliente tiene una mascota de una especie compatible. Sin mascotas, la calculadora solo aparece si está activada.

### No se muestra la duración de los sacos

Falta el peso neto de la combinación. Indíquelo en Raciones de alimentos.

### No se envía ningún aviso

Compruebe que el cliente ha activado los avisos para este alimento, que la tarea cron se ejecuta (fecha de última ejecución en la página de configuración) y que los e-mails de la tienda funcionan. El botón Enviar el recordatorio ahora de la ficha de un plan muestra un error si el envío falla.

### ¿Qué ocurre al desinstalar?

Se eliminan las tablas del módulo: mascotas, alimentos, planes e historiales. Los cupones ya creados permanecen en las reglas de carrito.
