1. Introducción y Propósito
El presente documento establece los requerimientos funcionales y no funcionales del sistema RutaCC, una plataforma web multi-tenant diseñada para la gestión integral de flotas vehiculares, despachos, conductores y operaciones logísticas para empresas.
El propósito del sistema es centralizar y optimizar las operaciones de despacho o rutas a seguir, permitiendo a las empresas o personas:
- Planificar y ejecutar rutas eficientes
- Gestionar flotas vehiculares y su mantenimiento
- Controlar costos operativos (combustible, mantenciones, fallos)
- Administrar documentos y vencimientos
- Generar reportes e indicadores de gestión
- Operar bajo un modelo SaaS multi-empresa (tenant)
2. Alcance del Proyecto
2.1 Alcance Incluido
- Aplicación web accesible desde navegador
- Modelo de negocio SaaS multi-tenant
- Gestión completa de flota, conductores y despachos
- Sistema de permisos por roles
- Reportes e indicadores de gestión
- Planificador de rutas con optimización
- Alertas automáticas de vencimientos
- Indicador del momento de venta óptimo de vehículos
2.2 Alcance Excluido (Futuras Versiones)
- Aplicación móvil nativa
- Seguimiento GPS en tiempo real
- Integración con sistemas ERP externos
- Pasarela de pagos integrada
- Inteligencia artificial para predicción de rutas
3. Requerimientos Funcionales
3.1 Módulo de Autenticación y Seguridad
| ID | Requerimiento | Prioridad |
| RF-001 | El sistema debe permitir el login con email y contraseña | Alta |
| RF-002 | Las contraseñas deben almacenarse cifradas con bcrypt | Alta |
| RF-003 | El sistema debe cerrar sesión tras inactividad | Media |
| RF-004 | El sistema debe validar el rol del usuario en cada operación | Alta |
| RF-005 | El sistema debe permitir logout seguro | Alta |
3.2 Módulo de Gestión de Tenants (Multi-empresa)
| ID | Requerimiento | Prioridad |
| RF-010 | El sistema debe soportar múltiples empresas (tenants) aisladas | Alta |
| RF-011 | Cada tenant debe tener sus propios datos independientes | Alta |
| RF-012 | El sistema debe permitir crear, editar y desactivar tenants | Alta |
| RF-013 | Cada tenant debe tener su configuración independiente | Media |
3.3 Módulo de Gestión de Usuarios
| ID | Requerimiento | Prioridad |
| RF-020 | El sistema debe permitir crear usuarios con roles (Administrador, Usuario, Despachador, Conductor) | Alta |
| RF-021 | El sistema debe permitir asignar permisos por página a cada usuario | Alta |
| RF-022 | El administrador puede activar/desactivar usuarios | Alta |
| RF-023 | Los usuarios solo ven datos de su tenant | Alta |
3.4 Módulo de Vehículos
| ID | Requerimiento | Prioridad |
| RF-030 | El sistema debe permitir registrar vehículos con patente, marca, modelo, año, color, capacidad, rendimiento | Alta |
| RF-031 | El sistema debe controlar el estado del vehículo (disponible, asignado, en_ruta, en_fallo, mantencion, inactivo) | Alta |
| RF-032 | El sistema debe registrar el kilometraje actual del motor | Alta |
| RF-033 | El sistema debe gestionar documentos del vehículo (SOAP, revisión técnica, seguro, permiso de circulación) | Alta |
| RF-034 | El sistema debe alertar sobre documentos próximos a vencer | Media |
| RF-035 | La patente debe ser única por tenant | Alta |
3.5 Módulo de Conductores
| ID | Requerimiento | Prioridad |
| RF-040 | El sistema debe registrar conductores con RUT, nombre, teléfono, email | Alta |
| RF-041 | El sistema debe gestionar estados del conductor (disponible, asignado, en_ruta, suspendido, licencia_medica, con_permiso, inactivo) | Alta |
| RF-042 | El sistema debe gestionar licencias de conducir con clase y vencimiento | Alta |
| RF-043 | El RUT debe ser único por tenant | Alta |
| RF-044 | El sistema debe alertar vencimiento de licencias | Media |
3.6 Módulo de Bodegas
| ID | Requerimiento | Prioridad |
| RF-050 | El sistema debe registrar bodegas con nombre, dirección y coordenadas geográficas | Alta |
| RF-051 | Las bodegas sirven como punto de origen para los despachos | Alta |
| RF-052 | El sistema debe activar/desactivar bodegas | Media |
3.7 Módulo de Pedidos
| ID | Requerimiento | Prioridad |
| RF-060 | El sistema debe registrar pedidos con cliente, dirección, coordenadas, documento | Alta |
| RF-061 | El sistema debe gestionar estados de pedidos (pendiente, asignado, en ruta, entregada, fallida, planificada) | Alta |
| RF-062 | El sistema debe permitir asignar pedidos a despachos | Alta |
| RF-063 | El sistema debe permitir planificar el orden de entrega | Alta |
| RF-064 | El sistema debe registrar hora estimada y real de entrega | Media |
3.8 Módulo de Despachos
| ID | Requerimiento | Prioridad |
| RF-070 | El sistema debe crear despachos con conductor, vehículo, bodega origen | Alta |
| RF-071 | El sistema debe calcular automáticamente distancia, combustible estimado, costo y duración | Alta |
| RF-072 | El sistema debe gestionar estados del despacho (creada, planificada, en_ruta, en_entrega, finalizada, cancelada) | Alta |
| RF-073 | El sistema debe registrar km de salida y llegada del vehículo | Alta |
| RF-074 | El sistema debe registrar hora real de salida y llegada | Alta |
| RF-075 | El sistema debe generar número de orden único por tenant | Alta |
| RF-076 | El sistema debe permitir asignar múltiples pedidos a un despacho | Alta |
| RF-077 | El sistema debe planificar la ruta óptima de entrega | Media |
3.9 Módulo de Combustible
| ID | Requerimiento | Prioridad |
| RF-080 | El sistema debe registrar cargas de combustible con litros, monto, tipo, lugar | Alta |
| RF-081 | El sistema debe asociar cargas a vehículos y opcionalmente a despachos | Alta |
| RF-082 | El sistema debe registrar kilometraje al momento de la carga | Media |
3.10 Módulo de Mantenciones
| ID | Requerimiento | Prioridad |
| RF-090 | El sistema debe registrar mantenciones preventivas y correctivas | Alta |
| RF-091 | El sistema debe registrar costo, fechas, taller y kilometraje | Alta |
| RF-092 | El sistema debe calcular próxima mantención según kilometraje | Media |
| RF-093 | El sistema debe gestionar estados (planificada, en_proceso, realizada) | Alta |
3.11 Módulo de Fallos
| ID | Requerimiento | Prioridad |
| RF-100 | El sistema debe registrar fallos mecánicos, eléctricos, de neumáticos, carrocería u otros | Alta |
| RF-101 | El sistema debe clasificar fallos por gravedad (Baja, Media, Alta) | Alta |
| RF-102 | El sistema debe gestionar estados del fallo (en_fallo, en_presupuesto, mantencion, terminado) | Alta |
| RF-103 | El sistema debe cambiar el estado del vehículo a 'en_fallo' automáticamente | Media |
3.12 Módulo de Cobros
| ID | Requerimiento | Prioridad |
| RF-110 | El sistema debe registrar otros cobros (TAG, multas, permisos) asociados a patentes | Alta |
| RF-111 | El sistema debe gestionar estados (registrado, pagado, anulado) | Alta |
| RF-112 | El sistema debe registrar fecha de vencimiento y fecha de pago | Alta |
| RF-113 | El sistema debe alertar cobros próximos a vencer | Media |
3.13 Módulo de Reportes
| ID | Requerimiento | Prioridad |
| RF-120 | El sistema debe generar reporte de costos mensual por vehículo | Alta |
| RF-121 | El sistema debe generar reporte de costos por conductor | Media |
| RF-122 | El sistema debe generar dashboard con estadísticas del mes | Alta |
| RF-123 | El sistema debe mostrar alertas de vencimiento de documentos | Alta |
| RF-124 | El sistema debe mostrar cobros pendientes de pago | Media |
4. Requerimientos No Funcionales
4.1 Rendimiento
| ID | Requerimiento | Métrica |
| RNF-001 | Tiempo de carga de páginas | < 2 segundos |
| RNF-002 | Tiempo de respuesta de APIs | < 500 ms |
| RNF-003 | Soporte de usuarios concurrentes | 100+ por tenant |
| RNF-004 | Disponibilidad del sistema | 99.5% mensual |
4.2 Seguridad
| ID | Requerimiento | Estándar |
| RNF-010 | Prevención de inyección SQL | OWASP A03:2021 |
| RNF-011 | Prevención de XSS | OWASP A07:2021 |
| RNF-012 | Cifrado de contraseñas | bcrypt (cost 12) |
| RNF-013 | Protección CSRF | Tokens por sesión |
| RNF-014 | Headers de seguridad | CSP, X-Frame-Options, etc. |
| RNF-015 | Cumplimiento Ley 21.710 | Protección de datos Chile |
| RNF-016 | Aislamiento multi-tenant | ISO 27001 A.5.15 |
4.3 Usabilidad
| ID | Requerimiento |
| RNF-020 | Interfaz responsiva (desktop, tablet, móvil) |
| RNF-021 | Interfaz en español chileno |
| RNF-022 | Navegación intuitiva con máximo 3 clics para operaciones comunes |
| RNF-023 | Feedback visual en todas las acciones del usuario |
4.4 Compatibilidad
| ID | Requerimiento |
| RNF-030 | Compatible con Chrome, Firefox, Edge, Safari (últimas 2 versiones) |
| RNF-031 | Servidor: PHP 7.4+, MariaDB 10+, Apache/Nginx |
| RNF-032 | Funcional con conexión de 1 Mbps mínimo |
4.5 Mantenibilidad
| ID | Requerimiento |
| RNF-040 | Código documentado y estructurado |
| RNF-041 | Separación de responsabilidades (MVC-like) |
| RNF-042 | Uso de prepared statements en todas las consultas |
| RNF-043 | Logs de errores y auditoría |
5. Perfiles de Usuarios
| Rol | Descripción | Permisos |
| Administrador |
Administrador del tenant (empresa) |
Acceso total: gestión de usuarios, vehículos, conductores, configuración, reportes |
| Usuario |
Operador regular |
Operaciones diarias según permisos asignados (despachos, pedidos, etc.) |
| Despachador |
Encargado de despachos |
Gestión de despachos, asignación de pedidos, planificación de rutas |
| Conductor |
Conductor de vehículo |
Visualización de sus despachos asignados y actualización de estados |
6. Restricciones y Supuestos
6.1 Restricciones
- El sistema requiere conexión a Internet
- Los datos se almacenan en servidores centralizados
- El sistema opera en horario 24/7
- Los datos personales deben cumplir Ley 21.710 de Chile
6.2 Supuestos
- Los clientes cuentan con dispositivos con navegador moderno
- Las direcciones ingresadas existen en el mapa
- Los usuarios tienen conocimientos básicos de computación
- La información ingresada es veraz y actualizada
7. Matriz de Prioridades
| Prioridad | Descripción | Módulos |
| Alta - Must Have |
Imprescindibles para el lanzamiento |
Autenticación, Tenants, Usuarios, Vehículos, Conductores, Despachos, Pedidos |
| Media - Should Have |
Importantes para la operación completa |
Combustible, Mantenciones, Fallos, Cobros, Alertas |
| Baja - Nice to Have |
Deseables para mejorar la experiencia |
Reportes avanzados, BI, Integraciones futuras |
8. Glosario
| Término | Definición |
| Tenant | Empresa o cliente que utiliza el sistema SaaS con sus propios datos aislados |
| Despacho | Operación de entrega que incluye un vehículo, conductor y uno o más pedidos |
| Bodega | Punto de origen desde donde salen los despachos |
| Pedido | Solicitud de entrega a un cliente específico con dirección y documento |
| SaaS | Software as a Service - Modelo de distribución de software por suscripción |
| RUT | Rol Único Tributario - Identificador fiscal chileno |
| SOAP | Seguro Obligatorio de Accidentes Personales - Requerido para vehículos en Chile |
✅ Aprobación del Documento:
Este documento ha sido revisado y aprobado por el equipo de desarrollo y los stakeholders del proyecto.