@startuml uml-class-onboarding !include _style.iuml skinparam classAttributeIconSize 0 title 4. Diagrama de clases — Direcciones, marketing y onboarding class Direccion { + id : UUID + usuarioId : UUID + calle : String + cp : String + ciudad : String + estado : String + esPredeterminada : Boolean -- + marcarPredeterminada() : Boolean } class Cupon { + id : UUID + codigo : String + tipoDescuento : String + valor : Decimal + fechaExpiracion : Date + usosMaximos : Integer + usosActuales : Integer -- + redimir(orden) : Decimal + detener() : Boolean } class Banner { + id : UUID + titulo : String + imagen : String + fechaInicio : Date + fechaFin : Date + prioridad : Integer + activo : Boolean -- + activar() : Boolean + archivar() : Boolean } class Invitacion { + id : UUID + codigo : String + email : String + fechaExpiracion : DateTime + estatus : String -- + redimir(usuario) : Boolean + revocar() : Boolean + extender(dias) : Boolean } class Usuario <> #EAEAEA class Admin <> #EAEAEA class Prestador <> #EAEAEA Usuario "1" -- "0..*" Direccion : reside_en > Admin "1" -- "0..*" Invitacion : invita > Invitacion "1" -- "0..1" Prestador : se_redime_a > note right of Usuario : Detalle en figura 2 footer Fuente: 00.sql + migrations/005_invitaciones_prestadores.sql @enduml