AIRS
CS Dashboard
An OTP will be sent to your registered WhatsApp number.
📱
OTP Sent!
Business Logo
AIRS
📊 Overview
💬 Conversations
🔔 Handoffs
🪙 Token Usage
📚 Knowledge Bank
⚡ Skills
📁 Media Library
🤖 Agent Tuning
🏨 Business Profile
👥 Guest Profiles
📞 Missed Calls
💰 AI Revenue ▶
📊 Revenue Dashboard
⚡ Dynamic Pricing
⬆️ Upsell Settings
🔔 Abandoned Recovery
🔔 Availability Waitlist
📊 RevPAR Tracker
📅 Booking Analytics
📊 Conversion
📩 Viewing Messages
📣 Marketing Broadcast
🏨 Rooms ▶
🛏️ Rooms & Rates
📅 Inventory
📋 Bookings
🎟️ Promotions
⚙️ Settings
🎁 Vouchers ▶
🏷️ Products
🎫 Vouchers
🧾 Orders
⚙️ Settings
🍽️ Tables ▶
🏬 Outlets
🪑 Tables
📅 Reservations
🟢 Floor
⚙️ Settings
💇 Salon ▶
✂️ Services
👤 Staff
📅 Appointments
⭐ Feedback
⚙️ Settings
🏠 Properties ▶
📋 Listings
📅 Viewings
👤 Leads
📁 Projects
🎓 Train AI
📣 Marketing ▶
📊 Sales
🛍️ Products
📦 Packages
🧾 Orders
📅 Appointments
🤝 Leads
📱 WhatsApp Login ✓ Linked
Bot Online
Auto-refresh 30s
Made with ❤️ by wp.
Overview
—
Loading stats...
Messages (Last 7 Days)
Loading...
🪙 Token Usage — This Month —
— limit: —
Recent Activity
Loading...
From To
Loading conversations...
Monthly API Cost (Claude + OpenAI)
—
—
of budget used this month
Remaining: —
—
🤖 ANTHROPIC (CLAUDE)
—
Input tokens
—
Output tokens
—
% of budget
🎙️ OPENAI (WHISPER + TTS)
—
Voice secs
—
TTS chars
—
% of budget
—
Tool calls
—
API requests
—
All-time requests
Daily Usage — Last 30 Days
Loading...
Top Users This Month
Loading...
Monthly Token Log History
Loading...

🎓 Train Your AI

Upload your property documents — brochures, sales kits, floor plans, FAQs — and your AI assistant learns to answer buyers and renters straight from them. You review and edit every entry before it's saved.

1
Upload a documentPDF or image · drag & drop
2
AI reads & suggestsYou review and edit
3
Saved to knowledgeYour AI uses it live
Step
0 entries untick any you don't want
📎 The uploaded image will be attached to these entries
🏁 Knowledge coverage
🎓
Couldn't load the training steps.
This usually clears on a retry.
Train your AI →
➕ Add Knowledge Entry
TITLE *
CATEGORY *
TAGS (comma-sep)
CONTENT *
📄 Review imported entries —
Knowledge Entries —
Loading...
📁 Upload File
Tenant storage
📎
Drag & drop a file here, or browse
Brochures, company profiles, images, price lists
💾 Storage Top-Up
Loading packages…
Files
⚡ Add Skill

Skills let the AI call external APIs on behalf of guests. Use {{guest_phone}} so a lookup returns only the chatting guest's own records, and don't share screenshots of saved skills (they contain API keys).

