WisyLink 博客

在线预约系统预约网站小企业预约管理Stripe

用 AI 搭建在线预约系统:杜绝重复预约

用 AI 搭建在线预约系统:实时显示可约时段、杜绝重复预约,配员工管理后台,用你自己的 SMTP 发提醒邮件,再通过 Stripe 收取定金。附完整提示词模板。

12 分钟 阅读
用 AI 搭建在线预约系统:杜绝重复预约

用 AI 做预约网站,先列出服务项目、时长、营业时间和预约规则,再把它们写进一条提示词。工具会生成预约页面,把预约存进数据库,自动挡掉已被占用的时段,并给你一个管理后台。填好 SMTP 和 Stripe 密钥后,确认邮件和定金功能就会生效。

  • 先写下可预约规则:时长、缓冲时间、提前量、可预约范围、员工和取消政策。工具只能执行你告诉过它的规则。
  • 防止重复预约靠的是带条件的写入:只有在那一刻时段仍然空闲,才能占下它,所以两个人同时预约,不可能都成功。
  • 在管理后台里,你可以查看、改约和取消预约,并屏蔽休息时间;员工可以有自己的登录账户和排班。
  • 确认和提醒邮件通过你自己的 SMTP 账户发送,提醒按 30 到 60 分钟的周期运行,所以不会精确到分钟。
  • 定金走你自己的 Stripe 账户,只有当 Stripe 的 Webhook(支付回调)确认付款成功,预约才算确认。
  • 上线前用两部手机测试,然后把网站迁移到你的域名,并把预约链接添加到你的 Google 商家资料中。

预约网站需要什么,先写下哪些规则

从外面看,预约网站很简单:选服务、选时间,完事。真正的功夫在日历背后的规则上。写提示词之前,先把它们落到纸面上。

服务项目、时长和员工

列出每项可预约的服务,以及它的时长、价格和谁能做。以一家有两个座位的理发店为例:剪发 45 分钟,染发 120 分钟外加 15 分钟清理,修胡子 20 分钟。小林周二到周六上班,9:00 到 17:00;阿杰周四到周日上班,10:00 到 18:00;只有小林会染发。光这一段话,就已经是一个预约系统的大半了。

家教、咨询师和诊所的结构都差不多:服务、时长、人。课程和租赁则不同,因为它们有容量。对于一节 12 人的瑜伽课或四条皮划艇来说,“约满了”的意思是“没有名额了”,而不是“这个小时有人了”。

可预约规则清单

时段间隔
多久提供一个开始时间,比如每 15 分钟或每 30 分钟。间隔短,能填满空档;间隔长,一天的安排更整齐。
缓冲时间
预约结束后留出的时间,用于清洁、记录或路上奔波。它属于这个预约,而不属于下一位顾客。
最短提前量
顾客最少要提前多久预约,比如至少提前两小时。
可预约范围
日历最远开放到多久以后,比如八周。
容量
一个时段能接多少个预约:每位员工一个,或者课程和租赁按名额计。
取消政策
顾客最晚什么时候可以自行取消或改约,超过之后定金怎么处理。

再写上你的时区、休息日,以及预约是即时确认还是需要你审批。大多数服务行业适合即时确认;高价值或特殊的预约适合审批。

用提示词模板一步步搭建

  1. 按上面的清单,把服务项目和规则写在一份笔记里。
  2. 注册一个免费的 Community 账户(无需绑卡),在网页端或移动应用中新建对话。
  3. 如果有价目表,就附上,PDF、表格或照片都行。参考文件每个最大 25 MB,会作为上下文被读取。
  4. 粘贴下面的模板并填好你的信息。如果 Wisy 提问,就回答它;否则构建会直接开始,并在聊天里汇报进度。
  5. 读一读构建结束时的说明。它会告诉你怎么登录管理后台,以及哪些集成(比如邮件或 Stripe)还在等你填写信息。
  6. 到“集成”(Integrations)里填写这些信息,绝不要发在聊天里。
  7. 按下一节的方法测试,然后在同一个对话里提出修改。

为【店名】做一个预约网站,这是一家位于【城市】的【业务类型】。时区:【Asia/Shanghai】。

