周五下午,行政在表里给一场家庭咨询排了 14:00。她扫了一眼 15:00 那一格——是空的,于是顺手把一位约个体咨询的客户排在 15:00。表格上没有任何重复,但冲突已经发生:家庭咨询要做 90 分钟,14:00 开始,15:30 才结束。15:00 到店的客户,只能在外面等半小时。
这类错误几乎每个机构都犯过。它不是「行政粗心」,而是工具的判断口径和真实的占用口径对不上。这篇文章把「排班冲突怎么自动检测」拆开讲清楚:冲突到底在判断什么、时长规则怎么定、系统在哪些时刻做校验。
一、冲突的本质:不是格子重复,而是区间重叠
Excel 的排班表以「格」为单位:一行咨询师、一列半小时,两场咨询不落进同一格,看起来就不冲突。但真实的占用是一段时间区间:从开始时刻到结束时刻。个体咨询 50 分钟、家庭咨询 90 分钟,同一场咨询在时间轴上占的长度完全不同。
所以自动检测的第一步,是把每场咨询都变成一条区间:开始时刻 ~ 开始时刻 + 该类型的时长。两条区间是否冲突,只有一条判断规则:
甲方开始时间早于乙方结束时间,且乙方开始时间早于甲方结束时间——两条区间重叠,即冲突。
对照刚才的例子:家庭咨询是 14:00–15:30,个体咨询想排 15:00–15:50。15:00 早于 15:30,14:00 早于 15:50,两条区间重叠 30 分钟——系统在录入那一刻就能给出提示,而不是等客户到店才发现。

很多机构会问:两场咨询「背靠背」行不行?上一场 15:30 结束,15:30 立刻接一场?多数机构会在两场之间留 10 分钟左右的缓冲(示意值),供咨询师写记录、简单休整,也避免上一位延时影响下一位。这个缓冲同样要写进规则:下一场的开始时间,必须不早于上一场的结束时间加缓冲。
二、先把时长规则定成一张表
自动检测的前提,是机构自己先回答一个问题:每种咨询到底多长时间? 这张表没定,任何工具都只能按统一时长去猜。
一张可参考的时长规则表(时长为示意值,以机构实际约定为准):
| 咨询类型 | 单次时长 | 场间缓冲 |
|---|---|---|
| 个体咨询 | 50 分钟 | 10 分钟 |
| 夫妻/伴侣咨询 | 80 分钟 | 10 分钟 |
| 家庭咨询 | 90 分钟 | 15 分钟 |
| 团体咨询 | 120 分钟 | 20 分钟 |
这张表定下来之后,行政录入时只需要选「类型 + 开始时间」,结束时间由系统按规则算出,不需要也不允许手工填。手工填结束时间,等于把冲突判断又交还给了人。
三、四重校验:一个时段放行前要过四道关
时长重叠只是其中一关。一个新时段能被放行,通常要同时通过四项校验:

- 咨询师维度:这位咨询师在同一时间(含缓冲)没有其它排班;
- 咨询室维度:这间咨询室在同一时间没有被占用——两位咨询师时间不冲突、却被排进同一间房,是排班里第二高发的错误;
- 客户维度:这位来访者同一时间没有约其它咨询师,也不存在「上午刚结束家庭咨询、下午又约个体咨询」这类需要人工确认的安排;
- 时长维度:按类型时长加缓冲算出的区间,与咨询师当天已有的区间都不重叠。
四项全过,时段才进入「可约池」;任何一项不过,就在录入界面直接提示是哪一项、和哪一场冲突。提示到具体场次,行政才好判断是改时间、换咨询室还是换咨询师。
这套校验逻辑的落地形态,见 咨询师排班系统;校验通过后的时段如何开放给客户自助预约,见 心理咨询预约系统。
四、三个拦截时机:校验要在什么时候发生
同样的四重校验,放在不同时机,效果差别很大:
- 录入时:行政在后台排班,保存前校验。这是兜底,拦住手工操作引入的错误;
- 预约时:客户在小程序上自助选时段。此时不该把「所有空格子」都放出来,而是只展示四重校验通过后的时段——客户能点到的,就是靠谱的。预约端的整体设计见 机构小程序;
- 变更时:改约、取消、咨询师临时请假,任何一次变更都要重新跑一遍受影响时段的校验,并同步预约端与咨询师端。变更不重算,前面两层就白做了。
三道时机里,最容易被忽略的是第三道。排班不是排完就静止的,一天之内改三五次很常见,每一次变更都是一次新的冲突机会。
五、写在最后
如果你的机构还在为「客户到店才发现咨询师在忙」道歉,第一步不是换工具,而是把两样东西写下来:一张时长规则表(每种类型多长、缓冲多少),一份校验清单(咨询师、咨询室、客户、区间重叠)。这两样定了,无论用 Excel 还是上系统,判断口径都是一致的;将来上系统时,也只需要把规则配置进去,机构与系统对「什么叫冲突」的理解从一开始就是对齐的。
排班冲突背后的整体管理思路,可延伸阅读 三位咨询师就排错班?中小机构排班的 5 个坑;从更大范围看机构数字化的路径,见 心理咨询机构管理系统。
相关阅读