VetCarePress includes a notification system for email and SMS alerts to customers and staff, triggered automatically by system events or manually by staff.
Notification Types
| Type | Description | Trigger |
|---|---|---|
| OTP codes | One-time password for customer login | Customer requests login via the Customer Portal |
| Messaging alerts | New message notifications | Staff sends a message (to customer) or customer sends a message (to admin) |
| Medical record alerts | Record creation notifications | A new medical record is created for a patient |
| Vaccination reminders | Upcoming or overdue vaccination alerts | Scheduled cron job or manual trigger |
| Custom notifications | Staff-initiated messages | Staff sends a notification from the dashboard |
Architecture
The notification system follows a provider-based architecture:
- NotificationService — Central dispatcher that routes notifications to the appropriate delivery provider.
- EmailProvider — Sends notifications via
wp_mail(). Works with any WordPress mail configuration or SMTP plugin. - TwilioProvider — Sends SMS notifications via the Twilio API.
- VonageProvider — Sends SMS notifications via the Vonage (formerly Nexmo) API.
Notification Logging
All notifications are logged in the wp_vcp_notification_log custom database table. Each log entry records:
- Delivery channel (email or SMS)
- Destination (email address or phone number)
- Message content
- Delivery status (sent or failed)
- Error details (if delivery failed)
See Notification Log for details on viewing and using the log.
Delivery Channels
Email delivery uses the WordPress wp_mail() function and requires no additional VetCarePress-specific configuration. It works out of the box with your existing WordPress mail setup.
See Email Setup for configuration details.
SMS
SMS delivery is optional and requires a Twilio or Vonage account. All features that use SMS also support email as a fallback.
See SMS Setup for provider configuration instructions.
Template Configuration
Notification templates are configurable in the following settings areas:
- Settings > Notifications — Messaging and medical record notification templates (subject, body, email footer).
- Settings > Vaccination — Vaccination reminder templates.
See also: Email Setup, SMS Setup, Notification Log
Email Setup
Email Setup
VetCarePress uses WordPress’s built-in wp_mail() function for all email delivery. No additional plugin-specific configuration is required for basic email to work — it operates with whatever mail configuration your WordPress installation already has.
Recommended Configuration
While wp_mail() works by default using PHP’s mail() function, this method is unreliable on many hosting environments. For consistent delivery, use an SMTP plugin:
- WP Mail SMTP — Popular option with support for multiple providers.
- FluentSMTP — Lightweight alternative with a clean interface.
- Any other plugin that hooks into
wp_mail().
Email Sender Identity
VetCarePress uses the clinic information from Settings > General for the email sender:
| Setting | Key | Used As |
|---|---|---|
| Clinic Name | vcp_clinic_name |
Email "From" name |
| Clinic Email | vcp_clinic_email |
Email "From" address |
Ensure these fields are filled in to avoid emails being sent with generic WordPress defaults.
HTML Formatting
All emails sent by VetCarePress are HTML-formatted with inline CSS styling. The primary color defined in your VetCarePress settings is used for branding elements such as headers and buttons, ensuring visual consistency with your clinic’s identity.
Email Templates
Email templates are configurable in Settings > Notifications. Each template includes a Subject field and a Body field.
Messaging Templates
| Template | Purpose |
|---|---|
| General message notification | Sent to customers when staff sends a general (non-patient-specific) message |
| Patient-specific message notification | Sent to customers when staff sends a message linked to a specific patient |
| Admin notification | Sent to clinic admin when a customer sends a new message |
Medical Record Templates
| Template | Purpose |
|---|---|
| Record creation notification | Sent to customers when a new medical record is created for their pet |
Vaccination Reminder Templates
Vaccination reminder email templates are configured separately in Settings > Vaccination. These templates are used by the automated reminder system.
Email Footer
A global footer text is appended to all outgoing emails. This can be customized in Settings > Notifications under the vcp_email_footer setting. The default value is:
"This is an automated message."
Use this field to include disclaimers, contact information, or unsubscribe instructions as required by your jurisdiction.
See also: Notifications Overview, SMS Setup, Notification Log
SMS Setup
SMS Setup
SMS notifications in VetCarePress are optional. All features that support SMS also work with email only. If you do not need SMS delivery, you can skip this configuration entirely.
VetCarePress supports two SMS providers: Twilio and Vonage (formerly Nexmo). Configuration is done in Settings > SMS.
Twilio Setup
Step 1: Create a Twilio Account
Sign up at twilio.com and complete the account verification process.
Step 2: Obtain Credentials
From the Twilio Console dashboard, note the following:
- Account SID — Your unique account identifier.
- Auth Token — Your secret authentication token.
Step 3: Get a Phone Number or Messaging Service
You need either:
- A Twilio phone number capable of sending SMS, or
- A Messaging Service SID (for higher volume or multi-number sending).
Step 4: Configure in VetCarePress
- Navigate to Settings > SMS.
- Select Twilio as the SMS provider.
- Enter your Account SID and Auth Token.
- Choose the From Type:
| From Type | Configuration |
|---|---|
| Phone Number | Enter the Twilio phone number (e.g., +1234567890) |
| Messaging Service | Enter the Messaging Service SID |
Step 5: Test
Use the Send Test SMS button to send a test message and verify the configuration.
Vonage Setup
Step 1: Create a Vonage Account
Sign up at the Vonage website and complete registration.
Step 2: Obtain Credentials
From the Vonage dashboard, note the following:
- API Key
- API Secret
Step 3: Configure in VetCarePress
- Navigate to Settings > SMS.
- Select Vonage as the SMS provider.
- Enter your API Key and API Secret.
- Enter the From number or alphanumeric sender name.
Step 4: Test
Use the Send Test SMS button to verify delivery.
SMS Templates
SMS message templates are not configured in the SMS settings tab. Instead, they are managed within the settings for each feature that uses SMS:
- Messaging notifications — Settings > Notifications
- Medical record notifications — Settings > Notifications
- Vaccination reminders — Settings > Vaccination
SMS Character Limit
When composing messages that will be sent via SMS, staff members see a character counter with a warning when the message exceeds the standard SMS threshold of 160 characters. Messages exceeding this limit may be split into multiple SMS segments by the provider, which can increase delivery costs.
Cost Considerations
SMS delivery incurs per-message charges from your chosen provider (Twilio or Vonage). VetCarePress does not charge separately for SMS functionality. Review your provider’s pricing to understand costs based on your expected message volume and destination countries.
See also: Notifications Overview, Email Setup, Notification Log
Notification Log
Notification Log
The Notification Log provides a complete audit trail of all notifications sent by VetCarePress, including both successful deliveries and failures.
Accessing the Log
- Navigate to WP-Admin > VetCarePress > Notification Log.
- Requires the
vcp_manage_notificationscapability.
Log Display
Notifications are listed in reverse chronological order (newest first), with pagination at 30 entries per page.
Columns
| Column | Description |
|---|---|
| Date | Timestamp of when the notification was sent |
| Channel | Delivery channel — email or sms |
| Destination | The recipient’s email address or phone number |
| Customer | The customer the notification was sent to |
| Status | Delivery status — sent or failed |
| Error Message | Error details if the notification failed |
Database Storage
Log entries are stored in the wp_vcp_notification_log custom database table. Each record contains the following fields:
| Field | Description |
|---|---|
customer_id |
The customer associated with the notification |
channel |
Delivery channel (email or sms) |
destination |
Email address or phone number |
message |
The notification content |
status |
Delivery result (sent or failed) |
error_message |
Human-readable error description (if failed) |
provider_response |
Raw response from the delivery provider (if failed) |
created_at |
Timestamp of the notification attempt |
Common Use Cases
The notification log is useful for:
- Verifying OTP delivery — Confirm that login codes were sent to customers who report not receiving them.
- Debugging SMS failures — Identify delivery issues by reviewing error messages and provider responses.
- Auditing notification history — Review what notifications were sent to a specific customer and when.
- Checking vaccination reminders — Verify that scheduled vaccination reminders were successfully delivered.
Failed Notifications
When a notification fails, the log entry includes:
- A human-readable error message describing what went wrong.
- The raw provider response from the email or SMS provider, which is useful for technical debugging.
Common failure causes include:
- Invalid phone number format for SMS delivery.
- SMS provider credentials expired or incorrect.
- Email delivery rejected by the recipient’s mail server.
- Rate limits exceeded on the SMS provider account.
Data Retention
Log entries are not automatically cleaned up. They persist indefinitely for audit and debugging purposes. If your log grows large, entries can be managed directly in the database via the wp_vcp_notification_log table.
See also: Notifications Overview, Email Setup, SMS Setup