Repository navigation
Add other stops: neither pickups nor drops (#345) - #346
Merged
Merged
Conversation
A waypoint can be an other stop (stopType 'other') with a purpose (fuel, rest, customs, cross-dock, hub, inspection, other) and an optional name. Tracking arrives it on entry and completes it on departure, so the dwell is recorded, but it never moves an order; orders are never linked to one and stop sync never converts a stop into or out of one. Lane stops tagged with a pass-through purpose become other stops on shipments using the lane. Consolidation runs carry them, let them be reordered anywhere, and never make one a shipment's origin or destination. The customer portal hides them. The create and edit page let any pickup or drop waypoint be marked as an other stop, and stop labels show the name or purpose wherever stops are listed. A ping that departs a stop no longer also infers a second departure for it on the same ping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The create and edit page's Pickups and Drops lists become one Stops list in visiting order. Each stop is a Pickup, Drop or Other stop, with up/down arrows; the list never lets a pickup sit after a drop, and other stops move freely. Underneath, the page still keeps pickup and drop lists, so orders, lanes, editing and saving are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each stop on a custom route now has a location and one type: Pickup, Drop, Fuel, Rest, Customs, Cross-dock, Hub, Inspection or Other. Only Other asks for a name. The stop rows are the page's own state, so a stop can take any type before it has a location (the old other-stop details were keyed by location and couldn't). Choosing Pickup moves a stop up before the first drop and Drop moves it after the last pickup, instead of disabling those options. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #345.
ShipmentStop/ConsolidationStopgetpurpose+label;stopType: 'other'for fuel, rest, customs, cross-dock, hub, inspection and other stops (OTHER_STOP_PURPOSESin@open-tms/shared).{ locationId, stopType: 'other', purpose, label }.syncShipmentStopsnever converts a stop into or out of an other stop, so orders can't be stranded.Decisions on the issue's open questions: cross-dock is a labelled pass-through; the portal hides other stops.
Tested live: Green Bay -> fuel stop at Chicago -> Atlanta. Arrived 12:00 and left 12:45 at the fuel stop with the order unchanged, delivered at Atlanta, shipment complete. Full backend suite (2506), frontend lib tests (30), tsc and lints pass. Lane mapping is unit-tested only.
🤖 Generated with Claude Code