The most common worry we hear before someone tries Tayyr isn't "will it sound natural." It's "what happens if it messes up my calendar." Fair question. Here's the honest, unglamorous answer: the AI is never the thing that decides whether a slot is free.
The AI proposes. The code decides.
When a client asks for a booking, the language model's job is narrow: understand what they want, and call one of two tools, check_availability or create_booking. It doesn't get to invent a time slot or guess whether Saturday afternoon is open. Both tools run ordinary, deterministic code against your actual data: your opening hours, your existing bookings, and the duration of the service being asked about.
check_availability works out every open slot for a given day by walking through your opening hours in 30-minute steps and excluding anything that overlaps an existing, non-cancelled booking. create_booking runs a second, independent overlap check right before saving, comparing the requested start and end time against every other booking for that salon. If there's any overlap at all, the booking is rejected with a clear "slot_taken" result, and the assistant relays that to the client instead of confirming something that didn't happen.
Why this order matters
Language models are good at understanding intent and bad at doing exact arithmetic reliably every single time. So none of the actual scheduling logic lives in the model's judgment. It lives in plain functions that either return true or false, the same way every time, regardless of how the conversation was phrased. The AI's role is to relay whatever that function decided, not to override it.
That also means Tayyr never tells a client "you're booked" based on what sounds right in the conversation. It only says that after the booking has actually been written to your calendar, and the tool has actually returned success. If the save fails for any reason, the assistant doesn't fabricate a confirmation to keep the conversation smooth.
Timezones, the quiet failure point
One more detail that trips up simpler booking bots: a "2:30pm" only means something once you know whose 2:30pm. Every slot Tayyr offers or books is converted using your salon's actual configured timezone, not the server's default, so a booking made from a browser in another country still lands on your calendar at the time you and your client actually agreed on.
What this means for you
- You can't be double-booked by the AI getting creative. The check runs in code, not in the model's head.
- A "confirmed" message from the assistant means the row actually exists in your bookings.
- Getting your timezone right in settings matters more than almost anything else, because everything downstream depends on it.
None of this is exciting to read about, which is sort of the point. Booking software should be boring and correct. The interesting part is that it feels like a natural conversation while staying boring and correct underneath.