Screen · PQRS

Formulario PQRS

Requisito colombiano, entrada desde Soporte (ruta /profile/support/pqrs). Tipo (Petición / Queja / Reclamo / Sugerencia), asunto por categoría, descripción y adjuntos opcionales. El éxito entrega número de radicado y el plazo de respuesta: hasta 15 días hábiles (TyC §18). Este plazo es el de PQRS — no se fusiona con el de habeas data (A10), que tiene los suyos propios.

/profile/support/pqrs POST /v1/support/tickets radicado + 15 días hábiles · TyC §18 adjuntos opcionales
Layout anotado · formulario

El tipo va primero — define categorías del asunto y el tono de la respuesta. Selector 2×2 con descripción corta por tipo (mucha gente no distingue queja de reclamo).

tipo · 2×2 con ayuda
asunto · selector por categoría
descripción · contador
adjuntos opcionales
9:41
Enviar una PQRS
Tipo de solicitud
PeticiónPides información o un trámite
QuejaAlgo del servicio te molestó
ReclamoAlgo salió mal con tu dinero
SugerenciaUna idea para mejorar
Asunto
Retiro a banco demorado
Cuéntanos qué pasó
Hice un retiro el 5 de julio y aún no llega a mi cuenta de Bancolombia. El estado dice completado…
112 / 1.000
Adjuntar soporte (opcional)
Capturas o PDF · máx. 3 archivos
Enviar solicitud

Composición

  1. Tipo · 2×2 educativoCada opción lleva una línea que la distingue. Selección con borde primary 2px + tinte 4%. Un solo tipo por radicado.
  2. Asunto por categoríaSelector con categorías dependientes del tipo (reclamo → operaciones, depósitos, retiros, cobros…). Evita el texto libre en el asunto: enruta mejor el ticket.
  3. DescripciónTexto libre, 20–1.000 caracteres, contador mono. Placeholder guía sin condicionar ("Cuéntanos qué pasó").
  4. Adjuntos opcionalesPatrón de upload de A7 (slots con estados). Máx. 3 archivos, 10 MB c/u.
  5. CTA gatedHabilita con tipo + asunto + descripción ≥ 20 caracteres. Envío con spinner inline.
Éxito · radicado y plazo

El radicado es el dato clave: mono, copiable (feedback "Copiado ✓" §4.16). El plazo se declara en la pantalla — hasta 15 días hábiles — y llega también por notificación.

Éxito · radicado
9:41
Recibimos tu reclamo
Número de radicado
PQRS-2026-018452
Te responderemos en un plazo máximo de 15 días hábiles, al correo registrado y aquí en la app.

Puedes consultar el estado en Soporte → Mis solicitudes con tu número de radicado.

Volver a Soporte
Error de envío
9:41
Enviar una PQRS

No pudimos enviar tu solicitud. Tu texto está guardado — intenta de nuevo.

Cuéntanos qué pasó
Hice un retiro el 5 de julio y aún no llega a mi cuenta de Bancolombia…
Reintentar envío

Reglas de estado

  1. Borrador localEl texto se guarda en draft local al escribir — un fallo de red o cierre accidental nunca pierde la descripción.
  2. Radicado copiableTap en copy → "Copiado ✓" inline 1,5s (§4.16). El radicado llega también por notificación y correo.
  3. OfflineBanner neutro + CTA disabled. El formulario completo persiste (patrón A2).
  4. Loading"Procesando…" en CTA; los adjuntos suben antes del submit (patrón A7), así el envío final es atómico.
Mis solicitudes · lista de radicados

Ruta /profile/support/pqrs/requests, entrada desde Soporte y desde el éxito del formulario. La app ya la construyó con los idiomas del historial: filas hairline agrupadas por fecha de radicación, dot de estado y detalle al tocar. Tres estados de solicitud: Radicada (neutro) → En proceso (warning) → Respondida (success).

