Ongoing Warehouse logo
Ongoing Warehouse Developer

Possible ways to use the automation API

Table of contents

Vertical storage lift

A vertical storage lift is a machine consisting of several internal locations, and some mechanism which can automatically transfer goods between these internal locations and some designated input/output areas. To model this in Ongoing, you have three locations:

Here is a possible workflow for placing goods in the lift:

  1. Operator physically places goods in the lift's input area.
  2. In Ongoing, the operator moves the goods to the Lift_In location.
  3. In the background, the lift continuously polls GetArticleItemsByQuery with the filter OnlyGetArticleItemsInLocationsToBeHandled = true, looking for article items in the Lift_In location which have not yet been handled by the lift.
  4. When the lift realizes that there are article items in Lift_In, it immediately calls ArticleItemInLocationHandled to mark them as having been handled.
  5. The lift can now physically move them to its internal locations.
  6. After the physical move is done, the lift calls MoveArticleItem on all affected article items to move them to the Lift location in Ongoing.

Retrieving goods from the lift works in a similar manner:

  1. When the operator prepares orders for picking, Ongoing will allocate goods from the Lift location and automatically generate movement orders from Lift to Lift_Out.
  2. In the background, the lift continuously polls GetMovementArticleItemsByQuery with the filter OnlyGetMovementArticleItemsToBeHandled = true, looking for movement orders between these two locations which have not yet been handled.
  3. When it encounters such movement orders, the lift immediately calls MovementArticleItemHandled on the movement article item ids, to mark them as having been handled.
  4. The lift can now begin to move them physically to the output area.
  5. When the lift is done, it uses MoveArticleItem on all affected article items to move them to Lift_Out in Ongoing. (Note that this call will also finish the movement orders at the same time. Thus there is no need for a separate call to finish to the movement article items.)
  6. The operator can then phyiscally pick the items and also mark them as picked in Ongoing.

Conveyor belt

A conveyor belt is used to transport objects from one place to another. There conveyor belt may have the ability to move objects to different places depending on the object itself. For instance, in a warehouse you may wish to have the conveyor belt move all packages going to Sweden to one location, which all packages going to Norway should be moved to another location altogether.

One possible way of integrating a conveyor belt with the Ongoing Warehouse Management System, is the following:

  1. An operator picks an order in the warehouse and places the goods in a package.
  2. A label with the order number (or some other identifier) is affixed to the package.
  3. The operator places the package on a conveyor belt.
  4. The conveyor belt scans the package and makes a call to GetOrderArticleItemsByQuery.
  5. Using the information which the Ongoing WMS returned to the conveyor belt, it can make an intelligent decision on where the package should be routed to (for instance based on country or post code).