PickAllocated

Picking and packing an order in Ongoing WMS is a multi-step process:

  1. First, article items are allocated to the order
  2. Then, the allocated items are marked as picked
  3. Last, the picked items are marked packed

The third step (packing) is not mandatory. Note that the first step (allocation) cannot be performed via the API - it has to be done inside the system itself. For more information about how an order is processed in Ongoing WMS, please see this article.

This API call (PickAllocated) allows you to perform the second step - you can mark allocated items as having been picked.

Tags: PickAllocated, PickAllocatedOperation, ByUser, SetSerial, PickAllocatedResponse, PickAllocatedResult, PickAllocatedError

Request XML

POST /xxx/Automation.asmx HTTP/1.1
Host: api.ongoingsystems.se
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://ongoingsystems.se/Automation/PickAllocated"

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <PickAllocated xmlns="http://ongoingsystems.se/Automation">
      <UserName>string</UserName>
      <Password>string</Password>
      <Operation>
        <OrderId>int</OrderId>
        <ArticleDefId>int</ArticleDefId>
        <NumberOfItemsToPick>decimal</NumberOfItemsToPick>
        <PickedByUser>
          <UserName>string</UserName>
        </PickedByUser>
        <PalletItemId>int</PalletItemId>
        <OriginalArticleItemId>int</OriginalArticleItemId>
        <Location>string</Location>
        <OrderLineId>int</OrderLineId>
        <AllowPickingLessThanNumberOfItemsToPick>boolean</AllowPickingLessThanNumberOfItemsToPick>
        <Batch>string</Batch>
        <ComputerName>string</ComputerName>
        <SetSerials>
          <SetSerial>
            <Serial>string</Serial>
            <NumberOfItems>decimal</NumberOfItems>
          </SetSerial>
          <SetSerial>
            <Serial>string</Serial>
            <NumberOfItems>decimal</NumberOfItems>
          </SetSerial>
        </SetSerials>
      </Operation>
    </PickAllocated>
  </soap:Body>
</soap:Envelope>

Request specification

PickAllocated
UserName string(50) Req. Your username
Password string(50) Req. Your password
Operation PickAllocatedOperation Req. The operation object
PickAllocatedOperation
OrderId int Req. The order id of the order to pick.
ArticleDefId int Req. The article id of the article to pick.
NumberOfItemsToPick decimal Req. The number of items to pick.
PickedByUser ByUser Req. An element of type ByUser. Designates which user did the picking.
PalletItemId int The pallet item id of a pallet item that the article was placed in/on.
OriginalArticleItemId int The original article item id of an article item. Used to specify a specific article item to pick. A use case for this is when you want to assign specific serial numbers to an order.
Location string(50) The location to pick from.
OrderLineId int The order line id of an order line. Used if you want to specify which order line to pick. If left empty, Ongoing WMS will match to an order line with the specified article.
AllowPickingLessThanNumberOfItemsToPick boolean Set to false if you want to get an error message if you try to pick more than is allocated to an order. If set to true it will still only pick at most the allocated number of items but no error will be caused. The result will contain the actual number of picked items. True is the default value.
Batch string(50) Filter by batch. If multiple batches of an article are allocated this will specify which batch to pick. Useful when there is need to track which batch is placed in which pallet item.
ComputerName string(100) Name of a computer defined in the system. Used when deciding which printer to print on.
SetSerials SetSerial[] A list of serials and the number of items for those serials that should be set on the article items that are being picked.
ByUser
UserName string(50) Req. The name of the user. Must be an actual user in Ongoing WMS. Will be set as the user that performed the packing.
SetSerial
Serial string The serial to set.
NumberOfItems decimal Number of items to set the serial on.

Response XML

<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <PickAllocatedResponse xmlns="http://ongoingsystems.se/Automation">
      <PickAllocatedResult>
        <Errors>
          <PickAllocatedError>
            <Message>string</Message>
            <ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPickGreaterThanLeftToPickOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PickedByUserError or ErrorWhileSettingSerial</ErrorType>
          </PickAllocatedError>
          <PickAllocatedError>
            <Message>string</Message>
            <ErrorType>UnknownError or LogonError or LocationNotFound or ArticleNotFound or ArticleNotOnOrder or GoodsOwnerIsDeleted or OrderIdNotFound or OrderLineIdMissMatch or NumberOfItemsToPickGreaterThanLeftToPickOnOrder or PalletItemIdNotFound or ErrorWhileSaving or PickedByUserError or ErrorWhileSettingSerial</ErrorType>
          </PickAllocatedError>
        </Errors>
        <Success>boolean</Success>
        <PickedNumberOfItems>decimal</PickedNumberOfItems>
      </PickAllocatedResult>
    </PickAllocatedResponse>
  </soap:Body>
</soap:Envelope>

Response specification

PickAllocatedResponse
PickAllocatedResult PickAllocatedResult
PickAllocatedResult
Errors PickAllocatedError[]
Success boolean True if successful, false otherwise.
PickedNumberOfItems decimal Confirmation of how many items that were picked.
PickAllocatedError
Message string Message explaining the error.
ErrorType enum The type of error:
  • UnknownError
  • LogonError
  • LocationNotFound
  • ArticleNotFound
  • ArticleNotOnOrder
  • GoodsOwnerIsDeleted
  • OrderIdNotFound
  • OrderLineIdMissMatch
  • NumberOfItemsToPickGreaterThanLeftToPickOnOrder
  • PalletItemIdNotFound
  • ErrorWhileSaving
  • PackedByUserError