Características

  • Fecha estimada como campo extra de cada tipo de producto, colocado en Administrar presentación; el mismo HTML en caché para todos, y la cuenta atrás y la fecha se calculan en el navegador con la zona horaria de la tienda por defecto
  • Calendario laborable: hora límite por día de la semana, días de preparación de la tienda y por categoría o producto elegidos con autocompletado, días de reparto y días de cierre, con intervalo si la entrega más rápida y la más lenta no coinciden
  • Festivos nacionales de quince países calculados cada año, Semana Santa y días sustitutos incluidos, marcados según la dirección de la tienda y desmarcables uno a uno
  • Panel «Entrega» en el paso Información del pedido: la estimación del pedido y un selector de día y franja, con las completas desactivadas y el valor enviado comprobado otra vez en el servidor
  • Sin overbooking: cada reserva inserta una plaza numerada con clave primaria en su propia tabla, retenida durante el checkout y confirmada por la transición de realizar el pedido
  • Las fechas mostradas y la franja elegida se guardan por pedido y salen en la revisión, en el recibo de Commerce, en la vista de administración del pedido y en una columna Entrega del listado
  • El cliente cambia la franja desde la página de su pedido con un formulario protegido por CSRF hasta las horas que fijes; el equipo tiene una hoja de reparto diaria imprimible con exportación CSV con token y permiso propio
  • Funciona sin Commerce Shipping; ajustes en un único objeto de configuración exportable con esquema; en inglés, español y francés

Quien compra quiere saber cuándo tendrá el paquete en casa, y un «se envía en 2–4 días» no se lo dice. Las tiendas que reparten con su propia furgoneta necesitan además que el cliente elija día y hora sin comprometer más repartos de los que caben. Drupal Commerce no trae ninguna de las dos cosas. Este módulo calcula una fecha estimada con tu calendario real, deja reservar una franja en el checkout y guarda lo prometido en cada pedido.

Cómo encaja en Drupal Commerce

Versiones
Drupal 11.3, Commerce 3.x (Cart, Checkout, Order, Product, Store) y PHP 8.3, probado con Olivero y Claro. No necesita Commerce Shipping: una regla vale para todos los pedidos.
Administración
Commerce › Configuración › Tienda › Fecha de entrega estimada y franjas horarias, un formulario ConfigFormBase con permiso propio, y Commerce › Hoja de reparto con un segundo permiso.
Catálogo
Un campo extra en la presentación del producto, con la etiqueta de caché de la configuración; Big Pipe y la caché interna de páginas siguen sirviendo un único HTML a todo el mundo.
Flujos de checkout
Un plugin CommerceCheckoutPane en el paso Información del pedido de cada flujo, con resumen en la revisión. Las plazas se confirman en commerce_order.place y se liberan al cancelar o borrar.
Pedidos y correo
La vista de administración del pedido, la página del pedido del cliente (commerce-order--user), un campo de Views en el listado de pedidos y el recibo mediante hook_mail_alter.

Instalación

  1. Paso 1

    Descarga el zip en Mi cuenta › Descargas de ecom-addons.com y descomprímelo en modules/custom/.

  2. Paso 2

    Actívalo en Ampliar o con drush en ecom_addons_delivery_date y asigna los dos permisos.

  3. Paso 3

    Revisa las horas límite y los festivos en los ajustes y, si repartes tú, escribe tus franjas, por ejemplo 09:00-14:00 x5, 16:00-20:00 x3.

Descarga la guía paso a paso (PDF)

Preguntas frecuentes

¿Necesito Commerce Shipping?

No. Sin él todos los pedidos siguen una regla; las reglas por método de envío llegarán más adelante.

¿Pueden dos clientes quedarse a la vez con la última franja?

No. Una plaza es una fila con clave primaria: solo una de las dos inserciones sale bien y al otro cliente se le pide elegir de nuevo.

¿De dónde salen los teléfonos de la hoja?

Del primer campo de teléfono del perfil de facturación; añade uno al tipo de perfil Customer con el módulo Telephone del núcleo.

¿La caché de páginas muestra la fecha de ayer?

No. La página lleva las reglas y el navegador del visitante elige la fecha, así que una página en caché sigue siendo correcta al día siguiente.

Historial de versiones

  1. Cargando…

Opiniones

Cargando…