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, ArticleAndLocationCompleteHandling, RemovedArticleItemsHandling, RemoveArticleItemsSetArticleItemLock, RemoveArticleItemsSetArticleItemStatus, InventoryAdjustToZero, PickAllocated_ReAllocate, InventoryAdjustmentCause_AdjustLocation, PickAllocatedResponse, PickAllocatedResult, PickAllocatedError, ReAllocateResult

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>
        <ArticleIdentification>SystemId or ArticleNumber or ProductCode or ArticleName</ArticleIdentification>
        <ArticleNumber>string</ArticleNumber>
        <PalletItemLabelId>string</PalletItemLabelId>
        <ArticleAndLocationCompleteHandling>
          <ArticleAndLocationIsComplete>boolean</ArticleAndLocationIsComplete>
          <RemoveUnPickedArticleItemsFromOrder>boolean</RemoveUnPickedArticleItemsFromOrder>
          <RemovedUnPickedArticleItemsHandling>
            <SetIsLocked>
              <IsLocked>boolean</IsLocked>
            </SetIsLocked>
            <SetArticleItemStatus>
              <ArticleItemStatusId>int</ArticleItemStatusId>
              <ArticleItemStatusCode>string</ArticleItemStatusCode>
              <ArticleItemStatusName>string</ArticleItemStatusName>
            </SetArticleItemStatus>
            <InventoryAdjustToZero>
              <InventoryAdjustmentCause>
                <Code>string</Code>
              </InventoryAdjustmentCause>
              <Comment>string</Comment>
            </InventoryAdjustToZero>
            <ReAllocate>
              <AttemptToReAllocate>boolean</AttemptToReAllocate>
              <KeepPalletItem>boolean</KeepPalletItem>
            </ReAllocate>
          </RemovedUnPickedArticleItemsHandling>
        </ArticleAndLocationCompleteHandling>
      </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 The article ID of the article to pick. Required if ArticleIdentification = SystemId
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.
ArticleIdentification enum Defines what you want to identify the article by:
 - SystemId
(same as ArticleDefId)
 - ArticleNumber
Most integrations will use SystemId (default)
ArticleNumber string(100) Article number. Required if ArticleIdentification = ArticleNumber
PalletItemLabelId string The pallet item label ID of a pallet item that the article was placed in/on.
ArticleAndLocationCompleteHandling ArticleAndLocationCompleteHandling A ArticleAndLocationCompleteHandling object containing information about how to handle deviations in stock levels. The actions specified in this will apply to the remaining items, that could not be picked, for the same article and location. Only applicable if ArticleAndLocationComplete = True.
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.
ArticleAndLocationCompleteHandling
ArticleAndLocationIsComplete boolean Set to true to let Ongoing WMS know that the last item for the article and location have been picked.
RemoveUnPickedArticleItemsFromOrder boolean If the items should be removed (deallocated) from the order.
RemovedUnPickedArticleItemsHandling RemovedArticleItemsHandling A RemovedArticleItemsHandling object containing information about how to handle the items that have been removed (deallocated) from the order.
RemovedArticleItemsHandling
SetIsLocked RemoveArticleItemsSetArticleItemLock Used to lock the items.
SetArticleItemStatus RemoveArticleItemsSetArticleItemStatus Used to set the items to some specific status.
InventoryAdjustToZero InventoryAdjustToZero Specify this to inventory adjust the items to zero, effectively removing them from stock.
ReAllocate PickAllocated_ReAllocate Used to attempt to reallocate items from another location. Only applicable if items have been removed (deallocated) from the order.
RemoveArticleItemsSetArticleItemLock
IsLocked boolean
RemoveArticleItemsSetArticleItemStatus
ArticleItemStatusId int
ArticleItemStatusCode string
ArticleItemStatusName string
InventoryAdjustToZero
InventoryAdjustmentCause InventoryAdjustmentCause_AdjustLocation Inventory adjustment cause.
Comment string Inventory adjustment comment.
PickAllocated_ReAllocate
AttemptToReAllocate boolean If a re-allocation should be attempted or not.
KeepPalletItem boolean Set to true if reallocated items should be placed in the same pallet item(s) as the removed items were in.
InventoryAdjustmentCause_AdjustLocation
Code string Adjustment cause code.

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 or PalletItemLabelIdNotFound</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 or PalletItemLabelIdNotFound</ErrorType>
          </PickAllocatedError>
        </Errors>
        <Success>boolean</Success>
        <PickedNumberOfItems>decimal</PickedNumberOfItems>
        <ReAllocateResult>
          <ReAllocatedNumberOfItems>decimal</ReAllocatedNumberOfItems>
          <ReAllocateResultType>NothingReAllocated or OrderPartlyAllocated or OrderFullyAllocated</ReAllocateResultType>
        </ReAllocateResult>
      </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.
ReAllocateResult ReAllocateResult The re-allocation result.
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
ReAllocateResult
ReAllocatedNumberOfItems decimal The number of items that could be re-allocated.
ReAllocateResultType enum The re-allocation result type. One of:
  • NothingReAllocated
  • OrderPartlyAllocated
  • OrderFullyAllocated