0
我掙扎在設計一個良好的預訂系統設計室預留可用性檢查功能
在此場景中,每個房間都有許多room_skus,
每個room_sku記錄表示,因爲我們一間物理室
可以有多個房間屬於同一房型。
但是,我沒有任何想法來實現可用性。
我能想到的是添加一個新的模型RoomAvailablity。
如果用戶書單間(room_number:413),從2016年4月11日至2016年4月13日
我會在桌子上RoomAvailablity
- {room_sku_id創建三個記錄: 413,occupied_date:2016年4月11日}
- {room_sku_id:413,occupied_date:2016年4月12日}
- {room_sku_id:413,occupied_date:2016年4月13日}
然後,當另一個用戶試圖預訂(room_number:413),從2016年4月12日至2016年4月14日
我會做出這樣count = RoomAvailablity.where(room_number:413, occupied_date >= 2016-04-12 and occupied_date <= 2016-04-14)
如果count > 0
,然後房間查詢在此期間不可用。
有沒有什麼好的建議來改善我的想法?
室
HAS_MANY RoomSku
id: integer
name:string
type:string (Double, Single, Triple)
description:string
RoomSku
belong_to: Room
HAS_MANY: RoomAvailablity
id: integer
name:string
RoomAvailablity
belong_to: RoomSku
occupied_date: date
room_sku_id: integer