Yalu

How it works

Pieces that already talk to each other.

A guest assistant, a place for your team to work, an app in their pocket, and a desk for your trade partners. Sold together because they're only useful together.

Front of house

The guest assistant

One script tag on your site and a real WhatsApp Business number. Same brain, both channels.

Answers in the guest's language
Including mid-conversation switches. Nothing to configure.
Quotes exact totals
Seasons, board basis, extra adults, children by age band.
Never asks twice
Holds dates and party size through the conversation, and across visits.
Checks availability, places a hold
Real availability from your PMS, and a 48-hour courtesy hold at exactly the price it quoted.
Hands off by name
A real person and a real number — not “our team will be in touch”.
Y

Yalu

Kotiyagala Luxury Villas

Online
Is it safe to walk around at night? We have two kids.
The villas are linked by a raised walkway, lit and elevated above the ground — you're never walking through open bush after dark.
And the pool — is it fenced?
I don't want to guess at that. Let me get Ishan to confirm exactly what's in place.

Declines to guess, escalates by name

Mission control

The dashboard

Every inquiry becomes a lead with the context already written up.

One record per guest
Widget, WhatsApp or phone — all the same lead, never duplicated.
The conversation, summarised
What they actually want, without reading forty messages.
Email inside the lead
Two-way sync with your reservations inbox, replies under the right signature.
One timeline, one brief
Chat, WhatsApp, email, calls and notes in one place, summed up in a brief that stays current.
Bookings from your PMS
Every reservation synced in and linked to its lead, holds shown as holds, open tasks flagged.
Live visitors
See who's chatting on your site and step in — Yalu steps aside and translates both ways.
Follow-ups that stop
Three steps over two weeks, halted by any reply, each one in your Inbox three hours before it goes.

Anja Weber

Germany · via website chat

Hot
23–26 Dec4 guestsTwo Bedroom Villa

Summary · Family of four from Berlin. Quoted 9,300 without pushback. Main hesitation is child safety after dark.

Back of house

The staff app

Your team works the pipeline from their phones — and approves everything Kalu drafts. Installable from the browser, and on iOS through TestFlight.

A queue already written
Quiet leads come with a drafted follow-up, ready to edit or skip.
Bookings, rooms and tasks
The bookings list, the room plan, holds and the team's tasks — on the phone, not just the desk.
Kalu on any lead
Ask it anything about the guest in front of you.
Push when it matters
An alert when a guest shows real booking intent, not for every message.
Log an issue once
Tell Kalu a gate is closed; the guest assistant stops guessing immediately.

Kalu

Lead · Anja Weber · in discussion

She asked about the pool fencing four days ago and we never came back to her. Want me to follow up?

Send email — needs your approval

To: anja.weber@example.com

The pool fencing at Kotiyagala

Hi Anja, apologies for the wait — I wanted to check properly rather than guess. Each villa pool is private and enclosed within your own walled garden…

Signed as Ishan, Room Manager

Approve & sendEdit

Intelligent room allocation

The right villa, and why

A suggested villa for every booking in the period, each move explained in plain words, with exactly what to change in the PMS.

Reads what the guest said
Allergies, access needs, occasions and promises, read from the conversations and pinned to the booking.
Follows your rules
Written in plain English by your team; the system shows what it understood before using one.
Placed in code, not by the model
No two bookings in one villa on one night — confirmed stays first, holds after, alerts when one won't fit.
Knows the map
Walking distances and views between villas, so two-villa families get a close pair.

Room allocation

Plan · suggested vs. in eZee now

1 move
FriSatSunMonTueWedThu
V012 bed
Patel ×5
V02Sea view
Weber · anniv.
V03Sea view
SilvaMoreau
V04Garden
Hold · Khan
V05Garden
NovakLee

Suggested move

WeberVilla 05Villa 02

Tenth anniversary, mentioned in chat — anniversaries get a sea-view villa. Also closes a one-night gap in Villa 05 before the Lees arrive.

In eZee: change the room on reservation 4821 to Villa 02

Khan's hold fits only in Villa 04 — it would block a two-villa booking for Mon–Wed.

Trade desk

Mithu and the trade portal

A separate assistant for DMCs, travel agents and tour operators — open to chat, with rates only behind your team's approval.

Sign-up inside the chat
An emailed six-digit code, no password. Business registration uploaded from the conversation; an admin approves.
Onboarding that teaches
Five topics in under five minutes, with photo galleries — and partner features locked until it's done.
Holds by emailed code
Availability without prices for registered partners; holds for approved ones, each confirmed by its own code.
Partners in the same CRM
Every partner is a lead with a timeline, so Kalu and the team see trade and guests in one list.
M

Mithu

Kotiyagala trade portal

Online
Can I see your rates? I run a DMC in Colombo.
Of course — pop your work email in below and I'll send a code. Once the team approves your account, the rate card comes straight to you.

Rates stay behind approval

The playbook

How it runs a sales conversation.

Not a script and not a decision tree — a set of instructions about how to behave, the same ones you'd give a good new hire on the desk.

Discovery, not an intake form

It learns the dates, who's coming, the occasion and where they're travelling from — across the conversation, never in one burst of questions. One good question beats a checklist, and it never asks twice for something already said.

Answers the worry they haven't voiced

Someone booking beside a national park is usually wondering whether it's safe, and often won't ask. It raises the elevated walkway before they have to — the specific reason they can watch animals move through the property without standing at ground level with them.

