У меня есть система бронирования водного такси с прямыми безостановочными маршрутами, которая работает нормально.
Теперь у меня есть бизнес-сценарий, в котором один маршрут имеет несколько остановок. Таким образом, если начальной точкой маршрута является местоположение A, то конечной точкой может быть местоположение E с остановками в B, C и D. Между этими точками A и E пассажир может сесть или высадиться в любое время, а это означает, что существуют перестановки и комбинации возможных точек начала и остановки. Так что теперь это больше похоже на маршрут метро.
Как я могу это поддержать, чтобы знать пропускную способность в любой момент пути?
Существующая система построена для непрерывных (беспосадочных) маршрутов A-B, где вместимость судна рассчитывается для конкретного старта и остановки на всем маршруте. Он включает в себя объект судна, который имеет поле емкости.
Я добавил объект Legs, который определяет начало и остановку, а также объект паруса, который использует участок и судно, назначенное ему с вместимостью. Мы также добавили объект бронирования, который осуществляет бронирование для пассажира и вычитает пропускную способность из объекта парусности.
Эта система отлично работает на прямых маршрутах, где пассажиры садятся в определенные пункты. А, высадитесь в пункте Б, остановок между ними нет. Но теперь мне нужно поддерживать более сложные маршруты.
Подробнее здесь: https://stackoverflow.com/questions/789 ... rticular-s