WhatsApp 聊天预约配置指南:设置服务时区、可选时段容量、客户问卷及改期取消规则
按服务配置时段、容量、问卷与提醒,在聊天中确认预约;日历、会议和兼容预约配置分别说明。
本篇内容
按服务建立预约
服务预约先定义服务,再让客户在 WhatsApp 会话中选择日期与时段、回答问卷并确认。预约记录、付款、日历事件、会议与提醒各自保留状态。原有工作区级单配置预约仍可用于兼容流程,操作说明保留在下方。
准备服务与可用时段
- 在预约类型中配置服务名称、地点、时长、步进、前后缓冲、服务时区、提前窗口、每日上限与时段容量。
- 设置每周的多个开放时段;用日期例外覆盖闭店或特殊营业安排。
- 准备预约问卷与需要映射的客户字段。按需连接 Google 日历,将外部忙碌与本地占用一起用于时段判断。
选择、保留与确认
客户依次选择服务、日期和时段。选中时段后先短暂保留,完成问卷再确认;最终确认时重新核对容量与占用,防止多个客户占用同一名额。启用定金时,先完成收款入口与支付回调验证;支付结果、名额确认和异常处理分别核对,不把收到付款等同于必然预约成功。
日历、会议、提醒与管理
- 日历与会议:本地预约确认后,按服务配置创建日历事件与 Meet 链接。外部创建失败应保留预约及失败记录,修复连接后再处理,不能把日历失败当作本地预约不存在。
- 参与者邀请:提供客户邮箱时,可随 Google 日历事件发送邀请;改期更新原事件,邀请的实际送达由对应服务处理。
- 多段提醒:服务可配置最多 8 个提前量。预约确认、提醒排期与提醒发送分别记录;改期或取消时同步调整后续安排。
- 公开管理:客户通过管理链接按规则改期或取消;打开链接或链接预览本身不会执行取消。会后根据签到与服务状态完成或进入待复核。
完整功能关系与交互示例见聊天预约与会议安排。
下方为工作区级兼容配置。它沿用单一日历、单段提醒及对应确认规则。使用预约类型管理的服务预约,应遵循上方的服务时区、容量和独立状态规则;两种入口的参数不要混用。
工作区级兼容预约概览
预约允许客户直接在 WhatsApp 聊天中选择时段。WAthink 读取你的 Google 日历了解你的空闲情况,以下一条 WhatsApp 列表消息提供最近的可用时段,并把已确认的预约写回日历事件 — 可选附带 Google Meet 链接。入口在 More → Appointments;该功能仅限管理员。
| 页面 | 用途 |
|---|---|
| 预约 | 连接状态面板,加上即将到来与最近过去的预约列表,并支持取消操作。 |
| 设置 | 连接 Google 日历、选择预约写入哪个日历、设置可用时间窗口,并调整预约规则。 |
预约本身在流程中完成:你在任意流程里添加 Book appointment 步骤,客户从列表消息中选择时段,WAthink 端到端完成预约。
前提条件
| 要求 | 来源 / 设置位置 |
|---|---|
| 平台级配置 Google 日历 | 管理员在 console.cloud.google.com 注册 Google Cloud 登录应用,并把 Client ID + Client Secret 粘贴到 Admin → Settings → Google Calendar(并启用)。在此之前,连接页面会显示「尚未配置」提示。 |
| 重定向地址 | 默认是应用 Web 地址上的 /appointments/oauth/google/callback;同一个管理页可以覆盖它。该地址必须加入 Google Cloud 应用的授权重定向 URL 列表。 |
| 一个已连接的 Google 账户 | 你在设置页面登录 Google 以授予日历访问权限(按工作区)。 |
| 套餐功能 | 预约需要 Appointment Booking 和 Google Calendar 套餐功能。预约数量还受每月上限限制。 |
| 带 Book appointment 步骤的流程 | 客户通过流程预约 — 见预约流程。 |
一次登录即可解锁所有 Google 步骤。同一个 Google 连接同时覆盖 Calendar(Book appointment + Google Meet)、Sheets、Docs、Drive(应用创建的文件)与 Forms 步骤,以及收件箱编辑器的相关操作 — 因此首次授权页会一次性请求全部权限。你也可以在专用的 Google Account 页面管理同一个账户。希望更严格配置的管理员可以在系统设置中收窄请求的权限范围。
连接 Google 日历
打开 Appointments → Settings,点击 Connect Google Calendar。你会被带到 Google 批准访问;返回后,WAthink 会安全地保存连接,并带你回到原处。
- WAthink 请求的是能在后台维持连接的访问方式,因此你不必反复登录。
- 首次连接时,它使用你的主日历,因此 Meet 链接和预约可以立即使用;你可以在设置表单的第 1 步选择其他日历。
- 连接会在到期前约 60 秒自动续期。
- 要断开连接,请使用设置页面上的 Disconnect — 这会移除工作区保存的 Google 连接。
如果续期中断。连接能否持续存活取决于管理员的 Google Cloud 应用配置是否正确。如果配置有误,连接可能悄悄停止续期。如果预约不再写入日历,请断开后重新连接以刷新。
可用时间窗口(第 2 步)
设置表单的第 2 步定义客户可以预约的时间。每个星期几一行,包含开始和结束时间。把某天留空即可完全禁用。新工作区默认周一至周五,09:00–18:00,周末关闭。
- 时间使用 24 小时 HH:MM 格式,开始时间必须早于结束时间;无效或空行会在保存时被丢弃。
- 选择器中只列出你可以写入的日历。
提示:选择一个专用日历作为预约目标,避免个人事件与客户预约混在一起。
预约规则(第 3 步)
第 3 步控制时段如何生成。这些规则直接参与时段计算。除默认地点外,其余均为必填。
| 规则 | 范围 | 默认值 | 作用 |
|---|---|---|---|
| 时段时长(分钟) | 5–480 | 30 | 每个可预约时段的长度。 |
| 每日最多预约数 | 1–96 | 16 | 每天最多提供的时段数。 |
| 前置缓冲(分钟) | 0–240 | 0 | 时段之前需要的间隔;会加宽与日历忙碌区间的冲突检查。 |
| 后置缓冲(分钟) | 0–240 | 0 | 时段之后需要的间隔。 |
| 提前预约窗口(天) | 1–90 | 14 | 最多可预约未来多少天内的时段。 |
| 提醒(提前分钟数) | 0–1440 | 60 | 何时发送 WhatsApp 提醒。设为 0 可关闭提醒。 |
| 默认地点(可选) | 最多 191 | — | 写入每个日历事件的地点。 |
预约流程
客户不是从页面预约,而是通过流程预约。在流程构建器中,为流程添加 Book appointment 步骤。该步骤运行时:
- 获取接下来的可用时段,并以 WhatsApp 列表消息发送给客户。
- 当客户点击某个时段时完成预约 — 创建预约和日历事件。
- 把确认消息发送回对话。
创建预约时会检查套餐功能和每月预约上限。
不会重复预约。如果客户在同一对话中两次点击同一时段,会返回已有预约,而不会产生两条预约。
时段计算
请求时段时,WAthink 会在日历时区中计算接下来的可用时间:
- 根据你的可用时间窗口,从当前时刻到提前预约窗口结束构建候选时段。
- 在该范围内检查 Google 日历上你已经忙碌的时间。
- 丢弃与忙碌时间冲突的时段,冲突范围按前置/后置缓冲加宽。
- 丢弃已经过去的时段。
- 应用每日上限。
- 返回前几个时段(一次少量 — 最多 10 个,默认 5 个)。
每个时段都附带开始时间、结束时间,以及类似 “Mon 3 Jun · 9:00 AM” 的友好标签。
兼容配置:确认、Google Meet 与提醒
时段被预约后,WAthink 会创建预约;如果已选择日历,还会把事件写入 Google 日历。事件写入后,预约标记为已确认(Confirmed)(否则保持待处理(Pending))。
| 输出 | 详情 |
|---|---|
| 日历事件 | 包含标题、描述、默认地点、日历时区下的开始/结束时间,以及 Google 的默认提醒。 |
| 参与者邀请 | 如果捕获了客户的邮箱,他们会被添加为参与者,Google 会向他们发送自己的邀请邮件。 |
| Google Meet 链接 | 单独的 Google Meet 流程步骤会创建附带 Meet 视频通话的事件,因此预约包含视频链接。它使用同一个 Google 连接。收件箱编辑器也可以按需创建 Meet 链接。 |
| WhatsApp 提醒 | 在时段开始前设定的分钟数发送(默认 60;0 表示关闭)。如果预约是在提醒窗口之内创建的,或预约已取消/被拒绝,则跳过提醒。 |
取消与改期
在预约列表中:
- 取消即将到来的预约 — 标记为已取消并删除关联的 Google 日历事件(如果事件已不存在,也视为成功)。
- 改期 — 把预约移到新的开始/结束时间。WAthink 更新同一个 Google 日历事件,因此参与者收到的是一封「此事件已改期」的邮件,而不是全新的邀请;WhatsApp 提醒也会按新时间重置。结束时间必须晚于开始时间。
已取消或被拒绝的预约不能改期。预约使用以下状态:
| 状态 | 含义 |
|---|---|
| Pending(待处理) | 已预约,但日历事件尚未写入。 |
| Confirmed(已确认) | 日历事件已写入;预约已锁定。 |
| Cancelled(已取消) | 已取消;日历事件已删除。 |
| Completed(已完成) | 预约已经发生。 |
| No-show(未到场) | 客户没有到场。 |
兼容配置:时区处理
时段、事件和预约列表都遵循一个时区,按以下顺序解析:已连接日历的时区(选择日历时捕获)、然后是工作区时区、最后是 UTC。列表视图会明确显示每条预约的开始、结束时间和时区,跨地区运营的人员不会产生歧义。
故障排查
| 症状 | 原因与修复 |
|---|---|
| 「Google Calendar isn't configured yet」 | 平台管理员尚未设置 Client ID / Secret。请在 Admin → Settings → Google Calendar 中填写并启用。 |
| 登录后 Google 返回重定向错误 | 重定向地址未列在 Google Cloud 应用上。请把 /appointments/oauth/google/callback(或管理设置中显示的地址)加入应用的授权重定向 URL。 |
| 预约不再写入日历 | Google 连接可能已停止续期。在设置页面断开后重新连接以刷新。 |
| 选择器中没有日历 | WAthink 只列出你可以写入的日历。请在 Google 日历中授予写入权限,然后点击 Refresh。 |
| 没有向客户提供任何时段 | 检查可用时间窗口是否全部为空、提前窗口是否覆盖接下来的日期,以及日历是否(在缓冲之后)完全忙碌。 |
| 客户点击导致重复预约? | 不会 — 两次点击同一时段会返回已有预约。 |
| 客户尝试预约时被阻止 | 你的套餐缺少 Appointment Booking / Google Calendar,或已达到每月预约上限。请升级套餐或等待上限重置。 |
| 没有发送提醒 | 预约是在提醒窗口内创建的、提醒时间为 0,或预约已取消/被拒绝 — 这些情况都会跳过提醒。 |
| 预约缺少 Meet 链接 | 工作区级兼容配置的普通 Book appointment 步骤不附带 Meet,需使用单独的 Google Meet 步骤或收件箱 Meet 操作。服务预约则先核对服务的线上会议设置及日历授权,两种入口分别处理。 |