US-029 — Filtrado libre de reportes
Detalle de la historia¶
Historia¶
Como cliente de FleteChat pidiendo un reporte, quiero poder combinar varios criterios (fecha, origen, modalidad, estatus) en una misma petición en lenguaje natural, para obtener exactamente la información que necesito sin tener que pedir el reporte en varios pasos.
Persona de usuario¶
Aplica a todo cliente verificado que consulta reportes por WhatsApp (ver historia de consulta conversacional de reportes).
Contexto de negocio¶
La consulta de reportes real casi nunca involucra un solo criterio. El cliente típicamente combina varios: "envíos aéreos a Miami en marzo que ya llegaron", "LCL pendientes en tránsito", "todo lo de Shanghái del año pasado". Pedir al cliente que desagregue eso en consultas separadas, o peor, que aprenda una sintaxis, rompe la promesa conversacional.
Esta historia extiende la consulta conversacional (US-028) para soportar combinaciones arbitrarias de filtros en una misma petición. FleteChat extrae cada filtro del mensaje, los combina con operador AND y resuelve contra el sistema. Si algún filtro no se entiende, pide aclaración antes de mostrar resultados incompletos.
Diálogo de referencia¶
Combinación de tres filtros¶
Cliente: Dame los envíos aéreos a Miami que salieron en marzo y ya llegaron.
Agente: Con los filtros modalidad aérea, destino Miami, salida en marzo, estatus entregado encontré 4 embarques: E25, E21, E16 y E12. ¿Quiere el detalle de alguno o prefiere la vista web completa?
Filtro ambiguo pide aclaración¶
Cliente: Dame los envíos del mes pasado en LCL al Caribe.
Agente: Interpreto modalidad LCL y salida en marzo. "Caribe" abarca varios destinos (Panamá, Colón, República Dominicana, Jamaica, entre otros). ¿Quiere algún país o puerto específico, o los incluyo todos?
Criterios de aceptación¶
Extracción y combinación¶
- FleteChat extrae todos los filtros presentes en el mensaje del cliente, incluso cuando se mencionan en cualquier orden o con sinónimos ("marzo" = "mes pasado" según fecha actual, "a Miami" = "destino Miami", "LCL" = "marítimo LCL").
- Los filtros extraídos se combinan con operador AND por defecto: el embarque debe cumplir todos los filtros para aparecer en el resultado.
- Filtros extraídos se muestran explícitamente al cliente en la respuesta, para que pueda detectar si FleteChat interpretó algo mal.
Manejo de filtros ambiguos o desconocidos¶
- Si un filtro no se entiende (por ejemplo, un destino no soportado en el catálogo, una modalidad inexistente), FleteChat pregunta por aclaración antes de devolver resultados.
- Si un filtro admite varios valores plausibles ("al Caribe", "zona centroamericana"), FleteChat los propone explícitamente al cliente y le ofrece incluirlos todos o elegir.
- Si el cliente combina filtros contradictorios (por ejemplo, "aéreo" y "FCL"), FleteChat lo declara y pide corregir.
Resultados y aislamiento¶
- El resultado se resuelve dentro del alcance de la cuenta del cliente y respeta la visibilidad del contacto (ver historia de titular y colaboradores).
- Cuando el resultado excede el umbral inline, FleteChat entrega un enlace a la vista web detallada con los filtros ya aplicados (ver historia de enlace a vista web).
Edge cases¶
- Cliente usa un sinónimo o expresión regional no soportada. FleteChat pregunta por aclaración y, si es común, el equipo de FleteChat la agrega al catálogo de sinónimos (fuera del alcance de esta historia).
- Filtros exhaustivos dan cero resultados. FleteChat lo declara, resume los filtros aplicados y sugiere relajar uno o varios para ampliar la búsqueda.
- Cliente añade más filtros en un segundo mensaje. FleteChat acumula los filtros de la conversación activa (memoria de corto plazo; ver historia de memoria persistente) y responde con el resultado combinado.
- Cliente pide "quitar filtro X" después de haber aplicado varios. FleteChat lo remueve de la búsqueda acumulada y re-resuelve.
Tamaño, prioridad y tipo¶
- Tamaño: S
- Prioridad: P1 — extensión natural de US-028; sin filtrado libre, los reportes conversacionales son útiles pero limitados.
- Tipo: feature
Premisas¶
La historia está redactada bajo las siguientes premisas. Si alguna cambia, la historia debe revisarse y ajustarse en consecuencia. Todas deben ser confirmadas por el cliente antes de cerrar la historia.
- PR-124 — Combinación AND por defecto. Múltiples filtros en la misma petición se combinan con operador AND. FleteChat no asume OR ni XOR; si el cliente quiere otra combinación, la expresa explícitamente y FleteChat la confirma antes de resolver.
- PR-125 — Transparencia de la interpretación. FleteChat repite al cliente los filtros extraídos en la respuesta, usando términos del sistema (modalidad, origen, destino, estatus) y valores concretos, para que el cliente pueda validar la interpretación.
- PR-126 — Acumulación de filtros en conversación. Dentro de la conversación activa, los filtros ya aplicados se acumulan: el cliente puede refinar el resultado agregando o quitando filtros en mensajes sucesivos sin repetir los anteriores.
Refinamiento y Definition of Ready¶
Notas¶
| Fecha | Participantes | Acuerdo / Nota |
|---|---|---|
| 2026-04-19 | Kaeus | Versión inicial. |
| 2026-04-19 | Kaeus | Aprobación interna: pase a 🔵 Refinada. |
Checklist¶
- ✅ Historia escrita en formato Como / Quiero / Para
- ✅ Persona de usuario identificada
- ✅ Contexto de negocio documentado
- ✅ Criterios de aceptación observables y pass/fail
- ✅ Edge cases relevantes listados
- ✅ Tamaño y prioridad asignados
- ⬜ Premisas PR-124 a PR-126 confirmadas por el cliente
- ⬜ Reglas de negocio aplicables aprobadas
- ⬜ Requerimientos funcionales aplicables aprobados
- ⬜ Historia aprobada formalmente por el cliente