gpt4 book ai didi

mysql - 酒店客房价格 : how to manage discounts that changes according to some conditions

转载 作者:行者123 更新时间:2023-11-29 01:17:50 24 4
gpt4 key购买 nike

我正在编写一个应用程序来管理酒店的房间,我必须设计数据库来管理折扣价。我已经制作了房间和价格表,现在我必须创建一些表,我可以在其中存储管理员可以根据某些条件应用的折扣。管理员也可以创建新的折扣。例如:

  • 如果在 9 月开始预订,用户可以获得 10% 的折扣。
  • 如果用户要在 2 周内预订房间,他可以获得 10% 的折扣

所以,这是我简化的表格(我省略了与问题无关的字段和关系):

房间:

id | name
---|----------------
1 | Trafalgar Square
2 | Piccadilly

价格:

id | room_id  | base | promotion 
---|----------|------|-----------
1 | 1 | 10 | 8
2 | 2 | 25 | 20

如何存储上述条件?我正在使用 Rails,我想到的第一个解决方案是创建一个表,我可以在其中存储将要应用的折扣以及应用它的条件。我认为字段条件是一个 SQL 片段;类似于 Reservation.start_date > [date],因此我可以在 Rails 中将它们串联起来应用更多折扣。但这是一个非常丑陋的解决方案,并且与 DBRMS 结合在一起,所以我想避免这种选择。

你知道我怎样才能解决这个问题吗?我希望把问题解释清楚。

最佳答案

我强烈建议您研究使用某种类型的规则引擎来处理此问题。

问题在于,与许多行业一样,酒店使用极其灵活的定价方式。其中一些看起来异想天开,另一些与思想几乎没有相似之处,而且都很难为其创建结构化的方法。

例如,如果预订单晚且客户在晚上 11:00 之后进行预订,则房间可享受 10% 的折扣...除非是周五或周六晚上,或者酒店的客流量超过 80%。

如果是标准折扣为 15% 的 1 月,此规则可能会中断。

如果 session 安排在镇上,则该规则可能会被打断。此时房价上涨 30%。


另一种方法是简单地放弃让系统自动计算房价,而是依靠酒店员工在预订时设置房价。在这种情况下,您只需显示一些有关当前“特价商品”的指南。

诚然,这不像自动执行那样性感,但如果有问题的酒店不打算购买已经执行此操作的 COTS,那么按理说他们可能不会支付正确执行所需的费用开发它。

关于mysql - 酒店客房价格 : how to manage discounts that changes according to some conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10690506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com