导读(3行收益):门店营业时间最容易出问题:写死 9 点到 21 点,节假日突然关门顾客白跑。本文给一套做法:周作息、节假日特例、到店前提醒与客服展示,附数据结构。看完营业时间不会再写死在代码里。
一、营业时间为什么会坑客
三个高发问题:
- 写死营业时间:节假日关门顾客白跑;
- 不同门店时间不同:连锁店一套时间;
- 顾客不知道:到店才发现没开门。
根源是营业时间写死在前端,没有按门店、按日期配置。
二、周作息怎么存
CREATE TABLE `store_business_hour` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`store_id` BIGINT,
`weekday` TINYINT COMMENT '1-7',
`open_time` TIME,
`close_time` TIME,
`is_closed` TINYINT DEFAULT 0,
KEY `idx_store` (`store_id`, `weekday`)
) COMMENT='周作息';
关键点:按门店按星期存;is_closed 标记周一固定休。避坑:写死在代码——改营业时间要发版;所有门店共用一套——不同门店时间不同。
三、节假日特例
| 日期类型 | 处理 |
|---|---|
| 法定节假日 | 单独配置休店或缩短 |
| 店庆/装修 | 临时闭店 |
| 正常工作日 | 走周作息 |
关键点:节假日特例表覆盖周作息。避坑:节假日和周作息混一起——改不清;不记特例——春节还显示营业。
CREATE TABLE `store_special_day` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`store_id` BIGINT,
`day` DATE,
`is_closed` TINYINT,
`open_time` TIME,
`close_time` TIME
) COMMENT='节假日特例';
四、怎么判断现在是否营业
- 先查节假日特例;
- 没有就按周作息 weekday;
- 当前时间在 open~close 之间且未闭店才算营业。
避坑:只看周作息——节假日误判;跨天营业不处理——凌晨 2 点的店算不清。
五、到店前提醒
- 顾客预约后,到店前推一条「门店今日营业 X-X」;
- 临近节假日在门店页提示「X 日休店」;
- 客服侧能看到当前是否营业。
避坑:不提示节假日休店——顾客白跑;客服看不到营业时间——答不上来。
六、踩坑清单
- [ ] 营业时间写死前端;
- [ ] 所有门店共用一套时间;
- [ ] 不存节假日特例;
- [ ] 判断只看周作息;
- [ ] 不提示节假日休店;
- [ ] 跨天营业算不清;
- [ ] 客服看不到营业时间。
七、工程落地建议
营业时间建议按「周作息按店配置+节假日特例覆盖+实时营业判断+到店提醒」落地。若团队用成型门店系统(如乔拓云门店系统)起步,重点核对多门店作息、节假日休店与营业状态展示是否可用。
八、复盘清单(可直接抄走)
- [ ] 是否按门店按星期存作息;
- [ ] 是否有节假日特例表;
- [ ] 营业判断是否先查特例;
- [ ] 门店页是否提示休店;
- [ ] 客服是否看得到营业时间;
- [ ] 是否支持临时闭店。
结语
营业时间不是写死在前端,而是按门店配置、节假日有特例、营业状态实时算、到店有提醒。这几步做对,顾客才不会白跑。本文仅作技术分享,具体功能以各平台官方实时信息为准。