book_room
Book a room in Indico for a specific time on a single day. Use dry_run to preview and confirm booking details before creating the reservation.
Instructions
Create a room booking in Indico.
Always confirm the full details with the user before calling this tool with dry_run=False, as the booking is created immediately and may be difficult to cancel.
IMPORTANT CONSTRAINTS:
The booking must start and end on the same day (Indico API limitation for this endpoint; recurring or multi-day bookings must be made via the web UI).
The token must have the 'Classic API (read and write)' scope.
Booking dates can be today or in the future; exact restrictions depend on the Indico instance's room booking policy.
RETRY SAFETY: this endpoint is not idempotent. Submitting the same request twice (e.g. after a transient network error) will create two separate bookings. Use dry_run=True to pre-validate before committing, and do not retry automatically on failure.
IMPERSONATION: the booked_for parameter allows booking on behalf of another user. Only use it when the user has explicitly authorised this action.
Returns the booking confirmation from Indico, including the reservation ID if successful. When dry_run=True, returns the parameters that would have been sent without making any API call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes | Indico room ID (from search_rooms or find_available_rooms). | |
| from_dt | Yes | Booking start, YYYY-MM-DDTHH:MM. | |
| to_dt | Yes | Booking end, YYYY-MM-DDTHH:MM. Must be on the same day as start. | |
| reason | Yes | Reason for the booking. | |
| booked_for | No | Indico username to book on behalf of (defaults to the token owner). Only pass this when the user has explicitly asked to book on behalf of someone else — misuse may constitute impersonation. | |
| dry_run | No | When True, validate all inputs and return the booking parameters that would be submitted without actually creating the booking. Use this to confirm details with the user before committing. | |
| instance | No | Named Indico instance to query. Use only configured names. If omitted, the server default instance is used. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||