Create booking
Book one or more resources on days, for hours per day or at a set time.
MCP tool resource_guru_write → create_booking
write Confirm
Returns the new booking with its ID. If a person has too little free time and clash_resolution is not set, nothing is booked and the clash is returned. The booked people see a confirmed booking on their Dashboard, and an account with the Approval Workflow sends it to approvers as pending. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| resource_ids integer[] required | integer[] | IDs of the people, placeholders or other resources to book, from list_resources. |
| start_date string required | string | First day, YYYY-MM-DD. |
| end_date string required | string | Last day, YYYY-MM-DD. |
| minutes_per_day integer required | integer | Minutes booked on each day, 1 to 1440. |
| start_time integer | integer | For a Specific Time booking: minutes after midnight, so 540 is 9:00. |
| project_id integer | integer | Project ID from list_projects. |
| client_id integer | integer | Client ID from list_clients. |
| tentative boolean | boolean | True for a pencilled booking that takes no availability. |
| details string | string | Notes on the booking. Markdown works. |
| clash_resolution string | string | What to do when a resource has no free time: add_to_waiting_list, book_with_overtime or increase_availability. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "resource_guru_write",
"arguments": {
"operation": "create_booking",
"arguments": {
"resource_ids": [
18211
],
"start_date": "2026-11-09",
"end_date": "2026-11-13",
"minutes_per_day": 360,
"project_id": 703110,
"tentative": true,
"details": "Pencilled until Acme signs off"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"id": 48213021,
"resource_ids": [
18211,
18214
],
"start_date": "2026-11-02",
"end_date": "2026-11-06",
"minutes_per_day": 240,
"project_id": 703110,
"tentative": false,
"approval_state": "approved",
"waiting": false
},
"isError": false
}