You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi everyone,
I'm working on a school project where I need to build a conversational agent to handle bookings using the LibreBooking system.
The agent is almost complete, but I'm running into an issue regarding resource availability.
Let me give you a concrete example:
When a user says "Book a room for tomorrow at 4 PM", the agent responds "The room is unavailable".
However, this response is incorrect, because according to the LibreBooking system, the slot starting at 16:00 is actually available.
The issue
It seems that the agent misinterprets the resource as unavailable because it reads the end time of the previous reservation and assumes the slot is still occupied, even though there’s no overlap with the new one.
My questions:
How exactly does LibreBooking calculate availability?
Specifically, how should I interpret the available, availableAt, and availableUntil fields from the API response?
Should the agent compare the requested start time with availableAt, or is there a more precise logic to determine if a slot is truly free?
Is there any workaround or recommended way to handle this?
For example, can I compare the requested time with the end time of the previous reservation, and allow the booking as long as there’s no actual time overlap?
Or is there a field/flag I’m missing in the API that would help determine this more accurately?
Sample JSON response (from /Resources/Availability endpoint)
Here’s the JSON response I get from the availability endpoint (via Postman):
As you can see, for Meeting Room 3, the slot at 2025-05-16T16:00:00 is marked as unavailable, even though this is the start time of a booking and should logically be free unless there's an overlap.
TL;DR
How can I prevent false negatives in my agent’s availability checks?
Is there a recommended way to precisely evaluate slot availability when start and end times are close or adjacent?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
I'm working on a school project where I need to build a conversational agent to handle bookings using the LibreBooking system.
The agent is almost complete, but I'm running into an issue regarding resource availability.
Let me give you a concrete example:
When a user says "Book a room for tomorrow at 4 PM", the agent responds "The room is unavailable".
However, this response is incorrect, because according to the LibreBooking system, the slot starting at 16:00 is actually available.
The issue
It seems that the agent misinterprets the resource as unavailable because it reads the end time of the previous reservation and assumes the slot is still occupied, even though there’s no overlap with the new one.
My questions:
How exactly does LibreBooking calculate availability?
Specifically, how should I interpret the available, availableAt, and availableUntil fields from the API response?
Should the agent compare the requested start time with availableAt, or is there a more precise logic to determine if a slot is truly free?
Is there any workaround or recommended way to handle this?
For example, can I compare the requested time with the end time of the previous reservation, and allow the booking as long as there’s no actual time overlap?
Or is there a field/flag I’m missing in the API that would help determine this more accurately?
Sample JSON response (from /Resources/Availability endpoint)
Here’s the JSON response I get from the availability endpoint (via Postman):
json
Copia
Modifica
As you can see, for Meeting Room 3, the slot at 2025-05-16T16:00:00 is marked as unavailable, even though this is the start time of a booking and should logically be free unless there's an overlap.
TL;DR
How can I prevent false negatives in my agent’s availability checks?
Is there a recommended way to precisely evaluate slot availability when start and end times are close or adjacent?
Thanks in advance for your help!
Beta Was this translation helpful? Give feedback.
All reactions