Eug*_*eMi 9 schema database-design calendar ruby-on-rails appointment
在我的应用程序中,我有一个提供商,有一个时间表和客户从预定时间预约.我需要以下功能.
提供商: - 能够指定重复出现的可用性.例如Mon 9-5,Tues 10-3等. - 能够使数据变黑.例如 - 本周一不可用. - 能够添加单个,而不是重复发生的日期/时间段.例如 - 这个星期六9-5.
客户: - 能够预订单一预约. - 能够预订重复预约.(每周一9-4).
到目前为止,我想出了3个选项:
1.创建一个事件表:
a)使用基本列eventdate,starttime,endtime以及事件的其他详细信息 - 这些是忙碌时间,因此您在日历上阻止
b)重复事件 - 添加列: - isrecurring - 默认为0 - recurrencetype(每日,每周,每月) - recurevery(重复发生时的计数) - mon,tue,wed,thur,fri,sat,sun - 每周复发的日期 - 月和月 - 每月复发
2.在日历上创建定期事件时遇到了挑战: - 如果您一次创建所有事件(比如说接下来的6个月),每当您编辑其他事件时,其他事件都必须更新 - 如果您只创建事件时之前的一个已经过去,那么您需要复杂的逻辑来显示未来日期的日历
3.您还需要规则来处理是否允许事件相互重叠,使用什么资源,事件可以安排到多远