/** * This code was auto-generated by a Codezu. * * Changes to this file may cause incorrect behavior and will be lost if * the code is regenerated. */ package com.mozu.api.contracts.commerceruntime.orders; import java.util.List; import java.util.HashMap; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.joda.time.DateTime; import java.io.IOException; import java.lang.ClassNotFoundException; import com.mozu.api.contracts.core.AuditInfo; import com.mozu.api.contracts.commerceruntime.products.Product; import com.mozu.api.contracts.commerceruntime.discounts.AppliedLineItemProductDiscount; import com.mozu.api.contracts.commerceruntime.discounts.AppliedLineItemShippingDiscount; import com.mozu.api.contracts.commerceruntime.commerce.CommerceUnitPrice; /** * The details associated with a specific item in an order. */ @JsonIgnoreProperties(ignoreUnknown = true) public class OrderItem implements Serializable { // Default Serial Version UID private static final long serialVersionUID = 1L; protected Double adjustedLineItemSubtotal; public Double getAdjustedLineItemSubtotal() { return this.adjustedLineItemSubtotal; } public void setAdjustedLineItemSubtotal(Double adjustedLineItemSubtotal) { this.adjustedLineItemSubtotal = adjustedLineItemSubtotal; } /** * The subtotal of the cart, order, and wishlist items, including any applied discount calculations. Wishlist subtotals may change depending on the length of time, available discounts, and stock amounts of products at the time of review by shoppers. */ protected Double discountedTotal; public Double getDiscountedTotal() { return this.discountedTotal; } public void setDiscountedTotal(Double discountedTotal) { this.discountedTotal = discountedTotal; } /** * Estimated amount of discounts applied to all items in the carts and orders. System-supplied and read-only. This value will be available at the wish list, cart item, order item, and wish list item level at a later time. */ protected Double discountTotal; public Double getDiscountTotal() { return this.discountTotal; } public void setDiscountTotal(Double discountTotal) { this.discountTotal = discountTotal; } /** * Duty or Tariff for this item */ protected Double dutyAmount; public Double getDutyAmount() { return this.dutyAmount; } public void setDutyAmount(Double dutyAmount) { this.dutyAmount = dutyAmount; } /** * Represents the total price of the cart item extended to the shopper. This begins with the Unit Price, then uses any of the following prices if they are defined, in the following order: Override Amount, Sale Amount, List Amount. This value is not calculated for wish lists at this time. */ protected Double extendedTotal; public Double getExtendedTotal() { return this.extendedTotal; } public void setExtendedTotal(Double extendedTotal) { this.extendedTotal = extendedTotal; } /** * The monetary sum of all fees incurred in the cart, order, line item in a cart, or line item in an order. This value is not calculated for wish lists at this time. */ protected Double feeTotal; public Double getFeeTotal() { return this.feeTotal; } public void setFeeTotal(Double feeTotal) { this.feeTotal = feeTotal; } /** * The code that identifies the location used to fulfill the cart/cart item or order/order item. This code can include physical store locations for in-store pickup, warehouse locations providing the products for shipment, or the location for the digital file(s). */ protected String fulfillmentLocationCode; public String getFulfillmentLocationCode() { return this.fulfillmentLocationCode; } public void setFulfillmentLocationCode(String fulfillmentLocationCode) { this.fulfillmentLocationCode = fulfillmentLocationCode; } /** * The method used to fulfill this cart or order item. The method includes direct ship or in-store pickup. The available methods depend on the supported fulfillment types for the product. */ protected String fulfillmentMethod; public String getFulfillmentMethod() { return this.fulfillmentMethod; } public void setFulfillmentMethod(String fulfillmentMethod) { this.fulfillmentMethod = fulfillmentMethod; } /** * The combined price for all handling costs calculated together for shipped orders, not for digital or in-store pickup. This includes all handling costs per the product line items and options, excluding taxes and discounts. */ protected Double handlingAmount; public Double getHandlingAmount() { return this.handlingAmount; } public void setHandlingAmount(Double handlingAmount) { this.handlingAmount = handlingAmount; } /** * Unique identifier of the source product property. For a product field it will be the name of the field. For a product attribute it will be the Attribute FQN. */ protected String id; public String getId() { return this.id; } public void setId(String id) { this.id = id; } /** * Indicates if the product in a cart, order, or wish list is purchased on a recurring schedule. If true, the item can be purchased or fulfilled at regular intervals, such as a monthly billing cycle. For example, digital or physical product subscriptions are recurring cart items. This property is not used at this time and is reserved for future functionality. */ protected Boolean isRecurring; public Boolean getIsRecurring() { return this.isRecurring; } public void setIsRecurring(Boolean isRecurring) { this.isRecurring = isRecurring; } /** * Indicates if the item is subject to taxation, used by products, options, extras, cart and order items, line items, and wish lists. If true, the entity is subject to tax based on the relevant tax rate and rules. */ protected Boolean isTaxable; public Boolean getIsTaxable() { return this.isTaxable; } public void setIsTaxable(Boolean isTaxable) { this.isTaxable = isTaxable; } /** * The total amount of calculated tax for items, used by carts, orders, and wish lists. */ protected Double itemTaxTotal; public Double getItemTaxTotal() { return this.itemTaxTotal; } public void setItemTaxTotal(Double itemTaxTotal) { this.itemTaxTotal = itemTaxTotal; } /** * The line id assigned to the order item. Visible only in the Admin, this is set from the Admin or in CommerceRuntime when a cart is converted to an order. */ protected Integer lineId; public Integer getLineId() { return this.lineId; } public void setLineId(Integer lineId) { this.lineId = lineId; } /** * Language used for the entity. Currently, only "en-US" is supported. */ protected String localeCode; public String getLocaleCode() { return this.localeCode; } public void setLocaleCode(String localeCode) { this.localeCode = localeCode; } /** * The unique identifier of the item when it was applied to a cart, prior to checkout, when the cart became an order. */ protected String originalCartItemId; public String getOriginalCartItemId() { return this.originalCartItemId; } public void setOriginalCartItemId(String originalCartItemId) { this.originalCartItemId = originalCartItemId; } /** * The specified quantity of objects and items. This property is used for numerous object types including products, options, components within a product bundle, cart and order items, returned items, shipping line items, items in a digital product. and items associated with types and reservations. */ protected Integer quantity; public Integer getQuantity() { return this.quantity; } public void setQuantity(Integer quantity) { this.quantity = quantity; } protected Double shippingAmountBeforeDiscountsAndAdjustments; public Double getShippingAmountBeforeDiscountsAndAdjustments() { return this.shippingAmountBeforeDiscountsAndAdjustments; } public void setShippingAmountBeforeDiscountsAndAdjustments(Double shippingAmountBeforeDiscountsAndAdjustments) { this.shippingAmountBeforeDiscountsAndAdjustments = shippingAmountBeforeDiscountsAndAdjustments; } /** * The total amount of tax incurred on the shipping charges in the cart and order. This property is not calculated at this time for wish lists. */ protected Double shippingTaxTotal; public Double getShippingTaxTotal() { return this.shippingTaxTotal; } public void setShippingTaxTotal(Double shippingTaxTotal) { this.shippingTaxTotal = shippingTaxTotal; } /** * The calculated total shipping amount estimated for carts or orders, including tax. This amount is not calculated for wish lists at this time. */ protected Double shippingTotal; public Double getShippingTotal() { return this.shippingTotal; } public void setShippingTotal(Double shippingTotal) { this.shippingTotal = shippingTotal; } /** * Estimated amount of the cart or order without sales tax, shipping costs, and other fees. This amount is not calculated for wish lists at this time. */ protected Double subtotal; public Double getSubtotal() { return this.subtotal; } public void setSubtotal(Double subtotal) { this.subtotal = subtotal; } /** * The monetary amount of an item in the cart that is subject to tax. This amount typically represents the line item subtotal before applied discounts for an order. */ protected Double taxableTotal; public Double getTaxableTotal() { return this.taxableTotal; } public void setTaxableTotal(Double taxableTotal) { this.taxableTotal = taxableTotal; } /** * Total is used to indicate the monetary, estimated total amount of the cart or order, including items, sales tax, shipping costs, and other fees. Totals are not estimated for wish lists at this time. */ protected Double total; public Double getTotal() { return this.total; } public void setTotal(Double total) { this.total = total; } protected Double totalWithoutWeightedShippingAndHandling; public Double getTotalWithoutWeightedShippingAndHandling() { return this.totalWithoutWeightedShippingAndHandling; } public void setTotalWithoutWeightedShippingAndHandling(Double totalWithoutWeightedShippingAndHandling) { this.totalWithoutWeightedShippingAndHandling = totalWithoutWeightedShippingAndHandling; } protected Double totalWithWeightedShippingAndHandling; public Double getTotalWithWeightedShippingAndHandling() { return this.totalWithWeightedShippingAndHandling; } public void setTotalWithWeightedShippingAndHandling(Double totalWithWeightedShippingAndHandling) { this.totalWithWeightedShippingAndHandling = totalWithWeightedShippingAndHandling; } protected Double weightedOrderAdjustment; public Double getWeightedOrderAdjustment() { return this.weightedOrderAdjustment; } public void setWeightedOrderAdjustment(Double weightedOrderAdjustment) { this.weightedOrderAdjustment = weightedOrderAdjustment; } protected Double weightedOrderDiscount; public Double getWeightedOrderDiscount() { return this.weightedOrderDiscount; } public void setWeightedOrderDiscount(Double weightedOrderDiscount) { this.weightedOrderDiscount = weightedOrderDiscount; } protected Double weightedOrderDuty; public Double getWeightedOrderDuty() { return this.weightedOrderDuty; } public void setWeightedOrderDuty(Double weightedOrderDuty) { this.weightedOrderDuty = weightedOrderDuty; } protected Double weightedOrderHandlingAdjustment; public Double getWeightedOrderHandlingAdjustment() { return this.weightedOrderHandlingAdjustment; } public void setWeightedOrderHandlingAdjustment(Double weightedOrderHandlingAdjustment) { this.weightedOrderHandlingAdjustment = weightedOrderHandlingAdjustment; } protected Double weightedOrderHandlingFee; public Double getWeightedOrderHandlingFee() { return this.weightedOrderHandlingFee; } public void setWeightedOrderHandlingFee(Double weightedOrderHandlingFee) { this.weightedOrderHandlingFee = weightedOrderHandlingFee; } protected Double weightedOrderHandlingFeeDiscount; public Double getWeightedOrderHandlingFeeDiscount() { return this.weightedOrderHandlingFeeDiscount; } public void setWeightedOrderHandlingFeeDiscount(Double weightedOrderHandlingFeeDiscount) { this.weightedOrderHandlingFeeDiscount = weightedOrderHandlingFeeDiscount; } protected Double weightedOrderHandlingFeeTax; public Double getWeightedOrderHandlingFeeTax() { return this.weightedOrderHandlingFeeTax; } public void setWeightedOrderHandlingFeeTax(Double weightedOrderHandlingFeeTax) { this.weightedOrderHandlingFeeTax = weightedOrderHandlingFeeTax; } protected Double weightedOrderShipping; public Double getWeightedOrderShipping() { return this.weightedOrderShipping; } public void setWeightedOrderShipping(Double weightedOrderShipping) { this.weightedOrderShipping = weightedOrderShipping; } protected Double weightedOrderShippingDiscount; public Double getWeightedOrderShippingDiscount() { return this.weightedOrderShippingDiscount; } public void setWeightedOrderShippingDiscount(Double weightedOrderShippingDiscount) { this.weightedOrderShippingDiscount = weightedOrderShippingDiscount; } protected Double weightedOrderShippingManualAdjustment; public Double getWeightedOrderShippingManualAdjustment() { return this.weightedOrderShippingManualAdjustment; } public void setWeightedOrderShippingManualAdjustment(Double weightedOrderShippingManualAdjustment) { this.weightedOrderShippingManualAdjustment = weightedOrderShippingManualAdjustment; } protected Double weightedOrderShippingTax; public Double getWeightedOrderShippingTax() { return this.weightedOrderShippingTax; } public void setWeightedOrderShippingTax(Double weightedOrderShippingTax) { this.weightedOrderShippingTax = weightedOrderShippingTax; } protected Double weightedOrderTax; public Double getWeightedOrderTax() { return this.weightedOrderTax; } public void setWeightedOrderTax(Double weightedOrderTax) { this.weightedOrderTax = weightedOrderTax; } /** * Identifier and datetime stamp information recorded when a user or application creates, updates, or deletes a resource entity. This value is system-supplied and read-only. */ protected AuditInfo auditInfo; public AuditInfo getAuditInfo() { return this.auditInfo; } public void setAuditInfo(AuditInfo auditInfo) { this.auditInfo = auditInfo; } /** * Custom data for a given vendor set within the commerce process. */ protected transient com.fasterxml.jackson.databind.JsonNode data; public com.fasterxml.jackson.databind.JsonNode getData() { return this.data; } public void setData(com.fasterxml.jackson.databind.JsonNode data) { this.data = data; } /** * The properties of a product, referenced and used by carts, orders, wish lists, and returns. */ protected Product product; public Product getProduct() { return this.product; } public void setProduct(Product product) { this.product = product; } /** * The applicable product discount for an associated cart, order, or wish list. */ protected AppliedLineItemProductDiscount productDiscount; public AppliedLineItemProductDiscount getProductDiscount() { return this.productDiscount; } public void setProductDiscount(AppliedLineItemProductDiscount productDiscount) { this.productDiscount = productDiscount; } /** * List of product-level discounts projected to apply to a cart, order, or wish list. */ protected List<AppliedLineItemProductDiscount> productDiscounts; public List<AppliedLineItemProductDiscount> getProductDiscounts() { return this.productDiscounts; } public void setProductDiscounts(List<AppliedLineItemProductDiscount> productDiscounts) { this.productDiscounts = productDiscounts; } /** * List of shipping discounts projected to apply to carts, orders, and wish lists and items at checkout. */ protected List<AppliedLineItemShippingDiscount> shippingDiscounts; public List<AppliedLineItemShippingDiscount> getShippingDiscounts() { return this.shippingDiscounts; } public void setShippingDiscounts(List<AppliedLineItemShippingDiscount> shippingDiscounts) { this.shippingDiscounts = shippingDiscounts; } /** * Properties of the price per unit of a product, associated with cart and order items. This price is not used for wish lists at this time. */ protected CommerceUnitPrice unitPrice; public CommerceUnitPrice getUnitPrice() { return this.unitPrice; } public void setUnitPrice(CommerceUnitPrice unitPrice) { this.unitPrice = unitPrice; } private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.defaultWriteObject(); if(data == null){ out.writeBoolean(false); } else { out.writeBoolean(true); new com.fasterxml.jackson.databind.ObjectMapper().configure(com.fasterxml.jackson.core.JsonGenerator.Feature.AUTO_CLOSE_TARGET, false).writeValue(out, data); } } private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); if(in.readBoolean()){ this.data = new com.fasterxml.jackson.databind.ObjectMapper().configure(com.fasterxml.jackson.core.JsonParser.Feature.AUTO_CLOSE_SOURCE, false).readValue(in, com.fasterxml.jackson.databind.JsonNode.class); } } }