约课接口
约课记录接口:按时段拉取会员约课记录,合并团课/小班预约(class)与私教排课(private)。统一 scope `booking:read`。
极客场馆开放平台 · 约课接口
版本 v1 · 配套文档:加密与签名接入 · 通用约定与错误码 所有路径前缀
https://www.gymker.com/api/open/v1。响应/错误码/幂等/限流见通用约定。
1. 能力总览
| 能力 | scope | 典型用途 |
|---|---|---|
| 约课记录列表 | booking:read | 拉某时段会员预约情况 |
每个 AppId 只对应一家门店,所有接口自动按该门店过滤。
2. 约课记录列表 · GET /bookings
按预约创建时间拉取约课记录,合并两类预约模型,统一列表 + bookingType 字段。scope booking:read。
| Query | 类型 | 必填 | 说明 |
|---|---|---|---|
startDate | yyyy-MM-dd | 是 | createTime >= startDate |
endDate | yyyy-MM-dd | 是 | createTime <= endDate |
memberId | long | 否 | 按会员过滤 |
bookingType | string | 否 | 不传查全部;class(团课/小班)/ private(私教) |
page / size | int | 否 | 默认 1 / 20,size ≤ 100 |
startDate/endDate必填,跨度 ≤ 90 天。data:{ records[], total, current, size },按预约创建时间倒序。
records[] 单元素:
{
"bookingType": "private", // class(团课/小班) / private(私教)
"id": 88001, "memberId": 12345,
"scheduleId": 88001, // class 指向 class_schedule.id;private 即排课自身 id
"coachStaffId": 5001, // private 才有;class 预约不直接绑定教练,为 null
"startTime": "2026-05-22T10:00:00", // private 才有;class 预约用 scheduleId 关联 /schedules
"endTime": "2026-05-22T11:00:00",
"status": 2, // 状态码按 bookingType 对照字典
"checkinTime": null, // 核销(签到)时间,未核销为 null
"source": "RESPONSIBLE_COACH", // class=bookingSource / private=initiatorType
"cancelTime": null,
"createTime": "2026-05-20T09:58:00"
}
status各模型字典不同,原样透出:class见团课/小班预约状态字典,private为 0 待分配 / 1 待确认 / 2 已确认 / 3 已完成 / 4 已取消 / 5 已拒绝。团课/小班课次时间不在本接口,用scheduleId关联 排课接口/schedules。