NAME *
METHOD
DESCRIPTION
URL *
HEADERS (JSON)
BODY TEMPLATE (JSON)
PARAMETERS + add

          
Skills —
NameMethodDescriptionEnabledActions
Loading…
🎭 Tone Preset Quick select
🎩
Professional
Polished 5-star hotel, formal & precise
😊
Friendly
Warm & natural, like a helpful friend
🇲🇾
Malaysian Casual
Friendly local style, light Malaysian English
🙋 Persona
Agent Name
Opening Greeting (shown on first contact)
✨ Extra Personality Notes
Additional personality traits (one per line)
📋 Custom Rules
Additional rules for the agent (one per line — added after the default rules)
🛡️ Daily Token Limit per User
Max tokens per user per day
Bot stops replying to a user once they exceed this limit today. Set to 0 for unlimited.
Message when limit is reached
🚫 Bot Phone BlocklistLoop protection
Enter phone numbers of other bots or systems that should never trigger a reply (comma-separated, numbers only, e.g. 60123456789, 60198765432). Use this to prevent infinite loops when two AI agents message each other.
🕒 Bot Working Hours Shared number
When ON, the bot only replies during the active windows below. Outside them it stays completely silent — incoming messages are still saved here for your staff to answer on the shared WhatsApp number. Reminders, follow-ups and notifications are unaffected.
Timezone
👁 Live Preview — How the agent introduces itself
Click "Generate preview" to see a sample response.
Loading…
📈 Revenue — Last 14 Days
Loading…
🏆 Top Rooms (Last 30 Days)
Loading…
🧾 Recent Bookings via Bot
Loading…
💰 Upsell Settings
Add-on Packages (one per line — name and price, e.g. "Breakfast Package — RM60/pax")
Custom Upsell Note (optional — extra context for the AI when crafting the upsell)
📣 Marketing Automations ▼ Hide
Set-and-forget follow-ups the bot runs automatically: re-engage cold leads (Lead Nurture), chase unpaid in-chat orders (Order Recovery), remind retainer clients to renew (Retainer Renewal), and ask happy clients for a review & referral (Review & Referral). Tune each below, then save.
🔔 Abandoned Booking Recovery
First Reminder (minutes after payment link sent)
Second Reminder (minutes after payment link sent)
Auto-Cancel After (minutes, 0 = disabled)
Set higher than 2nd reminder. Guest is notified on cancellation.
Custom Follow-up Note (optional — appended to reminder message)
🎫 Voucher Purchase Recovery
First Reminder (minutes after payment link sent)
Second Reminder (minutes after payment link sent)
Custom Follow-up Note (optional — appended to first reminder)
Remind guests who started a voucher purchase but didn't pay.
🍽️ Table Reservations
First reminder after (minutes)
Second reminder after (minutes)
Custom note (optional — added to the first reminder)
Remind guests who started a table reservation with a deposit but didn't pay.
💇 Salon Deposit Recovery
First reminder after (minutes)
Second reminder after (minutes)
Custom note (optional — added to the first reminder)
Remind clients who started a salon appointment with a deposit but didn't pay.
🏠 Lead Recovery
First nudge after (hours)
Second nudge after (hours)
Custom message (optional — {area} / {type} placeholders)
Re-engage prospects who enquired (open leads) but haven't progressed.
📣 Marketing Order Recovery
First Reminder (minutes after payment link sent)
Second Reminder (minutes after payment link sent)
Custom Follow-up Note (optional — appended to first reminder)
Remind buyers who started a product/package purchase in chat but didn't pay — and nudge guests who showed clear interest in an item but didn't proceed to order. Uses the first-reminder delay above.
🔁 Retainer Renewal
Nudge after (days since the monthly package was paid)
Custom message (optional — {item} placeholder)
Nudges clients who bought a monthly (retainer) package in chat to continue for the next month. A renewal payment starts a fresh cycle.
⭐ Review & Referral Requests
Ask after (hours since first payment)
Review link (your Google review / form URL — included in the message)
Custom message (optional — {item} / {link} placeholders)
Sent once per client, a set time after their first in-chat payment. Asks for a review (with your link) and a soft referral.
📋 Pending Recovery
Loading...
📩 Viewing Messages

Automated WhatsApp messages around property viewings. Leave a message blank to use the default.

