El sistema de Delivery/Logística debe permitir:
- Seguimiento de repartos: Los usuarios pueden ver el estado actual de sus pedidos y su ubicación.
- Optimización de rutas: El sistema debe calcular las rutas más eficientes para los repartidores basándose en diferentes factores como el tráfico y la distancia.
- Gestión de repartidores: Incluir la asignación de pedidos, el seguimiento de su ubicación y la gestión de su disponibilidad.
- Estimación de tiempos: Proveer estimaciones precisas del tiempo de entrega a los clientes.
- Notificaciones en tiempo real: Informar a los usuarios sobre el estado de su pedido mediante notificaciones por Whatsaap, SMS o correo electrónico.
- Usuarios pueden crear, ver y gestionar sus pedidos.
- El sistema debe registrar y mostrar el estado y la ubicación del pedido en tiempo real.
- Repartidores pueden ver y actualizar el estado de los pedidos asignados.
- El sistema debe optimizar y asignar rutas a los repartidores.
- Notificaciones en tiempo real deben ser enviadas a los clientes sobre el estado de sus pedidos.
- Administradores pueden gestionar repartidores, pedidos y rutas.
- Escalabilidad: El sistema debe manejar un gran número de usuarios y pedidos.
- Disponibilidad: Alta disponibilidad para asegurar que el sistema esté operativo 24/7.
- Seguridad: Proteger los datos de los usuarios y asegurar comunicaciones seguras.
- Desempeño: Respuestas rápidas y eficientes, especialmente para cálculos de rutas y seguimiento en tiempo real.
- Actor: Usuario
- Descripción: Permitir a un nuevo usuario registrarse en el sistema.
- Precondiciones: Ninguna
- Flujo Principal:
- El usuario ingresa sus datos (nombre, email, contraseña, dirección, teléfono).
- El sistema valida la información y crea una cuenta.
- Postcondiciones: El usuario está registrado y puede iniciar sesión.
- Actor: Usuario
- Descripción: Permitir a un usuario registrado iniciar sesión en el sistema.
- Precondiciones: El usuario debe estar registrado.
- Flujo Principal:
- El usuario ingresa su email y contraseña.
- El sistema verifica la información y permite el acceso.
- Postcondiciones: El usuario está autenticado.
- Actor: Cliente
- Descripción: Permitir a un cliente crear un nuevo pedido.
- Precondiciones: El cliente debe haber iniciado sesión.
- Flujo Principal:
- El cliente ingresa los detalles del pedido (dirección de entrega, descripción del producto).
- El sistema guarda el pedido y lo asigna a un repartidor.
- Postcondiciones: El pedido está creado y asignado.
- Actor: Repartidor
- Descripción: Permitir a un repartidor actualizar el estado de un pedido.
- Precondiciones: El repartidor debe haber iniciado sesión.
- Flujo Principal:
- El repartidor selecciona un pedido asignado.
- El repartidor actualiza el estado del pedido (en camino, entregado).
- El sistema guarda el nuevo estado del pedido.
- Postcondiciones: El estado del pedido está actualizado.
- Actor: Cliente
- Descripción: Permitir a un cliente ver el estado de sus pedidos.
- Precondiciones: El cliente debe haber iniciado sesión.
- Flujo Principal:
- El cliente selecciona un pedido.
- El sistema muestra el estado actual y la ubicación del pedido.
- Postcondiciones: El cliente puede ver el estado y la ubicación de su pedido.
- Actor: Sistema
- Descripción: Calcular la ruta más eficiente para un repartidor.
- Precondiciones: Deben existir pedidos asignados al repartidor.
- Flujo Principal:
- El sistema toma la ubicación actual del repartidor y las direcciones de entrega.
- El sistema calcula la ruta más eficiente.
- El sistema guarda y muestra la ruta al repartidor.
- Postcondiciones: La ruta óptima está calculada y asignada.
- Actor: Sistema
- Descripción: Enviar notificaciones en tiempo real a los usuarios sobre el estado de sus pedidos.
- Precondiciones: Debe haber un cambio en el estado del pedido.
- Flujo Principal:
- El sistema detecta un cambio en el estado del pedido.
- El sistema envía una notificación al cliente por el método seleccionado (push, SMS, email).
- Postcondiciones: El cliente recibe una notificación con el estado actualizado del pedido.
- Actor: Administrador
- Descripción: Permitir a un administrador gestionar repartidores (asignar pedidos, actualizar disponibilidad).
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona un repartidor.
- El administrador asigna pedidos o actualiza la disponibilidad del repartidor.
- Postcondiciones: Los repartidores están gestionados correctamente.
- Actor: Administrador
- Descripción: Permitir a un administrador gestionar usuarios (crear, editar, bloquear, sancionar).
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona un usuario.
- El administrador realiza la acción deseada (crear, editar, eliminar).
- Postcondiciones: Los usuarios están gestionados correctamente.
- Actor: Cliente
- Descripción: Permitir a un cliente ver el historial de sus pedidos.
- Precondiciones: El cliente debe haber iniciado sesión.
- Flujo Principal:
- El cliente selecciona la opción de historial de pedidos.
- El sistema muestra una lista de pedidos anteriores.
- Postcondiciones: El cliente puede ver el historial de sus pedidos.
- Actor: Cliente
- Descripción: Permitir a un cliente ver los detalles de un pedido específico.
- Precondiciones: El cliente debe haber iniciado sesión.
- Flujo Principal:
- El cliente selecciona un pedido del historial.
- El sistema muestra los detalles del pedido.
- Postcondiciones: El cliente puede ver los detalles del pedido seleccionado.
- Actor: Cliente
- Descripción: Permitir a un cliente cancelar un pedido.
- Precondiciones: El cliente debe haber iniciado sesión y el pedido debe estar en un estado cancelable.
- Flujo Principal:
- El cliente selecciona un pedido en curso.
- El cliente elige cancelar el pedido.
- El sistema actualiza el estado del pedido a cancelado.
- Postcondiciones: El pedido está cancelado, el cliente recibe una notificación. Se genera una penalización si aplica.
- Actor: Administrador
- Descripción: Permitir a un administrador generar reportes sobre el desempeño del sistema (pedidos, repartidores, tiempos de entrega).
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona el tipo de reporte.
- El sistema genera y muestra el reporte.
- Postcondiciones: El administrador puede ver y analizar el reporte generado.
- Actor: Usuario
- Descripción: Permitir a un usuario actualizar su perfil (nombre, dirección, teléfono, etc.).
- Precondiciones: El usuario debe haber iniciado sesión.
- Flujo Principal:
- El usuario selecciona la opción de editar perfil.
- El usuario actualiza la información deseada.
- El sistema guarda los cambios.
- Postcondiciones: El perfil del usuario está actualizado.
- Actor: Usuario
- Descripción: Permitir a un usuario recuperar su contraseña.
- Precondiciones: El usuario debe haber olvidado su contraseña.
- Flujo Principal:
- El usuario selecciona la opción de recuperar contraseña.
- El usuario ingresa su email.
- El sistema envía un enlace de recuperación de contraseña al email del usuario.
- Postcondiciones: El usuario puede restablecer su contraseña a través del enlace enviado.
- Actor: Cliente
- Descripción: Permitir a un cliente ver un mapa con las ubicaciones de sus entregas.
- Precondiciones: El cliente debe haber iniciado sesión.
- Flujo Principal:
- El cliente selecciona la opción de ver mapa de entregas.
- El sistema muestra un mapa con las ubicaciones de las entregas en curso.
- Postcondiciones: El cliente puede ver las ubicaciones de sus entregas en un mapa.
- Actor: Usuario
- Descripción: Permitir a un usuario contactar al soporte del sistema.
- Precondiciones: Ninguna
- Flujo Principal:
- El usuario selecciona la opción de soporte.
- El usuario ingresa su consulta o problema.
- El sistema envía la consulta al equipo de soporte.
- Postcondiciones: El usuario ha contactado al soporte y recibirá asistencia.
- Actor: Administrador
- Descripción: Permitir a un administrador ver estadísticas de uso del sistema (número de usuarios, pedidos, repartidores activos, etc.).
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona la opción de ver estadísticas.
- El sistema muestra las estadísticas de uso actualizadas.
- Postcondiciones: El administrador puede ver las estadísticas de uso del sistema.
- Actor: Administrador
- Descripción: Permitir a un administrador gestionar las notificaciones enviadas a los usuarios.
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona la opción de gestionar notificaciones.
- El administrador configura las notificaciones (contenido, destinatarios, métodos).
- El sistema guarda y aplica la configuración.
- Postcondiciones: Las notificaciones están gestionadas correctamente.
- Actor: Administrador
- Descripción: Permitir a un administrador ver las opiniones y calificaciones de los clientes sobre el servicio.
- Precondiciones: El administrador debe haber iniciado sesión.
- Flujo Principal:
- El administrador selecciona la opción de ver opiniones.
- El sistema muestra las opiniones y calificaciones de los clientes.
- Postcondiciones: El administrador puede ver y analizar las opiniones de los clientes.
- Actor: Cliente
- Descripción: Permitir a un cliente calificar un pedido entregado.
- Precondiciones: El cliente debe haber iniciado sesión y el pedido debe haber sido entregado.
- Flujo Principal:
- El cliente selecciona un pedido entregado.
- El cliente ingresa su calificación y opinión.
- El sistema guarda la calificación y opinión.
- Postcondiciones: El pedido está calificado y la opinión del cliente está registrada.
- Actor: Repartidor
- Descripción: Permitir a un repartidor actualizar su disponibilidad.
- Precondiciones: El repartidor debe haber iniciado sesión.
- Flujo Principal:
- El repartidor selecciona la opción de actualizar disponibilidad.
- El repartidor cambia su estado de disponibilidad.
- El sistema guarda el nuevo estado de disponibilidad.
- Postcondiciones: La disponibilidad del repartidor está actualizada.