Gift Delivery
| Campo | Valor |
|---|---|
| Handler | admin/handlers/gift_delivery.go |
| Ruta base | /admin/orders/gifts |
| Modelo | gift_deliveries, gift_items |
| Estado | Implementado |
Descripción
El módulo de entrega de regalos permite gestionar pedidos con entrega especial para regalos. Incluye reportes de producción por fecha/turno, dedicatorias, tarjetas, y exportación CSV para logística.
Endpoints
| Método | Ruta | Acción |
|---|---|---|
| GET | /admin/orders/gifts | Listar regalos pendientes |
| GET | /admin/orders/gifts/production | Reporte de producción |
| GET | /admin/orders/gifts/production/csv | Exportar producción CSV |
| GET | /admin/orders/gifts/:id | Detalle del regalo |
| PUT | /admin/orders/gifts/:id/status | Actualizar estado |
| GET | /admin/orders/gifts/calendar | Vista calendario |
Campos
GiftDelivery
| Campo | Tipo | Descripción |
|---|---|---|
id | UUID | Identificador único |
order_id | UUID | Pedido asociado |
tenant_id | UUID | Tenant propietario |
recipient_name | string | Nombre del destinatario |
recipient_phone | string | Teléfono del destinatario |
recipient_address | string | Dirección de entrega |
delivery_date | date | Fecha de entrega |
delivery_slot | string | Turno (ej: "Mañana") |
dedication | string | Mensaje de dedicatoria |
card_type | string | Tipo de tarjeta |
status | enum | Estado del regalo |
production_status | enum | Estado en producción |
created_at | timestamp | Fecha de creación |
updated_at | timestamp | Última actualización |
ProductionRow (agregado)
| Campo | Tipo | Descripción |
|---|---|---|
product | string | Nombre del producto |
quantity | int | Cantidad total |
is_gift | bool | Es producto de regalo |
GiftReportRow
| Campo | Tipo | Descripción |
|---|---|---|
id | UUID | ID del regalo |
recipient | string | Destinatario |
slot | string | Turno de entrega |
occasion | string | Ocasión |
dedicatoria | string | Mensaje |
production_status | string | Estado de producción |
Estados
Gift Status
pending → confirmed → ready → delivered
→ failed
Production Status
pending → in_progress → completed
→ issue
Reporte de Producción
El reporte agrega líneas de regalo por fecha y turno:
- Carga todos los regalos de la fecha (
OrderGiftsByDate) - Filtra por turno si se especifica
- Carga órdenes asociadas y agrega líneas de producto
- Distingue productos de regalo vs productos regulares
- Ordena por producto
Filtros:
date- Fecha de entrega (requerido)slot- Turno específico (opcional)
Exportación CSV
El CSV incluye:
- Producto
- Cantidad
- Es regalo (Sí/No)
- Destinatario
- Turno
- Dedicatoria
Notas
- Los regalos se asocian a órdenes existentes (no son órdenes independientes)
- La producción se calcula agregando líneas de todas las órdenes con regalo
- Los slots vienen de la configuración de Delivery Schedules
- El calendario muestra entregas por fecha para planificación
- Las dedicatorias son strings libres (sin formato especial)