Book a gym session
book_appointmentUse this when someone asks to book a member into a session, class or personal training at their gym. Returns the new session with its time, trainer and services; it takes the gym's usual session length and reminders, so the gym's reminder messages go to the member. Not for finding free slots.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | A note for the gym team. | |
| gymId | No | Id of the gym, from list_gyms. Leave it out when the user has one gym. | |
| memberId | Yes | Id of the member, from list_members or create_member. | |
| requestId | Yes | A unique id you choose for this booking, such as a UUID. Calling again with the same requestId returns the first booking instead of booking twice. | |
| startTime | Yes | Start as an ISO 8601 time with the gym's UTC offset, such as 2026-11-20T10:00:00+01:00. | |
| serviceIds | No | Ids of the services booked, from list_services. | |
| providerIds | No | Ids of the trainers who take it, from list_trainers. Leave it out when the gym has one trainer or the user is the trainer. | |
| durationMinutes | No | Length in minutes. Leave it out for the gym's usual session length. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| appointment | Yes |