MMichael Z Consulting
所有案例
案例 04 · 短租民宿

STRSync

多房源每日 Notion 数据同步 —— 各房源 iCal 数据自动抓取并计算为可用日期字段,写回 Notion 对应房源行,彻底消除人工同步错误,实现房源状态实时可见。

Make.comNotion APIiCalHTTP
[demo 视频即将上线]
/ 问题

一位民宿管理者在 Notion 中维护房源(每套房一行),但实际可用日期数据分散在 Airbnb / VRBO / Booking.com 的 iCal 中。每天手动查询「X 房下一周是否还有空档」,10 套以上一次查询就需要 30 分钟,到中午数据就已过期。

/ 方案

一个定时 Make 场景,每天早晨运行一次:对每一行房源,拉取 iCal 数据、解析忙时段、计算(下一个可用日期、已订至何日、当月空/订标记),写回 Notion 中对应的那一行 —— 不会创建新行。设计为幂等,因此中午再次运行也是安全的。

/ 结果

每天早上 8 点,Notion 数据库即为可用日期的唯一权威来源。管理者想知道「6 月哪几套房有整周空档」,只需一个 Notion 筛选条件即可查询,不再需要花 30 分钟做表格比对。

/ 工程笔记

只更新已有行,绝不新建

任何写入 Notion 的场景,第一种失败模式都是产生重复行。我们按房源 ID(不是名称)查询、PATCH 已有行。查询未命中时记日志并跳过 —— 绝不 insert。

原生 HTTP 解析 iCal,不引第三方库

iCal 是一种轻量文本格式。引入重型 parser 库反而会掩盖失败模式。我们通过 HTTP 拉取,在 Make Tools 模块中直接解析 VEVENT 块,解析错误以场景失败的形式抛出,而不是悄然跳过。

幂等由设计保证

中午再次运行得到的 Notion 最终状态与早上 8 点完全一致。无需「今天是否已运行过」这类标志位 —— 写入的值由拉取数据时的 iCal 状态推导而出。

贵司业务中是否有类似的工作流?

完成一次免费 5 分钟诊断 —— 我方将明确告知:此类需求适合由我们交付,还是贵方可在一两日内自行实施。