Current API
List bookings
auth:api
Policy: BookingPolicy::viewAll() — internal users see all, others see only their own.
List own bookings
auth:api
Returns bookings where the authenticated user is the student or the parent.
Create booking
auth:api
Creates a new lesson and booking. Body includes:
- Tutor ID, subject, level, exam board
- Start/finish times
- Lesson type (online, tutor’s home, student’s home)
- Child IDs (optional, for parent bookings)
- Address (for in-person lessons)
Get booking
web.api
Returns full booking details via BookingTransformer including:
- Lesson info (state, times, subject, address)
- Tutor info (profile, rating, hours taught)
- Student/contact info
- Meeting details (join URLs)
- Notes (student + tutor)
- Payment receipt with pricing breakdown
- Activity timeline
- Calendar events
Update booking
web.api
Updates booking details (e.g., approve/confirm).
Cancel booking
web.api
Policy: BookingPolicy::cancel() — internal users, booking owner, lesson student, or lesson parent.
Cancels the lesson and processes refund via Stripe. Sends LessonCancelled email.
Legacy v1 API
Bookings CRUD
auth:api
Reschedule
auth:api
Approve
auth:api
Cancel
auth:api