Mis solicitudes · con datos
9:41
Mis solicitudes
Reclamo · Retiro demorado
PQRS-2026-018452 · 8 jul
En proceso
Petición · Certificado de saldos
PQRS-2026-017903 · 24 jun
Respondida
Sugerencia · Modo oscuro en widgets
PQRS-2026-016611 · 2 jun
Respondida
Reclamo · Cobro no reconocido
PQRS-2026-015242 · 12 may
Radicada
Vacío
9:41
Mis solicitudes
Sin solicitudes aún
Cuando envíes una PQRS, aquí verás su radicado y el estado de la respuesta.

Spec de la lista

  1. Row · idioma del historialMismo grid 40/1fr/auto de tx-list: ícono contenedor 40dp, título "Tipo · Asunto", metadata mono con radicado + fecha de radicación, dot de estado a la derecha.
  2. Estados de solicitudRadicada (dot neutro — recibida, sin agente asignado) → En proceso (dot warning, pulso sutil) → Respondida (dot success). Cerrada = Respondida; no hay estado "rechazada": toda PQRS se responde.
  3. Orden y agrupaciónDescendente por fecha de radicación. Sin filtros ni búsqueda en v1 — el volumen esperado por usuario es bajo.
  4. DetalleTap → detalle con la descripción enviada, adjuntos, y la respuesta del agente cuando exista. La respuesta llega también por notificación y correo.
  5. SLA visibleEn "En proceso", el detalle muestra "Respuesta a más tardar: 29 jul 2026" — calculada por backend con días hábiles (nunca en el cliente).

Borrador — pendiente revisión Erika. El vault no tiene copy literal aprobado para PQRS. Son propuesta: las descripciones del selector de tipo, el placeholder de descripción, el copy de éxito y el nombre "Mis solicitudes". El plazo (15 días hábiles) y la obligación de radicado sí son de TyC §18 — no tocar.

Líneas rojas. (1) Si el motivo del PQRS es una operación "En revisión" (SAGRILAFT), ni el formulario ni las respuestas insinúan el motivo de la suspensión — las categorías de asunto dicen "Operación en revisión", nunca "operación sospechosa" ni referencias a listas. (2) No fusionar SLAs: PQRS responde en hasta 15 días hábiles (TyC §18); habeas data tiene 10 días hábiles para consultas y 15 para reclamos (Política §13) y vive en su propio flujo (A10). Cada formulario declara su propio plazo.

Dark · 360dp
Dark · formulario
9:41
Enviar una PQRS
Tipo de solicitud
PeticiónPides información o un trámite
QuejaAlgo del servicio te molestó
ReclamoAlgo salió mal con tu dinero
SugerenciaUna idea para mejorar
Asunto
Retiro a banco demorado
Cuéntanos qué pasó
Hice un retiro el 5 de julio y aún no llega a mi cuenta de Bancolombia…
92 / 1.000
Adjuntar soporte (opcional)
Capturas o PDF · máx. 3 archivos
Enviar solicitud
Notas de implementación · Flutter

Tickets + draft local

Endpoint

POST /v1/support/tickets {type, category, description, attachment_ids[]} → {ticket_id, radicado, sla_business_days: 15}. El radicado lo genera backend con formato PQRS-AAAA-NNNNNN.

Mis solicitudes

GET /v1/support/tickets → lista {radicado, type, category, status: filed|in_progress|answered, filed_at, due_at}. Ruta /profile/support/pqrs/requests; pull-to-refresh, sin paginación en v1.

Categorías dependientes

GET /v1/support/categories?type=claim — cachéadas por sesión. El selector reusa el bottom sheet de opciones del DS.

Draft

shared_preferences con debounce 500ms: {type, category, description}. Se limpia solo tras 200 OK.

SLA por tipo de flujo

El SLA viaja en la respuesta (sla_business_days) y la UI lo renderiza — nunca hardcodear 15: si TyC cambia, el copy sigue al backend. Habeas data usa otro endpoint con sus propios SLAs (A10).

Operación en revisión

Si el ticket referencia una tx con status: under_review, el backend etiqueta internamente — la UI no añade ni pide información sobre el motivo. Respuestas de agentes pasan por plantillas aprobadas.

Accesibilidad

El 2×2 es un RadioGroup semántico; cada opción anuncia título + descripción. Contador anunciado al 90% del límite.