谷歌日历API预约系统(时间段)React/NodeJS



我目前正在使用Google calendar API使用React和NodeJS开发约会日历。目标是归档以下内容:

步骤1:用户在日历中选择所需日期(完成(第二步:在开放时间之间显示30分钟的空闲时间段(已完成(步骤3:预约并添加到日历(完成(

但现在的问题是,每个时隙可以有10个单独的预订,我想显示还剩多少(例如,3个人在15:30预订了这个时段,我想表明还有7个时段(。目前,如果有人预订了15:30的时段,它就会被删除。这是因为我使用的是FreeBusy查询,它只显示繁忙时间,而不显示有多少事件。

我的第一个想法是将预订也保存在数据库中,然后查找每个时间段之前有多少人预订,但这似乎不是最好的解决方案。

你对如何解决这个问题有什么更好的想法吗?

提前感谢

这只是一个建议,但对于日历上的每一个活动,您都可以附加一个扩展属性,将活动标记为已预订。

"extendedProperties": {
"shared": {
"booked": "false",}
}

https://developers.google.com/calendar/v3/reference/events#resource

然后,每当有人预订活动时,您可以通过更改上述扩展属性将该活动标记为已预订。要显示可免费预订的事件数量,您可以按选定时隙的timeMin和timeMax筛选事件列表,并计算标记为免费或已预订的事件数。

最新更新