我正在为我朋友的小型度假村开发网站,请参阅www.shivgangaresorts.com/dev
这个度假村共有8个房间,所有房间都属于同一类型,因此每间客房的价格都相同。
我只需要代码或逻辑来检查给定否的可用性。在给定的登记入住和退房日期的房间。
当有人预订时,预订表中的详细信息为:
请帮忙。这非常关键,因为我也将整合PayPal,所以不应该有混淆......
答案 0 :(得分:2)
如果所有房间每周7天,每天24小时都可用,那么您的预订应该有一个start_time(时间戳)和end_time(时间戳),而不仅仅是日期。
标准预订可能具有特定的开始时间(~6pm)和结束时间(〜上午11点),但您可能希望具体为了提供提前到达或延迟结账。
这是我用户的逻辑:
用户选择入住日期和退房日期。
您的计划会在入住日期的下午6点和结帐日期的上午11点抓取,并根据当前预订选择未在这些时间内预订的房间。 (回程房间)
这听起来像一个相当简单的方法,但你可能需要考虑女仆时间,分开房间之间的预订,等待房间等。
答案 1 :(得分:1)
我想如果你在每次页面刷新时检查可用性,我会通过获取当前有效的预订量来计算有多少免费房间:
select sum(number_of_rooms) from reservations where
check_in_date <= now() and
check_out_date >= now()
这将为您提供当前占用的房间。然后简单地从硬编码的“房间总数”值中减去该值。
通过将客户和个人房间表与预订表的链接表进行规范化,可能有助于规范化数据库。但是我不知道你的约束力。
答案 2 :(得分:0)
您需要一个程序来确定可用的房间数量。对于少数房间来说,最简单的答案是在每个房间内循环并检查期间的可用性。也就是说,如果在此期间对某个房间进行预订,则无法预订。
如果您想考虑在房间之间拆分预订,则会变得更加困难,但您应该在此期间检查每个房间的可用性,然后汇总结果。