{ "name": "ActivityLog", "type": "object", "properties": { "title": { "type": "string", "description": "Notification title (e.g., 'Event Rescheduled', 'Invoice Paid')" }, "description": { "type": "string", "description": "Detailed description of the activity" }, "activity_type": { "type": "string", "enum": [ "event_created", "event_updated", "event_rescheduled", "event_canceled", "staff_assigned", "staff_removed", "invoice_paid", "invoice_created", "message_received", "order_created", "order_updated" ], "description": "Type of activity" }, "related_entity_type": { "type": "string", "enum": [ "event", "staff", "invoice", "message", "order", "user" ], "description": "Type of related entity" }, "related_entity_id": { "type": "string", "description": "ID of the related entity" }, "action_link": { "type": "string", "description": "Link to view the related item (e.g., 'EventDetail?id=123')" }, "action_label": { "type": "string", "description": "Label for the action button (e.g., 'View Event', 'View Invoice')" }, "user_id": { "type": "string", "description": "ID of the user this notification is for" }, "is_read": { "type": "boolean", "default": false, "description": "Whether the notification has been read" }, "icon_type": { "type": "string", "enum": [ "calendar", "user", "invoice", "message", "alert", "check" ], "description": "Icon to display for this notification" }, "icon_color": { "type": "string", "enum": [ "blue", "red", "green", "yellow", "purple" ], "default": "blue", "description": "Color theme for the icon" } }, "required": [ "title", "description", "activity_type", "user_id" ] }