Animal Reminders
Animal Reminders allow team members to attach important alerts to individual animals. When someone opens that animal's profile, any active reminders are displayed immediately in a prominent dialog that must be acknowledged before continuing.
Overview
Reminders are designed for time-sensitive or safety-critical information that every person interacting with an animal needs to see. Common use cases include dietary restrictions, medication schedules, behavioural warnings, or temporary handling instructions. Reminders can optionally expire after a set date, or persist indefinitely until manually deleted.
How Reminders Work
The Alert Dialog
When a user navigates to an animal's detail page and that animal has one or more active reminders, a modal dialog appears immediately. This dialog:
- Cannot be dismissed by clicking outside or pressing Escape
- Must be acknowledged by clicking the "I understand, continue" button
- Displays all active reminders at once, with the message, creator name, creation date, and expiry date (if set)
This ensures that critical information is never missed, even by users who are unfamiliar with the animal.
The Reminders Panel
On the animal detail page, a dedicated Reminders card lists all active reminders. From this panel, users can add new reminders or delete existing ones (subject to permissions).
Reminder Fields
| Field | Required | Description |
|---|---|---|
| Message | Yes | The reminder text. Supports multi-line content. This is what appears in the alert dialog and the reminders panel. |
| Expiry Date | No | An optional date and time after which the reminder automatically becomes inactive. If omitted, the reminder persists indefinitely until manually deleted. |
| Created By | Automatic | The name of the user who created the reminder, resolved from their profile. Displayed alongside the reminder for accountability. |
| Created At | Automatic | The date and time the reminder was created. |
| Active | Automatic | Reminders are active by default. They become inactive when they pass their expiry date. Only active, non-expired reminders are shown. |
A Note on Expiry
If you create a reminder without an expiry date, the system will display a warning to make sure this is intentional. A reminder with no expiry will appear every single time someone views the animal's profile until it is manually deleted.
Creating a Reminder
- Navigate to the animal's detail page
- In the Reminders panel, click Add
- Enter the reminder message (required)
- Optionally set an expiry date and time
- Click Create Reminder
The reminder will immediately appear for anyone who views the animal's profile, including yourself.
Deleting a Reminder
Reminders can be deleted from the Reminders panel by clicking the trash icon next to the reminder.
Who Can Delete
| User | Can Delete |
|---|---|
| The user who created the reminder | Yes -- they can always delete their own reminders. |
| Admin users | Yes -- admins can delete any reminder on any animal. |
| Other users | No -- they cannot delete reminders they did not create. |
Permissions
| Permission | Who Has It | What It Allows |
|---|---|---|
reminder:create | Users with the appropriate role | Create new reminders on any animal within the organisation. |
| Delete own | Any authenticated user | Delete reminders they personally created. |
| Delete any | Admin users | Delete any reminder regardless of who created it. |
Audit Trail
Creating a reminder generates an entry in the audit log. The audit record includes the animal ID, the reminder ID, and the message length, providing a clear trail of who set which alerts and when.
Integration with Other Modules
| Module | Integration |
|---|---|
| Animal Record History | Reminders are displayed on the animal detail page alongside the animal's care records. |
| Audit Logging | Reminder creation is automatically logged for compliance and accountability. |
| User Management | Creator names are resolved from user profiles and displayed alongside each reminder. |
| Roles & Permissions | Reminder creation and deletion are governed by role-based permissions. |