content: /*
   * Selling Partner API for Pricing
   * The Selling Partner API for Pricing helps you programmatically retrieve product pricing and offer information for Amazon Marketplace products.
   *
   * OpenAPI spec version: v0
   * 
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   */
  
  
  package io.swagger.client.model.pricing;
  
  import java.util.Objects;
  
  import com.google.gson.annotations.SerializedName;
  import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  import org.threeten.bp.OffsetDateTime;
  
  /**
   * Contains price information about the product, including the LowestPrices and BuyBoxPrices, the ListPrice, the SuggestedLowerPricePlusShipping, and NumberOfOffers and NumberOfBuyBoxEligibleOffers.
   */
  @ApiModel(description = "Contains price information about the product, including the LowestPrices and BuyBoxPrices, the ListPrice, the SuggestedLowerPricePlusShipping, and NumberOfOffers and NumberOfBuyBoxEligibleOffers.")
  @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2023-12-07T17:09:04.171+01:00")
  public class Summary {
    @SerializedName("TotalOfferCount")
    private Integer totalOfferCount = null;
  
    @SerializedName("NumberOfOffers")
    private NumberOfOffers numberOfOffers = null;
  
    @SerializedName("LowestPrices")
    private LowestPrices lowestPrices = null;
  
    @SerializedName("BuyBoxPrices")
    private BuyBoxPrices buyBoxPrices = null;
  
    @SerializedName("ListPrice")
    private MoneyType listPrice = null;
  
    @SerializedName("CompetitivePriceThreshold")
    private MoneyType competitivePriceThreshold = null;
  
    @SerializedName("SuggestedLowerPricePlusShipping")
    private MoneyType suggestedLowerPricePlusShipping = null;
  
    @SerializedName("SalesRankings")
    private SalesRankList salesRankings = null;
  
    @SerializedName("BuyBoxEligibleOffers")
    private BuyBoxEligibleOffers buyBoxEligibleOffers = null;
  
    @SerializedName("OffersAvailableTime")
    private OffsetDateTime offersAvailableTime = null;
  
    public Summary totalOfferCount(Integer totalOfferCount) {
      this.totalOfferCount = totalOfferCount;
      return this;
    }
  
     /**
     * The number of unique offers contained in NumberOfOffers.
     * @return totalOfferCount
    **/
    @ApiModelProperty(required = true, value = "The number of unique offers contained in NumberOfOffers.")
    public Integer getTotalOfferCount() {
      return totalOfferCount;
    }
  
    public void setTotalOfferCount(Integer totalOfferCount) {
      this.totalOfferCount = totalOfferCount;
    }
  
    public Summary numberOfOffers(NumberOfOffers numberOfOffers) {
      this.numberOfOffers = numberOfOffers;
      return this;
    }
  
     /**
     * A list that contains the total number of offers for the item for the given conditions and fulfillment channels.
     * @return numberOfOffers
    **/
    @ApiModelProperty(value = "A list that contains the total number of offers for the item for the given conditions and fulfillment channels.")
    public NumberOfOffers getNumberOfOffers() {
      return numberOfOffers;
    }
  
    public void setNumberOfOffers(NumberOfOffers numberOfOffers) {
      this.numberOfOffers = numberOfOffers;
    }
  
    public Summary lowestPrices(LowestPrices lowestPrices) {
      this.lowestPrices = lowestPrices;
      return this;
    }
  
     /**
     * A list of the lowest prices for the item.
     * @return lowestPrices
    **/
    @ApiModelProperty(value = "A list of the lowest prices for the item.")
    public LowestPrices getLowestPrices() {
      return lowestPrices;
    }
  
    public void setLowestPrices(LowestPrices lowestPrices) {
      this.lowestPrices = lowestPrices;
    }
  
    public Summary buyBoxPrices(BuyBoxPrices buyBoxPrices) {
      this.buyBoxPrices = buyBoxPrices;
      return this;
    }
  
     /**
     * A list of item prices.
     * @return buyBoxPrices
    **/
    @ApiModelProperty(value = "A list of item prices.")
    public BuyBoxPrices getBuyBoxPrices() {
      return buyBoxPrices;
    }
  
    public void setBuyBoxPrices(BuyBoxPrices buyBoxPrices) {
      this.buyBoxPrices = buyBoxPrices;
    }
  
    public Summary listPrice(MoneyType listPrice) {
      this.listPrice = listPrice;
      return this;
    }
  
     /**
     * The list price of the item as suggested by the manufacturer.
     * @return listPrice
    **/
    @ApiModelProperty(value = "The list price of the item as suggested by the manufacturer.")
    public MoneyType getListPrice() {
      return listPrice;
    }
  
    public void setListPrice(MoneyType listPrice) {
      this.listPrice = listPrice;
    }
  
    public Summary competitivePriceThreshold(MoneyType competitivePriceThreshold) {
      this.competitivePriceThreshold = competitivePriceThreshold;
      return this;
    }
  
     /**
     * This price is based on competitive prices from other retailers (excluding other Amazon sellers). The offer may be ineligible for the Buy Box if the seller&#39;s price + shipping (minus Amazon Points) is greater than this competitive price.
     * @return competitivePriceThreshold
    **/
    @ApiModelProperty(value = "This price is based on competitive prices from other retailers (excluding other Amazon sellers). The offer may be ineligible for the Buy Box if the seller's price + shipping (minus Amazon Points) is greater than this competitive price.")
    public MoneyType getCompetitivePriceThreshold() {
      return competitivePriceThreshold;
    }
  
    public void setCompetitivePriceThreshold(MoneyType competitivePriceThreshold) {
      this.competitivePriceThreshold = competitivePriceThreshold;
    }
  
    public Summary suggestedLowerPricePlusShipping(MoneyType suggestedLowerPricePlusShipping) {
      this.suggestedLowerPricePlusShipping = suggestedLowerPricePlusShipping;
      return this;
    }
  
     /**
     * The suggested lower price of the item, including shipping and Amazon Points. The suggested lower price is based on a range of factors, including historical selling prices, recent Buy Box-eligible prices, and input from customers for your products.
     * @return suggestedLowerPricePlusShipping
    **/
    @ApiModelProperty(value = "The suggested lower price of the item, including shipping and Amazon Points. The suggested lower price is based on a range of factors, including historical selling prices, recent Buy Box-eligible prices, and input from customers for your products.")
    public MoneyType getSuggestedLowerPricePlusShipping() {
      return suggestedLowerPricePlusShipping;
    }
  
    public void setSuggestedLowerPricePlusShipping(MoneyType suggestedLowerPricePlusShipping) {
      this.suggestedLowerPricePlusShipping = suggestedLowerPricePlusShipping;
    }
  
    public Summary salesRankings(SalesRankList salesRankings) {
      this.salesRankings = salesRankings;
      return this;
    }
  
     /**
     * A list that contains the sales rank of the item in the given product categories.
     * @return salesRankings
    **/
    @ApiModelProperty(value = "A list that contains the sales rank of the item in the given product categories.")
    public SalesRankList getSalesRankings() {
      return salesRankings;
    }
  
    public void setSalesRankings(SalesRankList salesRankings) {
      this.salesRankings = salesRankings;
    }
  
    public Summary buyBoxEligibleOffers(BuyBoxEligibleOffers buyBoxEligibleOffers) {
      this.buyBoxEligibleOffers = buyBoxEligibleOffers;
      return this;
    }
  
     /**
     * A list that contains the total number of offers that are eligible for the Buy Box for the given conditions and fulfillment channels.
     * @return buyBoxEligibleOffers
    **/
    @ApiModelProperty(value = "A list that contains the total number of offers that are eligible for the Buy Box for the given conditions and fulfillment channels.")
    public BuyBoxEligibleOffers getBuyBoxEligibleOffers() {
      return buyBoxEligibleOffers;
    }
  
    public void setBuyBoxEligibleOffers(BuyBoxEligibleOffers buyBoxEligibleOffers) {
      this.buyBoxEligibleOffers = buyBoxEligibleOffers;
    }
  
    public Summary offersAvailableTime(OffsetDateTime offersAvailableTime) {
      this.offersAvailableTime = offersAvailableTime;
      return this;
    }
  
     /**
     * When the status is ActiveButTooSoonForProcessing, this is the time when the offers will be available for processing.
     * @return offersAvailableTime
    **/
    @ApiModelProperty(value = "When the status is ActiveButTooSoonForProcessing, this is the time when the offers will be available for processing.")
    public OffsetDateTime getOffersAvailableTime() {
      return offersAvailableTime;
    }
  
    public void setOffersAvailableTime(OffsetDateTime offersAvailableTime) {
      this.offersAvailableTime = offersAvailableTime;
    }
  
  
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      Summary summary = (Summary) o;
      return Objects.equals(this.totalOfferCount, summary.totalOfferCount) &&
          Objects.equals(this.numberOfOffers, summary.numberOfOffers) &&
          Objects.equals(this.lowestPrices, summary.lowestPrices) &&
          Objects.equals(this.buyBoxPrices, summary.buyBoxPrices) &&
          Objects.equals(this.listPrice, summary.listPrice) &&
          Objects.equals(this.competitivePriceThreshold, summary.competitivePriceThreshold) &&
          Objects.equals(this.suggestedLowerPricePlusShipping, summary.suggestedLowerPricePlusShipping) &&
          Objects.equals(this.salesRankings, summary.salesRankings) &&
          Objects.equals(this.buyBoxEligibleOffers, summary.buyBoxEligibleOffers) &&
          Objects.equals(this.offersAvailableTime, summary.offersAvailableTime);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(totalOfferCount, numberOfOffers, lowestPrices, buyBoxPrices, listPrice, competitivePriceThreshold, suggestedLowerPricePlusShipping, salesRankings, buyBoxEligibleOffers, offersAvailableTime);
    }
  
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class Summary {\n");
      
      sb.append("    totalOfferCount: ").append(toIndentedString(totalOfferCount)).append("\n");
      sb.append("    numberOfOffers: ").append(toIndentedString(numberOfOffers)).append("\n");
      sb.append("    lowestPrices: ").append(toIndentedString(lowestPrices)).append("\n");
      sb.append("    buyBoxPrices: ").append(toIndentedString(buyBoxPrices)).append("\n");
      sb.append("    listPrice: ").append(toIndentedString(listPrice)).append("\n");
      sb.append("    competitivePriceThreshold: ").append(toIndentedString(competitivePriceThreshold)).append("\n");
      sb.append("    suggestedLowerPricePlusShipping: ").append(toIndentedString(suggestedLowerPricePlusShipping)).append("\n");
      sb.append("    salesRankings: ").append(toIndentedString(salesRankings)).append("\n");
      sb.append("    buyBoxEligibleOffers: ").append(toIndentedString(buyBoxEligibleOffers)).append("\n");
      sb.append("    offersAvailableTime: ").append(toIndentedString(offersAvailableTime)).append("\n");
      sb.append("}");
      return sb.toString();
    }
  
    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
  }
  
  