/** * 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; /** * The adjusted subtotal of the line item, including all manual adjustments, discounts, shipping charges and discounts, and duty or any other additional line item fees. */ 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 property, such as a catalog, discount, order, or email template.For a product field it will be the name of the field.For a category ID, must be a positive integer not greater than 2000000. By default, auto-generates a category ID when categories are created. If you want to specify an ID during creation (which preserves category link relationships when migrating tenant data from one sandbox to another), you must also include the query string in the endpoint. For example, . Then, use the property to specify the desired category ID.For a product attribute it will be the Attribute FQN.For a document, the ID must be specified as a 32 character, case-insensitive, alphanumeric string. You can specify the ID as 32 sequential characters or as groups separated by dashes in the format 8-4-4-4-12. For example, or.For email templates, the ID must be one of the following values: */ 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; } /** * The total shipping amount for the line item before discounts and adjustments. */ 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; } /** * The total charge for the line item without any weighted order level shipping and handling charges. */ protected Double totalWithoutWeightedShippingAndHandling; public Double getTotalWithoutWeightedShippingAndHandling() { return this.totalWithoutWeightedShippingAndHandling; } public void setTotalWithoutWeightedShippingAndHandling(Double totalWithoutWeightedShippingAndHandling) { this.totalWithoutWeightedShippingAndHandling = totalWithoutWeightedShippingAndHandling; } /** * The total charge for the line item with all weighted order level shipping and handling charges. */ protected Double totalWithWeightedShippingAndHandling; public Double getTotalWithWeightedShippingAndHandling() { return this.totalWithWeightedShippingAndHandling; } public void setTotalWithWeightedShippingAndHandling(Double totalWithWeightedShippingAndHandling) { this.totalWithWeightedShippingAndHandling = totalWithWeightedShippingAndHandling; } /** * The total weighted order level manual adjustment amount. */ protected Double weightedOrderAdjustment; public Double getWeightedOrderAdjustment() { return this.weightedOrderAdjustment; } public void setWeightedOrderAdjustment(Double weightedOrderAdjustment) { this.weightedOrderAdjustment = weightedOrderAdjustment; } /** * The total weighted order level discount amount. */ protected Double weightedOrderDiscount; public Double getWeightedOrderDiscount() { return this.weightedOrderDiscount; } public void setWeightedOrderDiscount(Double weightedOrderDiscount) { this.weightedOrderDiscount = weightedOrderDiscount; } /** * The total weighted order level duty charges. */ protected Double weightedOrderDuty; public Double getWeightedOrderDuty() { return this.weightedOrderDuty; } public void setWeightedOrderDuty(Double weightedOrderDuty) { this.weightedOrderDuty = weightedOrderDuty; } /** * The weighted order handling adjustment. */ protected Double weightedOrderHandlingAdjustment; public Double getWeightedOrderHandlingAdjustment() { return this.weightedOrderHandlingAdjustment; } public void setWeightedOrderHandlingAdjustment(Double weightedOrderHandlingAdjustment) { this.weightedOrderHandlingAdjustment = weightedOrderHandlingAdjustment; } /** * The total weighted order level handling fee amount. */ protected Double weightedOrderHandlingFee; public Double getWeightedOrderHandlingFee() { return this.weightedOrderHandlingFee; } public void setWeightedOrderHandlingFee(Double weightedOrderHandlingFee) { this.weightedOrderHandlingFee = weightedOrderHandlingFee; } /** * The total weighted order handling fee discount amount. */ protected Double weightedOrderHandlingFeeDiscount; public Double getWeightedOrderHandlingFeeDiscount() { return this.weightedOrderHandlingFeeDiscount; } public void setWeightedOrderHandlingFeeDiscount(Double weightedOrderHandlingFeeDiscount) { this.weightedOrderHandlingFeeDiscount = weightedOrderHandlingFeeDiscount; } /** * The total weighted order level handling fee tax amount. */ protected Double weightedOrderHandlingFeeTax; public Double getWeightedOrderHandlingFeeTax() { return this.weightedOrderHandlingFeeTax; } public void setWeightedOrderHandlingFeeTax(Double weightedOrderHandlingFeeTax) { this.weightedOrderHandlingFeeTax = weightedOrderHandlingFeeTax; } /** * The total weighted order level shipping charge. */ protected Double weightedOrderShipping; public Double getWeightedOrderShipping() { return this.weightedOrderShipping; } public void setWeightedOrderShipping(Double weightedOrderShipping) { this.weightedOrderShipping = weightedOrderShipping; } /** * The total weighted order level shipping discount amount. */ protected Double weightedOrderShippingDiscount; public Double getWeightedOrderShippingDiscount() { return this.weightedOrderShippingDiscount; } public void setWeightedOrderShippingDiscount(Double weightedOrderShippingDiscount) { this.weightedOrderShippingDiscount = weightedOrderShippingDiscount; } /** * The total weighted order level shipping manual adjustment amount. */ protected Double weightedOrderShippingManualAdjustment; public Double getWeightedOrderShippingManualAdjustment() { return this.weightedOrderShippingManualAdjustment; } public void setWeightedOrderShippingManualAdjustment(Double weightedOrderShippingManualAdjustment) { this.weightedOrderShippingManualAdjustment = weightedOrderShippingManualAdjustment; } /** * The total weighted order level shipping tax amount. */ protected Double weightedOrderShippingTax; public Double getWeightedOrderShippingTax() { return this.weightedOrderShippingTax; } public void setWeightedOrderShippingTax(Double weightedOrderShippingTax) { this.weightedOrderShippingTax = weightedOrderShippingTax; } /** * The total weighted order level tax amount. */ 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); } } }