Saltar a contenido

Aplicación móvil

Registro

RF-U-01

Registro con número de teléfono

Selector de país con +505 preseleccionado y campo de ocho dígitos sin separadores. El sistema normaliza el número quitando espacios y guiones antes de validarlo. Envía un código de seis dígitos por SMS con vigencia de cinco minutos; el botón de reenvío se habilita a los sesenta segundos y admite un máximo de cinco envíos por hora al mismo número, contados desde el primer envío. Tras tres canjes fallidos del mismo código, el código se invalida y hay que solicitar uno nuevo.

RF-U-02

Registro con correo electrónico

Correo y contraseña de mínimo ocho caracteres con al menos una mayúscula y un número. La verificación se hace con un código de seis dígitos o con un enlace de un solo uso, ambos con vigencia de veinticuatro horas. Una cuenta sin ningún canal verificado puede iniciar sesión y explorar, pero no puede reservar; la aplicación muestra de forma persistente la acción pendiente de verificación.

RF-U-03

Datos obligatorios de perfil

Nombre y apellido, cada uno de uno a cien caracteres. Al menos un canal verificado, teléfono o correo. El segundo canal es opcional y puede vincularse después con verificación propia. El sistema no admite una cuenta sin ningún canal de contacto ni permite desvincular el único canal verificado que quede.

RF-U-04

Unicidad de cuenta

Un teléfono pertenece a una sola cuenta y un correo pertenece a una sola cuenta, comparando el correo sin distinguir mayúsculas. Cuando el dato ya existe, la aplicación ofrece iniciar sesión o recuperar el acceso en lugar de crear un duplicado, sin revelar datos de la cuenta existente más allá de que el identificador está en uso.

RF-U-05

Aceptación de términos

Casilla obligatoria de Términos de uso y Política de Privacidad antes de completar el registro. Se registra la versión exacta del documento aceptado, la fecha, la hora y la dirección de origen. Cuando se publica una versión nueva, la aplicación exige aceptarla en el siguiente ingreso antes de permitir reservar.


Autenticación

RF-U-06

Inicio de sesión multicanal

Dos caminos hacia la misma cuenta: teléfono con código de un solo uso, o correo con contraseña. Si ambos canales están vinculados, cualquiera de los dos abre la misma sesión. Los intentos fallidos se registran con el identificador tal como se tecleó, y el mensaje de error no distingue entre cuenta inexistente y credencial incorrecta.

RF-U-07

Sesión persistente

Token de sesión con vigencia absoluta de treinta días y renovación automática mediante un token de refresco mientras la aplicación se use. El cierre de sesión manual revoca ambos. Un cambio de contraseña revoca todas las sesiones abiertas de la cuenta, incluida la que lo ejecutó.

RF-U-08

Recuperación de acceso

Restablecimiento por enlace de un solo uso al correo verificado, o por código de un solo uso al teléfono verificado si el registro fue telefónico. Si el identificador no corresponde a ninguna cuenta, la respuesta es idéntica a la del caso exitoso para no revelar qué correos y teléfonos están registrados.

RF-U-09

Inicio de sesión con Google

Acceso federado vinculado a la cuenta por el identificador estable del proveedor, no por el correo, de modo que un cambio de correo en el proveedor no permita tomar una cuenta ajena. Si el correo devuelto ya pertenece a una cuenta local, la aplicación pide iniciar sesión con la contraseña una vez para vincular ambos métodos.


Cuenta

RF-U-10

Modo exploración sin registro

Mapa, lista, filtros, ficha de comercio y detalle de oferta con precios visibles sin cuenta. Al pulsar reservar, la aplicación pide registro o ingreso y regresa a la misma oferta con la cantidad seleccionada intacta. El recorrido previo al registro se atribuye a un identificador de sesión anónima que la aplicación genera en la primera apertura.

RF-U-11

Edición de perfil

