Stow job types

Summary

Stow jobs represent the intention or instruction to change the storage location and/or the amount of stock in a facility. While the stow job itself holds general information such as the facility or priority of the job, the stow line item contains information on the items to be moved, their quantity, location, and more. Stow line items cannot exist without a stow job.

More information can be found under Products – Stow Jobs.

Use case examples

Relocate items between locations

An admin wants items from a goods receipt to be stowed or items to be relocated.

  1. Create stow job using POST /api/stowjobs

    1. set status to OPEN

    2. use takeFrom.type LOCATION and stowTo.Type LOCATION

  2. Job is started by worker. Set status to IN_PROGRESS using StartStowJobAction.

  3. Items are taken from start location. Set TAKEN information in operative data via ModifyStowLineItems action. A takenStockRef must be set to in order to define which stock should be reduced.

  4. Items are stowed to target location. Set STOWED information in operative data via ModifyStowLineItems action.

    1. A stowedStockRef and stowedStorageLocationRef must be sent but can also be null.

    2. If a stowedStockRef is provided, the moved stock is added to the specified. If not, a new stock is created.

    3. If a stowedStorageLocationRef is provided, the stock will be created on that location. If not, a stock is created without a reference to any location.

  5. Repeat step "3." & "4." until everything is stowed.

  6. Set status to CLOSED via CloseStowJobAction.

Create stock for items that are not registered yet

An admin wants new stock to be booked to location.

  1. Create stow job using POST /api/stowjobs

    1. set status to OPEN

    2. use takeFrom.type UNREGISTERED and stowTo.Type LOCATION

  2. If new stock should have properties or traits, it can be defined in the stockInformation of the takeFrom object.

  3. Job is started by worker. Set status to IN_PROGRESS using StartStowJobAction.

  4. Items are taken up by the worker. Set TAKEN information in operative data via ModifyStowLineItems action. A takenStockRef must not be defined since a new stock will be created based on data in taken.takenQuantity and takeFrom.stockInformation.

  5. Follow steps "4." to "6." from above.

Discard stock

Admin wants stock to be discarded.

  1. Create stow job using POST /api/stowjobs

    1. set status to OPEN

    2. use takeFrom.type LOCATION and stowTo.Type DISCARD

  2. Job is started by worker. Set status to IN_PROGRESS using StartStowJobAction.

  3. Items are taken from start location. Set TAKEN information in operative data via ModifyStowLineItems action. A takenStockRef must be set to in order to define which stock should be reduced.

  4. Items are discarded. Set STOWED information in operative data via ModifyStowLineItems action. AstowedStockRefand stowedStorageLocationRef must not be defined since the stock is deleted after stowing was completed.

  5. Set status to CLOSED via CloseStowJobAction.

Add a reason for changing a stow line item

Admin wants stock to be discarded and worker specifies a reason for discarding, e.g., "BROKEN".

  1. Create stow job using POST /api/stowjobs

    1. set status to OPEN

    2. use takeFrom.type LOCATION and stowTo.Type DISCARD

  2. Job is started by worker. Set status to IN_PROGRESS using StartStowJobAction.

  3. Items are taken from start location. Set TAKEN information in operative data via ModifyStowLineItems action. A takenStockRef must be set to in order to define which stock should be reduced.

  4. Items are discarded and worker defined reason for discarding stock. Set STOWED information in operative data via ModifyStowLineItems action.

    1. AstowedStockRefand stowedStorageLocationRef must not be defined since the stock is deleted after stowing was completed.

    2. The reasons array of the corresponding stow line item can have one or multiple reasons. Each reason must be one of the following:

    3. An object containing id: <id> of a preconfigured (active) external stock change reason.

    4. An object containing tenantReasonId: <tenantReasonId> of an (active) preconfigured external stock change reason.

    5. An object containing reasonLocalized: <LocalizedString>. See Localization for the format of LocalizedString. For this option, the reason does not need to be preconfigured. The object can optionally contain a tenantReasonId, if there is no preconfigured external stock change reason with that Id.

  5. Set status to CLOSED via CloseStowJobAction.

  6. Follow the steps above.

Relocate items between stocks

Admin wants a specific stock to be relocated. This could, for example, be the case if there are multiple expiry dates for the same item on one location.

  1. Create stow job using POST /api/stowjobs

    1. set status to OPEN

    2. use takeFrom.type STOCK and stowTo.Type STOCK

  2. Job is started by worker. Set status to IN_PROGRESS using StartStowJobAction.

  3. Items are taken. Set TAKEN information in operative data via ModifyStowLineItems action. A takenStockRef must be set to in order to define which stock should be reduced.

  4. Items are stowed. Set STOWED information in operative data via ModifyStowLineItems action. AstowedStockRefmust be sent but can also be null.

If no stowedStockRef is defined, a new stock will be created.

  1. Repeat step "3." & "4." until everything is stowed.

  2. Set status to CLOSED via CloseStowJobAction.

Change the priority of a stow job

The priority can be defined on stowJob level. Any value can be set meaning users can define their own logic. Priority can be set using PATCH /api/stowjobs/{stowJobId}.

Last updated