我正在开发公交车预订系统,但我对如何实现这种情况感到困惑。
我将使用这个有趣的国家示例,以便您了解一个想法。
巴士的主要路线是从美国到中国,但有一些停靠站,例如英国,印度和俄罗斯。
主要路线 美国到中国
子路线 美国到英国 英国到印度 印度飞往俄罗斯 俄罗斯飞往中国
我需要帮助的逻辑是
我整天试图集思广益,没有取得任何成功。需要帮助的人。
答案 0 :(得分:0)
与其将预订视为整个行程,不如将预订视为旅行的每一步。
让我们说您的巴士路线是:美国到俄罗斯到中国到英国到印度。如果我预定了从美国到印度的座位,那么在您的系统中,请像在同一座位上预定4次旅行一样。
有人可能会预订B1英格兰到印度,然后,如果我希望B1到美国到印度,我应该能够看到它仅适用于美国到英国。我需要为英国和印度预订一个不同的座位,或者如果座位满了,则要在另一天去。
这是一个非常非常非常基本的数据库概念:
id,名称,日期
steps_trips:查找表
id,step_id,trip_id
步骤:多次旅行
id,起点,终点,开始时间,结束时间
busses_steps:查找表
id,buss_id,step_id
公共汽车:有很多座位,有很多台阶
id,名称,vin
座位:属于公共汽车
因此,这里的想法是您可能有多条总线在运行数条不同的路线。旅行者可以选择一个旅程,然后您的系统可以根据可用性和时间选择公共汽车和座椅。
这是一个非常复杂的问题,因此我建议从小处着手。您将需要一种方法来处理保留的座位和取消座位,并且以某种方式在系统中以可视方式显示可用的座位也是个好主意。