Edición de nombre, apellido y foto. Cambiar o agregar teléfono o correo exige verificar el dato nuevo antes de que sustituya al anterior; hasta entonces el canal vigente sigue siendo el antiguo. La foto se comprime del lado del servidor y no puede exceder cinco megabytes.

RF-U-12

Eliminación de cuenta

Solicitud desde la aplicación con confirmación explícita. Desde el envío, la cuenta no puede crear reservas nuevas. La ejecución anonimiza nombre, apellido, correo, teléfono y foto, y conserva el historial transaccional sin datos personales para que las cifras del comercio y del piloto no cambien. No se ejecuta mientras la cuenta tenga reservas vivas.


Ubicación

RF-U-13

Permiso de ubicación

Pantalla explicativa previa que indica para qué se usa la ubicación antes de lanzar el diálogo del sistema operativo. Uso exclusivo en primer plano; la aplicación no rastrea en segundo plano y no guarda historial de posiciones, solo la última ubicación conocida.

RF-U-14

Ubicación manual alternativa

Si el permiso se niega o no está disponible, el usuario fija su ubicación arrastrando un pin en el mapa o eligiendo una zona de una lista administrada. La elección persiste entre sesiones y puede cambiarse en cualquier momento desde el encabezado de la pantalla de exploración.

RF-U-15

Aviso de fuera de cobertura

Si la ubicación del usuario queda fuera del área habilitada del piloto, la aplicación lo informa con un mensaje claro, permite seguir explorando la zona cubierta y ofrece dejar el correo para avisarle cuando la cobertura se amplíe.


Rendimiento

RF-U-16

Modo bajo consumo de datos

Imágenes servidas en versiones comprimidas y cargadas de forma diferida. Caché local de la última consulta de ofertas y de las reservas activas con su código, de modo que la pantalla de retiro funcione sin conexión. La caché indica de forma visible cuándo fue la última actualización.


Exploración

RF-U-17

Mapa interactivo

Pines de los comercios con al menos una oferta reservable, con agrupación al alejar el zoom y botón de centrado en la ubicación del usuario. Tocar un pin abre una vista previa con el nombre del comercio, la oferta más barata, el precio y la ventana de retiro.

RF-U-18

Vista de lista alternable

Alternador entre mapa y lista que conserva los filtros aplicados. Cada tarjeta muestra comercio, tipo de oferta, precio, valor de referencia, porcentaje de descuento, distancia, ventana de retiro y unidades restantes.

RF-U-19

Filtros

Distancia de 1, 3, 5 o 10 kilómetros; tipo de comida entre las categorías activas; tipo de oferta entre pack sorpresa y oferta específica; rango de precio; franja horaria de retiro; y solo disponibles. Los filtros son combinables y persisten durante la sesión. La aplicación muestra el número de resultados y un control para limpiarlos todos.

RF-U-20

Ordenamiento

Por distancia ascendente, menor precio, mayor porcentaje de descuento y cierre de ventana más próximo. El orden predeterminado es por distancia. Cuando la ubicación no está disponible, el orden por distancia se deshabilita y el predeterminado pasa a ser el cierre más próximo.

RF-U-21

Búsqueda por texto

Búsqueda por nombre de comercio o nombre de oferta, insensible a mayúsculas y tildes y tolerante a errores de escritura. Los resultados se reflejan a la vez en el mapa y en la lista. Una búsqueda sin resultados se registra con su texto, filtros y ubicación para orientar el reclutamiento de comercios.

RF-U-22

Visibilidad condicionada de ofertas

Se muestran las ofertas cuya ventana de retiro no ha cerrado. Las que tienen disponibilidad cero se marcan como agotadas y no admiten reserva, pero siguen visibles hasta el cierre de su ventana. Las cerradas desaparecen del listado. Una oferta programada puede mostrarse como disponible más tarde sin permitir reserva.

RF-U-23

Stock en tiempo real

