我目前正在預訂網站上工作。我正在使用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文件時(開放時間,例外,預訂,預訂貝加爾湖),用於檢查房間可用性?
謝謝!