必须嵌入规则判定与状态管理机制:一、设课程状态机,限定status枚举值并校验条件;二、分双路径流程,依关键词路由调课或补课;三、余量隔离,主预约池80%、应急池20%专供调补;四、三方确认闭环,任一方否决即终止;五、异常自动回滚,确保状态一致。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用豆包构建健身房私教课预约Bot,需支持学员在课程冲突或临时缺席时发起调课与补课请求,则必须在Bot交互流程中嵌入明确的规则判定与状态管理机制。以下是实现该逻辑的具体方法:
一、设定课程状态机模型
Bot需为每节私教课维护独立的状态字段(如“已预约”“已取消”“已调课”“待补课”“已补课”),避免状态歧义导致重复调度或资源错配。状态变更须触发对应通知与库存校验。
1、在数据库中为每条课程记录新增status字段,取值限定为预定义枚举:scheduled、rescheduled、canceled、pending_makeup、completed_makeup。
2、Bot接收到调课请求时,先校验原课程status是否为scheduled,否则返回“当前课程不可调课:状态非‘已预约’”。
3、补课请求仅允许对status为canceled且距原课时间不超过72小时的记录发起,超时则拒绝并提示“补课申请已过期,仅支持课前72小时内提交”。
二、配置双路径预约流程分支
Bot需区分首次预约与二次操作入口,在自然语言理解层识别“我想换个时间”“补上周三那节”等意图后,自动路由至不同处理链路,防止调课与补课动作混用同一排期池。
1、当用户输入含“调”“换时间”“改约”等关键词,Bot激活调课流程,仅展示教练未来7天内空闲时段(排除已满员时段)。
2、当用户输入含“补”“上次没上”“漏掉”等关键词,Bot激活补课流程,强制关联原课程ID,并仅开放该教练未来5个工作日内、且与原课类型一致的空闲时段。
3、若用户未明确意图但提供课程日期,Bot主动追问:“请问您是要调整这节课的时间,还是需要安排一次补课?”
三、实施余量隔离策略
为防止调课与补课挤占常规预约名额,Bot后台需将每日可售课时拆分为两部分:主预约池(80%)与应急池(20%),后者专供调课/补课占用,确保常规销售不受干扰。
1、教练每日总课时设为10节,则应急池固定分配2节,Bot在排期界面不向普通用户展示应急池时段。
使用豆包(火山引擎 Ark)生成图片或视频并保存本地。用户提及“豆包生图/图片/生视频/视频”、“Doubao”、“Seedance”、“火山引擎图片/视频”时触发。
2、调课成功后,原时段释放回主预约池,新时段从应急池扣除;补课则全程占用应急池,不释放原时段资源。
3、当应急池当日余量为0时,Bot拒绝所有调课/补课请求,并提示“今日调补课额度已满,请明日再试或联系前台人工协调”。
四、执行三方确认闭环
每次调课或补课生效前,Bot必须完成学员、教练、门店三方确认,任一方否决即终止流程,避免单方面操作引发纠纷。
1、Bot生成新时段方案后,向学员发送含二维码的确认卡片,点击即完成学员侧确认。
2、同步向教练企业微信推送待办,要求其在2小时内勾选“接受”或“拒绝”,超时未操作则自动标记为拒绝。
3、门店系统实时监听教练响应,若为“拒绝”,Bot立即通知学员并提示“该时段已被教练拒绝,请选择其他时间或更换教练”。
五、固化异常回滚规则
当调课或补课流程中任一环节失败(如支付未完成、教练拒单、时段被抢订),Bot必须按预设规则自动回退至原始状态,禁止残留中间态数据。
1、若学员确认后30分钟内未完成补课费用支付,Bot将自动取消该补课预约,并将应急池名额返还。
2、若调课后新时段在48小时内被其他用户预约,Bot触发冲突检测,立即恢复原课程status为scheduled,并通知学员“您调课的时段已被占用,原课程已自动恢复”。
3、所有回滚操作完成后,Bot向学员发送含原始课程信息的快照消息,确保状态可视可追溯。










