Skip to main content

Pending Move-In

A pending move-in is space that putaway has promised to a pallet that is on its way. The space is reserved so that the next suggestion does not give it to another pallet. A reservation changes no balance. The Pending Move-In screen lists the reservations and lets a supervisor release one that will never be used. The form is pending_move_in_list_form (module putaway_policy). The data object is inventory_pending_move_in_ui, over the view of the same name. The list is read by list_inventory_pending_move_in_ui.

How to open it​

  1. Sign in and select a warehouse.
  2. In the left sidebar open Inventory Balances.
  3. Click Pending Move-In.

The sidebar item is pending_move_in_menu (tab tab_pending_move_in).

Columns​

All columns are read only. The list shows reservations of every status, newest expiry first (Expires is sorted from the latest).

LabelColumnTypeFilterQuick filterWhat it shows
LPNlpnTextTextYesThe code of the container the space is held for.
ItemsskusTextTextNoThe SKUs now in that container (those with quantity above 0), separated by commas.
LocationlocationText, up to 20 charactersTextYesThe location where the space is held.
StatusstatusTextSetYesActive, Consumed, Cancelled or Expired. See below.
Held Forshare_ofWhole numberNumberNoEmpty for an ordinary reservation and for the main one. For a reservation that holds a neighbouring position of an oversized load: the Res # of the main reservation.
Expiresexpires_atDate and timeDateNoWhen an active reservation ends by itself.
CubecubeDecimalNumberNoThe volume held.
WeightweightDecimalNumberNoThe weight held.
Res #idWhole numberNumberNoThe id of the reservation.
SourcesourceTextSetNoWhat made the reservation: Putaway, Replenishment or Move.

Sources: the table and view in crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql:2742-2760 and 2799-2815; the types at lines 668 and 685; the list in crates/libs/wms-lib-sql/sql/wms-meta-ui/migrations/001_baseline.sql.

Statuses​

StatusMeaning
ActiveThe space is held. It counts against the free space of the location.
ConsumedThe pallet arrived and used the reservation.
CancelledReleased by a person (Release).
ExpiredThe time ran out.

Free space of a location is its capacity minus what is in it minus the cube and weight of its active reservations. A pallet is held at most once for one location while active (unique index uq_inventory_pending_move_in_active_container_location).

Expires​

The time is now + the time to live. The time to live is taken from the first of these that is set: the owner setting putaway_reservation_ttl_min, the system setting PUTAWAY_RESERVATION_TTL_MIN, its default value (column comment in 001_baseline.sql:2769). A sweeper moves an active reservation whose time has passed to Expired (crates/libs/wms-inventory/src/putaway/sweeper.rs). It is the only writer of Expired.

The setting PUTAWAY_RESERVATION_TTL_MIN is seeded with Value 15 and Default Value 15 (crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql:9955). So a new warehouse holds a reservation for 15 minutes unless the owner sets putaway_reservation_ttl_min. The sweeper runs every 5 minutes (SWEEP_INTERVAL, crates/libs/wms-inventory/src/putaway/sweeper.rs:57), so an expired reservation can show as Active for up to 5 minutes after its Expires time.

Toolbar button​

ButtonNeedsWhat it does
ReleaseOne or more ticked rows (grey text Select a reservation to release)Cancels the ticked reservations.

Release is the web action putaway_release_reservation. It calls the API method of the same name once for each ticked row, with a new idempotency key each time (crates/services/web-ui-server/src/extensions/customization/putaway/release_reservation_action.rs).

  • The method cancels the row and the neighbour rows that share its group (an oversized load holds one row for each position). The whole group is released together.
  • Only Active rows are released. A row that is already Consumed, Cancelled or Expired is left as it is, and counts as "already gone". That is a normal answer, not an error.
  • The location is offered again by the next putaway suggestion at once.
ResultMessage
Some released{n} reservation(s) released and, if some were not active, , {m} already consumed, cancelled or expired
A call failedRelease failed: {error} (the rows released before it stay released)
No row tickedA message that no row is selected

See Releasing a reservation.

What it affects​

  • Changes status of the reservation to Cancelled and stamps mod_who. It changes no balance.
  • Raises the free space of the location by the released cube and weight.

Who can use it​

Reading: ADMIN, MANAGER, SUPERVISOR, OPERATOR, VIEWER. Release: ADMIN, MANAGER, SUPERVISOR. OPERATOR has the API right but not the web action, so the button is refused for OPERATOR. See Who can do what.

  • Releasing a reservation
  • Operator guide: Putaway (RF)
  • Move stock (a directed move consumes a reservation)
  • API: list_inventory_pending_move_in_ui, count_inventory_pending_move_in_ui, putaway_release_reservation (stateless command)
  • RF terminal: Inventory > Putaway (PUTW01, PUTW02, PUTW03, PUTW_OVR, PUTW_DONE) makes and consumes the reservations.