A hotel website chat books rooms when it reads live rates from your PMS or booking engine and holds the room with a payment link inside the conversation. Run a widget across the site and an inline panel on the rooms and booking pages, and add a signed-in chat to your guest portal if you have one. Send refunds and complaints to a person.
Guests on your website have done the hard part. They found you, often on an OTA, and came to check your price. In SiteMinder's Changing Traveller Report 2026, 26% of travelers said they start hotel research on an OTA, and 18% of those OTA starters go on to book with the hotel direct. Cloudbeds' 2026 State of Independent Hotels report put the OTA share of independent hotel bookings at 63.4% in 2025.
A visitor with one open question, such as whether breakfast is included or whether reception is open at 11pm, has an easy exit in the OTA tab beside yours. A chat agent can answer that question and quote a price while the guest is still on your page.
Website chat vs WhatsApp
We covered WhatsApp in how hotels automate WhatsApp bookings, and most of the booking logic carries over to your website. The guest is different, and so is what you can do once the chat ends.
You don't know who the visitor is. A WhatsApp guest arrives with a phone number. A website visitor arrives anonymous. If they close the tab, you have no number to remind and no template to send. Your agent has to finish the booking during the visit, or ask for an email or phone number before the guest leaves.
The guest is mid-browse. They have seen your photos and the rates on the room page. Their questions are narrow: "Does the private double have a balcony?" or "Is the $82 rate refundable?" Keep answers to a line or two so the guest can go back to the page. In SiteMinder's Changing Traveller Report 2025, 52% of travelers said they had abandoned an online booking because of a bad experience, so a guest who has to hunt for an answer may not finish.
Your booking engine is one click away. On WhatsApp the agent brings checkout into the chat. On your site, the agent can send the guest to the booking engine with the dates and room filled in, or create the reservation itself and send a payment link. Try both on one property and keep the one that converts better.
Live rates, booking rules and a hold
An agent that answers FAQs and nothing else won't win many guests back from the OTA. To book, it needs a live connection to whichever system holds your sellable inventory, the PMS or the booking engine. It should read availability and rates on each quote, so a guest who asks for two nights from Friday gets tonight's price.
Keep booking rules out of the prompt. Minimum stays, taxes, extra-person charges and coupon checks belong in code that returns a number. If a guest types "so that's $150 for two nights?" and the total with tax is $176, the agent should quote the number your system returned and hold to it.
Then set a hold. Once the guest says yes, the agent creates the booking, holds the room for a fixed time and sends a payment link. Tell the guest how long the hold lasts. A short hold, such as 15 minutes, suits a guest who is on your page right now. On WhatsApp you can give a longer hold, because you can reach the guest again tomorrow.
Osvi agents connect to your PMS or booking engine to check live availability and rates, create bookings and send payment links, the same way our WhatsApp booking agent works. A booking that closes in chat carries no OTA commission. Our guide on how to cut OTA commissions covers the other ways to win those bookings back.
Widget, inline panel or chat in your own app
Osvi's Chat SDK, @osvi-ai/chat, puts one of your chat agents on your website. You load it from a CDN script or install it from npm, and you can show it in three ways. A hotel can use more than one.
| Display | How you add it | Where it fits on a hotel site |
|---|---|---|
| Widget | One script tag adds a launcher bubble that opens a chat panel | Home, location and FAQ pages, for questions before the guest picks a room |
| Inline panel | An <osvi-chat> element placed in your layout | Room detail pages and next to the booking engine's date step |
| Headless | You build your own interface on the chat client | A custom booking flow or guest portal where the ready-made elements don't fit your design |
The widget is the quickest start. You can show a greeting bubble beside the launcher, such as "Questions? Ask us," or hide the bubble and open the chat from your own "Ask about this room" button on each room page.
The inline panel has no launcher. It sits in the page, so a guest comparing the dorm and the private double can ask without opening anything.
In each mode, guests get the agent's replies along with buttons, cards and date pickers. A date picker saves the guest from typing "14 to 16 Nov" and saves your agent from parsing it.
You can also set a welcome message that appears when the chat opens, with up to 10 buttons or cards such as "Check dates," "Group booking" and "Getting here." Osvi shows it before any session starts, so it costs no model call and stores nothing.
Anonymous visitors and logged-in guests
Next, decide who can chat.
Anonymous chat fits your public site. Anyone on a website you allow can chat. Osvi stores a visitor ID in the browser, so a guest who comes back on the same device sees the earlier conversation. You turn anonymous chat on in the dashboard, since it starts switched off, then list the websites allowed to embed it and set limits. Osvi limits each anonymous conversation to 20 messages a minute and each visitor IP to 60 messages an hour, and you set a daily cap on new conversations, 1,000 by default. Set that cap from your real traffic. If you set it too low, guests who arrive on the day you launch a sale can't start a chat.
Logged-in chat fits a guest portal, a members' area or a manage-booking page. Your backend signs the guest in and passes the browser a short-lived token. The conversation follows the guest across devices, and the agent can work with their account data. A guest who booked on a laptop can open the portal on their phone at the airport, ask to add a night, and carry on the same conversation. Logged-in chats don't count against the anonymous limits.
Logged-in chat also covers the stay itself, from pre-arrival questions to in-stay requests. Our guest messaging page covers that part of the journey.
Handing off to a person
A team member can take over a website chat from the agent, and the guest keeps typing in the same window. Decide up front which chats go to staff, such as refunds and complaints, plus any guest who asks for a person.
Plan for the closed tab. A WhatsApp guest who waits ten minutes for staff gets a notification when you reply. A website visitor who waits ten minutes may be gone. During staffed hours, keep takeovers fast. Outside them, have the agent take an email or phone number and tell the guest when someone will reply.
Give the staff member the conversation and the quote, including the dates and room the guest asked about. Your team should be able to pick up the conversation without asking the guest to repeat anything.
Numbers to track
Track these from the first week:
- Chat rate. The share of visitors to the rooms and booking pages who open the chat.
- Quote rate. The share of chats where the agent returned a live price.
- Hold-to-paid rate. The share of held rooms paid before the hold expires.
- Handoff rate. The share of chats a person took over, and how long the guest waited.
- Direct bookings from chat. Paid bookings and revenue each month, by page.
Compare booking-engine conversion on room pages with the inline panel against room pages that show the widget alone. Read transcripts each week too. If guests keep asking about parking, add parking to the room page.
One set of rules for WhatsApp, voice and web
Zostel, India's largest backpacker hostel brand with 111+ properties, runs its booking agent Zobu on WhatsApp. Guests get a first reply in about 5 seconds, and Zobu resolves 69% of its chats without staff. Zobu checks live availability, applies property policy and creates the booking inside the conversation. A website chat agent needs the same two things: the live inventory connection and the rules in code.
Run your channels from the same rules and the same inventory connection, so a guest sees the same price on your site as on WhatsApp or the phone. Our hospitality page lists each agent we build for hotels and hostels.
If you want a website chat that books rooms from your own inventory, talk to us.