SuperAPI AI 工具集

availability-booking

通用与其它

查看项目

更新于 10-15 20:09

技能介绍

用途:为日历应用提供预约(Booking)能力,用户可以分享公开 URL 让他人预约时间。可用性按用户配置,预约数据通过 Drizzle ORM 存储在 SQL 中。\n\n可用性设置:可用性存于 SQL settings 表的 calendar-availability 键下,定义每周可用的日期与时间段,包含 timezone 和 schedule 字段。通过 readSetting("calendar-availability") 读取,通过 writeSetting("calendar-availability", { ... }) 写入。\n\n检查可用性:check-availability 脚本读取可用性日程、拉取当日 Google Calendar 事件,再从可用窗口减去忙碌区间,得到空闲时段。用法:pnpm action check-availability --date 2026-04-05(必填 --date,YYYY-MM-DD),可选 --duration 指定最短时段分钟数,默认 30。\n\n预约链接:通过 Drizzle ORM 存于 SQL,每条链接含 slug、时长和关联可用性。链接可设必需的联合主持人(owner 始终包含,hosts 存额外必需共同主持人),用 create-booking-link 创建,例如:pnpm action create-booking-link --title "Steve + Brent" --slug "steve-brent-30" --duration 30 --hosts "brent@example.com";用 update-booking-link 增删联合主持人。群组预约链接仅在 owner 与所有共同主持人都空闲时才显示时段。确认预约时,应用在 owner 已连接的账号上创建 Google Calendar 事件,并将共同主持人加为受邀参与者。管理权限共享与公开预约访问分离:用框架的共享动作或共享对话框授予个人或组织的管理权限;isActive 决定访客能否预约。预约链接在 /booking-links 界面管理,公开预约 URL 格式为 /book/{username}/{slug},例如 /book/steve/30min。\n\n预约记录:已确认的预约存于 SQL,在 /bookings 界面可见。\n\n常见任务:询问某天是否空闲时运行 check-availability --date;查找本周时段则逐日检查并加 --duration;修改工作时间则更新 calendar-availability 设置。\n\n注意事项:可用性设置影响公开预约页提供的时段;计算可用性时实时检查 Google Calendar 事件;全天事件会阻塞整天;连接后预约会创建 Google Calendar 事件。