Venda servicios opcionales en el checkout: envoltorio, seguro, envío express o extras personalizados. El cliente elige; usted decide cuándo mostrarlos según carrito, productos, cliente o categoría. Panel visual, constructor de condiciones, simulador, analítica de ingresos y registro de auditoría. Para PrestaShop 9, 8, 1.7.








"Servicios opcionales condicionales" es un módulo PrestaShop de clase empresarial que permite ofrecer extras en el checkout de forma inteligente y condicional. Permite definir servicios como envoltorio de regalo o seguro de envío con precios dinámicos (fijos, porcentuales o por tramos), adaptados al contexto del carrito. Los clientes pueden seleccionar estos servicios explícitamente mediante casillas o radios. El módulo incluye un constructor visual de condiciones con 35 campos para segmentación avanzada, un panel de embudo de ingresos para medir el rendimiento y un registro de auditoría completo. Transforme sus extras en un canal de ingresos gestionado con esta solución robusta.
Envoltorio de regalo, seguro de envío, gestión express, garantía ampliada, montaje, embalaje premium - PrestaShop no ofrece de forma nativa estos extras de manera condicional, con opt-in del cliente y precios dinámicos vinculados al contexto del carrito. Servicios opcionales condicionales es software de clase empresarial para la gestión de complementos en el checkout: políticas visuales, árboles de condiciones anidados, precios fijos/porcentuales/por tramos, simulador de carrito, panel de embudo de ingresos y registro de auditoría completo. Combina condiciones y servicios libremente - árboles AND/OR anidados, varias reglas por política, varias políticas por carrito - y en la práctica obtienes un margen prácticamente ilimitado para crear programas de servicios avanzados. Sin código. Sin una docena de SKU manuales. Un producto oculto, línea de carrito limpia, ingresos medibles.
Estas son las capacidades que convierten los extras del checkout de un caos de catálogo o un proyecto de código personalizado en un canal de ingresos gestionado. Construido como software de clase empresarial para tiendas que venden servicios complementarios - no solo una tarifa global única.
Campañas con nombre y árboles de condiciones AND/OR anidados. Mostrar envoltorio de regalo solo por encima de 50 €, seguro solo para categorías frágiles, express solo antes de las 14:00. Políticas ilimitadas, prioridad por arrastre, activar o pausar individualmente.
Otros: una tarifa global para todos
Casillas de verificación y grupos de radio en el resumen del carrito o en el checkout. El cliente selecciona los servicios de forma explícita. El toggle AJAX actualiza el carrito al instante. Iconos, imágenes, descripciones y badges de precio que controlas desde Configuración.
Otros: tarifas forzadas o productos ocultos
Tarifa fija, porcentaje de productos/carrito/envío/peso, o escaleras por tramos. Límites mín/máx, grupo de reglas fiscales, ventanas de programación por regla. Varios servicios se combinan en una línea de carrito con etiquetas dinámicas.
Otros: solo precio de producto estático
35 campos de carrito y cliente con grupos AND/OR anidados. Segmenta grupos, países, productos, categorías, niveles de gasto, peso, transportistas, módulos de pago, historial de pedidos y reglas compuestas de cantidad de producto.
Otros: solo valor mínimo del carrito
Elige un carrito y cliente reales de tu tienda. Ve exactamente qué políticas coinciden, qué servicios son elegibles, tarifas calculadas y vista previa de la línea del carrito - antes de que ningún cliente se vea afectado.
Otros: probar en producción y rezar
Tarjetas KPI, gráficos de tendencia y tabla por servicio: impresiones, selecciones en checkout, pedidos pagados e ingresos por servicio. Gráfico circular por código de servicio. Tasa de compra basada en pedidos reales, no en toggles engañosos de casillas.
Otros: sin visibilidad tras la configuración
Impresiones, selecciones, deselecciones, servicios aplicados, pedidos con ingresos, cambios de política y ejecuciones de simulación. Actor, marca de tiempo, ID de carrito, ID de pedido e instantánea JSON en cada fila. Exportación CSV incluida.
Otros: checkout caja negra
Descarga cualquier política como JSON, súbela al entorno de pruebas, duplica con un clic. Imágenes de servicio clonadas de forma segura por copia. Mueve configuraciones de temporada entre tiendas sin reconstruir reglas a mano.
Otros: reconstruir cada temporada manualmente
Opciones mutuamente excluyentes: Estándar vs Express vs Envío prioritario. Servicios preseleccionados opcionales donde la ley lo permita. Etiquetas de grupo e iconos por oferta en un solo panel.
Otros: solo sopa de casillas
Esto no es una tarifa de checkout por tienda. Es un motor combinatorio - y eso es lo que desbloquea programas avanzados de servicios opcionales que PrestaShop nativo no puede tocar.
35 campos de condición × 3 tipos de precio × 4 bases de valor × políticas y reglas ilimitadas = en la práctica, posibilidades prácticamente ilimitadas para programas avanzados de servicios opcionales.
La mayoría de tiendas gestionan los extras del checkout de una de tres formas rotas: un producto de catálogo aparte que el cliente debe encontrar solo, un módulo de tarifa forzada que cobra a todos, o código personalizado del tema que se rompe en la siguiente actualización. Ninguno combina segmentación inteligente, consentimiento explícito del cliente e ingresos medibles en un solo lugar.
Árbol visual de condiciones: grupo de cliente, país, total del carrito, productos en categoría, peso, transportista, método de pago, historial de pedidos, hora del día y más. Grupos AND/OR anidados. Los servicios aparecen solo para carritos que califican.
Define reglas de servicio con código, nombre y descripción multilingües, icono o imagen subida, precio fijo/porcentual/por tramos, grupo fiscal y programación. Apila varios servicios o usa grupos de radio para opciones exclusivas como niveles de velocidad de entrega.
Panel de checkout con casillas o radios. El cliente hace opt-in - nada se añade en silencio. Un producto oculto compartido lleva todas las selecciones con etiquetas dinámicas de carrito y total combinado. El carrito se actualiza vía AJAX cuando activan o cambian cantidad.
Por qué importa: No estás ocultando tarifas en el envío ni manteniendo diez productos casi idénticos. Ejecutas software de clase empresarial - un motor de servicios condicionales donde condiciones y reglas de precio se mezclan libremente entre políticas y reglas. Apílalas, anídalas, delimita su alcance - la calculadora fija precios fijos, porcentuales y por tramos desde líneas reales del carrito, y las estrategias de fusión mantienen el resultado bajo control mientras el embudo de ingresos demuestra qué se vendió realmente.
Cada regla de servicio elige un tipo de importe y base de valor opcional. Los límites mín/máx de tarifa protegen márgenes. Grupo de reglas fiscales por regla. Mezcla tipos libremente dentro de una política.
Precio plano por selección con opt-in - p. ej. 4,99 € envoltorio de regalo, 9,99 € gestión express. Simple, predecible, ideal para mejoras de embalaje y comodidad.
Porcentaje del subtotal de productos - p. ej. 2% de seguro de envío opcional en artículos frágiles. Respeta límites mín/máx de precio.
Porcentaje del total bruto del carrito con impuestos - escala con el valor del pedido para servicios premium.
Porcentaje del importe de entrega actual - ideal para mejoras de entrega opcionales y gestión premium.
Porcentaje aplicado al peso total del carrito en kg - útil para servicios de manipulación y montaje en pedidos voluminosos.
Precios de mejora escalonados por banda de total del carrito - p. ej. 0-200 € → 15 € garantía, 200+ € → 29 €. Constructor visual de tramos en back office.
Cada ejemplo siguiente es opt-in del cliente: nada se añade en silencio. El comprador ve una elección clara - mantener la experiencia estándar o mejorar a algo mejor. Ganas ingresos extra solo cuando deciden que la mejora merece la pena.
Carrito ≥ 50 €. Mejora opcional de 4,99 € con cinta y caja. El cliente evita reempaquetar en casa; tú envías un paquete listo para regalo. Casilla desactivada por defecto - eligen cuando importa.
Categoría frágil en el carrito. Cobertura opcional al 2% de productos (mín. 2 €). El comprador obtiene protección de reemplazo en vidrio y cerámica - ofreces confianza, no un cargo oculto.
Fechas de diciembre + envío físico. Mejora opcional de 9,99 € en cola prioritaria - el regalo llega antes del 24. La entrega estándar sigue disponible; la mejora es su decisión.
Electrónica en el carrito. Protección opcional por tramos (15 € / 29 € según valor del pedido). El cliente amplía la cobertura de reparación más allá de los términos del fabricante; la descripción enlaza a T&C.
Grupo de clientes VIP. Mejora opcional de 7,50 € con caja premium, papel de seda y funda de marca. Compradores recurrentes hacen opt-in por una sensación boutique - los invitados nunca ven la oferta.
Muebles voluminosos en el carrito. Mejora opcional de 49 € de montaje profesional en la entrega. El cliente ahorra una tarde; monetizas comodidad que quieren activamente.
Cualquier producto enviable. Mejora opcional de 1,99 € con tarjeta estilo manuscrito dentro de la caja. El remitente añade un toque personal sin buscar una papelería.
Grupo de radio: Estándar (gratis, 3-5 días) o Express (+12 €, envío al día siguiente). El cliente elige velocidad cuando el timing importa; el predeterminado sigue en Estándar.
Categoría frescos + entrega nacional. Mejora opcional de 6 € con embalaje refrigerado. El comprador mantiene ensaladas y lácteos fríos en tránsito - la caja estándar sigue siendo la alternativa.
Categorías sensibles en el carrito. Mejora opcional de 2,50 € con caja exterior lisa y etiqueta neutra. El cliente hace opt-in cuando quiere cero indicios de marca en la puerta.
Carrito enviable. Mejora opcional de 1 € de contribución climática en el checkout. Compradores eco-conscientes compensan su envío; los demás continúan sin cambios.
Antes de las 14:00 entre semana. Mejora opcional de 8 € de entrega al transportista hoy. El cliente saca el pedido hoy en lugar de mañana - se oculta automáticamente tras el corte.
3+ pedidos anteriores. Mejora opcional de 0,99 € de envoltorio celebratorio para clientes recurrentes. Mejora pequeña, gran momento de agradecimiento - puede preseleccionarse donde tu mercado lo permita.
Producto personalizado en el carrito. Mejora opcional de 5 € en cola express de grabado. El comprador salta la línea de producción para un regalo con nombre y plazo ajustado.
Pedidos de alto valor ≥ 500 €. Mejora opcional de 39 € llevada a la habitación elegida, desembalada, embalaje retirado. Compradores de muebles premium eligen comodidad frente a entrega en acera.
País de entrega de exportación. Mejora opcional de 15 € con documentación aduanera prioritaria + seguimiento SMS. Compradores transfronterizos impacientes hacen opt-in; el correo estándar sigue disponible.
Categoría belleza o gourmet. Mejora opcional de 8 € con mini-pack de muestras añadido al paquete. El cliente prueba nuevos SKU antes de comprometerse con tamaños completos - upsell puro que pueden rechazar.
Checkout viernes + transportista compatible con fin de semana. Mejora opcional de +14 € en slot de sábado cuando no pueden recibir paquetes entre semana. Entrega entre semana estándar sin cambios.
Plantas vivas en el carrito. Mejora opcional de 6 € con pack de abono + guía de cuidado. El comprador da a la nueva vegetación un mejor comienzo - casilla, no un recargo obligatorio de jardín.
Construye extras opcionales de Black Friday en staging, simula en carritos reales, exporta JSON a producción. Mismo panel de opt-in, nuevas opciones de mejora - sin editar el tema.
Cada función explicada en lenguaje claro para propietarios de tienda y equipos de merchandising. Esto es software de clase empresarial - lo bastante profundo para configuraciones complejas, lo bastante claro para no necesitar un desarrollador en la gestión diaria de servicios.
Una política es una campaña de servicios con nombre - tus extras navideños, tus ventajas VIP, tu stack de garantía de electrónica. Cada política contiene un árbol de condiciones (quién califica) y una o más reglas de servicio (qué ofreces y a qué precio). Crea políticas ilimitadas, ordena por prioridad con arrastre, activa o pausa individualmente sin tocar código.
Cada regla define: código de servicio, etiqueta y descripción multilingües del carrito (conorderservices_rule_lang), tipo de valor (fijo, porcentual, por tramos), base de valor (productos, carrito, envío, peso), límites mín/máx de tarifa, grupo de reglas fiscales, icono o imagen subida, tipo de UI (casilla o radio), grupo de radio y etiqueta opcionales, flag de preselección, prioridad, fechas de programación (válido desde / válido hasta) y condiciones opcionales a nivel de regla.
Detener en la primera coincidencia termina la evaluación tras la primera política que califica - útil cuando las campañas no deben solaparse. La estrategia de fusión por política controla cómo se combinan varias reglas dentro de una política: apilar todos los servicios, gana la primera coincidencia, cascada por prioridad, solo tarifa más alta, o códigos de servicio únicos. Una estrategia de fusión global predeterminada en Configuración se aplica a nuevas políticas.
La vista de lista de políticas muestra estado, estrategia de fusión, recuento de reglas y acciones rápidas. Duplicar, exportar JSON, importar desde archivo o alternar activo - todo desde el panel de políticas con cada cambio registrado en el log de auditoría.
El constructor de condiciones es un editor de árbol AND/OR anidado - el mismo patrón usado en motores de reglas profesionales, renderizado como grupos amigables al arrastre en tu back office. Añade un grupo, elige un campo, selecciona un operador, establece un valor. Anida grupos para lógica como: (grupo VIP O 5+ pedidos anteriores) Y (total del carrito ≥ 100 €) Y (categoría Rebajas de verano tiene 3+ artículos).
35 campos de condición cubren el contexto completo del carrito: total del carrito, subtotal de productos, coste de envío, recuento de productos, recuento de SKU únicos, peso, recuento de reglas de carrito existentes, recuento de pedidos del cliente, gasto de por vida, día de la semana, hora, fecha, código postal, moneda, país, país de facturación, zona, grupo de cliente, transportista, módulo de pago, estado conectado/invitado, productos, categorías, fabricantes, proveedores, flags virtual/físico, personalización y detección de descuento existente.
Campos compuestos combinan entidad + umbral en una condición - p. ej. producto #123 cant. ≥ 3, categoría #45 total de línea ≥ 50 €. Los operadores incluyen igual, distinto, mayor/menor que, entre, en lista, no en lista, contiene, empieza con, regex, vacío y no vacío.
Cada fila coincide exactamente con lo que eliges en el desplegable del constructor de condiciones. Los campos numéricos admiten =, ≠, <, ≤, ≥, > y between. Los campos booleanos usan Sí/No. Los campos de búsqueda admiten in y not in con multiselección. Los campos de texto añaden contains, starts with y regex. Combina cualquier campo en grupos AND/OR anidados - el motor los reevalúa en cada actualización del carrito.
| Tipo de condición | Operadores | Valor de ejemplo | Cómo funciona |
|---|---|---|---|
| Importes y tamaño del carrito | |||
| Total del carrito (imp. incl.) | =, ≠, <, ≤, ≥, >, between | 150 |
Total bruto del carrito con impuestos - umbral clásico de gasto. |
| Total de productos | =, ≠, <, ≤, ≥, >, between | 100 |
Solo subtotal de productos; el envío queda excluido. |
| Coste de envío | =, ≠, <, ≤, ≥, >, between | 9.90 |
Importe de envío actual en el carrito. |
| Cantidad total de productos | =, ≠, <, ≤, ≥, >, between | 5 |
Suma de cantidades en todas las líneas del carrito. |
| Productos únicos en el carrito | =, ≠, <, ≤, ≥, >, between | 3 |
Número de SKU distintos (líneas de producto). |
| Peso del carrito (kg) | =, ≠, <, ≤, ≥, >, between | 12.5 |
Peso total del carrito en kilogramos. |
| Número de reglas de carrito | =, ≠, <, ≤, ≥, >, between | 1 |
Cuántas reglas de carrito ya están aplicadas. |
| Composición del carrito | |||
| Tiene al menos un producto virtual | = Sí / No | Yes |
Verdadero cuando hay un artículo descargable/virtual en el carrito. |
| Todos los productos son virtuales | = Sí / No | Yes |
Cada línea es virtual (sin envío físico). |
| Tiene producto físico | = Sí / No | Yes |
Hay al menos un producto enviable presente. |
| El carrito requiere envío | = Sí / No | Yes / No |
Si se necesita entrega para el carrito actual. |
| Tiene producto personalizado | = Sí / No | Yes |
Campos de personalización o customización en un producto. |
| El carrito tiene cupón aplicado | = Sí / No | Yes / No |
Otro cupón o descuento de regla de carrito está activo. |
| Reglas compuestas de producto | |||
| Cantidad de producto en el carrito | =, ≠, <, ≤, ≥, >, between | 123:3 |
Cantidad del producto ID 123 - formato productId:qty. |
| Cantidad de categoría en el carrito | =, ≠, <, ≤, ≥, >, between | 45:3 |
Cantidad combinada en categoría 45 - formato categoryId:qty. |
| Total de línea de producto en el carrito | =, ≠, <, ≤, ≥, >, between | 123:50.00 |
Total de línea del producto 123 - formato productId:amount. |
| Entrega y ubicación | |||
| Moneda | =, in | EUR |
Código ISO de moneda del carrito. |
| País de entrega | =, in | DE |
Código ISO del país de la dirección de entrega. |
| País de facturación | =, in | PL |
Código ISO del país de la dirección de facturación. |
| Zona de entrega | =, in | Europe |
Nombre o ID de zona de entrega de PrestaShop. |
| Código postal de entrega | =, starts with | 00- |
Coincidencia de texto de código postal en dirección de entrega. |
| Transportista seleccionado | = Sí / No | DHL Express |
Transportista de envío seleccionado actualmente. |
| Cliente | |||
| Grupo de cliente | in | VIP |
El cliente pertenece a uno de los grupos seleccionados. |
| Cliente conectado | = Sí / No | Yes |
La cuenta está autenticada (no checkout de invitado). |
| Cliente invitado | = Sí / No | Yes |
La sesión de checkout es de invitado (no conectado). |
| Pedidos completados del cliente | =, ≠, <, ≤, ≥, >, between | 5 |
Recuento de pedidos validados anteriores de la cuenta. |
| Gasto de por vida del cliente | =, ≠, <, ≤, ≥, >, between | 500 |
Ingresos históricos totales de pedidos del cliente. |
| Catálogo en el carrito | |||
| Producto en el carrito | in | Summer dress |
Deben estar presentes ID(s) de producto específicos (selector de búsqueda). |
| Categoría en el carrito | in | Outlet |
Al menos un producto de la categoría. |
| Fabricante en el carrito | in | Nike |
Al menos un producto de la marca. |
| Proveedor en el carrito | in | Main supplier |
Al menos un producto del proveedor. |
| Pago y programación | |||
| Módulo de pago | =, contains | bankwire |
Nombre técnico del módulo de pago seleccionado. |
| Día de la semana (1-7) | =, ≠, <, ≤, ≥, >, between | 6 |
1 = lunes … 7 = domingo (zona horaria del servidor). |
| Hora del día (0-23) | =, ≠, <, ≤, ≥, >, between | 14 |
Hora en que se evalúa el carrito (0-23). |
| Fecha (YYYY-MM-DD) | =, ≠, <, ≤, ≥, >, between | 2026-11-28 |
Fecha de calendario para ventas flash y ventanas de fecha. |
Los selectores de producto, categoría, fabricante y grupo usan búsqueda autocompletada integrada. Una frase de vista previa en vivo explica qué coincide el árbol. Usuarios avanzados pueden alternar JSON en bruto para copiar-pegar entre entornos. Las condiciones se reevalúan en cada sincronización del carrito - añadir al carrito, cambiar cantidad, iniciar sesión, cambiar dirección - el motor reacciona al instante.
14 operadores están disponibles en el constructor. El tipo de campo determina qué operadores aparecen - los campos booleanos usan solo = y ≠; los numéricos obtienen el conjunto completo de comparación.
| Operador | Etiqueta en el constructor | Uso típico |
|---|---|---|
| eq | = | Coincidencia exacta - importe, Sí/No, país o grupo único. |
| neq | ≠ | Excluir un valor - p. ej. solo invitados, no en grupo mayorista. |
| gt / gte | > / ≥ | Umbrales numéricos - total del carrito, cant., peso, recuento de pedidos. |
| lt / lte | < / ≤ | Límites superiores - hora antes del corte, tamaño máx. del carrito. |
| between | between | Coincidencia de rango - ventana de fechas, banda de gasto, rango de horas. |
| in / not_in | in / not in | Pertenencia a lista - países, grupos, productos, categorías. |
| contains | contains | Subcadena en texto - zona de código postal, nombre de módulo de pago. |
| starts_with | starts with | Coincidencia de prefijo - distritos de código postal, prefijo de nombre de módulo. |
| regex | regex | Coincidencia de patrón para reglas avanzadas de código postal o código. |
| empty / not_empty | empty / not empty | Comprobaciones de presencia de campo en valores de texto. |
Cada regla de servicio elige un tipo de importe: fijo, porcentual o por tramos. Fijo usa un único valor decimal. Porcentual usa una tasa más una base de valor - total de productos, total del carrito, coste de envío o peso del carrito. Por tramos abre una tabla escalonada almacenada como JSON (tiers_json) con bandas desde/hasta y tarifa por banda.
Los límites de tarifa mín y tarifa máx acotan los cálculos porcentuales para que el seguro nunca baje de 2 € ni supere 50 €. El grupo de reglas fiscales por regla asegura que la línea de servicio herede el IVA correcto. Los campos de programación (date_from / date_to) limitan ofertas estacionales sin desactivar toda la política.
Detrás de la UI, ConorderservicesEngine resuelve reglas elegibles, calcula cada tarifa desde el contexto en vivo del carrito, aplica la estrategia de fusión y escribe el total combinado en un SpecificPrice dinámico en el producto de servicio compartido. Los chips de resumen de regla en el admin muestran precios activos de un vistazo sin abrir el editor.
El constructor de tramos en adminPolicyRules.js añade/elimina filas visualmente. Volver de por tramos a fijo preserva el resto de ajustes de la regla. Importa una política desde staging, abre la tarjeta de regla, ajusta un umbral, guarda - los datos estructurados se mantienen consistentes.
Los servicios elegibles se renderizan en un panel dedicado de checkout vía displayShoppingCart, displayShoppingCartFooter o displayCheckoutSummaryTop - posición configurable en Configuración. Cada fila de oferta muestra control de casilla o radio, icono/imagen opcional, nombre, descripción y badge de precio calculado.
El cliente activa servicios vía controlador AJAX front (checkout.js + endpoint ajax del módulo). Totales del carrito y etiquetas de línea se actualizan sin recarga completa de página. El panel también se refresca cuando cambia la cantidad del carrito. Los eventos de selección se registran en auditoría (service_selected, service_deselected). Los eventos de impresión se registran cuando se muestra el panel (deduplicados por conjunto elegible).
Los servicios seleccionados se sincronizan a un producto de catálogo oculto (CONORDERSVC-SERVICE) con SpecificPrice dinámico por carrito. Varias selecciones aparecen como una sola línea de carrito con etiquetas multilingües separadas por comas e importe combinado. El estado del carrito persiste en conorderservices_cart con instantánea elegible, JSON de servicios seleccionados e instantánea aplicada para sincronización idempotente.
Los hooks actionCartSave, hooks de eliminación de producto en carrito, actionPresentCartProduct y actionProductPriceCalculation mantienen la línea de servicio sincronizada cuando el carrito muta. Compatible con temas PrestaShop 9, 8, 1.7 incluyendo miniaturas de carrito Hummingbird vía actionPresentProduct.
Cada regla de servicio admite identidad visual en el checkout: sube JPG/PNG/GIF/WebP a views/img/services/ o pega una URL HTTPS externa. ConorderservicesRuleImage gestiona validación de subida, almacenamiento, resolución de URL pública y eliminación segura cuando se reemplazan o quitan imágenes.
La UI dedicada del editor de imágenes (adminPolicyRuleImage.js) muestra vista previa en vivo, controles de quitar/reemplazar y fallback de mantener anterior durante el guardado. Al duplicar o importar política, las imágenes se clonan o referencian de forma segura para que las transferencias staging-a-producción no rompan los visuales del checkout.
Tamaño de icono (1-256 px), posición de icono (izquierda/centro/derecha) y alineación de controles son Configuración global - así una tienda puede mostrar iconos grandes alineados a la izquierda de envoltorio de regalo mientras otra mantiene casillas compactas alineadas a la derecha. Toggles de mostrar/ocultar para nombre, descripción, precio e icono por tienda completan la capa de presentación.
La pestaña Simulador es un flujo de tres pasos contra datos reales en tu base de datos - no un carrito simulado. Paso 1: busca carritos por ID, nombre de cliente o email. Paso 2: elige un carrito de la lista en vivo (muestra cliente, email, total del carrito, última actualización). Paso 3: ejecuta evaluación y lee el desglose completo del resultado.
Los resultados muestran qué políticas coincidieron, cuáles se omitieron (y por qué), tarifas calculadas por regla, estado elegible vs seleccionado, resolución de grupo de radio y vista previa de línea de carrito con etiqueta e importe combinados. Filtro opcional de cliente reduce la lista de carritos a una cuenta - ideal para reproducir un ticket de soporte.
Cada ejecución de simulación se registra en el log de auditoría con tipo de evento simulation_run, ID de carrito, actor (empleado) e instantánea de resultado. Merchandising puede verificar una campaña antes de activarla. Soporte puede explicar por qué un carrito concreto de un cliente vio o no envoltorio de regalo - sin hacer un pedido de prueba en la tienda en vivo.
Usa el simulador tras cada edición de política, antes del go-live navideño, y al importar políticas desde staging. Es la red de seguridad que separa la gestión empresarial de servicios de "cambiar y cruzar los dedos".
La pestaña Panel es tu sala de control de servicios opcionales. Tarjetas KPI sobre un periodo seleccionable (30 / 90 / 180 / 365 días) muestran: impresiones del panel, selecciones en checkout, pedidos con servicios, tasa de compra e ingresos por servicio en moneda de la tienda. Los números provienen del log de auditoría - eventos reales, no estimaciones.
Gráficos de tendencia Chart.js visualizan el embudo de ingresos en tres granularidades: diaria (ventana configurable), semanal y mensual. Las líneas siguen impresiones, selecciones, pedidos pagados e ingresos por servicio en un eje secundario. Cambia el tipo de gráfico predeterminado en Configuración. Un gráfico circular desglosa ingresos pagados por código de servicio para ver qué extras convierten realmente.
La tabla por servicio lista cada código de servicio con impresiones, selecciones, pedidos, ingresos y tasa de compra. Las selecciones son un paso del embudo - pedidos e ingresos son la verdad KPI (evita métricas vanidosas de toggles de casilla que nunca convierten). Entradas recientes de auditoría aparecen en el panel para diagnóstico rápido.
Para agencias y operadores multitienda: el panel responde la pregunta que merchandising siempre hace - "¿Nuestros extras de checkout se venden realmente?" - con datos, no intuición.
La pestaña dedicada Registro de auditoría es un diario completo de eventos - no un archivo de depuración enterrado en logs del servidor. Cada fila almacena marca de tiempo, tipo de evento, actor (nombre de empleado, nombre de cliente o SYSTEM), resumen legible, referencia de pedido vinculada, código de servicio, importe de tarifa, ID de carrito e ID de política/regla.
20+ tipos de evento registrados:
Haz clic en Ver en cualquier fila para abrir un modal de detalle con la instantánea JSON completa - líneas de servicio aplicadas, diff de política, salida de simulación o payload de cambio de configuración. Las aplicaciones de servicio almacenan un fee_snapshot para reconstruir exactamente lo que el cliente vio en el checkout.
La lista admite exportación CSV nativa de PrestaShop para revisiones de finanzas y cumplimiento. Columnas unidas muestran referencia de pedido, nombre de cliente y nombre de empleado sin cruce manual. En la página de pedido en back office (hook displayAdminOrder), un panel muestra qué servicios opcionales contribuyeron a ese pedido - nombre de servicio, código, importe e instantánea.
Las políticas son documentos JSON portables. Exportar descarga la política completa - árbol de condiciones, todas las reglas, configs de precio, estrategia de fusión, metadatos de imágenes de servicio, posiciones - listo para control de versiones o traspaso a otra tienda. Importar sube un archivo JSON y crea una nueva política con entrada de log policy_imported.
Duplicar clona una política con un clic desde el menú de acciones de la lista vía ConorderservicesPolicyDuplicator - copia cada regla, renombra con sufijo, clona imágenes de forma segura, registra policy_duplicated. Perfecto para crear "Navidad v2" desde "Navidad v1" sin reconstruir 10 reglas a mano.
Flujo típico de agencia: construir y simular en staging → exportar JSON → importar en producción → ejecutar simulador de nuevo → activar. Configuraciones de servicios estacionales se mueven entre tiendas de clientes en minutos. Cada transferencia es trazable en el log de auditoría.
La pestaña Configuración centraliza el comportamiento de toda la tienda. Interruptor maestro activar/desactivar. Estrategia de fusión global predeterminada para nuevas políticas. Grupo de reglas fiscales predeterminado para nuevas reglas de servicio. ID de producto de servicio - elige qué producto de catálogo representa la línea del carrito o usa el producto oculto auto-creado CONORDERSVC-SERVICE.
Posición de visualización controla dónde se renderiza el panel de checkout: bloque integrado del resumen del carrito, solo página del carrito, solo resumen del checkout, hooks de tema carrito y checkout, o debajo de la lista de productos del carrito. Ajustes de visualización de oferta controlan mostrar/ocultar nombre, descripción, precio e icono; tamaño de icono (1-256 px); posición de icono (izquierda/centro/derecha); alineación de controles de casilla/radio.
Log de depuración escribe trazas verbosas del motor para soporte. La sección de analítica configura periodo de gráfico predeterminado (30/90/180/365 días), ventanas de gráfico diario/semanal/mensual y tipo de gráfico predeterminado. Vista previa en vivo en Configuración muestra cómo se verán las filas de oferta con las opciones de visualización actuales.
Cada guardado de configuración registra settings_updated en el log de auditoría con instantánea antes/después. Sin deriva silenciosa de configuración.
Los servicios se materializan como una línea de carrito real en el producto oculto compartido con precio dinámico y etiqueta multilingüe. Aparecen en resumen del carrito, checkout, confirmación de pedido, facturas y vista de pedido en back office - exactamente como una línea de producto normal, sin hacks de tema ni importes negativos falsos.
El motor se engancha a actionCartSave, añadir/quitar producto, init de controlador front, validación de pedido (actionValidateOrder, actionValidateOrderBefore en PS 8.1+) y presentación del carrito - recalculando siempre que cambia el contexto del carrito. Las columnas de tabla de pedido conorderservices_service_amount y conorderservices_service_snapshot almacenan totales históricos de servicio en el registro del pedido.
Las políticas están delimitadas por tienda (id_shop) para configuraciones multitienda. Cada tienda de tu grupo puede ejecutar stacks de servicios independientes. PrestaShop 9, 8 y 1.7 comparten una base de código vía lib/prestashop9compatibility.php y ConorderservicesCompatibility.
Etiquetas multilingües de checkout por regla (conorderservices_rule_lang) aseguran que la línea de servicio se lea correctamente en cada idioma activo de la tienda. 30 paquetes de traducción listos cubren back office y front office vía PrestaShop l() - desde inglés, alemán y polaco hasta español, francés, italiano y mercados de Europa y Asia.
Carrito evaluado. Condiciones coincidentes. Servicios valorados. Cliente hizo opt-in. Pedido validado. Cada paso trazado en filas de auditoría. Esto es software de clase empresarial - aquí está la ingeniería detrás del servicio opcional que tu cliente eligió en el checkout.
~11,900 PHP · ~3,400 JavaScript · ~1,120 plantillas Smarty · ~1,375 CSS. Motor, constructor de condiciones, panel de embudo de ingresos, simulador, AJAX de checkout e UI de admin.
Engine, Admin, Dashboard, ConditionTree, ServiceProduct, RuleImage, PolicyDuplicator, AuditLog, Policy, Rule, CartState, Log y más.
30 paquetes de traducción listos para back office e interfaz del módulo. Inglés, alemán, polaco, español, francés, italiano, neerlandés, finlandés, portugués, eslovaco y más.
Panel, Políticas, Configuración, Simulador, Registro de auditoría y Actualizaciones - cada una un panel autónomo con bundles JS dedicados.
Importe fijo, porcentual (sobre 4 bases de valor) y escalones por tramos - rutas de cálculo dedicadas en ConorderservicesEngine.
Reglas de carrito, cliente, entrega, producto y cant./importe compuestos con árboles lógicos AND/OR anidados.
Impresiones, selecciones, deselecciones, sincronización de carrito, ingresos de pedido, CRUD de política/regla, importar/exportar, duplicar, preset, configuración y simulación.
Apilar todo, gana el primero, cascada por prioridad, tarifa más alta, códigos únicos - por política y predeterminado global.
conorderservices_policy para campañas, conorderservices_rule + conorderservices_rule_lang para reglas y etiquetas, conorderservices_cart para estado de sincronización del carrito, conorderservices_preset para presets de condición, conorderservices_log para diario de auditoría.ConorderservicesPolicy, ConorderservicesRule, ConorderservicesCartState, ConorderservicesLog, ConorderservicesPreset con CRUD completo y conciencia multitienda.displayHeader, actionCartSave, displayShoppingCart, displayCheckoutSummaryTop, actionValidateOrder, displayAdminOrder, actionPresentCartProduct y más.lib/prestashop9compatibility.php - una base de código en PrestaShop 1.7, 8 y 9.Las condiciones deciden quién ve la oferta. Las reglas de precio deciden cuánto. El opt-in del cliente decide qué llega al carrito. El registro de auditoría y el embudo de ingresos demuestran qué se vendió. Ese es el contrato de ingeniería que Servicios opcionales condicionales mantiene en cada actualización del carrito.
18,000+ líneas de código en 100+ archivos del módulo, 30 paquetes de traducción y v1.1.17 de desarrollo continuo. El cliente marca la casilla. Tus reglas fijan el precio. La auditoría demuestra la venta. Software de clase empresarial para extras opcionales en el checkout - envoltorio, seguro, express - respaldado por checkout, finanzas y merchandising cuando alguien pregunta por qué esa línea del carrito mostró 4,99 €.
35 campos de condición, 14 operadores, 3 motores de precio y un panel de checkout con opt-in - diseñado para que una casilla a 4,99 € nunca sea una suposición, siempre una decisión de ingresos medida respaldada por filas de auditoría.








