Direct Send
Send targeted Email & WhatsApp campaigns to your guest contacts
Importing Contacts
Import your guest contact list from an Excel/CSV file to build your recipient database. The parser handles worldwide phone formats, comma-separated emails, and automatically normalizes data.
Upload or Paste
Click 'Import Contacts' to open the import modal. You can either upload a .csv file or paste data directly from Excel. The expected columns are: Name, Email, Phone, Mobile, Website. Tab-delimited and comma-delimited formats are both supported.
Phone Number Handling
The parser normalizes phone numbers from any worldwide format — it handles international prefixes (+91, +66, +1), parentheses like (904) 277-2300, dashes, spaces, and even slash-separated extensions like 08172-243391/92/93 which get expanded into separate numbers.
Comma-Separated Values
If a contact has multiple email addresses or mobile numbers separated by commas in one cell, they are automatically split into individual entries. For example, 'info@hotel.com, sales@hotel.com' becomes two separate email addresses for that contact.
Preview Before Import
After pasting or uploading, a preview table shows how each contact was parsed — including names, extracted emails, normalized phone numbers, and websites. Summary badges show how many contacts have email, phone, both, or neither. Review the preview before clicking Import.
Campaigns Tab
The Campaigns tab is your main workspace for creating and managing bulk messaging campaigns. View all campaigns, their status, and performance metrics at a glance.
Stats Cards
Four KPI cards at the top show: Total Campaigns, Active Campaigns, Messages Sent (this month), and Average Open Rate with a trend indicator. These update automatically as you create and send campaigns.
Contacts Summary
After importing contacts, a green banner shows the total imported contacts with breakdowns of how many have email addresses and phone numbers. Click 'View / Re-import' to see the full list or replace with new data.
Campaign Table
A sortable, paginated table lists all campaigns with columns for: Campaign name and type, Channel (Email/WhatsApp/Both), Status (Draft/Scheduled/Sent/Active), Recipients count, Messages Sent, and Open Rate. Click the eye icon to view full campaign details, or the copy icon to duplicate a campaign.
Creating a Campaign
Click '+ New Campaign' to open the campaign creation form. Fill in: Campaign name, Type (Pre-Arrival, Checkout Reminder, etc.), Channel selection (Email/WhatsApp/Both), Template selection or custom message, Audience segment filters (check-in dates, booking source, guest type, room type), and Schedule (Send Now or schedule for later). You can save as a draft or send/schedule immediately.
Campaign Detail Modal
Click any campaign's eye icon to see full details: campaign info grid (type, channel, status, recipients, dates), performance metrics funnel (Sent > Delivered > Opened > Clicked > Bookings with percentages), segment criteria badges, and the full message preview.
Templates Tab
Manage reusable message templates for common campaign types. Templates support variable placeholders that get replaced with guest-specific data when sending.
Template Library
Browse pre-built templates displayed as cards in a responsive grid. Each card shows the template name, type badge (Pre-Arrival, Checkout Reminder, etc.), channel badge (Email/WhatsApp/Both), a preview of the message body, and variable chips showing which placeholders are used.
Template Variables
Templates use curly-brace variables like {guestName}, {roomNumber}, {checkInDate}, {checkOutDate}, and {hotelName}. When creating or editing a template, click the variable buttons above the text area to insert them at the cursor position.
Creating Templates
Click '+ New Template' to open the template editor. Enter a name, select the type and channel, add an email subject line (for email templates), and compose the message body with variable placeholders. A live preview panel shows how the message will look with sample data filled in.
Template Preview
Click any template card to open a full preview modal showing the complete message, subject line (for email), type and channel badges, and the list of variables used in the template.
Sending Messages
Send messages to your imported contacts individually or in bulk. Messages are dispatched through your configured WhatsApp Business API or email service.
Selecting Contacts
In the Contacts tab, use checkboxes to select individual contacts or use 'Select All' to choose the entire list. A floating action bar appears showing how many contacts are selected and provides quick actions for sending.
Composing Messages
After selecting contacts, click 'Send to Selected' to open the compose modal. Choose the channel (Email or WhatsApp), pick a template or write a custom message, add an email subject if needed, and click Send. The message is dispatched to all selected contacts via your backend API.
Individual Send
Each contact row has a direct send button (Send icon) to quickly send a message to just that one contact. This opens the same compose modal but pre-targeted to a single recipient.
Send Results
After sending, the API returns results for each recipient showing whether the message was sent or failed. Failed sends include an error reason (e.g. 'No phone number' for WhatsApp or 'No email address' for email campaigns).
Analytics Tab
Track the performance of all your campaigns with aggregated metrics and channel comparisons.
Overview Stats
Four cards show: Total Messages Sent (all time), Average Open Rate, Average Click Rate, and Bookings Generated from campaigns. Open and click rates include trend indicators.
Channel Performance
Side-by-side cards compare Email vs WhatsApp performance. Each card shows the number of campaigns, open rate, and click rate for that channel, helping you decide which channel works better for your guests.
Campaign Performance Table
A detailed table lists all sent campaigns sorted by most recent, showing: campaign name and date, channel, messages sent, delivery rate, open rate, click rate, and bookings generated. Use this to identify your best-performing campaign types.