@startuml uml-state-reembolso !include _style.iuml title 3. State machine — Reembolso (estatus_reembolso) [*] --> solicitado : solicitar(motivo, evidencia) solicitado --> aprobado : aprobar(aprobador) [aprobador != procesador] solicitado --> rechazado : rechazar(motivo) aprobado --> procesado : procesar(procesador) [SoD: procesador != aprobador] rechazado --> [*] procesado --> [*] note right of solicitado Estado inicial al crear el registro (00.sql:572, DEFAULT 'solicitado'). end note note right of aprobado Segregation of Duties (SoD): el usuario que aprueba no puede ser el mismo que procesa el pago. Validado en la action y auditoria. end note note left of procesado Dispara reembolso del pago asociado (estatus_pago: procesado --> reembolsado). end note footer Fuente: ENUM estatus_reembolso 00.sql:66 | tabla reembolsos 00.sql:572 | actions reembolsos.ts (SoD) @enduml