A client of mine runs serviced accommodation, and for a while they had a problem that sounds small until it's your phone ringing: guests kept calling in the middle of the night. It was rarely anything dramatic. Someone had arrived late and couldn't find the property, or they'd been out for the evening and forgotten the code to get back in, or they just wanted to check something about their stay. None of it was difficult, but somebody still had to wake up and answer.
So we tried building an AI voice assistant to take the straightforward calls. The aim was never to replace the person on call. It was to put something in front of them that could deal with the repetitive questions, and only bring them in when a caller genuinely needed a human.
Faster than I expected
I built the voice side with Grok and connected it to the information it needed about the properties and bookings. Once it had a decent set of supporting information and the integration was working properly, what surprised me most was how quick it was. A caller could give their name or booking details, and it would look everything up and reply without the long, awkward pauses you often get with voice AI. At times it felt as though it was finding the answer while you were still talking.
The classic call, "I've just arrived at the property and I can't remember the door code", worked well. It identified the booking, checked the details and, once the caller had been properly verified, gave them what they needed. The voice itself wasn't perfect, and you could still tell you were talking to an AI. I suspect something like ElevenLabs would make that side feel more natural, but even as it was, it felt like a genuinely useful tool rather than a demo.
The hard part was the data, not the AI
The bigger challenge was trusting the information sitting behind it. If the booking system calls a property one thing and everyone in the business calls it something else, you have a problem straight away, and the same goes for addresses, guest details and access information. The AI can only work with what it's given. That sounds obvious, but it's one of the most important lessons I took from the project: you can put a very clever AI on top of a business, and if the underlying data is messy, it won't tidy it up for you.
Security was the other thing I spent time on. If someone rings up asking for the code to a property, you don't want an AI cheerfully reading it out to anyone who asks. So before it shared anything sensitive, it had to confirm the caller was genuinely connected to the booking, using their name, booking details or other information tied to the reservation. That's an area where I'd always rather be a little too cautious than not cautious enough.
Why I'd keep a person in the loop
My main takeaway is that the best version of this wasn't an AI that tried to handle everything. It was one that dealt with the easy 80% of calls and handed the caller to a real person when it couldn't help. If someone is stuck outside a property at one o'clock in the morning, that isn't the moment for a shiny new AI system to keep stubbornly trying to solve a problem it doesn't understand. You want it to recognise that it has reached its limit and get a human involved.
But if most of the calls are people asking for information that's already in the booking system, there isn't much sense in waking someone up for every one of them either. That's where I think this kind of AI earns its place. It doesn't replace the person; it protects them from a lot of unnecessary work, which in this case was mostly happening in the middle of the night.




