Serialized Form

  • Package com.broadleafcommerce.promotion.offer.client.jackson.context.info

  • Package com.broadleafcommerce.promotion.offer.client.web.context

    • Class com.broadleafcommerce.promotion.offer.client.web.context.Codes

      class Codes extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • codeUsedByTrackingId
          Map<String,String> codeUsedByTrackingId
          Deprecated, for removal: This API element is subject to removal in a future version.
          since this is not used after 2.0.0
          A map of codes used by tracking ids associated with external systems like the Campaigns Service that could be tied to an offer's campaign tracking ids. This works with com.broadleafcommerce.promotion.campaign.domain.Campaign#id and assumes that the customer already meets usage and date requirements for using any corresponding offer.

          This map is solely for populating Adjustment.getCodeUsed() when a campaign code is used in PromotionServices versions prior to 2.0.0.

        • sharedCodes
          Set<String> sharedCodes
          Code strings added to the order that may be tied to an offer's shared codes and used to apply it.
        • trackingIds
          Set<String> trackingIds
          Tracking ids associated with external systems like the Campaigns Service that could be tied to an offer's campaign tracking ids. This works with com.broadleafcommerce.promotion.campaign.domain.Campaign#id and assumes that the customer already meets usage and date requirements for using any corresponding offer.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.CodeUsabilityInfo

      class CodeUsabilityInfo extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • codeToUse
          String codeToUse
          A shared code for which this code usability tracks usage info.
        • codeUsabilityType
          String codeUsabilityType
          Describes the usability of the code. This is mainly used to differentiate the different reasons a code might not be usable: It matches no offers, it's been used the maximum number times, etc.
          See Also:
        • codeUses
          List<CodeUsage> codeUses
          Infos on the uses of the related code used to determine if an offer's shared code can still be used.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.CodeUsage

      class CodeUsage extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • campaignTrackingId
          String campaignTrackingId
          The tracking id of the campaign for which this code usability info belongs.
        • canUse
          boolean canUse
          If this code can be used for this offer based on it's max uses.
        • hasMaxUsage
          boolean hasMaxUsage
          Whether this code has a maximum limit to the number of times it can be used as defined by its max uses.
        • hasMaxUsagePerUser
          boolean hasMaxUsagePerUser
          Whether this offer has a maximum limit to the number of times it can be used by a single user.
        • offerId
          String offerId
          The OfferRef.getId() of the offer to whose shared code this code usability info belongs.
        • usesLeft
          int usesLeft
          The number of uses left for this info's related shared code. This is calculated by subtracting the number of times the code has been used from its max uses.
        • usesLeftPerCustomer
          int usesLeftPerCustomer
          The number of uses left for the current customer for this info's related offer. This is calculated by subtracting the number of times the offer code has been used by the customer from its max uses per customer.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.CustomerContext

      class CustomerContext extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • accountId
          String accountId
          The id for the account that is in the current context.
        • authenticated
          boolean authenticated
          Whether the customer is authenticated.
          Since:
          1.8.6
        • customerId
          String customerId
          The id for the customer that is in the current context.
        • customerSegmentIds
          Set<String> customerSegmentIds
          The list of id's that correspond to customer segments that this customer is a part of.
        • username
          String username
          The customer's username.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.Destination

      class Destination extends Object implements Serializable
      • Serialized Fields

        • addressLine1
          String addressLine1
        • addressLine2
          String addressLine2
        • addressLine3
          String addressLine3
        • attributes
          Map<String,Object> attributes
          Additional, unspecified attributes.
        • businessName
          String businessName
        • city
          String city
        • destinationName
          String destinationName
        • isBusiness
          boolean isBusiness
        • isoCountryAlpha2
          String isoCountryAlpha2
          ISO 3166 country code in Alpha-2 format (e.g., CN, FR, US).
        • isoCountrySubdivision
          String isoCountrySubdivision
          ISO 3166 country subdivision code in Alpha-2 format (e.g., CA, HI, TX).
        • postalCode
          String postalCode
        • recipientName
          String recipientName
        • senderName
          String senderName
    • Class com.broadleafcommerce.promotion.offer.client.web.context.FulfillmentGroupDto

      class FulfillmentGroupDto extends Object implements Serializable
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
        • destination
          Destination destination
        • faxNumber
          String faxNumber
        • fulfillmentItems
          List<T extends FulfillmentLineItem> fulfillmentItems
        • fulfillmentOptionName
          String fulfillmentOptionName
        • fulfillmentOptionType
          String fulfillmentOptionType
        • id
          String id
        • priceBeforeAdjustments
          javax.money.MonetaryAmount priceBeforeAdjustments
        • priceBeforeAdjustmentsByServiceLevel
          Map<String,javax.money.MonetaryAmount> priceBeforeAdjustmentsByServiceLevel
        • primaryPhone
          String primaryPhone
        • secondaryPhone
          String secondaryPhone
    • Class com.broadleafcommerce.promotion.offer.client.web.context.FulfillmentLineItemDto

      class FulfillmentLineItemDto extends LineItemDto implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • relatedOrderLineItemNumber
          String relatedOrderLineItemNumber
    • Class com.broadleafcommerce.promotion.offer.client.web.context.LineItemDto

      class LineItemDto extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Additional assortment of attributes that can be used for targeting by Offers.
        • discountable
          boolean discountable
          Whether the item is discountable.
        • isSubscription
          boolean isSubscription
          Whether the item represents a subscription. This should be true if LineItemDto.standardRecurringPrice or LineItemDto.saleRecurringPrice are not null.
        • lineNumber
          String lineNumber
          Identifier for this line item.
        • quantity
          int quantity
          The quantity of the item in the order.
        • salePrice
          javax.money.MonetaryAmount salePrice
          Sale price. Often not discountable.
        • saleRecurringPrice
          RecurringPriceDetail saleRecurringPrice
          Since:
          Offer Client 2.0.2
          See Also:
        • standardPrice
          javax.money.MonetaryAmount standardPrice
          The one-time price typically discounted.
        • standardRecurringPrice
          RecurringPriceDetail standardRecurringPrice
          Since:
          Offer Client 2.0.2
          See Also:
    • Class com.broadleafcommerce.promotion.offer.client.web.context.OfferAndOfferCodeUsageValidationResult

      class OfferAndOfferCodeUsageValidationResult extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • invalidOfferCodes
          List<String> invalidOfferCodes
          The list of offer codes which are no longer valid.
        • invalidOfferRefIds
          List<String> invalidOfferRefIds
          The list of offer id's which are no longer valid.
        • isUsageValid
          boolean isUsageValid
          If this is set to false, one or more offers or offer codes is no longer valid and need to be removed from the list of previously applied offers. Default is true.
        • validationFailureMessages
          Map<String,String> validationFailureMessages
          A map which holds pairings of Strings in invalidOfferRefIds and invalidOfferCodes as key values to messages as values which hold a description of why an offer is no longer valid.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.OfferCodeDto

      class OfferCodeDto extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.promotion.offer.client.web.context.OrderDto

      class OrderDto extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.promotion.offer.client.web.context.OrderLineItemDto

      class OrderLineItemDto extends LineItemDto implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • fulfillmentGroupRef
          String fulfillmentGroupRef
        • fulfillmentPrice
          javax.money.MonetaryAmount fulfillmentPrice
        • parentLineNumber
          String parentLineNumber
        • segment
          String segment
    • Class com.broadleafcommerce.promotion.offer.client.web.context.RecurringPriceDetail

      class RecurringPriceDetail extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • periodFrequency
          int periodFrequency
          The frequency with which the recurring RecurringPriceDetail.price should be charged., e.g., a value of 1 combined with RecurringPriceDetail.periodType of MONTH would indicate to a subscription service that the RecurringPriceDetail.price should be charged every 1 month.
          See Also:
          • RecurringPriceDetail.periodType
        • periodLimit
          Integer periodLimit
          Defines the number of periods the price should recur. Only applicable for non-standard price lists, particularly sales where a discount may be applied for the first 'n' periods after which the price reverts to a standard price list's.
          See Also:
          • RecurringPriceDetail.periodFrequency
          • RecurringPriceDetail.periodType
        • periodType
          String periodType
          The period type for the price, e.g. DAY, MONTH, YEAR
          See Also:
          • RecurringPriceDetail.periodFrequency
        • price
          javax.money.MonetaryAmount price
          The amount of the recurring price.
        • termDurationLength
          Integer termDurationLength
          The length of the terms, e.g., if this is 36 and RecurringPriceDetail.termDurationType is MONTHS, then the RecurringPriceDetail.price should be charged for 36 months.
          See Also:
          • RecurringPriceDetail.termDurationType
        • termDurationType
          String termDurationType
          The term duration type, e.g. DAYS, WEEKS, MONTHS, YEARS.
          See Also:
          • RecurringPriceDetail.termDurationLength
  • Package com.broadleafcommerce.promotion.offer.client.web.context.discounts

    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.BestOfferCombination

      class BestOfferCombination extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.CodeResponse

      class CodeResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • code
          String code
        • notAppliedReasonMessage
          String notAppliedReasonMessage
        • notAppliedReasonResponseCode
          String notAppliedReasonResponseCode
        • potentialSavings
          javax.money.MonetaryAmount potentialSavings
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.EvaluateOfferResponse

      class EvaluateOfferResponse extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.FulfillmentGroupResponse

      class FulfillmentGroupResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustedTotal
          javax.money.MonetaryAmount adjustedTotal
          The total final price of this item with adjustments applied.
        • adjustments
          List<Adjustment> adjustments
          Adjustment information for this fulfillment group.
        • fulfillmentGroupId
          String fulfillmentGroupId
          The id for the FulfillmentGroup that this FulfillmentGroupResponse represents.
        • fulfillmentGroupSavings
          javax.money.MonetaryAmount fulfillmentGroupSavings
          The total savings across all FulfillmentGroupResponse.adjustments. This does not include FulfillmentGroupResponse.futureCreditSavings.
        • fulfillmentItemOfferDetails
          List<ItemResponse<P extends ProratedItemOfferAdjustment>> fulfillmentItemOfferDetails
          Adjustment information for each FulfillmentGroup.getFulfillmentItems() fulfillment line item}.
        • fulfillmentItemSavings
          javax.money.MonetaryAmount fulfillmentItemSavings
          The total savings across all FulfillmentGroupResponse.fulfillmentItemOfferDetails. This does not include FulfillmentGroupResponse.futureCreditSavings.
        • fulfillmentSavings
          javax.money.MonetaryAmount fulfillmentSavings
          The total savings across all FulfillmentGroupResponse.adjustments and FulfillmentGroupResponse.fulfillmentItemOfferDetails. This does not include FulfillmentGroupResponse.futureCreditSavings.
        • futureCreditSavings
          javax.money.MonetaryAmount futureCreditSavings
          The future credit savings across FulfillmentGroupResponse.adjustments and FulfillmentGroupResponse.fulfillmentItemOfferDetails, indicated by Adjustment.isFutureCredit(). This does not include children item's future credits, use FulfillmentGroupResponse.fulfillmentSavings if desired. See OfferRef.isFutureCredit() for more info.
        • proratedFulfillmentAdjustments
          javax.money.MonetaryAmount proratedFulfillmentAdjustments
          Prorated fulfillment adjustments for the fulfillment group itself.

          Fulfillment-level adjustments are prorated between the charges of the fulfullment group and those of the individual fulfullment items, the prorated fulfillment adjustments for the items are set at the item level.

          See Also:
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.ItemAdjustment

      class ItemAdjustment extends Adjustment implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • appliedToSalePrice
          boolean appliedToSalePrice
          Whether this adjustment is applied to the sale price of the item.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.ItemResponse

      class ItemResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustedTotal
          javax.money.MonetaryAmount adjustedTotal
          The total final price of this item with adjustments applied.
        • appliedToSalePrice
          boolean appliedToSalePrice
          Whether the sale price or the standard price was adjusted.
          Since:
          Offer Client 2.0.2
        • appliedToSaleRecurringPrice
          boolean appliedToSaleRecurringPrice
          Whether the sale recurring price or the standard recurring price was adjusted.
          Since:
          Offer Client 2.0.2
        • basePricePerItem
          javax.money.MonetaryAmount basePricePerItem
          The original unadjusted price for each item.
        • baseRecurringPricePerItem
          RecurringPriceDetail baseRecurringPricePerItem
          The original unadjusted recurring price for each item used for discount calculations.
          Since:
          Offer Client 2.0.2
        • freeTrialApplied
          boolean freeTrialApplied
          Whether a free trial offer was applied.
          Since:
          Offer Client 2.0.2
        • futureCreditSavings
          javax.money.MonetaryAmount futureCreditSavings
          The future credit savings across ItemResponse.itemResponseDetails, indicated by Adjustment.isFutureCredit().
        • itemId
          String itemId
          The id for the LineItem that this ItemResponse represents.
        • itemResponseDetails
          List<ItemResponseDetail<P extends ProratedItemOfferAdjustment>> itemResponseDetails
          Detailed pricing information for this item. See ItemResponseDetail for more info.
        • proratedAdjustments
          List<ProratedOfferAdjustment> proratedAdjustments
          Prorated adjustment information for this line item. The prorated adjustments typically come from order or fulfillment group level offers.
        • quantity
          int quantity
          The total quantity across all price variations of this item.
        • recurringAdjustedTotal
          javax.money.MonetaryAmount recurringAdjustedTotal
          The final recurring (a.k.a., subscription) price of this item with adjustments applied.
          Since:
          Offer Client 2.0.2
        • recurringSavings
          javax.money.MonetaryAmount recurringSavings
          The savings to apply to recurring (a.k.a., subscription) prices.
          Since:
          Offer Client 2.0.2
        • savings
          javax.money.MonetaryAmount savings
          The total savings across all ItemResponse.itemResponseDetails. This does not include ItemResponse.futureCreditSavings.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.ItemResponseDetail

      class ItemResponseDetail extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustedTotal
          javax.money.MonetaryAmount adjustedTotal
          The final price of this item with adjustments applied.
        • appliedToSalePrice
          boolean appliedToSalePrice
          Whether the ItemResponseDetail.itemAdjustments are applied to the sale price of the item.
        • appliedToSaleRecurringPrice
          boolean appliedToSaleRecurringPrice
          Whether the ItemResponseDetail.itemAdjustments are applied to the sale recurring price of the item.
          Since:
          Offer Client 2.0.2
        • beginPeriod
          int beginPeriod
          Deprecated, for removal: This API element is subject to removal in a future version.
          No longer valid as more than one subscription discount may be applied. Users should look at ItemAdjustment instead.
          The beginning period for which this detail should be applied. 1 refers to the first recurring billing period, and so on. This is only used for details that describe an adjustment related to an offer that is set to apply to future periods.
        • endPeriod
          int endPeriod
          Deprecated, for removal: This API element is subject to removal in a future version.
          No longer valid as more than one subscription discount may be applied. Users should look at ItemAdjustment instead.
          The ending period for which this detail should be applied. 1 refers to the first recurring billing period, and so on. This is only used for details that describe an adjustment related to an offer that is set to apply to future periods.
        • futureCreditSavings
          javax.money.MonetaryAmount futureCreditSavings
          The future credit savings across ItemResponseDetail.itemAdjustments, indicated by Adjustment.isFutureCredit(). This does not include children item's future credits, use ItemResponseDetail.savings if desired.
        • itemAdjustments
          List<ItemAdjustment> itemAdjustments
          Adjustment information for this line item.
        • proratedItemAdjustments
          List<P extends ProratedItemOfferAdjustment> proratedItemAdjustments
          Prorated adjustment information for this line item. See ProratedItemOfferAdjustment for more info.
        • quantity
          int quantity
          The quantity of items that match this detail.
        • recurringAdjustedTotal
          javax.money.MonetaryAmount recurringAdjustedTotal
          The final recurring (a.k.a., subscription) price of this item with adjustments applied.
          Since:
          Offer Client 2.0.2
        • recurringSavings
          javax.money.MonetaryAmount recurringSavings
          The savings to apply to recurring (a.k.a., subscription) prices.
          Since:
          Offer Client 2.0.2
        • savings
          javax.money.MonetaryAmount savings
          The total savings across all ItemResponseDetail.itemAdjustments. This does not include ItemResponseDetail.futureCreditSavings.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.discounts.OrderResponse

      class OrderResponse extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustedFulfillmentTotal
          javax.money.MonetaryAmount adjustedFulfillmentTotal
          The total of all OrderResponse.fulfillmentGroupResponses with adjustments applied via the sum of all FulfillmentGroupResponse.getAdjustedTotal().
        • adjustedSubtotal
          javax.money.MonetaryAmount adjustedSubtotal
          The subtotal of all OrderResponse.orderItemResponses with adjustments applied via the sum of all ItemResponse.getAdjustedTotal().
        • adjustedTotal
          javax.money.MonetaryAmount adjustedTotal
          The total of all OrderResponse.fulfillmentGroupResponses with adjustments applied.
        • adjustments
          List<Adjustment> adjustments
          Adjustment information for this order.
        • codeResponseMap
          Map<String,CodeResponse> codeResponseMap
          A map of codes to responses detailing why a potential offer did not apply.
        • freeGiftItems
          List<FreeGiftItem> freeGiftItems
          The FreeGiftItems to add from the free gift offers.
        • fulfillmentGroupResponses
          List<FulfillmentGroupResponse<P extends ProratedItemOfferAdjustment>> fulfillmentGroupResponses
          Adjustment information for each Order.getFulfillmentGroups() fulfillment group of the order}.
        • fulfillmentSavings
          javax.money.MonetaryAmount fulfillmentSavings
          The total savings from adjustments applied to fulfillment via the sum of all FulfillmentGroupResponse.getFulfillmentSavings().
        • orderItemResponses
          List<ItemResponse<P extends ProratedItemOfferAdjustment>> orderItemResponses
          Adjustment information for each Order.getOrderLineItems() order item of the order}.
        • orderItemSavings
          javax.money.MonetaryAmount orderItemSavings
          The total savings from adjustments applied to order items via the sum of all ItemResponse.getSavings().
        • orderNumber
          String orderNumber
          The orderNumber corresponding to the Order that this OrderResponse represents.
        • orderSavings
          javax.money.MonetaryAmount orderSavings
          The savings from adjustments applied to the order via OrderResponse.adjustments.
        • totalFutureCredits
          javax.money.MonetaryAmount totalFutureCredits
          The total future credits from adjustments applied across all areas of the order. See OfferRef.isFutureCredit() for more info.
        • totalSavings
          javax.money.MonetaryAmount totalSavings
          The total savings from adjustments applied across all areas of the order.
        • vouchers
          List<Voucher> vouchers
          The Vouchers that this order is qualified for.
  • Package com.broadleafcommerce.promotion.offer.client.web.context.info

    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.Adjustment

      class Adjustment extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustmentAmount
          javax.money.MonetaryAmount adjustmentAmount
          The amount of this adjustment.
        • beginPeriod
          int beginPeriod
          If Adjustment.type is DefaultAdjustmentType.RECURRING_DISCOUNT, this is the beginning period for the discount. 1 refers to the first recurring billing period, and so on.
          Since:
          Offer Client 2.0.2
        • campaignTrackingId
          String campaignTrackingId
          The campaign tracking id (if any) for this adjustment.
        • codeUsed
          String codeUsed
          The code used (if any) that triggered the application of the offer for this adjustment.
        • endPeriod
          Integer endPeriod
          If Adjustment.type is DefaultAdjustmentType.RECURRING_DISCOUNT, this is the ending period for the discount. 1 refers to the first recurring billing period, and so on.
          Since:
          Offer Client 2.0.2
        • freeTrialLength
          int freeTrialLength
          If Adjustment.type is DefaultAdjustmentType.FREE_TRIAL, then this defines the free trial's length.
          Since:
          Offer Client 2.0.2
          See Also:
          • Adjustment.freeTrialLengthUnits
        • freeTrialLengthUnits
          String freeTrialLengthUnits
          If Adjustment.type is DefaultAdjustmentType.FREE_TRIAL, then this defines the units for Adjustment.freeTrialLength. Default is DefaultFreeTrialLengthUnits.DAYS.
          Since:
          Offer Client 2.0.2
          See Also:
        • isFutureCredit
          boolean isFutureCredit
          Deprecated, for removal: This API element is subject to removal in a future version.
          Use Adjustment.type instead.
          Whether this adjustment is the result of a future credit. See OfferRef.isFutureCredit() for more info.
        • itemAdjustmentQuantity
          int itemAdjustmentQuantity
          The quantity of the current line item that this offer was applied to.
        • offerCodeRef
          String offerCodeRef
          A reference to the OfferCode (if any).
        • offerRef
          OfferRef offerRef
          A reference to the OfferRef.
        • offerUses
          int offerUses
          The number of times that the offer this adjustment was created from is applied.
        • qualifierDetails
          List<OfferItemDetail> qualifierDetails
          A list of OfferItemDetails representing the qualifier items where this adjustment was from.

          For example, ItemA and ItemB qualify for a free gift offer, which results Item_FG to be added as a free gift item. These details are used to identify ItemA and ItemB from free gift item Item_FG using its adjustment.

          Take another example, ItemA qualifies for a Buy 1 itemA Get 1 itemB free offer. These details are used to identity the qualifier item ItemA from target item ItemB.

        • quantityPerUsage
          int quantityPerUsage
          The quantity per offer usage of the target item that this adjustment is for.
        • serviceLevel
          String serviceLevel
          The serviceLevel that this adjustment applies to (typically used only with fulfillment group offers to indicate that the discount applies to the portion of the fulfillment price related to a specific service level. For example, for a group containing some items shipped by STANDARD and some as EXPRESS it is possible the discount only applies to the EXPRESS items. A blank value would indicate the discount applies to all service levels.
        • type
          String type
          Defines the type of adjustment. This can particularly impact when the adjustment should be applied to the order or items. This helps distinguish whether the adjustment applies at checkout or later such as for a subscription and what type of price is applies to, whether recurring or upfront.
          Since:
          Offer Client 2.0.2
          See Also:
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.FreeGiftItem

      class FreeGiftItem extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • adjustment
          Adjustment adjustment
          The Adjustment for this free gift item. Note that if this item has a FreeGiftItem.giftFee, the adjustment amount is not known during offer evaluation. It is up to the consumer to determine the adjustment amount based on the FreeGiftItem.giftFee and the price of the item.
        • giftFee
          ItemProrationDetail giftFee
          Indicates the cost of the free gift item. The ItemProrationDetail.getUnitAmount() is the price of the item. If this field is not null, the item is technically not free, but instead is an offer that behaves the same as a "free" gift item, but has a cost.
        • offerRef
          OfferRef offerRef
          A reference to the OfferRef.
        • productId
          String productId
          The sku of the item to be automatically added.
        • quantity
          int quantity
          The quantity of the item to be automatically added.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.ItemProrationDetail

      class ItemProrationDetail extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • quantity
          int quantity
          The total quantity.
        • unitAmount
          javax.money.MonetaryAmount unitAmount
          The unit proration amount.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.LineItemRef

      class LineItemRef extends Object implements Serializable
      serialVersionUID:
      1L
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.OfferItemDetail

      class OfferItemDetail extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • itemAdjustmentQuantity
          int itemAdjustmentQuantity
          The quantity of the qualifier or target item that this offer was applied to.
        • itemId
          String itemId
          The id of the item that is a qualifier or target.
        • offerId
          String offerId
          The offer id where this item is a qualifier or target of.
        • offerUses
          int offerUses
          The number of times the offer is applied.
        • quantityPerUsage
          int quantityPerUsage
          The quantity per offer usage of the item that is a qualifier or target.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.OfferRef

      class OfferRef extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • attributes
          Map<String,Object> attributes
          Dynamic attributes that are a part of the offer.
        • campaignTrackingIds
          Set<String> campaignTrackingIds
          The tracking identifiers of the campaigns of which this offer is a part. See com.broadleafcommerce.promotion.campaign.domain.Campaign#id
        • cartLabel
          String cartLabel
          A label for this offer typically used by the storefront.
        • combinable
          boolean combinable
          Whether the offer is marked as combinable, meaning that it can be combined with other offers.
        • description
          String description
          Description of this offer.
        • futureCredit
          boolean futureCredit
          Future credit means that the associated adjustment will be discounted at a later time to the user via a credit. It is up to the implementor to decide how to achieve this.
        • id
          String id
          The context ID of the offer.
        • name
          String name
          Display name for this offer.
        • prorationType
          String prorationType
          Determines how an offer's discount amount is distributed across the offer's related order item types. This can either be set to prorate across target items or target and qualifier items.

          This property is used downstream in `OrderOperationServices` or other custom services to calculate the proper refund amounts when factoring in offer discounts.

        • targetsCanBeTargets
          boolean targetsCanBeTargets
          Deprecated.
          since 1.6, in favor of offer stacking and combinability
          Determines whether items that this offer targets to receive its discount can also receive discounts from other offers. For example, if this offer targets all "red t-shirts" with a 10% discount and another offer targets all "shirts" for a $5 discount, then this field determines whether that "red t-shirt" receives both discounts (whatever the best combination of the 2 is) or only the better offer of the 2. Default is false: A target can only receive a discount from 1 offer (the best one).
        • totalitarian
          boolean totalitarian
          Whether the offer is marked as totalitarian, meaning that it can be the only offer applied..
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.ProratedItemOfferAdjustmentDto

      class ProratedItemOfferAdjustmentDto extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • amount
          javax.money.MonetaryAmount amount
        • codeUsed
          String codeUsed
        • lineItem
          LineItemRef lineItem
        • offer
          OfferRef offer
        • quantity
          int quantity
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.ProratedOfferAdjustmentDto

      class ProratedOfferAdjustmentDto extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • amount
          javax.money.MonetaryAmount amount
          The amount of the prorated adjustment for the item.
        • codeUsed
          String codeUsed
          The code used (if any) that triggered the application of the offer for this adjustment.
        • itemProrationDetails
          List<ItemProrationDetail> itemProrationDetails
          The details about how this prorated adjustment on a per-quantity basis.

          For example, if the prorated adjustment for this item is $5 and this item has a quantity of 3, there should be one detail with quantity of 2 and amount of $1.67, and one detail with quantity of 1 and amount of $1.66, totaling to $5

        • lineItem
          LineItemRef lineItem
          The LineItemRef of the LineItem that gets this adjustment.
        • offer
          OfferRef offer
          The OfferRef for the offer where this prorated adjustment is from.
        • quantity
          int quantity
          The quantity of merchandising items from the EnhancedLineItem to which this adjustment applies.
    • Class com.broadleafcommerce.promotion.offer.client.web.context.info.Voucher

      class Voucher extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • codeUsed
          String codeUsed
          The code used (if any) that triggered the application of the offer for this voucher.
        • offerCodeRef
          String offerCodeRef
          A reference to the OfferCode (if any).
        • offerId
          String offerId
          Deprecated, for removal: This API element is subject to removal in a future version.
          see offerRef for the field holding additional information about the voucher offer.
          The OfferRef.getId() of the voucher offer.
        • offerRef
          OfferRef offerRef
          A reference to the OfferRef
        • voucherCampaignId
          String voucherCampaignId
          The id of the voucher campaign, which will be used to generate voucher codes after a successful checkout.