Class ShippingOrderItem

One or more ShippingOrderItems are contained in a ShippingOrder, created using ShippingOrder.createShippingOrderItem(OrderItem, Quantity) and can be retrieved by ShippingOrder.getItems(). A ShippingOrderItem references a single OrderItem which in turn references a LineItem associated with an Order.

Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed. Activation needs preliminary approval by Product Management. Please contact support in this case. Existing customers using these APIs are not affected by this change and can use the APIs until further notice.

ConstantDescription
STATUS_CANCELLED: String = "CANCELLED"Constant for Order Item Status CANCELLED
STATUS_CONFIRMED: String = "CONFIRMED"Constant for Order Item Status CONFIRMED
STATUS_SHIPPED: String = "SHIPPED"Constant for Order Item Status SHIPPED
STATUS_WAREHOUSE: String = "WAREHOUSE"Constant for Order Item Status WAREHOUSE
PropertyDescription
basePrice: Money (read-only)Price of a single unit before discount application.
parentItem: ShippingOrderItemReturns null or the parent item.
quantity: Quantity (read-only)The quantity of the shipping order item.
shippingOrderNumber: String (read-only)The mandatory shipping order number of the related ShippingOrder.
status: EnumValueGets the order item status.
trackingRefs: FilteringCollection (read-only)Gets the tracking refs (tracking infos) the shipping order item is assigned to.

This class does not have a constructor, so you cannot create it directly.

MethodDescription
addTrackingRef(String, Quantity)A shipping order item can be assigned to one or many tracking infos with different quantities.
applyPriceRate(Decimal, Decimal, Boolean)Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary.
getBasePrice()Price of a single unit before discount application.
getParentItem()Returns null or the parent item.
getQuantity()The quantity of the shipping order item.
getShippingOrderNumber()The mandatory shipping order number of the related ShippingOrder.
getStatus()Gets the order item status.
getTrackingRefs()Gets the tracking refs (tracking infos) the shipping order item is assigned to.
setParentItem(ShippingOrderItem)Set a parent item.
setStatus(String)Sets the status.
split(Quantity)Split the shipping order item.
split(Quantity, Boolean)Split the shipping order item.

getGrossPrice, getItemID, getLineItem, getNetPrice, getOrderItem, getOrderItemID, getTax, getTaxBasis, getTaxItems

describe, getCustom

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

STATUS_CANCELLED: String = "CANCELLED"

Constant for Order Item Status CANCELLED


STATUS_CONFIRMED: String = "CONFIRMED"

Constant for Order Item Status CONFIRMED


STATUS_SHIPPED: String = "SHIPPED"

Constant for Order Item Status SHIPPED


STATUS_WAREHOUSE: String = "WAREHOUSE"

Constant for Order Item Status WAREHOUSE


basePrice: Money (read-only)

Price of a single unit before discount application.


parentItem: ShippingOrderItem

Returns null or the parent item.


quantity: Quantity (read-only)

The quantity of the shipping order item.

The Quantity is equal to the related line item quantity.


shippingOrderNumber: String (read-only)

The mandatory shipping order number of the related ShippingOrder.


status: EnumValue

Gets the order item status.

The possible values are STATUS_CONFIRMED, STATUS_WAREHOUSE, STATUS_SHIPPED, STATUS_CANCELLED.


trackingRefs: FilteringCollection (read-only)

Gets the tracking refs (tracking infos) the shipping order item is assigned to.

See Also:


addTrackingRef(trackingInfoID: String, quantity: Quantity): TrackingRef

A shipping order item can be assigned to one or many tracking infos with different quantities. For example an item with quantity 3 may have been shipped in 2 packages, each represented by its own tracking info - 2 TrackingRefs would exist with quantities 1 and 2.

This method creates and adds a new tracking reference to this shipping order item for a given tracking info and quantity. The new instance is returned.

Parameters:

  • trackingInfoID - the id of the tracking info
  • quantity - the quantity the which is assigned to the tracking info for this shipping order item. Optional (null is allowed).

Returns:

  • the new tracking reference

See Also:


applyPriceRate(factor: Decimal, divisor: Decimal, roundUp: Boolean): void

