Where picked goods are delivered
What this shows. How the delivery location of a pallet or a cart is found, and which settings can replace it with a pack station.
Reading the diagram
- Owner field.
Delivery location (picker carrier)is the columnowners.picking_toloc. A database trigger accepts only a location of typePickto,StageorDoor. It wins over everything below it. - Task To Location. It was copied from the zone field
Picking To Locationof the source location when the task was made. A discrete pick uses theTo Locationof its own task. A cart uses all tasks of one order: if they all name the same location it is the destination. If they differ, or one has none, and the owner names none, the order is never taken onto a cart. - Cart. All targets of one cart go to one location. The first target chosen fixes it. A cart with
Completion=Completeis not routed to a station. A cart withConfirmAtLocationis routed to the pack station of its work area (Pack stationon the area) if there is one. - Pallet. A discrete pallet has no area of its own. The router looks at the destination location, its putaway zone, the work areas that list the zone, and their stations. It routes only if exactly one distinct station answers. It asks only if the pallet's frozen revision lists
Pack. - With a station, the goods go there and the router gets a hand-off when the pallet is closed or the cart is delivered. The packing step waits at the station for
Pack. - The destination is frozen: on the cart at start, on the pallet at its first deposit. Edits afterwards apply to the next cart or pallet.
- If nothing names a destination for a discrete pick, the deposit is refused:
this pick has no destination location — neither its owner nor its task names one.
Where it comes from
| What | Source |
|---|---|
Owner column accepts only Pickto, Stage, Door | crates/libs/wms-lib-sql/sql/wms-app/migrations/055_the_order_decides_where_a_carrier_is_delivered.sql:32-54 |
| Chain: owner, then tasks | crates/libs/wms-outbound/src/domain/pick_assignment/delivery.rs:13-39 |
| Pallet destination and router | crates/libs/wms-outbound/src/picking/deposit/onto_pallet.rs:122-175 |
| Cart: target choice and one location | crates/libs/wms-outbound/src/picking/grouping/planned_target.rs:1-40 and :140-160 |
| Router: station of an area or of a location | crates/libs/wms-outbound/src/flow/route.rs:18-45 |
| One station for a location | crates/libs/wms-lib-core/src/model/work_area.rs:294-322 |
| Station of an area | crates/libs/wms-lib-core/src/model/work_area.rs:253-270 |
Router for the cart asked only for ConfirmAtLocation | crates/libs/wms-outbound/src/picking/commands/start.rs:205-218 |
| Wording of the missing destination | crates/libs/wms-lib-core/src/model/narration/mod.rs:2340-2341 |
| Hand-off of a pallet or a cart's boxes | crates/libs/wms-outbound/src/picking/commands/drop_close.rs:225-250 and crates/libs/wms-outbound/src/picking/completion/hand_off.rs:1-70 |