Skip to content

Instantly share code, notes, and snippets.

@galdolber
Created February 2, 2026 21:20
Show Gist options
  • Select an option

  • Save galdolber/8a35baf4913e57f10241709a2ed56e02 to your computer and use it in GitHub Desktop.

Select an option

Save galdolber/8a35baf4913e57f10241709a2ed56e02 to your computer and use it in GitHub Desktop.
Funcionalidad de Preventa (Pre-venta) - Documentación Completa
Descripción General
Permite a los negocios vender productos que aún no tienen stock disponible, capturando pedidos anticipados que se despacharán cuando llegue la mercadería.
---
1. Configuración del Producto
Campos disponibles en el producto:
┌─────────────────────────┬──────────┬──────────────────────────────────────────────────────────────────────────────────┐
│ Campo │ Tipo │ Descripción │
├─────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────────┤
│ producto/preventa │ Booleano │ Activa el modo preventa para el producto │
├─────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────────┤
│ producto/preventa-texto │ Texto │ Texto personalizado que se muestra en el badge (ej: "PRE-ORDEN", "PRÓXIMAMENTE") │
├─────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────────┤
│ producto/preventa-fecha │ Fecha │ Fecha estimada de disponibilidad (informativo para el cliente) │
└─────────────────────────┴──────────┴──────────────────────────────────────────────────────────────────────────────────┘
Configuración del negocio:
┌────────────────────────┬────────┬────────────────────────────────────────────────────────────────────┐
│ Campo │ Tipo │ Descripción │
├────────────────────────┼────────┼────────────────────────────────────────────────────────────────────┤
│ negocio/preventa-image │ Imagen │ Badge/imagen personalizada que se muestra en productos de preventa │
└────────────────────────┴────────┴────────────────────────────────────────────────────────────────────┘
---
2. Comportamiento del Stock
- El stock funciona exactamente igual que en productos normales
- Si stock=true con stock-count=50, solo se pueden vender 50 unidades de preventa
- Si stock=false, permite ventas ilimitadas (sin control de stock)
- El stock se descuenta al momento de la compra
- La visibilidad respeta la configuración "ocultar productos sin stock"
- En catálogos externos (Facebook, Google, TikTok) se muestran igual que productos normales
---
3. Visualización en Tienda
Cuando un producto está marcado como preventa:
- Se muestra un badge de preventa sobre la imagen del producto
- El badge puede ser:
- La imagen personalizada del negocio (negocio/preventa-image)
- O el texto "PREVENTA" por defecto
- Si existe preventa-texto, se muestra debajo del badge
- La preventa-fecha se muestra como fecha estimada de disponibilidad
---
4. Proceso de Compra
Al agregar al carrito:
- Funciona igual que productos normales
- Se valida stock si está configurado
Al finalizar la compra:
- NO se cobra envío (el producto no se despacha inmediatamente)
- Se aplican recargos por método de pago normalmente
- El pedido queda marcado como pedido/preventa = true
- Cada ítem guarda item/preventa = true
- El cliente ve mensaje: "Los artículos de preventa se enviarán cuando estén disponibles"
---
5. Carritos Mixtos (productos normales + preventa)
┌──────────────────────┬─────────────────────────────────────────────────────────────────────────────────┐
│ Método de pago │ Comportamiento │
├──────────────────────┼─────────────────────────────────────────────────────────────────────────────────┤
│ Online (MercadoPago) │ Se crea UN único pedido marcado como preventa │
├──────────────────────┼─────────────────────────────────────────────────────────────────────────────────┤
│ Efectivo/Otro │ Se separan en DOS pedidos: uno normal (con envío) y uno de preventa (sin envío) │
└──────────────────────┴─────────────────────────────────────────────────────────────────────────────────┘
---
6. Gestión de Pedidos de Preventa
Filtrado:
- Los managers pueden filtrar pedidos por "Solo preventas" en el listado
Visualización:
- Los pedidos de preventa muestran badge "Pedido de Preventa"
---
7. Activación del Pedido (Promoción)
Cuando el stock llega y el negocio está listo para despachar:
Quién puede hacerlo:
- Un manager con permiso de "pedidos"
Acción en el sistema:
- Botón "Activar pedido" en la vista del pedido
Datos a ingresar:
- Costo de envío (opcional):
- Monto fijo (ej: $500)
- O porcentaje del subtotal (ej: 10%)
Qué sucede al activar:
1. Se agrega el costo de envío al pedido (si se especificó)
2. Se recalcula el total: subtotal + envío (manteniendo recargos de pago existentes)
3. El pedido cambia de preventa = true a preventa = false
4. El pedido pasa a ser un pedido normal, listo para despachar
5. NO se revisa stock (ya se validó y descontó al momento de la compra original)
Ejemplo de activación:
Pedido original: subtotal $1000, envío $0, total $1000
Manager activa con: envío $150
Pedido activado: subtotal $1000, envío $150, total $1150
---
8. Permisos
┌───────────────────────────────────┬──────────────────────────────────┐
│ Acción │ Permiso requerido │
├───────────────────────────────────┼──────────────────────────────────┤
│ Configurar producto como preventa │ Manager con permiso de productos │
├───────────────────────────────────┼──────────────────────────────────┤
│ Activar pedido de preventa │ Manager con permiso de pedidos │
└───────────────────────────────────┴──────────────────────────────────┘
---
9. Resumen de Diferencias: Producto Normal vs Preventa
┌─────────────────────┬──────────────────────┬─────────────────────────────────────┐
│ Aspecto │ Producto Normal │ Producto Preventa │
├─────────────────────┼──────────────────────┼─────────────────────────────────────┤
│ Stock │ Funciona normalmente │ Funciona normalmente │
├─────────────────────┼──────────────────────┼─────────────────────────────────────┤
│ Visibilidad │ Normal │ Normal + badge de preventa │
├─────────────────────┼──────────────────────┼─────────────────────────────────────┤
│ Envío al comprar │ Se cobra │ NO se cobra │
├─────────────────────┼──────────────────────┼─────────────────────────────────────┤
│ Pedido generado │ Normal │ Marcado como preventa │
├─────────────────────┼──────────────────────┼─────────────────────────────────────┤
│ Requiere activación │ No │ Sí (para agregar envío y despachar) │
└─────────────────────┴──────────────────────┴─────────────────────────────────────┘
---
10. Flujo Completo
1. Manager marca producto como preventa
2. Cliente ve producto con badge "PREVENTA" y fecha estimada
3. Cliente compra (stock se descuenta, NO se cobra envío)
4. Se genera pedido de preventa
5. Llega el stock al negocio
6. Manager "Activa" el pedido (agrega costo de envío)
7. Pedido listo para despachar como pedido normal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment