VetCarePress includes a built-in messaging system for bidirectional communication between clinic staff and pet owners. Messages are stored in a dedicated custom database table (wp_vcp_messages).
Message Data Structure
Each message record contains the following fields:
| Field | Description |
|---|---|
customer_id |
The customer the message belongs to |
patient_id |
Optional — associates the message with a specific patient |
sender_type |
Either staff or customer |
sender_id |
The WordPress user ID of the sender |
message |
The message text content |
is_read |
Whether the message has been read by the recipient |
read_at |
Timestamp of when the message was read |
channel |
Delivery channel: web, email, or sms |
external_ref |
External reference ID (e.g., SMS provider message ID) |
created_at |
Timestamp of message creation |
Access Points
There are three places where messages can be viewed and managed:
- Staff Dashboard — Thread view displayed on customer and patient detail pages. See Staff Dashboard Messaging.
- WP-Admin — Dedicated Messages admin page with a broader view of all conversations. See Admin Messaging.
- Customer Portal — Messages tab where pet owners can view and send messages. See Customer Portal Messaging.
Messaging Modes
The messaging feature can be configured in Settings > Features with three available modes:
| Mode | Behavior |
|---|---|
disabled |
Messaging is completely hidden from all interfaces |
read_only |
Staff and customers can view existing messages but cannot send new ones |
full |
Full read and write access for both staff and customers |
Patient-Specific vs. General Messages
Messages can be associated with a specific patient or left as general messages tied only to a customer:
- Patient-specific messages — Linked to a particular pet via
patient_id. These appear in the messaging thread on that patient’s detail page. - General messages — Associated with the customer only (no
patient_id). These appear in the customer-level messaging thread.
Notifications
When sending a message, staff members can choose to notify the customer via email or SMS. Notification behavior includes:
- Staff-to-customer: Staff can opt to trigger an email or SMS notification to the customer when sending a message.
- Customer-to-staff: When a customer sends a message through the Customer Portal, an admin notification is dispatched if enabled in settings.
Unread Count Badges
Both the Staff Dashboard and the Customer Portal display unread message count badges, giving users immediate visibility into new messages that require attention.
See also: Admin Messaging, Staff Dashboard Messaging, Customer Portal Messaging
Admin Messaging
Admin Messaging
The WP-Admin Messages page provides clinic administrators with a centralized view of all customer conversations. This interface is designed for managing messaging across the entire clinic, as opposed to the Staff Dashboard which focuses on individual customer threads.
Accessing Admin Messaging
- Navigate to WP-Admin > VetCarePress > Messages.
- The menu item is only visible when the messaging mode is set to
read_onlyorfull(notdisabled). - The menu item displays an unread message count bubble when there are unread messages.
Required Capability
Access to the admin messaging page requires the vcp_manage_customers capability. Users without this capability will not see the Messages menu item.
Features
The MessagingAdminPage component renders the admin messaging interface and provides the following functionality:
- Conversation list — View all customer conversations in one place.
- Message activity feed — See recent messaging activity across all customers.
- Send messages — Compose and send messages to any customer directly from the admin interface.
API Endpoints
The admin messaging interface uses the following REST API endpoints:
| Endpoint | Method | Description |
|---|---|---|
/wp-json/vcp/v1/messages/activity |
GET | Retrieve the message activity feed across all customers |
/wp-json/vcp/v1/messages/customer/{id} |
GET | Retrieve the message thread for a specific customer |
/wp-json/vcp/v1/messages |
POST | Send a new message to a customer |
Admin vs. Staff Dashboard Messaging
The WP-Admin messaging page and the Staff Dashboard messaging interface serve different purposes:
| Aspect | Admin Messaging | Staff Dashboard Messaging |
|---|---|---|
| Scope | All customer conversations | Single customer thread |
| Access | WP-Admin backend | Frontend Staff Dashboard |
| Best for | Overview, monitoring, bulk management | Day-to-day communication with a specific customer |
See also: Messaging Overview, Staff Dashboard Messaging