Welldoing.org 是英国领先的治疗师目录和心理健康内容平台。 我们的挑战是将两个分裂的系统——一个基础目录和一个独立的 WordPress 博客——合并为一个单一、紧密的 SaaS 平台。
01. 异常情况
该企业面临严重的“技术债务”和用户体验(UX)障碍,阻碍了业务增长。 在互不相连的系统上运行,给寻求帮助的用户带来了阻力:
- 架构碎片化: 阅读文章的用户没有直接预约治疗师的途径。两个数据库之间互不连通。
- 匹配阻力: 对于脆弱的用户群体来说,寻找“合适”的治疗师是一个人工的、反复试错的过程。
- 预订脱节: 治疗师管理着各自独立的预订系统,导致预约丢失和收入损失。
02. 系统架构
1. 平台统一 (October CMS)
我通过 October CMS (Laravel) 构建了完整的迁移方案,将博客和目录合并为一个单一的统一平台。 这使我们能够构建自定义的“治疗师 (Therapist)”模型,直接链接到内容标签,从而创造了从阅读到预订的无缝用户体验。
class Therapist extends Model {
public $belongsToMany = [
'specialties' => ['Welldoing\Directory\Models\Specialty']
];
}
2. 匹配算法
我开发了一套定制的“治疗师匹配 (Therapist Match)”系统。该向导引导用户回答一系列诊断性问题,并利用他们的位置信息来过滤结果。 该逻辑根据治疗师与用户特定需求(例如 CBT、精神分析)的相关性以及距离远近进行评分,即时返回最佳匹配结果。
3. 日程表与 Stripe 集成
为了形成闭环,我构建了一个直接集成到平台中的自定义日程系统。
- 实时可用性: 治疗师在自定义仪表板中管理他们的预约时段。
- 无缝预订: 用户可以直接从搜索结果中预订时段。
- Stripe 支付: 我集成了 Stripe API 来处理安全支付,并自动向治疗师付款。
// Booking Logic Simplified (简化的预订逻辑)
public function bookSlot($user, $therapist, $slot) {
Stripe::charge($user->token, $slot->price);
$this->diary->reserve($therapist->id, $slot->time);
return "Appointment Confirmed";
}
03. 系统成效
此次统一将 Welldoing.org 从一个博客转变为了一个功能齐全的 SaaS 平台。
- 统一的用户旅程: 用户可以在 2 分钟内完成从阅读文章到确认预约的全过程。
- 创收能力: 自动化的预订和支付系统为平台创造了新的收入来源。
- 可扩展性: October/Laravel 技术栈为未来的增长提供了坚实的基础。