Apply a rate of (factor / divisor) to the prices in this item, with the option to half round up or half round down to the nearest cent if necessary.

Examples:

TaxBasis before factor divisor roundup Calculation TaxBasis after
$10.00 1 2 true 10*1/2= $5.00
$10.00 9 10 true 10*9/10= $9.00
$10.00 1 3 true 10*1/3=3.3333= $3.33
$2.47 1 2 true 2.47*1/2=1.235= $1.24
$2.47 1 2 false 2.47*1/2=1.235= $1.23

Which prices are updated?:

The rate described above is applied to tax-basis and tax then the net-price and gross-price are recalculated by adding / subtracting depending on whether the order is based on net price.

Example (order based on net price)

New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis=$10.00, GrossPrice=TaxBasis+Tax=$11.00

Example (order based on gross price)

New TaxBasis:$10.00, Tax:$1.00, NetPrice=TaxBasis-tax=$9.00, GrossPrice=TaxBasis=$10.00

Parameters:

  • factor - factor used to calculate rate
  • divisor - divisor used to calculate rate
  • roundUp - whether to round up or down on 0.5

See Also:


getBasePrice(): Money

Price of a single unit before discount application.

Returns:

  • Price of a single unit before discount application.

getParentItem(): ShippingOrderItem

Returns null or the parent item.

Returns:

  • null or the parent item.

getQuantity(): Quantity

The quantity of the shipping order item.

The Quantity is equal to the related line item quantity.

Returns:

  • the quantity

getShippingOrderNumber(): String

The mandatory shipping order number of the related ShippingOrder.

Returns:

  • the shipping order number.

getStatus(): EnumValue

Gets the order item status.

The possible values are STATUS_CONFIRMED, STATUS_WAREHOUSE, STATUS_SHIPPED, STATUS_CANCELLED.

Returns:

  • the status

getTrackingRefs(): FilteringCollection

Gets the tracking refs (tracking infos) the shipping order item is assigned to.

Returns:

  • the tracking refs ( tracking infos - TrackingRef ) the shipping order item is assigned to.

See Also:


setParentItem(parentItem: ShippingOrderItem): void

Set a parent item. The parent item must belong to the same ShippingOrder. An infinite parent-child loop is disallowed as is a parent-child depth greater than 10. Setting a parent item indicates a dependency of the child item on the parent item, and can be used to form a parallel structure to that accessed using ProductLineItem.getParent().

Parameters:

  • parentItem - The parent item, null is allowed

setStatus(status: String): void

Sets the status. See ShippingOrder for details of shipping order status transitions. Do not use this method to set a shipping order to status WAREHOUSE, instead use ShippingOrder.setStatusWarehouse()

This also triggers the setting of the status of the LineItem when appropriate. Setting this status can also have an impact on the order status, accessed using Order.getStatus() and the shipping order status, accessed using ShippingOrder.getStatus().

Parameters:

  • status - the status

Throws:

  • NullPointerException - if status is null
  • IllegalArgumentException - if the status transition to the status is not allowed

split(quantity: Quantity): ShippingOrderItem

Split the shipping order item.

This will also lead to a split of the related LineItem. Split means that for the passed quantity a new item is created with this quantity as an exact copy of this item. The remaining amount will stay in this item.

If quantity is equal to getQuantity() no split is done and this item is returned itself.

This method is equivalent to split(Quantity, Boolean) called with splitOrderItem equals to true.

Parameters:

  • quantity - the quantity for the newly created item

Returns:

  • the newly created item or this item

Throws:

  • IllegalArgumentException - if quantity is greater than getQuantity()

split(quantity: Quantity, splitOrderItem: Boolean): ShippingOrderItem

Split the shipping order item.

This will also lead to a split of the related LineItem when splitOrderItem is true. Split means that for the passed quantity a new item is created with this quantity as an exact copy of this item. The remaining amount will stay in this item.

If quantity is equal to getQuantity() no split is done and this item is returned itself.

Parameters:

  • quantity - the quantity for the newly created item
  • splitOrderItem - <li>true the related LineItem will be splitted too</li> <li>false the related LineItem will not be splitted</li> </ul>

Returns:

  • the newly created item or this item

Throws:

  • IllegalArgumentException - if quantity is greater than getQuantity()