在预订时为客人分配房间号会更容易,但这可能会失去业务。
另一种方法是在预订时为客人分配房间类型,并记录酒店每次有多少间房间。
然而,一个问题是确保每位顾客在整个住宿期间都能住在同一个房间。假设酒店中有 $n$ 间豪华客房 $D_1, \ldots, D_n$。如何防止出现除 $i$ 之外每个房间 $D_i$ 都被订满的情况。然后,根据数据库,每天都有豪华房可供预订,但如果其他顾客要预订此房型,那么在办理入住时,他们会发现他们必须在住宿的每晚更换房间。 如果在预订时不向客人分配确切的房间号,如何防止这种超额预订的情况呢?
您的数据包括房间类型、预订房间和已入住房间的清单。
Room
数据结构由房间号、房间类型和最大入住人数组成。
Inventory
数据结构由一系列Room
实例组成。
BookedRoom
数据结构由预订者、客人人数、每晚报价、开始日期和结束日期组成。
Booked
数据结构由一系列BookedRoom
实例组成。
OccupiedRoom
数据结构由预订者、房间号、客人人数、每晚实际房价、开始日期和结束日期组成。
Occupied
数据结构由一系列OccupiedRoom
实例组成。
当一个人进行预订时,您可以检查
Booked
和 Inventory
以查看所请求房型的房间是否可用。如果房间类型不可用,您的系统可以建议替代房间类型。是的,此查询将需要几秒钟,但客户不会注意到,因为预订者正在获取其他信息。
当某人登记入住时,您检查
Booked
、Occupied
和 Inventory
以确保房间可用。如果房间类型不可用,您的系统可以建议替代房间类型。是的,这个查询需要几秒钟,