极客场馆 极客场馆
← 回到开发者文档

约课接口

约课记录接口:按时段拉取会员约课记录,合并团课(group)、小班(small)、私教(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类型必填说明
startDateyyyy-MM-ddcreateTime >= startDate
endDateyyyy-MM-ddcreateTime <= endDate
memberIdlong按会员过滤
bookingTypestring不传查全部;group(团课)/ small(小班)/ private(私教)。与 排课接口scheduleType 同一套词汇
page / sizeint默认 1 / 20,size ≤ 100

startDate / endDate 必填,跨度 ≤ 90 天。data{ records[], total, current, size },按预约创建时间倒序。

records[] 单元素:

{
  "bookingType": "private",       // group(团课)/ small(小班)/ private(私教)
  "id": 88001, "memberId": 12345,
  "scheduleId": 88001,            // group→class_schedule.id;small→small_class_schedule.id;private 即排课自身 id
  "coachStaffId": 5001,           // private 才有;group / small 的预约行不带教练,为 null
  "startTime": "2026-05-22T10:00:00", // private 才有;group / small 用 scheduleId 关联 /schedules
  "endTime": "2026-05-22T11:00:00",
  "status": 2,                    // 状态码按 bookingType 对照字典,见下
  "checkinTime": null,            // 核销(签到)时间,未核销为 null
  "source": "RESPONSIBLE_COACH",  // group=bookingSource / private=initiatorType;small 恒为 null
  "cancelTime": null,
  "createTime": "2026-05-20T09:58:00"
}

status 字典(团课与小班已对齐,私教仍是另一套)

status 原样透出,先看 bookingType 再查对应这一列

bookingType状态字典
group 团课1 已预约 / 2 已取消 / 3 已签到 / 4 未到场 / 5 核销失败
small 小班1 已加入 / 2 已退出 / 3 已签到 / 4 未到场
private 私教0 待分配 / 1 待确认 / 2 已确认 / 3 已完成 / 4 已取消 / 5 已拒绝

团课和小班的前四个值含义一致(2026-08-02 对齐)。此前小班的 2 是”已签到”、 团课的 2 是”已取消”,同一个数字含义相反,对接方极易读错;现已把小班的 2/3 对调。

仍要注意两点:小班没有 5(“核销失败”是团课兜底扣课失败才落的状态,小班兜底失败不落这个值—— 但小班同样有兜底自动扣课,别把”没有 5”读成”没有兜底”);私教是完全独立的一套, 它的 2 是”已确认”、3 是”已完成”,别拿团课/小班的字典去读。

课次时间不在本接口,group / small 都用 scheduleId 关联 排课接口 /schedules(那边同样用 group / small 区分)。

团课和小班在业务上是两套独立系统:团课=门店排班后挑教练,小班=教练自己发起。 但扣课口径两边相同,都是”占位就扣”(预约不即时扣、核销扣、没核销的次日兜底自动扣)—— 差别在表/接口/门店参数各自独立,不在规则。对接时按两条业务线处理,别假设实现通用。