Recommends, rather than waiting to be asked

Once it knows roughly who's coming and when, it suggests a specific villa that fits — with a real name read from your site and a real total from the rate engine.

Specific beats polished

“We had a leopard near the walkway a few days ago” does more work than any amount of marketing language. When there's something current worth mentioning, it uses it.

Never discounts. Adds instead.

When someone pushes on price, it doesn't deflect and it doesn't cave. It finds out the occasion first — an anniversary, a first safari — then offers the single experience that fits. Champagne on arrival, a spa treatment for two, sundowners by one of Yala's lakes, a guided walk ending in a beach picnic, a night drive. One idea, offered warmly. Never a menu, never a consolation prize.

Knows the difference between interested and ready

Someone still deciding gets patience. Someone ready to move gets a clear next step — their details to Ishan for a personal follow-up, or the booking link if they'd rather do it themselves. It lets the guest's own readiness pick.

Who's in charge

Every decision that costs money stays with a person.

The assistant is deliberately powerless where it matters. It can persuade, quote and capture — it cannot concede, promise or spend.

It cannot discount. Only you can.

Yalu has no authority to move a rate, and no way to acquire it. So when a concession is made, it comes from a person — which protects your rate integrity and means the guest thanks a human, not a bot.

It escalates to a name, not a queue

“Ishan or Sha will follow up personally” — deliberately a real person rather than “our team”. A named human is what reassures someone about to spend four figures.

It taps the right shoulder

Kalu can put a task in front of a specific staff member — ask Ishan to call her before six, she's deciding tonight. If the name is ambiguous it asks which one, rather than guessing.

You hear about it while it's still warm

When a guest shows real booking intent, your team's phones go off mid-conversation — not in a morning digest when they've already booked elsewhere.

Nothing Kalu writes goes out unread

Every email, status change and scheduled send Kalu drafts pauses on the exact text, and goes out under the approving person's own signature.

Anything urgent leaves the chat immediately

A safety or security concern during a stay is never handled in conversation. It tells the guest to call you directly, straight away.

Why this sells the rate rather than protecting it

An assistant that can discount will eventually discount when it shouldn't — and once a guest has seen a lower number, your published rate is fiction. Yalu can't, so the rate holds by default. If you then choose to do something for a guest, it arrives from Ishan or Sha as a decision a person made about them specifically. That reads as generosity. The same thing offered by a chatbot reads as a discount that was always available.

When they go quiet

The follow-up sequence.

Written from the actual conversation, in your team's Inbox before it goes, and hard capped so nobody gets pestered.

  1. After 48 hours

    The first nudge

    Written from what actually happened in the conversation — their dates, what they asked about, where you left it. Never a template.

  2. Five days later

    A reason to picture it

    If something real has happened at the property — a sighting, a moment worth sharing — it weaves that in. Only if it genuinely fits; never forced.

  3. A week after that

    The soft close

    No hard sell, no pressure to reply. Essentially “we're here whenever it's useful.” Then it stops.

  • Stops the instant they reply
  • Three steps. Never a fourth.
  • Every draft waits in your Inbox for three hours — edit it, skip it, or let it go
  • Never sent to a guest already in discussion, booked or lost
  • A daily cap on automated email, so a backlog can't flood anyone
  • Grounded in the lead's real notes and conversation — it doesn't invent history

Guardrails

Every way we stopped it making things up.

Constraints built into the system — not promises made in a prompt.

Prices are calculated, not generated

The quote engine is deterministic code, not the language model doing arithmetic. Ask for three nights over Christmas with two extra adults and the number is exact. Ask about dates outside the loaded rate card and it says it can't quote — rather than inventing a figure.

Nothing Kalu does happens without a human

Every action Kalu takes — an email, a status change, a hold, a booking, a message to a colleague — pauses and shows your team the exact text. Approve it and it goes. Ignore it and nothing happens.

A hold only goes in at the price it quoted

When Yalu places a courtesy hold, it goes into the PMS only if the PMS prices the stay at exactly what Yalu quoted the guest. If it doesn't, the hold goes to your team to set up by hand — the guest is never shown a second number.

It cannot invent a room

Room and villa names are read from your live website at the moment of the conversation. The assistant physically has no way to offer a suite you don't have.

It won't tell a guest it saved their details unless it did

If lead capture fails, the assistant says so and offers another route. It never confirms something it didn't actually do.

Rules that hold under pressure

Resident-only rates need two things: the guest says plainly that they're a resident, and they're on a local phone number. Never inferred from a name, a language or a number alone — and hardened against people trying to talk their way around it.

It knows what's broken today

Your team logs an issue once — a closed entrance, a pool under maintenance — and the guest assistant stops guessing about it immediately.

It never pretends to be a person

Asked directly, it says plainly that it's your hotel's AI assistant. No fake names, no invented staff members.

It writes like a person, not a brochure

Two to four sentences. No headings, no bullet-point walls, no tables. If it's about to write an essay, it asks a question instead.

Worth being clear about

Yalu holds the villa. A person confirms the booking.

It checks live availability in your PMS and places a courtesy hold at the exact price it quoted — never a different one. The guest can confirm by paying through your PMS's own secure link, or your team confirms through Kalu, once a person approves. Changing or cancelling a confirmed booking from the chat is still ahead of us.

See the roadmap

See it answer a question about your hotel.

Thirty minutes. We'll load a little of your own content in first, so you're watching it handle your property — not a demo script.