繁体   English   中英

在线酒店预订系统,同步预订?

[英]Online Hotel Booking System, Simultaneous Booking?

我被要求创建一个在线支付的在线预订系统,我想知道在2个客户同时预订同一房间的情况下该怎么办。

例如:
与此同时:

客户1和客户2预订了标准间,只有1间客房。 (房间可用性将显示仍有1个房间可用)。 然后他们同时点击“确认”按钮。

使用锁定构造(在这种情况下可能在数据库级别),以确保一次只能进行一次确认。 如果可能出现这样的竞争条件,你应该总是这样做。 通过这种方式,您将始终知道谁是第一个,并且您可以告诉其他用户他们太慢而无法确认。

您可能想要添加的另一件事是付款时间限制。 在许多系统中,当您确认某些内容时,您将有一定的时间来支付预订费用。 如果您未在该时间内付款,确认将过期,房间将再次可用。

有几种方法可以解决这个问题。

  1. 如果我的用户选择了一个房间,请暂时将其从网络前端删除。 然后任何后来的访客将无法选择该房间进行预订。 如果第一个用户未完成交易,则房间再次可用。
  2. 如上所述锁定数据库,因此任何时候都只能写入一条记录

使用“临时”系统将预订标记为临时,例如10分钟。 然后,这些插槽将无法用于后续请求。 如果预订未在时间范围内完成,则该插槽将再次释放。 如果您在预订插槽之前获取所有客户详细信息,则辍学率应保持较低。

您必须将时间框架和“临时状态”告知预订者。 如果你有后续阶段,访问者可以停止,那么一个简单的JS计时器倒计时将有所帮助,并推动预订者沿着这个过程。

或者,允许双重预订,直到第一次出现时按下最后的“付费”按钮。 第二种方法转换得更好,第一种方法更“正确”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM