前阵子在改一个陪护预约小程序的排班模块,遇到一个挺有意思的问题,记下来。
客户的需求听着很简单:家属在小程序上选时间,约护工上门陪护。
真做进去才发现,这里面有个看不见的矛盾:
**家属想看到的**是"这个护工什么时候有空";**护工不想让人看到的**是"我这个时间在做谁家的单"。
第一版我把排班日历做得很透明——家属点开能看到护工一周的所有安排。客户(陪护机构)看了说:不行,护工之间有矛盾,谁接了好单谁接了差单,全摆出来要吵架。
后来改成这样:
- 家属端只看**可约/不可约**,看不到护工在服务谁
- 护工端看自己的全部排班
- 机构端看全局,但按权限分级
同一个日历,三种人看到三个样子。
做这类系统做多了有个体会:**多方角色的系统,难的从来不是功能,是"谁能看到什么"。** 功能清单上一行"排班日历",背后是三次推翻重画。
还有一个设计上的取舍:客户本来想加"护工评价排行榜",我建议砍了——排行榜公开了,排后面的护工有意见,机构天天要处理内部矛盾。改成评价只对机构可见,家属只看"该护工已完成 X 单"。
写代码之前先想清楚"谁看了会不高兴",比写得快重要。
陪护预约的排班逻辑:同一个日历,三种人看三个样子
多方角色的系统,难的从来不是功能,是「谁能看到什么」——陪护排班日历三次推翻重画后的设计取舍。