Messaging

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_only or full (not disabled).
  • 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