用途:管理预约(booking)从创建到结束的完整生命周期,并处理参会者、外部系统引用、爽约与提醒。
主要能力:状态包括 pending(需确认的事件类型从此开始)、confirmed(正常状态)、rescheduled(改期后的旧预约,新预约为 confirmed,二者通过 from_reschedule 关联)、cancelled(任一方取消)、rejected(pending 被拒绝)。改期与“取消后重订”不同:reschedule-booking 动作会创建新预约并通过 fromReschedule 链接旧预约,iCalUID 在改期链中保持不变(RFC 5545),iCalSequence 递增。爽约方面,mark-no-show 会在参会者上设置 noShow: true,轮询分配校准据此惩罚参会者频繁爽约的主持人。每个预约都有 cancelToken 和 rescheduleToken,用于发送给参会者的公开魔法链接,使其无需登录即可管理预约。外部引用存储 Google Calendar 事件 id、Zoom 会议 id、Daily.co 房间名于 booking_references,在取消或改期时用于把变更回传到源系统。ICS 方面,/booking/:uid.ics 返回 RFC 5545 日历文件,用于确认邮件附件和“添加到日历”按钮。
使用方式与限制:资料未提供具体安装命令、调用示例或配置步骤,暂未提供。适用场景为需要预约状态流转、改期链、免登录自助管理、外部日历同步与 ICS 导出的日程系统。