La disponibilidad se refresca automáticamente al menos cada treinta segundos mientras la pantalla está abierta, al volver a la aplicación desde segundo plano y siempre antes de confirmar una reserva. La cifra mostrada indica unidades disponibles, no unidades publicadas.


Detalle

RF-U-24

Ficha de oferta

Foto, nombre, tipo, descripción, precio, valor de referencia, porcentaje de descuento, unidades disponibles, ventana de retiro, dirección, referencias de llegada, distancia y calificación del comercio con su número de valoraciones. La descripción se muestra tal como el comercio la escribió, con un aviso fijo de que la información sobre el contenido proviene del comercio.

RF-U-25

Aviso de contenido variable

En un pack sorpresa se muestra un aviso fijo indicando que el contenido es aleatorio según los excedentes del día, junto con la categoría general y la lista de entre tres y ocho elementos que la oferta puede contener. Esa lista es orientativa y así se declara.

RF-U-26

Aviso de condiciones del piloto

Antes de confirmar, la aplicación muestra que el retiro es presencial en el local dentro de la ventana indicada y que el pago se hace en efectivo al retirar. No hay cobro dentro de la aplicación en ningún momento.

RF-U-27

Indicaciones para llegar

Botón que abre la ubicación exacta del comercio en la aplicación de mapas del dispositivo, con las referencias de llegada visibles en la propia ficha para los casos en que la dirección no baste.


Reserva

RF-U-28

Selección de cantidad

Selector desde una unidad hasta el máximo configurado por usuario, acotado además por la disponibilidad del momento. La pantalla muestra el precio unitario y el total a pagar en efectivo, recalculado al cambiar la cantidad.

RF-U-29

Bloqueo temporal de stock

Al iniciar la confirmación, las unidades quedan retenidas durante el tiempo configurado con una cuenta regresiva visible. Si el usuario no confirma antes de que expire, la retención se libera y la aplicación regresa al detalle con la disponibilidad actualizada.

RF-U-30

Confirmación de reserva

Pantalla de resumen con comercio, oferta, cantidad, total en efectivo, ventana de retiro y plazo límite de cancelación, más una confirmación explícita. Al confirmar, la reserva queda activa y se genera su código de retiro.

RF-U-31

Control de concurrencia

Si la disponibilidad se agota entre la selección y la confirmación, el sistema rechaza la reserva, explica el motivo y devuelve al detalle con la cifra actualizada. La verificación es transaccional: dos confirmaciones simultáneas por la última unidad no pueden tener éxito ambas.

RF-U-32

Generación de código único

Cada reserva genera un código de seis caracteres irrepetible en todo el sistema, usando un alfabeto que excluye los caracteres que se confunden al dictarse. El código es válido solo para esa reserva y su ventana, y se muestra junto a su representación como código de barras bidimensional.

RF-U-33

Límite de reservas activas

Máximo configurable de reservas activas simultáneas por usuario y máximo de una reserva activa por comercio. Al alcanzar cualquiera de los dos límites, la aplicación explica cuál se alcanzó y qué reserva habría que resolver primero.

RF-U-34

Cancelación por el usuario

Permitida hasta el plazo configurado antes del cierre de la ventana, mostrado desde el momento de reservar. Exige seleccionar un motivo de una lista cerrada. Al cancelar, las unidades vuelven a estar disponibles de inmediato y el comercio recibe aviso.

RF-U-35

Estados de la reserva

Activa, Retirada, Cancelada por el usuario, Cancelada por el comercio, Cancelada por administración y Expirada. El estado es visible en todo momento junto con la fecha y hora en que se alcanzó y, cuando corresponde, el motivo.

RF-U-36

Expiración automática

Al vencer la tolerancia posterior al cierre de la ventana sin que el comercio valide el código, la reserva pasa a Expirada y el usuario recibe aviso. Las unidades no vuelven a estar disponibles: la ventana ya cerró.

RF-U-37

Control de incumplimientos

