@startuml uml-use-case-cliente-prestador !include _style.iuml left to right direction title 2.2 Diagrama de casos de uso - Cliente y Prestador (apps moviles) ' ===================================================================== ' Casos de uso ejecutados desde las dos apps moviles (Expo). ' Cliente: 12 casos. Prestador: 12 casos. Mas 3 casos auxiliares ' usados como inclusiones / extensiones. ' ===================================================================== actor "Cliente" as Cli actor "Prestador" as Pre rectangle "App movil cliente" as RCLI { together { usecase "Registrarse" as C_REG usecase "Iniciar sesion" as C_LOG usecase "Editar perfil" as C_EDP usecase "Gestionar direcciones" as C_DIR } together { usecase "Buscar servicios" as C_BUS usecase "Solicitar servicio" as C_SOL usecase "Pagar orden" as C_PAG usecase "Rastrear orden" as C_RAS } together { usecase "Calificar prestador" as C_CAL usecase "Ver historial ordenes" as C_HIS usecase "Abrir ticket" as C_TIC usecase "Compartir PIN soporte" as C_PIN } } rectangle "App movil prestador" as RPRE { together { usecase "Redimir invitacion" as P_INV usecase "Subir documentos" as P_DOC usecase "Configurar disponibilidad" as P_DIS usecase "Editar perfil" as P_EDP } together { usecase "Ver jobs asignados" as P_VER usecase "Aceptar job" as P_ACE usecase "Rechazar job" as P_REC usecase "Reportar llegada" as P_LLE } together { usecase "Ejecutar servicio" as P_EJE usecase "Reportar cargos extra" as P_EXT usecase "Finalizar job" as P_FIN usecase "Ver ganancias" as P_GAN usecase "Calificar cliente" as P_CAL } } ' ----- Casos auxiliares (compartidos por include / extend) ----- usecase "Validar pago" as A_VPA usecase "Aplicar cupon" as A_CUP usecase "Subir evidencia" as A_EVI ' ----- Asociaciones del Cliente ----- Cli --> C_REG Cli --> C_LOG Cli --> C_EDP Cli --> C_DIR Cli --> C_BUS Cli --> C_SOL Cli --> C_PAG Cli --> C_RAS Cli --> C_CAL Cli --> C_HIS Cli --> C_TIC Cli --> C_PIN ' ----- Asociaciones del Prestador ----- Pre --> P_INV Pre --> P_DOC Pre --> P_DIS Pre --> P_EDP Pre --> P_VER Pre --> P_ACE Pre --> P_REC Pre --> P_LLE Pre --> P_EJE Pre --> P_EXT Pre --> P_FIN Pre --> P_GAN Pre --> P_CAL ' ----- Relaciones de inclusion / extension ----- C_PAG ..> A_VPA : <> C_SOL ..> A_CUP : <> P_FIN ..> A_EVI : <> P_EXT ..> A_EVI : <> C_TIC ..> C_PIN : <> P_INV ..> P_DOC : <> note right of C_PAG apps/mobile-client/app/payment/index.tsx Validacion delegada a Stripe / Conekta (RN-FIN-01: idempotencia por orden) end note note bottom of P_FIN apps/mobile-provider/app/job-active/evidencias.tsx apps/mobile-provider/app/job-active/pin-cliente.tsx Cierre con PIN del cliente + foto end note note left of C_PIN apps/web/src/app/api/v1/mobile/support-pins/route.ts PIN rotatorio expuesto al agente L1 end note footer Fuente: apps/mobile-client/app/, apps/mobile-provider/app/, apps/web/src/app/api/v1/mobile/ @enduml