我正在为巴士建设一个电子票务网站。我在这里面临一个问题:当用户用座位号预订门票时,我已经用他们的座位号更新了数据库。现在我想知道如果他关闭了窗口并选择不预订,我应该在一段时间后过期吗?临时机票预订
临时机票预订
回答
我会在会话中保留他的选择,并在确认预订后提交到数据库。
虽然@Gigi的解决方案是合理的,但它并不完整。
您应该以某种方式预订访客选择的座位,否则另一位同时访问的访客可能会预订相同的座位。
您可以设置一个时间,例如10分钟,其中座位保留给第一位预约的访客。在此期间,该访客可以完成预订(即输入付款和交付数据),此时您更新适当的字段以表明他们所代表的座位不应再次被释放,因为他们现在“属于”该客户。
您可以运行然后每隔一段时间运行一次删除作业(例如,在每个页面视图中,或在每次检查可用座位之前,或者可能通过cron作业),以释放已保留超过十分钟前,但其保留尚未完成。
这是一个经常遇到票务和零售网站的问题。用户经常遇到的困境是,他们购买物品(低库存)或预订特定座位才发现该资源不再可用,因为另一用户在他们之前点击'确认'...
With要跟踪正在购买的资源,最好实施一个临时的“temp_transaction”数据库表,您的代码可以通过该数据库表进行咨询,以确定用户是否处于预订过程中,例如某个特定座位。
一旦付款,对临时数据进行了审查和验证,那么可以对主“交易”表进行提交,并使用确定数据更新“资源”(席位)表。
此方法可以更好地记录并发事务以及用户活动和/或资源状态的时间点审计。
@CodeCaster有一个宽限期的建议是一个好主意,因为它允许用户在预订时优先考虑资源,而无限期地捆绑资源(从而失去销售额)。这可以通过临时表实现而不需要任何cron来实现。 – venzen 2011-12-24 13:36:29
- 1. SABRE是否为Air Seat预订和机票提供REST API?
- 2. 订票
- 3. 当我们已经有在线订购交易时,我们是否需要记录级别锁定? (演唱会门票或机票预订)
- 4. Amadeus Service'没有票价预订代码'错误Fare_Informativebestpricing
- 5. 在线酒店预订系统,同时预订?
- 6. paho-mqtt订阅支票订阅状态
- 7. asp.net调度/订票系统
- 8. PayPal支票停止订阅
- 9. WooCommerce预订:在创建订单前检索预订数据
- 10. WooCommerce预订:以编程方式创建预订订单
- 11. 与预订
- 12. WPF“预订表”
- 13. 可预订
- 14. .Net 2.0:如何使用临时订阅在远程计算机上订阅事件发布者?
- 15. RMI应用程序中的客户端和服务器之间的连接以预订机票
- 16. SSIS临时临时表
- 17. 临时储存的相机意图
- 18. move_uploaded_file()使用临时主机帐户域
- 19. 使用PayPal进行在线票务预订:防止多位游客购买同一张票
- 20. 如何在支付发票并处理订单状态时取消订单?
- 21. 如何通过JIRA中的门票名称和门票号码订购门票?
- 22. Magento 1.7 - 无法创建发票检查/汇票订单销售
- 23. Magento:创建发票号码=订单号的发票?
- 24. OTA_AirPriceRQ在Sabre预订
- 25. Java天与预订
- 26. 模板级预订
- 27. 停车位预订
- 28. C预订问题
- 29. php预订系统
- 30. BST遍历预订
是的...好主意。感谢Gigi – AssamGuy 2011-12-24 12:01:44