我正在使用Rails开发一个呼叫中心软件,需要为能够为客户处理电话的代理安排预约。在考虑到呼叫中心软件的情况下,需要确保尽可能利用整个代理的日程安排,留出最少量的空隙(即代理没有预约的时间段)。
给定代理的日程安排,例如一天的上午9:00到下午5:30,其中午休息30分钟,从下午1:00到1:30,我需要安排不同时长的预约,有些是60分钟,有些是90分钟。
如果由于某种原因,午餐时间在日程安排中留下了一些空隙,我应该能够将午餐时间向前或向后移动30分钟,因此它可以在下午1:30到2:00或中午12:30到1:00之间移动。
我开始创建午餐休息作为一种约会,这将提供移动starts_at和finishes_at属性的灵活性。约会要么是60分钟,要么是90分钟,这是30分钟的倍数,午餐也是30分钟,我开始将代理日程拆分为每个30分钟的时间段。
因此,对于给定代理在给定日期,查看他的日程安排,我实例化了一个时间段数组,每个时间段持续30分钟,starts_at和finishes_at属性类似于9:00AM - 9:30AM,9:30AM - 10:00AM等。
我需要帮助循环遍历此约会时间段数组,并拉取2个连续的时间段或3个连续的时间段,具体取决于60或90分钟的预约时长,同时需要考虑能够将午餐时间向前或向后移动30分钟。
非常感谢您的任何帮助。
给定代理的日程安排,例如一天的上午9:00到下午5:30,其中午休息30分钟,从下午1:00到1:30,我需要安排不同时长的预约,有些是60分钟,有些是90分钟。
如果由于某种原因,午餐时间在日程安排中留下了一些空隙,我应该能够将午餐时间向前或向后移动30分钟,因此它可以在下午1:30到2:00或中午12:30到1:00之间移动。
我开始创建午餐休息作为一种约会,这将提供移动starts_at和finishes_at属性的灵活性。约会要么是60分钟,要么是90分钟,这是30分钟的倍数,午餐也是30分钟,我开始将代理日程拆分为每个30分钟的时间段。
因此,对于给定代理在给定日期,查看他的日程安排,我实例化了一个时间段数组,每个时间段持续30分钟,starts_at和finishes_at属性类似于9:00AM - 9:30AM,9:30AM - 10:00AM等。
我需要帮助循环遍历此约会时间段数组,并拉取2个连续的时间段或3个连续的时间段,具体取决于60或90分钟的预约时长,同时需要考虑能够将午餐时间向前或向后移动30分钟。
非常感谢您的任何帮助。