Configuración Básica de Festivos
Bloquea festivos nacionales, cierres de tienda o cualquier rango de fechas en el que tu almacén no preparará ni enviará pedidos: el módulo retrasa automáticamente todas las estimaciones de entrega afectadas para que tus clientes vean siempre fechas precisas.
Disponible desde la v4.0.0
Descripción general
Cuando gestionas una tienda, hay días que sencillamente no son laborables: festivos nacionales, cierres anuales por inventario, vacaciones de toda la empresa. Si el módulo no tiene constancia de esos días, los tratará como días normales de procesamiento y mostrará estimaciones de entrega que tu equipo no puede cumplir.
La función de Festivos (Holidays) te permite definir rangos de fechas puntuales o recurrentes y marcarlos como no laborables a efectos de entrega. Cuando el módulo calcula una fecha de entrega y un festivo cae dentro del plazo, adelanta la fecha estimada hasta pasado el festivo: sin ajustes manuales y sin quejas de clientes por fechas prometidas que se retrasan.
También puedes controlar si un festivo afecta a la parte de preparación (picking) del pedido (cuando el almacén lo empaqueta), a la parte de env ío (cuando el transportista lo recoge) o a ambas. Y como no todas las tiendas de una configuración multitienda tienen el mismo calendario, cada festivo puede activarse o desactivarse de forma independiente para cada tienda sin necesidad de volver a crearlo.
Configuración
- Ve a Módulos > Gestor de módulos (Modules > Module Manager), busca Estimated Delivery y haz clic en Configurar (Configure).
- Accede a la pestaña Festivos (Holidays).
- Rellena el formulario Añadir festivo (Add Holiday) que aparece en la parte superior de la página y haz clic en Guardar (Save).
Campos del formulario Añadir festivo
| Campo | Valores | Por defecto | Descripción |
|---|---|---|---|
| Nombre del festivo (Holiday Name) | Texto (obligatorio) | — | Una etiqueta para tu propia referencia, por ejemplo "Cierre de Navidad" o "Fiesta nacional". No se muestra a los clientes. |
| Fecha de inicio (Start Date) | Fecha (obligatorio) | — | El primer día del cierre. |
| Fecha de fin (End Date) | Fecha (opcional) | Igual que la Fecha de inicio | El último día del cierre. Déjalo en blanco para un festivo de un solo día. |
| Repetición anual (Yearly Repeat) | Sí / No | No | Si se activa, el festivo se repite automáticamente cada año en las mismas fechas del calendario. Útil para festivos nacionales fijos. |
| Ámbito (Scope) | Ambos / Solo preparación / Solo envío | Ambos | Controla qué parte del proceso logístico afecta el festivo. Ambos bloquea todo el plazo de entrega. Solo preparación retrasa el momento en que el almacén procesa el pedido. Solo envío retrasa el momento en que el transportista lo recoge. |
| Tiendas (Shops) | Selección múltiple (solo multitienda) | Tienda actual | A qué tiendas se aplica el festivo. Solo se muestra si tu instalación de PrestaShop tiene más de una tienda. |
Cuando se deja en blanco el campo Fecha de fin, el sistema lo iguala automáticamente a la Fecha de inicio, creando un cierre de un solo día.
El campo Ámbito te permite modelar con precisión situaciones del mundo real. Por ejemplo, si tu almacén cierra en un festivo pero un transportista sigue recogiendo pedidos ya empaquetados, establece el ámbito en Solo preparación para que los envíos ya empaquetados no se retrasen.
Gestión de los festivos existentes
La lista de festivos situada debajo del formulario muestra todos los festivos configurados. Para cada entrada puedes:
- Activar o desactivar — Habilita o deshabilita el festivo por tienda sin eliminarlo. El interruptor no es destructivo: el festivo permanece en la lista y puedes volver a activarlo en cualquier momento.
- Activar o desactivar la repetición anual — Activa o desactiva la recurrencia de un festivo existente sin volver a introducir las fechas.
- Editar — Carga los valores actuales del festivo en el formulario para que puedas cambiar cualquier campo. Consulta Edición de un festivo más abajo.
- Eliminar — Elimina de forma permanente el festivo y todas sus asociaciones con tiendas. Esta acción no se puede deshacer.
Edición de un festivo
Cada fila de la lista de festivos tiene un botón Editar (icono de lápiz) en la columna Acciones, junto al botón Eliminar. Al hacer clic, los valores guardados del festivo se cargan de nuevo en el formulario de la parte superior de la página para que puedas cambiar cualquier detalle sin tener que eliminar y volver a crear el registro.
Cómo funciona la edición
- Haz clic en el botón Editar (icono de lápiz) de la columna Acciones del festivo que quieras modificar.
- El título del formulario cambia de "Añadir festivo" a "Editar festivo" y el botón de envío cambia a "Guardar cambios".
- Todos los campos se rellenan con los valores actuales del festivo: nombre, fecha de inicio, fecha de fin, ámbito, ajuste de repetición anual y (en modo multitienda o avanzado) las tiendas, los transportistas y las zonas seleccionados.
- Realiza tus cambios y haz clic en Guardar cambios. El registro del festivo existente se actualiza en el mismo sitio, sin crear duplicados.
- Para abandonar la edición sin guardar, haz clic en Cancelar edición. El formulario vuelve al modo Añadir con todos los campos vacíos.
Al hacer clic en Editar, la página se desplaza automáticamente hasta el formulario. No necesitas subir manualmente.
En instalaciones multitienda, las casillas de tienda en el modo edición reflejan en qué tiendas está activo actualmente el festivo. Si desmarcas una tienda y guardas, el festivo se desactiva para esa tienda: no se elimina el registro de la tienda, solo se marca como inactivo.
Qué cambia al guardar una edición
Los cinco campos principales se actualizan en la fila existente: nombre, fecha de inicio, fecha de fin, repetición anual y ámbito. Las asociaciones de transportistas y zonas también se sustituyen por completo: los transportistas o zonas que quites se eliminan y los que añadas se guardan. Las asociaciones de tiendas siguen la misma lógica de sustitución completa.
Como la actualización opera sobre la clave primaria de la fila de la base de datos y no sobre la clave única (fecha de inicio + fecha de fin + repetición + nombre), puedes cambiar libremente cualquier combinación de esos campos sin crear por accidente un festivo duplicado.
Cómo funciona
Cálculo de fechas y omisión de festivos
Cuando el módulo calcula una fecha de entrega, avanza desde hoy usando los días de tránsito de tu transportista y tus días laborables configurados. Cada vez que el cálculo progresivo cae en una fecha incluida en el rango de un festivo activo, el algoritmo salta ese festivo: traslada la fecha estimada al día siguiente a la finalización del festivo y continúa contando desde ahí los días de tránsito restantes.
Esto significa que, si un festivo de tres días cae en mitad de un plazo de entrega de cinco días, la estimación se desplaza tres días naturales. El cliente ve la fecha posterior y precisa, no la fecha que el módulo habría mostrado si el festivo no existiera.
Repetición anual
Los festivos con repetición anual se expanden en memoria cuando el módulo se ejecuta: las ocurrencias del año actual y del año siguiente se generan automáticamente y se tratan igual que los festivos puntuales durante la comprobación de fechas. No hace falta ninguna tarea cron ni volver a introducir nada al cambiar de año.
Activación por tienda
Cada registro de festivo tiene un indicador de activación por tienda almacenado aparte del propio festivo. Desactivar un festivo en una tienda no afecta a las demás: los datos del festivo siguen compartidos y solo cambia la activación por tienda. Esto facilita mantener una lista central de festivos y activar o desactivar cierres concretos en tiendas de distintos países o regiones.
Invalidación de la caché
Guardar un festivo nuevo, eliminar un festivo o cambiar el indicador de repetición anual limpia automáticamente la caché de festivos y la caché de resultados de las tiendas afectadas. No necesitas limpiar la caché manualmente después de modificar festivos.
Ejemplos de uso
Ejemplo: festivo nacional (un solo día, todos los años)
Tu país celebra una fiesta nacional el 1 de enero de cada año. Añade un festivo con Fecha de inicio 2025-01-01, deja en blanco la Fecha de fin y activa Repetición anual. Establece el Ámbito en Ambos. Guarda. El módulo omitirá el 1 de enero en los cálculos de entrega todos los años sin que tengas que hacer nada más.
Ejemplo: cierre veraniego del almacén (varios días, puntual)
Tu almacén cierra dos semanas en agosto. Añade un festivo con Fecha de inicio 2025-08-04 y Fecha de fin 2025-08-17. Deja desactivada la Repetición anual, salvo que el cierre se repita exactamente en las mismas fechas cada año. Cualquier pedido realizado antes del cierre que habría llegado durante esas fechas mostrará una estimación de entrega ajustada que cae después del 17 de agosto.
Ejemplo: el transportista deja de recoger, pero el almacén sigue preparando pedidos
Un transportista no recoge el 26 de diciembre, pero tu equipo sigue en el almacén preparando pedidos. Añade un festivo con Fecha de inicio 2025-12-26 y el Ámbito en Solo envío. El módulo seguirá contando el 26 de diciembre como día de preparación, pero lo omitirá al contar los días de tránsito del transportista, retrasando un día la fecha estimada de llegada sin afectar a la fecha de expedición.
Ejemplo: configuración multitienda con cierres regionales
Tienes dos tiendas: una en Francia y otra en Alemania. Los festivos nacionales franceses no se aplican a la tienda alemana. Añade cada festivo y usa el selector de Tiendas para asignarlo solo a la tienda correspondiente. Las estimaciones de entrega de cada tienda reflejan únicamente los festivos aplicables a su país.
Notas importantes
- Los festivos se aplican globalmente a todos los transportistas de las tiendas seleccionadas, salvo que uses las opciones avanzadas de filtro por transportista o zona (disponibles en el Modo avanzado). En la configuración básica, todos los transportistas se ven afectados por igual.
- Desactivar un festivo (apagando su interruptor) es instantáneo y no requiere guardar el formulario de configuración completo. El cambio surte efecto en el siguiente cálculo de entrega, una vez se actualice la caché.
- Eliminar un festivo es permanente. Si piensas reutilizar las mismas fechas el año que viene, plantéate activar Repetición anual en lugar de eliminarlo y volver a añadirlo.
- En una configuración multitienda, el registro del festivo es compartido, pero el estado de activación es por tienda. Si eliminas un festivo, se elimina para todas las tiendas a la vez.
- Los cierres de proveedor son una función relacionada que permite bloquear fechas a nivel de proveedor en lugar de a nivel de tienda. Aparecen en una sección aparte de la pestaña Festivos y se describen brevemente más abajo en Funciones relacionadas.
- Cambiar la repetición anual de un festivo existente limpia de inmediato la caché de resultados, de modo que en la siguiente visita a la página se recalcularán las fechas de entrega con la nueva recurrencia aplicada.
Solución de problemas
| Problema | Solución |
|---|---|
| Se guardó un festivo, pero las fechas de entrega del front office lo siguen ignorando | Puede que la caché esté sirviendo un resultado anterior al festivo. Ve a Parámetros avanzados > Rendimiento > Vaciar toda la caché (Performance > Clear all cache) para forzar un cálculo nuevo en la siguiente visita a la página. |
| El interruptor para activar un festivo aparece en gris o no responde | Comprueba que estás viendo la tienda correcta en el contexto del Back Office. Cada tienda tiene su propio indicador de activación: cambiar la tienda activa en el selector de tienda de la esquina superior derecha puede mostrar el estado correcto del interruptor. |
| La Fecha de fin se establece en el mismo día que la Fecha de inicio cuando esperabas un rango | Si dejaste en blanco la Fecha de fin, el sistema la iguala automáticamente a la Fecha de inicio. Introduce la Fecha de fin explícitamente para crear un rango de varios días. |
| Un festivo con repetición anual aparece en el a ño equivocado | Los festivos con repetición anual se expanden para el año actual y el siguiente. Si estás consultando estimaciones muy cerca de fin de año, deberían verse ambas ocurrencias. Si no se aplica ninguna, limpia la caché y comprueba que el festivo está activo para la tienda actual. |
| Tras eliminar un festivo, las fechas de entrega siguen reflejando el cierre anterior | Limpia la caché desde Parámetros avanzados > Rendimiento > Vaciar toda la caché (Performance > Clear all cache). La acción de eliminar limpia automáticamente la caché de festivos, pero una caché de resultados obsoleta puede seguir sirviendo la fecha calculada anteriormente. Vaciar toda la caché fuerza un recálculo completo. |
| El botón Editar muestra un indicador de carga pero el formulario no se rellena | Puede que el festivo ya no exista (eliminado en otra pestaña o por otro administrador). Actualiza la página para recargar la lista de festivos e inténtalo de nuevo. |
| Tras hacer clic en Editar, el formulario se rellena pero al guardar aparece "The holiday you are trying to edit no longer exists" | Otra sesión eliminó el festivo entre el momento en que hiciste clic en Editar y el momento en que hiciste clic en Guardar cambios. Haz clic en Cancelar edición, actualiza la página y vuelve a añadir el festivo. |
Preguntas frecuentes
¿Puedo cambiar las fechas o el nombre de un festivo que ya guardé?
Sí. Haz clic en el botón **Editar** (icono de lápiz) de la columna Acciones de la fila del festivo. El formulario se rellena con los valores actuales del festivo, realizas tus cambios y, al hacer clic en **Guardar cambios**, se actualiza el registro existente. No se crea ningún duplicado y la caché se limpia automáticamente.
¿Puedo desactivar un festivo temporalmente sin eliminarlo?
Sí. Usa el interruptor de activación de la lista de festivos. Al desactivar un festivo, este deja de contar en el cálculo de entrega de inmediato sin eliminar el registro: puedes volver a activarlo en cualquier momento.
¿La repetición anual funciona con rangos de festivos de varios días o solo con días sueltos?
Funciona con cualquier rango de fechas. Si defines un festivo del 24 de diciembre al 2 de enero y activas la repetición anual, el rango completo se repite automáticamente cada año. Tanto la fecha de inicio como la de fin se desplazan a las mismas posiciones del calendario en el año actual y el siguiente.
¿Qué ocurre si un festivo abarca el final de diciembre y el principio de enero?
El módulo gestiona correctamente los rangos que cruzan el cambio de año. Un festivo del 28 de diciembre al 3 de enero se almacena tal como lo introduces y la comprobación de fechas cubre el rango completo a través del cambio de año.
¿Los festivos se aplican a todos los transportistas, o puedo limitarlos a transportistas concretos?
En la configuración básica, un festivo se aplica a todos los transportistas de las tiendas seleccionadas. Si necesitas limitar un festivo a transportistas concretos (por ejemplo, un transportista cuyo depósito está cerrado mientras los demás siguen abiertos), necesitas las opciones de filtro por transportista disponibles en la sección de ajustes avanzados de transportistas.
Si añado un festivo hoy, ¿afectará de inmediato a las estimaciones de entrega que ya están en caché?
Sí. Al guardar un festivo nuevo se invalida automáticamente la caché de las tiendas afectadas. Las estimaciones de entrega de la siguiente visita a la página incluirán el nuevo festivo. No necesitas limpiar la caché manualmente.
¿Pueden distintas tiendas tener festivos activos diferentes aunque compartan el mismo registro de festivo?
Sí. El registro del festivo es compartido (mismas fechas, mismo nombre), pero el indicador de activación se almacena por tienda. Puedes activar un festivo para tu tienda francesa y desactivarlo para tu tienda alemana desde la misma entrada de la lista.
¿Cuál es la diferencia entre el Ámbito "Ambos", "Solo preparación" y "Solo envío"?
"Ambos" significa que la fecha es no laborable para todo el proceso logístico: el almacén no empaquetará pedidos y el transportista no los recogerá. "Solo preparación" significa que tu almacén está cerrado pero los transportistas aún pueden recoger artículos ya empaquetados; el módulo retrasa la fecha de expedición, pero no necesariamente el recuento de tránsito del transportista. "Solo envío" significa que el almacén está abierto pero el transportista no recogerá; la expedición se produce con normalidad, pero la entrega al transportista se retrasa la duración del festivo.
Funciones relacionadas
- Sistema de Caché — Los festivos invalidan automáticamente la caché al guardarse; descubre cuándo resulta útil limpiarla manualmente.
- Constructor de visualización — Controla cómo y dónde se muestran las estimaciones de entrega a los clientes una vez calculadas las fechas.
- Plantillas de Mensaje — Personaliza el texto que se muestra a los clientes en el widget de entrega, incluido el formato de las fechas.