Placeholders: {property}{date}{time}
⏰
Before viewing — reminder
Sent before the appointment
Send hours before the viewing
💬
After viewing — follow-up
Sent after you mark "Completed"
Send hours after Completed
☀️
Daily summary
A morning digest of today's viewings, sent to your Business Contact
Send at
⚙️ Smart Availability Settings
Smart Date Suggestions
When requested dates are fully booked, automatically suggest nearby available dates
Auto-decline calls & invite to chat
Automatically decline incoming voice/video calls and invite the guest to continue over chat
Availability Waitlist
Let guests register to be notified via WhatsApp when their preferred room becomes available
Table reservation waitlist
Notify guests when a table opens up
Check Interval
How often the bot polls the hotel API for room availability (takes effect after current cycle)
hour(s)
🔔 New-listing Alerts
Max alerts per buyer per day
Alert intro line (optional — {name} / {kind} placeholders)
When a listing is added or edited into a match, waiting buyers whose saved criteria fit are messaged automatically. The listing details and an opt-out line are added for you. Buyers can reply STOP to unsubscribe. Save changes with the button above.
📅 Appointment Messages
Reminder — hours before
Reminder message (optional — blank = default)
Follow-up — hours after
Follow-up message (optional — blank = default)
Send at
Automated WhatsApp messages around appointments. Save changes with the button above.
📋 Buyers Waiting
Loading…
⏳ Onboarding Waitlist
Prospects who joined while you were at capacity. When a slot opens, notify them — they get a WhatsApp message and move to "notified".
Loading…
📋 Guests Waiting
The bot checks every hour and messages guests automatically when a room opens up.
Loading...
🍽️ Table Waitlist
The bot messages guests automatically when a table opens up.
Loading...
💇 Salon Waitlist
The bot messages clients automatically when a slot opens up.
Loading...
RevPAR Optimization
Loading...
RevPAR — Last 30 Days
Loading...
RevPAR by Room Type — This Month
Loading...
Booking Analytics
Loading...
Occupancy — Last 6 Months
Loading...
Avg Occupancy by Day of Week
Loading...
Upcoming Peak Periods (≥70% Occupancy, Next 30 Days)
Loading...
Occupancy by Room — This Month
Loading...
Conversion
Loading...
📣 Compose Broadcast
Message
💬 Live preview (one guest sample) 0 chars
Your message preview appears here…
Tip: use {Hi|Hello|Hey} to vary wording per guest and {name} to personalize — lowers spam risk. Plain text with no { } is sent as written.
See an example
Example you type:
{Hi|Hello} {name}! Our {weekend|holiday} promo is live 🎉
Guests may receive:
• Hi Sara! Our weekend promo is live 🎉
• Hello Wei! Our holiday promo is live 🎉
How spintax works
• {a|b|c} — each guest randomly gets a, b, or c.
• {name} — the guest's name (or "there" if unknown).
• Groups can nest, e.g. {good {morning|day}|hi}.
• Plain text with no { } is sent exactly as written.
Varying wording per guest lowers spam-block risk.
Attachment (optional — image or PDF, max 10 MB)
📎
Drag & drop an image or PDF, or browse
🎯 Target Recipients
Language
Phone Prefix
Active From
Active To
—
⚠️ Bulk WhatsApp sending can trigger spam / block detection. To lower the risk we send gradually using a drip method — warmest contacts first, randomized delays, daily limits, quiet hours, and varied wording — and sending auto-pauses if failures spike. There is still some risk; send responsibly.
Set filters and click Preview to choose recipients.
Sending…
✅ You can safely close this page — sending continues on the server. Check the History tab anytime to see progress or to pause/resume.
👥 All Recipients
Loading…
📋 Broadcast History
Loading…
🚫 Unsubscribed Customers
Loading…
⚡ Dynamic Pricing Rules
Loading...
WhatsApp Account Link checking…
✅
WhatsApp Connected
The bot is linked and active. No QR scan needed.
⏳
Waiting for QR…
Make sure the bot is running: npm start
Checking…
Scan with WhatsApp
WhatsApp QR Code
WhatsApp → Settings → Linked Devices → Link a Device
QR expires in ~60s — auto-refreshes
Session files stored in ./auth_info/
Handoff Requests —
Loading handoffs...
🏨 Business InformationShown in booking emails
Business Name *
Tagline
Address
Contact Phone
Contact Email
Business Contact * — WhatsApp alerts for new leads/bookings & handoffs, and renewal reminders
Check-in Time
Check-out Time
🌐 Landing page
Public landing page
Publish a public web page for your business
Preview ↗

Landing page content
Optional. Anything left blank is hidden — nothing is invented.
Wrap one word in { } to highlight it, e.g. Ads that turn scrollers into {customers}
Stats (up to 3)
Trust items (up to 3)
Testimonial
Call to action band
🖼️ Logo & Security
Current Logo
No logo uploaded Business Logo
Upload New Logo
JPG, PNG, GIF, WebP or SVG · Max 2 MB
📁
Click to choose or drag & drop