Al acumular el número configurado de reservas expiradas dentro del periodo de conteo, el sistema bloquea temporalmente la capacidad de reservar por la duración configurada. La aplicación informa el motivo, la fecha de reactivación y las reservas concretas que originaron el bloqueo.


Retiro

RF-U-38

Pantalla de reserva activa

Acceso directo desde el inicio con el código de barras bidimensional, el código de seis caracteres en grande, los datos del comercio, el monto exacto a pagar y la cuenta regresiva hasta el cierre de la ventana. Funciona sin conexión desde la caché local.

RF-U-39

Actualización tras validación

Cuando el comercio valida el código, el estado cambia a Retirada y el usuario recibe una notificación de confirmación. Si la entrega fue parcial, la notificación indica las unidades entregadas y el monto ajustado.

RF-U-40

Comprobante digital

Registro consultable indefinidamente con identificador de la reserva, comercio, oferta, cantidad reservada y entregada, monto pagado en efectivo, fecha y hora del retiro. El comprobante conserva los datos tal como estaban al momento de la reserva, aunque el comercio cambie después su precio o su nombre.


Historial

RF-U-41

Historial de reservas

Listado ordenado de la más reciente a la más antigua, con filtro por estado y por rango de fechas, y acceso al detalle y al comprobante de cada una. Incluye las canceladas y las expiradas, porque forman parte del historial del usuario.


Valoración

RF-U-42

Calificación del comercio

Tras una reserva retirada, el usuario califica de una a cinco estrellas con comentario opcional de hasta trescientos caracteres. Una sola valoración por reserva, dentro del plazo configurado desde la entrega. Admite una sola edición dentro del mismo plazo. La valoración se publica de inmediato, sujeta a moderación posterior.

RF-U-43

Reporte de incidencia

Formulario vinculado a una reserva concreta con categorías y descripción libre de hasta quinientos caracteres. El usuario recibe un folio y puede seguir el estado de su reporte. Un mismo usuario no puede abrir dos incidencias sobre la misma reserva

Categorías:

  • Comercio cerrado
  • Pedido no entregado
  • Contenido en mal estado
  • Precio distinto al publicado
  • Otro

Notificaciones

RF-U-44

Notificaciones transaccionales

Aviso al confirmar la reserva, recordatorio treinta minutos antes del cierre de la ventana, aviso de cancelación por el comercio o por administración, aviso de despublicación de la oferta reservada y aviso de expiración. Cada aviso lleva al lugar de la aplicación donde el usuario puede actuar.

RF-U-45

Canal alternativo

Si las notificaciones push están deshabilitadas o el dispositivo no está registrado, los avisos de confirmación y cancelación se envían por mensaje de texto o correo según el canal verificado. Un aviso suprimido queda registrado como descartado, con su motivo.

RF-U-46

Preferencias de notificación

El usuario activa o desactiva por separado los avisos promocionales y los de comercios favoritos, por cada canal. Los avisos transaccionales no son desactivables porque afectan a una reserva viva.


Favoritos

RF-U-47

Comercios favoritos

Marcar y desmarcar comercios como favoritos, verlos en una sección propia con su oferta vigente si la hay, y recibir aviso cuando publiquen. El aviso respeta la preferencia del usuario y no se envía si el comercio está pausado o suspendido.


Impacto

RF-U-48

Panel de impacto personal

Contadores acumulados de comidas rescatadas y de ahorro estimado en córdobas frente al valor de referencia de cada oferta retirada. Solo cuentan las reservas entregadas. El ahorro se calcula con los valores congelados en cada reserva, de modo que cambios posteriores de precio no alteran la cifra histórica.


Soporte

RF-U-49

Ayuda y contacto

Sección de preguntas frecuentes y botón de contacto directo con soporte por mensajería o correo. Desde una reserva concreta, el contacto adjunta automáticamente su identificador para que soporte no tenga que pedirlo.