Create appointment
create_appointmentBook an appointment for a client: services, team member and start time. Books the services one after another from start_at with one team member at one location, as New appointment in the calendar does, at each service's catalogue price. Give service_ids (service_id from list_services), or pricing_level_ids to pick a pricing level other than a service's first. In a business with several locations, pass location_id and a team member who works there (location_ids in list_team_members); without it the team member's primary location is used. Fresha may send the client a booking confirmation by their notification settings (get_client), so this can reach the client. Find free times with find_available_slots first: Fresha books over other appointments and returns its warnings. By default you confirm each call; you can switch that off for this tool. Waits for the owner's approval.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"start_at": "<start_at>"
},
"name": "create_appointment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start_at | Yes | Start, ISO 8601: 2026-11-03T14:30 is wall clock in the business's time zone; with an offset (2026-11-03T14:30:00+01:00) it is converted. | |
| client_id | No | Client from list_clients. Without it: a walk-in. | |
| location_id | No | Location to book at, from list_team_members. Default: the team member's primary location, else the business's first location. | |
| service_ids | No | service_id values from list_services (not pricing_level_id), done one after another in this order. Use the same location_id as in list_services. | |
| team_member_id | No | Team member. Default: the first at the location who takes bookings. | |
| pricing_level_ids | No | Instead of service_ids: pricing_level_id values from list_services, to book a pricing level other than a service's first one. Done one after another in this order. |