服务项目(名称、时长、价格、由谁服务):【剪发,45 分钟,$40,小林或阿杰】;【染发,120 分钟,另加 15 分钟缓冲,$95,仅小林】;【修胡子,20 分钟,$15,仅阿杰】。

员工上班时间:【小林:周二至周六 09:00–17:00】;【阿杰:周四至周日 10:00–18:00】。顾客先选服务,再选员工或“任意空闲员工”,最后选一个空闲时间。

规则:每【15】分钟一个开始时间;至少提前【2 小时】、最多提前【8 周】预约;顾客可在预约前【24 小时】之前自行取消或改约。同一位员工的两个预约绝不能重叠(含缓冲时间),即使两个人在同一时刻预约也一样。选择日期时实时加载可预约时间。

预约表单:姓名、电话、邮箱、备注(选填)。提交后显示确认信息,包含预约编号,以及取消或改约的链接。

管理:一个私密的管理后台,按员工显示今天和之后的预约,我可以改约或取消预约,并屏蔽休息日、节假日和休息时间。员工有自己的登录账户,只能看到自己的排班。

邮件:通过我的 SMTP 账户,在预约成功时发送确认邮件,并在大约 24 小时前发送提醒。

定金:【染发】需通过 Stripe 支付【$20】定金。顾客付款期间为其保留时段 30 分钟,未完成付款则释放该时段。

一条消息,就是一个完整的系统。在免费计划上,Wisy 每次构建只做一个能用的第一版,所以通常会先做出预约流程和管理后台,邮件和定金放到后续构建;付费计划支持更完整的构建,两次构建之间的等待也更短。更多模板见我们的AI 建站提示词模板,通用流程见AI 建站教程。

如何防止重复预约

重复预约是一个时间差问题。两位顾客在 10:00 同时打开页面,都看到 15:00 有空。两人在同一秒点了“预约”。简单粗暴的系统会对每个请求分别检查“15:00 有空吗?”,两次都得到“有”,于是写入两个预约。

WisyLink 的数据层正是为这种情况提供了带条件的更新。应用用一条指令占下时段:只有在它仍然空闲时才占。检查和写入是一个不可分割的步骤,所以一位顾客拿到预约,另一位立刻看到“这个时间刚刚被约走了,请另选一个”。同样的保护也能防止课程超卖:名额只有在大于零时才会减少。

有两个细节要写进提示词,也要写进你的测试:

  • 是重叠,而不只是开始时间相同。14:30 开始的 45 分钟剪发和 13:00 开始的 120 分钟染发,开始时间不同,却会撞在一起。要写明“预约不能重叠,缓冲时间也算在内”。
  • 实时显示可预约时间。页面有缓存,数据变化后大约一分钟内刷新,所以一个时段被约走后,可能还会短暂显示为空闲。保护机制照样会挡住第二个预约,但如果选择日期时实时加载空闲时间,顾客体验会更好,这就是模板里要求这一点的原因。

测试只要两分钟。用两部手机打开预约页面,选同一项服务、同一位员工、同一个时间,同时点“预约”:应该只有一个成功。再试一个与已有预约重叠 15 分钟的时间,以及一个落在已屏蔽休息时间里的时间。如果有漏网之鱼,就在聊天里描述发生了什么,让它修复。

管理后台:查看、改约和取消预约

你的网站为你和员工自带账户系统,密码哈希存储,用会话 Cookie 保持登录,并区分角色。正因如此,才能有一个像样的管理后台:

  • 日视图:每位员工的预约,带顾客姓名、服务、电话和备注。
  • 改约:为预约选一个新时间。改约和预约用的是同一套保护机制,所以你不会手滑把顾客塞进已被占用的时段。
  • 取消:立即把时段释放给其他顾客。
  • 屏蔽时间:休息日、节假日、午休或一周的假期,都会从公开日历上移除。
  • 员工登录:每个人只管理自己的排班,管理员角色可以看到所有人的。
  • 导出:把预约导出为 CSV,交给会计或自己存档。

屏蔽某一天,并不会取消这一天已有的预约。让它在你屏蔽有预约的日子时弹出提醒并列出这些预约,再由你亲自联系这些顾客。管理后台就是一个网页,用手机浏览器也能打开;把它添加到主屏幕,在前台用起来就像一个 App。

确认邮件与提醒邮件