Change Password
OTP will be sent to your registered WhatsApp number.
➕ Add Room
ROOM CODE * (e.g. DLX)
ROOM NAME *
MAX OCCUPANCY
DESCRIPTION
ROOM PHOTOS
🛏️ Rooms & Rate Plans
Loading...
Rate Plan
PLAN NAME *
PRICE / NIGHT (MYR) *
MIN NIGHTS
CANCELLATION POLICY
📅 Date-Range Overrides
FROM
TO
PRICE/NIGHT
LABEL
📅 Open Allotment
Set the number of available rooms for a date range.
ROOM
FROM DATE
TO DATE
TOTAL ROOMS
🚫 Close Allotment
Block dates so the AI bot cannot accept bookings. Sets availability to 0 for the selected range.
ROOM
FROM DATE
TO DATE
Inventory Overview
Loading...
📋 Local Bookings
Loading...
➕ Add Promo Code
CODE *
DISCOUNT TYPE
VALUE
MAX USES (0=unlimited)
VALID FROM
VALID TO
🎟️ Promotion Codes
Loading...
⚙️ Reservation Module Settings
🔒 Reservation mode is managed by the system administrator. Please contact your admin to switch between External API and Local Module.
➕ Add Voucher Product
TYPE
NAME *
PRICE (MYR) *
FACE VALUE (MYR)
VALIDITY MODE
VALIDITY (days, blank=no expiry)
REDEEM FROM
REDEEM UNTIL
PACKAGE DETAILS
REDEMPTION VENUE
Where this voucher is redeemed — a dining outlet or a room reservation.
If ticked, the bot tells guests they must book (a table at the venue, or a room) to use this voucher, and helps them reserve.
DESCRIPTION
WhatsApp formatting — shown to guests as you format it
CODE PREFIX
STATUS
MAX QTY PER PURCHASE
PURCHASE START
PURCHASE END
TERMS & CONDITIONS
IMAGE
GROUP / TIER PRICING (optional)
LABELPRICEQTY CAPFROMTO
🏷️ Voucher Products
Loading...
🎫 Issued Vouchers
STATUS
CODE
PHONE
Loading...
Voucher
🧾 Voucher Orders
Loading...
Order
⚙️ Voucher Settings
VOUCHER CODE PREFIX
DEFAULT TERMS
➕ Add Outlet
NAME *
CUISINE
CONTACT
DESCRIPTION
SLOT INTERVAL (min)
TURN TIME (min)
LEAD TIME (min)
CUTOFF (min)
MAX PARTY
DEPOSIT MODE
DEPOSIT AMOUNT (RM)
FREE CANCELLATION (HOURS BEFORE)
SERVICE PERIODS
DAYLABELSTARTEND
PHOTO
Save the outlet first, then a photo can be uploaded.
MENU PDF (PDF, max 5 MB)
No menu uploaded
Save the outlet first, then a menu can be uploaded.
🏬 Outlets
Loading...
🪑 Tables
OUTLET
Select an outlet…
➕ Add Table
LABEL *
MIN CAPACITY
MAX CAPACITY
SECTION
📅 Reservations
OUTLET
DATE
STATUS
SEARCH
Loading...
➕ New Reservation
OUTLET *
DATE *
PARTY SIZE *
GUEST NAME
PHONE
EMAIL
SPECIAL REQUESTS
VOUCHER CODE (OPTIONAL)
If set, the deposit is waived and the voucher is held until redeemed on arrival.
🟢 Floor
OUTLET
DATE
TIME
SECTION
⟳ Auto-refresh: off
Loading...
📅 Upcoming
—
⚙️ Table Reservation Settings
✂️ Services
➕ Add Service
NAME *
CATEGORY
DURATION (MIN)
PRICE (MYR)
DEPOSIT (MYR)
0 = no deposit needed to book
DESCRIPTION (optional)
🔍
Loading…
👤 Staff
➕ Add Staff
NAME *
PHONE (WHATSAPP)
Notified on their WhatsApp on each new booking
BIO (optional)
WEEKLY WORKING HOURS
Loading…
📅 Appointments
Loading…
⭐ Feedback
Loading…
⚙️ Salon Settings
Booking
SLOT GRANULARITY (MIN)
Spacing between offered slots
FEEDBACK THRESHOLD (1–5)
At/above = happy → review link
Appointment reminders
REMINDER HOURS BEFORE
REMINDER MESSAGE (optional — use {service} {date} {time})
Reviews & feedback
REVIEW DELAY (HRS AFTER VISIT)
STAFF ALERT PHONE
Gets a ping on low ratings
PUBLIC REVIEW LINK
REVIEW REQUEST MESSAGE (optional)
📊 Sales
Loading…
Revenue — Last 30 Days
Loading…
🏆 Top Sellers
Loading…
🛍️ Products
Loading…
📅 Appointments
Loading…
🧾 Orders
Loading…
📦 Packages
Loading…
🤝 Leads
Loading…
🏠 Property Listings
Loading…
📅 Viewings
Loading…
👤 Leads
Loading…
📁 Projects
NameAreaStatusListingsKnowledge
New Project
Train AI
Upload a brochure (PDF) — the AI extracts entries you can review and save to this project.
➕ Add a knowledge entry manually
This project's knowledge
Slots
Sales agents (this project)
Applies to all slots; affects future bookings only.
Add slot
Recurring generator
Media
Upload files the bot can send to customers about this project (brochures, floor plans, price lists, photos).
Tenant storage
📎
Drag & drop a file here, or browse
Brochures, floor plans, price lists, photos
👥 Guest Profiles
Loading guests...
📞 Missed Calls
Loading…
⚡ Pricing Rule
RULE TYPE *
APPLIES TO
ADJUSTMENT
VALUE (+/-)
PRIORITY
DESCRIPTION
Reschedule viewing
Send reminder
Choose who to remind. Landlord/tenant only send if a number is on the listing.
Add product
Photos
Add listing
Listing photos from the link (saved as links)
Photos
Add lead
Guest Profile
Loading...
Help
📋 Recipients
📋 Message Templates
📅 Renew Subscription
Loading packages...
🪙 Top Up Tokens
Loading packages...
—
—