"Servicios opcionales condicionales del pedido" automatiza y optimiza la oferta inteligente de extras como envoltorio de regalo o seguro. Con reglas visuales y precios dinámicos, maximiza ingresos eliminando la gestión manual y personalización de código.
El módulo "Servicios Opcionales Condicionales" potencia las Ventas Aumentadas ofreciendo extras inteligentes como envoltorio de regalo o seguro. Con opt-in del cliente y precios dinámicos según el carrito, profesionaliza el upsell, generando ingresos adicionales medibles y mejorando la experiencia de compra de forma eficaz.
Servicios Opcionales Condicionales refleja 15 años de experiencia en PrestaShop, resolviendo las limitaciones nativas con árboles de condiciones anidados, precios dinámicos y compatibilidad PS 1.7-9. Es un software robusto que evidencia profundo conocimiento de la plataforma.
El módulo "Servicios Opcionales Condicionales del Pedido" revoluciona la personalización de extras en el checkout. Con un constructor visual de 35 condiciones y precios flexibles (fijos, porcentuales, por tramos), usted diseña programas de servicios a medida para cada carrito.
El módulo "Servicios opcionales condicionales" ofrece código fuente abierto total. Esto le permite adaptar sus políticas visuales y precios dinámicos sin limitaciones, garantizando personalización completa e integraciones avanzadas. Las actualizaciones son gratuitas por un año, con acceso prolongado garantizado.
El módulo "Servicios opcionales condicionales del pedido" ofrece una licencia de uso ilimitado y actualizaciones gratuitas durante un año, garantizando la continua funcionalidad de sus servicios de checkout y precios dinámicos. Disfrute de descuentos de hasta el 90% en renovaciones anuales.