Dograh

AI Voice Agents for Hotel Reservations: Book From Live Rates

AI Voice Agents for Hotel Reservations: Book From Live Rates
Use CaseOctober 20, 2026·8 min read

AI Voice Agents for Hotel Reservations: Book From Live Rates

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

AI voice agents for hotel reservations answer booking calls, read live availability and rates from the property management system during the call, and offer only what it returns. They read the dates, room, guest name and rate back before creating the booking, write it to the PMS, and never take a card number by voice.

Key Takeaways

  • Offer only the rooms and rates the PMS returned during the call.
  • Read the booking back before writing it, then write it once.
  • Payment goes by the hotel's own secure link, never a spoken card.

This post is part of our guide to AI voice agents for hotels and hospitality. The guide's section on the stay before arrival sums up the reservation call in one line: book a new stay from live availability and write it straight to the PMS. Here is that call in full, built on Dograh, an open-source, self-hostable voice agent platform, with the hotel's property management system (PMS) kept as the only record of the booking.

Why the reservation line is worth answering

A phone reservation is a direct booking, and independent hotels get a shrinking share of those. Cloudbeds, which sells a hotel management platform, found in its 2026 State of Independent Hotels Report that bookings through an online travel agency (OTA) made up 63.4% of independent-hotel bookings in 2025, across 90 million bookings. That is vendor data. A booking made by phone carries no OTA commission.

The calls that get answered tend to book. In Revinate's 2026 Hospitality Benchmark Report, lead calls in North America converted at 49 to 53% in winter and spring of 2025, and 44 to 46% in summer. Revinate sells reservation-call software, so that is vendor data too. The loss sits in the calls nobody picks up, at night or when the one person on the desk is checking a guest out.

How the call runs, from dates to read-back

The reservation call asks the PMS what is free and offers nothing else. It opens with Greeting Text, the fixed line Dograh plays word for word as the call connects. Write it to name the hotel. If you want to tell guests they're speaking with an automated assistant, or your location requires it by law, say that there too.

Most reservation callers are new, so there is no record to find and nothing to verify yet. The agent asks for the check-in and check-out dates, the number of adults and children, and the room type the guest wants. It records each answer as the guest stated it.

Then an HTTP API tool sends those values to the PMS or booking engine and gets back the rooms and rates that are open. The agent offers only what came back, never a rate from its prompt or from memory, because rates move with the date and with how many rooms are left. If the dates are full, it asks about nearby dates and runs the lookup again. A short line such as "Let me check those dates" fills the pause.

Before anything is written, the agent reads the booking back: the dates, the room type, the name on the booking and the total rate the PMS quoted. The guest confirms or corrects it, and the surname is spelled back letter by letter.

Pre-Call Data Fetch, at the bottom of the Start Call node, can look up the caller's number as the call connects. A phone number does not prove who is calling, so the agent never greets the caller by name or mentions a past stay from that lookup. A caller asking about an existing booking gives the confirmation number and the surname on it first. From there the call becomes a change or a cancellation, which AI voice agents for cancellations and rescheduling in hotels covers.

Writing the booking to the PMS

The booking exists only once the PMS has it, so the write is the step to get right. After the guest confirms the read-back, a second HTTP API tool sends the booking to the PMS, and the PMS returns its confirmation number. The agent reads that number to the guest. It never makes one up.

A network error can make a tool call run twice, and two identical bookings are worse than none. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}} to the booking tool. Dograh adds no Idempotency-Key header itself, so the PMS, or a small service in front of it, uses that ID with the room and dates to ignore a duplicate. When the call ends, a webhook sends the outcome and the transcript link to the hotel's system, and a temporary failure there is retried automatically.

Not every PMS accepts a booking from outside. Some only allow reads, and some take changes in batches. If your PMS only allows reads, the agent takes the request and staff confirm it. An HTTP API tool writes the request to the hotel's system, and the agent tells the guest plainly that the reservations team will confirm the room. It does not promise the room. Bookings made through an OTA belong to that platform, so the agent cannot write those at all.

After the guest says yes to the read-back, the agent either writes the booking to the PMS and reads out the confirmation number it returns, or, where the PMS can't take outside bookings, sends a booking request that the reservations team confirms.
The agent reads out only the confirmation number the PMS returns, and never makes one up. On a PMS that only allows reads, it tells the guest plainly that the reservations team will confirm the room, and promises nothing.

Our post on booking meetings mid-call walks through the same read-then-write pattern for a time slot.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Payment without a card number on the call

No card number is spoken on a reservation call, because of what happens to the recording. The PCI Security Standards Council's guidance on protecting telephone-based payment card data treats data such as the security code on the back of a card as sensitive authentication data (SAD). It says: "Every possible effort must be made to eliminate SAD from the telephone environment." It also says SAD "must not be stored after authorization, even if encrypted."

A voice agent records and transcribes every call, and Dograh has no retention setting or automatic deletion. A security code read aloud would sit in the recording and the transcript, and it would reach every model that heard the call.

So the agent never asks for a card. The rate's guarantee or deposit rule comes from its policy in the PMS, and the agent reads it out without deciding it. When a payment is due, an HTTP API tool asks the hotel's own system to send a secure payment link by text or email, and the guest pays there. Dograh has no feature for taking customer payments on a call and no keypad (DTMF) tool, so the card never touches the call. Guests can also pay at the front desk under the rate's own terms. If a guest starts reading a card number anyway, the agent stops them politely and points them to the link.

When the call goes to a person

The agent books standard stays, and anything that needs judgement goes to a person. Group bookings, long stays at negotiated rates, accessibility requests that need a specific room checked, and complaints all go to the front desk or the reservations team.

Transfer Call hands the guest over. It works on Twilio only and passes no summary, so the agent first writes the guest's name and request to the hotel's system through an HTTP API tool. If nobody answers within 30 seconds, the default timeout, the guest stays with the agent, which offers a callback and writes that request to the same system.

If you want one agent to take every call at the desk, The Ultimate Guide to AI Receptionists covers that wider job. The outbound call that checks a booking before arrival is a separate call with its own consent rules, set out in AI voice agents for booking confirmations in hotels.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Where to start and what it costs

Start with the night shift, when the desk is thinnest and an unanswered booking call costs the most. Our tutorial on how to build a voice agent for hotels sets up this agent step by step, from the availability tool to the payment-link tool. Put it on a real phone number before any guest hears it, then read the first week of transcripts for rates the agent did not get from the PMS and read-backs it skipped.

Guest names and contact details pass through every call. Self-hosting keeps recordings and transcripts on the hotel's own servers, but the call audio still reaches any model provider you use by API key. It stays in-house only when the speech and language models run on those servers too. Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee.

Glossary

Property management system (PMS)
The hotel's core system for rooms, rates, bookings and guest records. The reservations agent reads availability and rates from it during the call and writes the booking back to it.
Read-back
The step where the agent repeats the booking details to the guest before anything is written, so a wrong date or a misspelled name is caught on the call instead of at check-in.
Online travel agency (OTA)
A booking site such as Booking.com or Expedia that sells hotel rooms for a commission. Bookings made there belong to the platform, so a hotel's voice agent cannot write them.
Sensitive authentication data (SAD)
Card data used to approve a payment, such as the security code. PCI guidance says it must not be stored after authorization, which is why a recorded voice call never takes it.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.