Schedule and cancel classes¶
Use this guide to schedule, update and cancel classes as a manager.
A service spans several venues, teachers and levels and carries no price of its own, so the
API cannot infer them. POST /api/v2/management/classes/ requires eight fields:
service_id, venue_id, teacher_id, level_id, credit_price, starts_at,
duration_in_minutes and max_capacity. Omitting one returns 400 naming the field.
bsport resolves the internal record for that combination and creates it when the combination
is new.
Get the values from these endpoints.
| Field | Where to obtain it |
|---|---|
service_id |
/services/ |
level_id |
/levels/. It lists your company's levels and the levels shared across companies. A level you cannot use returns 400 |
teacher_id, venue_id |
/teachers/, /venues/ |
PATCH /classes/{id}/ is fully partial: every field is optional and only the fields you
send are applied. Capacity cannot drop below the current confirmed booking count. For a class
owned by a class group, update the group instead of sending service_id, level_id or
is_bookable_by_clients to the individual class. Update linked hybrid classes through their
paired management flow, not one side at a time.
POST /classes/{id}/cancel/ cancels a class and refunds its active bookings.
should_notify_participants defaults to false.
Detail operations are not limited to the default 30-day list window. A class or appointment scheduled further ahead can be retrieved, updated and canceled by ID without a query parameter.