Integrate Automated Guided Vehicle (AGV)

An Automated Guided Vehicle (AGV) is used to move goods from one location to another autonomously. This frees up time for human workers to perform other tasks which in turn increases overall throughput in the warehouse. An AGV system is used to control and distribute tasks between the AGVs within a warehouse.

The solution is based on software provided by another party (not Ongoing) using the Ongoing WMS Automation API.

Integration workflow

Here is the recommended workflow for moving goods using an AGV:

  1. When goods should be moved using an AGV a movement order will be created in Ongoing WMS. The movement order will, in its essence, consist of a FromLocation, a ToLocation and information about the items to be moved. Items that should be moved together in the same AGV are typically stored in the same pallet item and have the same PalletItemId. (A pallet item in Ongoing WMS does not necessarily correspond to a physical pallet. It can, for instance, be a box or any other type of container.)
  2. In the background, the AGV system continuously polls GetMovementArticleItemsByQuery with the filter OnlyGetMovementArticleItemsToBeHandled = true, looking for movement orders with a specific movement order type that should be handled by AGV system.*
  3. When it encounters such movement orders, the AGV system immediately calls MovementArticleItemHandled on the movement article item IDs (or the PalletItemId), to mark them as handled.
  4. The AGV system can now begin to move the goods physically to the end location.
  5. When the AGV is done, the AGV system uses MoveArticleItem on the article items (or the PalletItemId) to move the goods to the end location in Ongoing WMS. (Note that this call will also finish the movement order at the same time. Thus, there is no need for a separate call to finish to the movement article item.)
  6. Optionally, if the extra traceability is needed, the integration can move the goods to an intermediate location, corresponding to the AGV itself, right after the goods have been loaded into the AGV, before moving the goods to the end location.
*An alternative to polling Ongoing WMS for new movement orders is to set up a movement order webhook that gets triggered every time a new movement order is created, that should be handled by the AGV system. The webhook payload will include a start location, an end location and information about the item to be moved.