Skip to content

Locations

A location is a physical (or logical) place where a car sits — your Korea yard, the Libya unloading dock, an in-transit slot, your sold-cars history bucket. Locations are operator-curated per company; there’s no platform-wide list.

A car has two orthogonal location-like dimensions:

DimensionWhat it isWhen it changes
locationIdPhysical place. FK to car_locations.Operator sets manually (inline dropdown on Cars page). Auto-set on arrival from container’s destinationLocationId.
Whereabouts phaseTransit phase, derived — not a stored status.Computed from the car’s commercial status plus its linked shipment’s progress. See Status workflow.

A car can be at the “arrived” Whereabouts phase + Korea Yard location (it arrived back at origin for re-sale), or at the “purchased” (in-yard) phase + In Transit location (you’re moving it to a different yard). The two don’t have to align.

For locations, the car’s derived Whereabouts phase maps to one of these buckets:

Whereabouts phaseBucket
purchased (in the yard, not yet shipped)purchased
booked / loaded / shippedshipped
arrivedarrived
soldsold
cancelled(no bucket — won’t show location picker)

Each location is configured for which buckets it applies to. A “Korea Yard” location might only apply to purchased, while “In Transit Pacific” only applies to shipped. The inline location dropdown filters options by the car’s current bucket.

Locations are also the action-ACL primitive for cars. Each role gets per-location flags:

  • canSee — see cars at this location in cars.list.
  • canEdit — edit cars at this location (inline pencil, costs, etc.).
  • canMoveOut — initiate a location change away from here.
  • canReceive — accept a location change to here.
  • canSell — issue an invoice for a car currently at this location.

A Korea sales rep bound only to “Korea Yard” can’t see, edit, or sell cars at the Libya yard — even if they have cars:edit = true at the section level. Container booking with a destination location requires canReceive on the target.

You can deactivate a location instead of deleting it (preserves historical references). Inactive locations stay visible in dropdowns only on cars where they’re still the selected value — they don’t pollute the picker for new cars.