Skip to main content

Notificación

Entidad de Dominio: Notification

Archivo: models-domains/Notification.md

Este documento define la entidad de dominio Notification, sus propiedades, su propósito dentro del sistema y sus relaciones clave con otras entidades. Sirve como la fuente principal de verdad para el registro y gestión de las comunicaciones automáticas enviadas a los usuarios.


1. Propósito de la Entidad

La entidad Notification representa un registro de cada comunicación generada automáticamente por el sistema para informar a los usuarios sobre eventos importantes, cambios de estado o recordatorios. Su propósito es garantizar que los usuarios reciban información oportuna (ya sea por correo electrónico, SMS o notificación en la aplicación) y mantener un historial auditable de todas las notificaciones enviadas, permitiendo su seguimiento y gestión.


2. Propiedades y Atributos

A continuación, se detallan las propiedades de la entidad Notification, incluyendo su tipo de dato conceptual y una descripción clara de su propósito.

PropiedadesTipo de Dato (conceptual)Descripción
IdUUID (o int si es identidad generada por DB)Identificador único de la notificación.
RecipientIdUUID (o int)IClave foránea (FK) a la entidad User, indicando al usuario que recibe la notificación.
TypeEnum (int o string)Tipo de notificación (ej., Email, SMS, InApp, Push).
SubjectstringAsunto o título de la notificación (especialmente para correos).
BodystringContenido principal del mensaje de la notificación.
RelatedEntityIdUUID (o int, opcional)Identificador de la entidad a la que se refiere la notificación (ej., Reservation.Id, Resource.Id).
RelatedEntityTypestring (opcional)Nombre de la entidad a la que se refiere RelatedEntityId (ej., "Reservation", "Resource"). Útil para polimorfismo.
StatusEnum (int o string)Estado de entrega de la notificación (ej., Pending, Sent, Failed, Read).
SentAtDateTimeMarca de tiempo que registra cuándo se intentó enviar la notificación.
FailedReasonstring (opcional)Descripción del error si la notificación falló en el envío.

3. Diagrama de Entidad-Relación (ERD)

Este diagrama visualiza la estructura de la entidad Notification y sus relaciones clave con otras entidades en el modelo de dominio.