# Solicitar tu dispensación: del catálogo al carrito
Una vez aprobado, el siguiente paso es solicitar tu dispensación. El sistema está diseñado para que el proceso sea claro, pero hay reglas estrictas que vale la pena entender antes de hacer clic en "agregar al carrito". Esta guía te explica cómo navegar el catálogo, qué significan los indicadores de cada producto y cómo funciona el control de dosis mensual.
## Verificación de receta vigente
Antes de cualquier cosa, el sistema verifica que tu receta esté vigente. Si tu receta está vencida o por vencer en menos de treinta días, verás un banner persistente en el dashboard con un link directo para subir la receta renovada.
Si tu receta está vencida, el sistema bloquea automáticamente cualquier nueva solicitud. No es una sugerencia: es una validación estructural. Ningún producto se puede agregar al carrito hasta que la receta esté al día.
## Navegando el catálogo
El catálogo vive en `/dashboard/productos`. Está organizado en cuatro categorías principales:
1. **Flores**: cogollos secos, listos para vaporizar o uso terapéutico tradicional.
2. **Aceites**: tinturas y aceites de espectro completo, dosificables por gota.
3. **Extractos**: concentrados como rosin, hash o resina.
4. **Tópicos**: cremas, ungüentos y bálsamos para aplicación localizada.
Puedes filtrar por categoría, por tipo de cepa (indica, sativa, híbrido) o por concentración de cannabinoides. El filtro de efectos es útil cuando buscas algo específico: relajación, analgesia, mejora del sueño, estimulación del apetito.
## Información clínica de cada producto
Cada ficha de producto muestra: concentración de CBD y THC (en porcentaje), tipo de cepa, efectos reportados, galería de imágenes (fotos reales del lote disponible), sucursal asociada y stock disponible. La información clínica no es marketing. Cada lote tiene un certificado de análisis emitido por laboratorio acreditado, accesible desde el detalle del producto.
## Control de dosis mensual
Aquí está la regla más importante: tu receta define un `monthly_rate` en gramos. El sistema calcula tu budget acumulativo dinámico con esta fórmula:
```
budget_total = monthly_rate × CEIL((expiration - now) / 30 días)
```
Si tu receta indica 90 gramos mensuales y le quedan tres meses de vigencia, tu budget total es 270 gramos. Puedes consumirlo distribuido como prefieras, pero no puedes exceder el total mientras la receta esté vigente.
El sistema descuenta lo ya entregado (`consumed`) y lo reservado en solicitudes activas (`reserved`). Tu disponible es: `budget_total - consumed - reserved`.
Cuando agregas productos al carrito, el sistema valida en tiempo real que la suma de gramos no exceda tu disponible. Si excede, recibes un error `PRESCRIPTION_BUDGET_EXCEEDED` con el detalle exacto del cálculo.
## El carrito
El carrito vive en `/dashboard/carrito`. Persiste en `localStorage` y también se sincroniza con la base de datos, así que si cambias de dispositivo no pierdes lo que agregaste.
Desde el carrito puedes modificar cantidades, eliminar productos, ver el subtotal en gramos y el subtotal en aporte sugerido, y confirmar para avanzar a la pantalla de método de pago. El precio de cada producto se congela al momento de agregar al carrito como `price_at_purchase`. Esto significa que si el catálogo se actualiza mientras tu solicitud está en curso, tu precio original se respeta.
## Selección de sucursal y método de entrega
Antes de confirmar, eliges sucursal (donde retiras o desde donde se despacha) y método de entrega (retiro en sucursal, envío mismo día, envío nacional o método personalizado). Cada método tiene su propio costo y tiempo estimado de entrega.
## Próximos pasos
Inicia sesión en `/dashboard/productos` y explora el catálogo actual. Si tienes dudas sobre qué producto se ajusta mejor a tu tratamiento, consulta primero con tu médico tratante o usa el asistente IA del dashboard para preguntas generales.
## Preguntas frecuentes
**¿Puedo tener varias solicitudes activas a la vez?** No. El sistema permite solo una dispensación activa por paciente. Debes completar o cancelar la actual antes de iniciar otra.
**¿Qué pasa si excedo mi budget mensual?** El sistema bloquea la solicitud con el error `PRESCRIPTION_BUDGET_EXCEEDED` y te muestra el detalle: budget total, consumido, reservado y disponible. Para cambiar el monthly_rate necesitas una receta nueva.
**¿Los precios incluyen el aporte solidario?** Los precios mostrados son aportes sugeridos. La estructura corporativa funciona bajo el modelo de aporte por miembro, no compraventa.
**¿Puedo cancelar mi solicitud después de confirmarla?** Sí, mientras esté en estado `pending_contribution` puedes cancelar desde `/dashboard/ordenes`. Si ya pagaste, la cancelación genera un crédito interno aplicable a tu próxima solicitud.
**¿El stock se reserva al agregar al carrito o al confirmar?** El stock se reserva al confirmar la solicitud, no antes. Esto evita que productos queden bloqueados por carritos abandonados.