邮件通过你自己的 SMTP 账户发送,也就是企业邮箱或邮件发送服务的发信账号。构建加入邮件功能后,“集成”里会出现一个 SMTP 邮件条目,需要填写服务器地址、端口、用户名、密码和发件地址。填一次即可,这些值会加密保存,之后不再显示。

在此之前,不会发出任何邮件。预约照常可用,顾客也照样能在屏幕上看到确认信息和预约编号。这对低调试运营来说够用了,但没有确认邮件就不要对公众开放预约:收不到任何消息的人可能会重复预约,或者忘了时间。

提醒需要有个东西在没人访问网站时“醒过来”去发送。WisyLink 网站可以运行定时任务来做这件事,固定间隔为 30 到 60 分钟。所以“提前 24 小时”实际上是“在 24 小时节点前后一小时左右”:周四 15:00 的预约,会在周三 15:00 前后一小时内收到提醒。这对提醒来说没问题,但不适合任何必须精确到分钟的事。有两个保护措施值得要求:每条预约发送提醒后就做标记,这样任务重复运行也不会重复发送;以及跳过已取消的预约。

短信提醒可以通过短信服务商的 API 实现,用你自己的账户和密钥;把它作为单独的功能提出来,并做好测试。日历也是同样的道理。顾客可以在确认信息里拿到一个“添加到日历”文件,但与你的 Google 日历双向同步并不是内置功能。它可以通过使用你自己 Google 凭据的集成来实现,所以要明确提出,并在依赖它之前测试好。

用你的 Stripe 账户收定金或全款

顾客预约时能付定金吗?能。WisyLink 本身不处理支付:你的网站用你自己的账户调用 Stripe,或其他提供 API 的支付服务商,钱直接进你的账户。先确认 Stripe 支持你所在国家或地区的商家。Stripe 只向这些国家和地区注册的商家开放,中国大陆企业目前无法直接开通;支付宝、微信支付只能通过提供 API 的支付服务商接入,我们没有测试过,务必自己测试。

一个正确的定金流程有五步。了解它们,你就能逐一测试:

  1. 顾客选好时间。网站把预约保存为待确认,并保留这个时段。
  2. 顾客跳转到 Stripe 结账页面支付定金。
  3. 付款成功后,Stripe 向你的网站发送一个签名的 Webhook。只有这时,预约才会确认,确认邮件才会发出。
  4. 如果顾客放弃付款,保留到期后时段会重新开放。保留 30 分钟比较合理,这也是 Stripe 结账会话允许的最短有效期。
  5. 在取消政策范围内的取消,从你的 Stripe 后台退款;如果你提出要求,也可以在管理后台加一个退款按钮。

关键在第 3 步。顾客付款后跳转到的页面什么也证明不了:任何人都能打开那个地址,有些顾客也会在页面加载前就关掉标签页。Stripe 自己的订单履行指南正因为这个原因要求使用 Webhook,WisyLink 也是这样构建支付的:先写入预约,只有经过验证的 Webhook 才能确认它。

在“集成”里,先用 Stripe 的测试密钥,用 Stripe 的测试卡跑几笔预约,再换成正式密钥。密钥填好之前,支付功能不会启用,所以在那之前不要宣传定金。Stripe 对每笔付款收取手续费,设定定金金额时要把它算进去。

定制预约网站与预约软件订阅对比

预约软件是一个成熟的品类,对很多商家来说,订阅一款就是正确答案。下面是一个诚实的对比:

AI 定制的预约网站与预约软件订阅对比
对比项AI 定制的预约网站预约软件订阅
搭建一条提示词,然后测试;当天上线注册后在设置里配置服务和员工
贴合你的规则围绕你的规则构建,再特殊也行局限于产品提供的选项
费用WisyLink 计划费用,加上 Stripe 的支付手续费月费,常按员工人数计,有时还按预约或按短信另收费
品牌你的设计,在你自己的域名上厂商的布局,样式调整有限
预约数据在哪里在你网站自己的数据里,在你的后台查看,提出要求即可导出 CSV在厂商的系统里,按厂商的规则导出
维护托管和 HTTPS 无需操心;你提出的每次修改都要自己测试厂商负责全部维护,你去适应它的变化
现成的附加功能日历同步、短信和收银系统对接,需要逐个构建和测试通常自带:日历同步、短信提醒、支付、平台曝光

