我目前正在预订网站上工作。我正在使用PHP贝加尔CalDav服务器(修改它)。当通过Mozilla Thunderbird或iCal生成时,由Baikal生成的ical文件将VCALENDAR(每个事件)文件作为mysql中的中间blob存储在单列中。 此外,我网站上的预订也存储为VCALENDAR文件。PHP + CalDav + ICS Room Timeslot算法?
如果我想检查一个房间是否可用,我必须获取每个与room_id匹配的VCALENDAR文件,并从VCALENDAR中提取信息。我不知道这个操作是否太昂贵。我尝试从VCALENDARS中“清理”数据库已经被使用,而不是经常性的。
I have to open the room_id opening hours VCALENDAR -> extract data with Sabre process
For Loop through Exception VCALENDAR -> extract data with Sabre process
For Loop through Baikal VCALENDAR -> extract data with Sabre process
For Loop through Bookings VCALENDAR -> extract data with Sabre process
-> Process All -> Return Result, if room is free in the given time.
难道他们的任何智能算法,在给定的时隙,具有ICS文件时(开放时间,例外,预订,预订贝加尔湖),用于检查房间可用性?
谢谢!