@startuml uml-class-catalogo !include _style.iuml skinparam classAttributeIconSize 0 title 3. Diagrama de clases — Catalogo y geografia class Categoria { + id : UUID + nombre : String + icono : String + activo : Boolean -- + activar() : Boolean + archivar() : Boolean } class Servicio { + id : UUID + categoriaId : UUID + nombre : String + precioBase : Decimal + duracionEstimada : Integer + activo : Boolean -- + calcularPrecio(zona) : Decimal } class ServicioPrestador <> { + servicioId : UUID + prestadorId : UUID + precioPersonalizado : Decimal + activo : Boolean -- + activarOferta() : Boolean } class Zona { + id : UUID + nombre : String + poligono : JSONB + estatus : String -- + cubreDireccion(direccion) : Boolean } class TarifaZona <> { + zonaId : UUID + servicioId : UUID + tipoAjuste : String + valor : Decimal + vigenciaInicio : Date -- + aplicar(precioBase) : Decimal } class Prestador <> #EAEAEA Categoria "1" -- "0..*" Servicio : clasifica > Servicio "1" -- "0..*" ServicioPrestador : ofrecida_por > Prestador "1" -- "0..*" ServicioPrestador : ofrece > Servicio "1" -- "0..*" TarifaZona : ajusta > Zona "1" -- "0..*" TarifaZona : cubre > note right of Prestador : Detalle en figura 2 (Identidad y RBAC) footer Fuente: 00.sql + apps/web/src/lib/dashboard/actions/servicios/** @enduml