如果你第一天就需要日历双向同步、短信提醒和收银系统对接,而你的规则又很常规,就选订阅。如果你的规则套不进模板(时长不一、有容量、要审批、有套餐),如果按员工计费对你的团队来说太贵,或者你希望预约是自己网站的一部分,而不是跳转到别人网站的链接,就选定制网站。

上线:域名、Google 商家资料与 SEO

在顾客看到之前,先跑一遍重复预约测试,在手机上从头到尾完成一次预约,用顾客链接取消它,并检查每封邮件都收到了。WisyLink 的服务条款规定,审核和测试 AI 构建的内容是你的责任;而在预约系统里,一个没测到的边界情况会让你损失真实的预约。我们在《评估所生成的内容》一文中解释了为什么一份可重复的测试清单胜过随便看看。

  1. 迁移到你的域名。免费链接只保留 30 天,所以正式运营的预约系统应该放在付费计划上。在印任何东西之前,绑定一个域名,比如 book.yoursalon.com;DNS 步骤见我们的绑定自定义域名指南。
  2. 把预约链接加到 Google。在 Google 商家资料中,你可以添加预约链接,让大家直接从搜索和地图上预约。
  3. 到处使用这个链接。社交媒体简介、邮件签名、收据,以及前台的告示牌。
  4. 帮助搜索引擎。每个 WisyLink 网站都提供可读的 HTML、标题和描述、站点地图和 robots.txt。让它为每项服务做一个页面,配上真实的介绍和价格,并加上包含地址、电话和营业时间的本地商家结构化数据。

做出你的预约网站

用一条消息描述你的服务和规则,拿到一个在线预约页面:在 Community 计划上免费开始,无需绑卡。用两部手机测试,填好 SMTP 和 Stripe 密钥,再迁移到你自己的域名,并升级到付费计划让它持续在线。想看还能用同样方式做些什么,请看用例。

F.A.Q.

常见问题

顾客预约时能先付定金吗?
能,通过你自己的 Stripe 账户。顾客付款期间,预约保存为待确认;只有 Stripe 的 Webhook 报告付款成功,预约才会确认。哪些服务要收定金、收多少、时段保留多久,都由你决定。在“集成”里填好 Stripe 密钥之前,定金功能不会启用;先用测试密钥,测试通过后再换成正式密钥。
能在预约前自动发提醒邮件吗?
能,通过你的 SMTP 账户。定时任务每 30 到 60 分钟运行一次,所以“提前 24 小时”的提醒会在那个时间点前后一小时左右到达。你还可以按同样的周期加第二次提醒,比如提前两小时。短信提醒需要一个提供 API 的短信服务商,并在“集成”里填好你自己的密钥;把它作为单独的功能提出来,并做好测试。
节假日和休息日能关闭预约吗?
能。让它在管理后台加一个屏蔽时间的工具,支持单日、日期区间和每天固定的午休这类重复休息时间。屏蔽的时间会立即从公开日历上消失。已经约在屏蔽日期上的预约不会自动取消,所以要让它弹出提醒并列出这些预约,再由你亲自联系顾客。
预约系统能和 Google 日历同步吗?
不是开箱即用。双向同步可以作为一个集成来构建,使用你自己的 Google 凭据,在“集成”里填写;要明确提出这个需求,并在依赖它之前用真实预约测试。更简单的做法是在每封确认信息里附一个“添加到日历”文件,并以管理后台的日视图作为唯一准确的排班依据。
每位员工能有自己的排班吗?
能。为每个人设置上班时间、能做的服务和自己的登录账户。顾客可以选指定员工或“任意空闲员工”,防重叠的保护按员工分别生效,所以两位员工可以各自接一个 15:00 的预约。员工只看得到自己的预约,管理员角色则能查看和调整所有人的预约。
预约网站在手机上好用吗?
应该好用:WisyLink 构建的是移动优先的响应式页面,而大多数顾客都会用手机预约。不过仍要在小屏幕上把整个流程测一遍,包括日期选择器、弹出键盘时的表单,以及付款页面。管理后台也能在手机浏览器里运行,在前台或两个预约之间处理事务都很方便。
分享
XLinkedInFacebook