package com.shopr.api.clickouts.api.v0.models; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import java.lang.Integer; import java.lang.String; import java.math.BigDecimal; import java.util.Date; import lombok.Data; import me.geso.tinyvalidator.constraints.NotNull; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/shopr/clickouts-api/0.0.1-dev/java_aws_lambda_pojo_client * * WARNING: not all features (notably unions) and data types work with the java generator yet. * Java POJO generator is designed to be used with AWS Lambdas. * If you are considering using this library, would like to request/discuss features, or would like to share how you're using it, please contact daniel.kirby@gilt.com * * Represents an Offer click-out. It contains all the information needed to properly identify the offer, trace it ot the user navigating from search page, and relevant information about the offer at the click-out moment (e.g.: price, lowest price among other offers, etc.) */ @Data @JsonIgnoreProperties( ignoreUnknown = true ) public class Clickout { @NotNull protected String productId; @NotNull protected String seller; @NotNull protected String sellerProductId; @NotNull protected BigDecimal price; @NotNull protected String deepUrl; @NotNull protected BigDecimal lowestPrice; @NotNull protected BigDecimal highestPrice; @NotNull protected Integer offerCount; @NotNull protected Integer offerPosition; @NotNull protected String categoryId; @NotNull protected Tracking tracking; @NotNull protected Date creationTime; public Clickout(String productId, String seller, String sellerProductId, BigDecimal price, String deepUrl, BigDecimal lowestPrice, BigDecimal highestPrice, Integer offerCount, Integer offerPosition, String categoryId, Tracking tracking, Date creationTime) { this.productId = productId; this.seller = seller; this.sellerProductId = sellerProductId; this.price = price; this.deepUrl = deepUrl; this.lowestPrice = lowestPrice; this.highestPrice = highestPrice; this.offerCount = offerCount; this.offerPosition = offerPosition; this.categoryId = categoryId; this.tracking = tracking; this.creationTime = creationTime; } public Clickout() { } /** * Product identifier */ public String getProductId() { return productId; } public void setProductId(String productId) { this.productId = productId; } /** * Seller/Retailer unique identifier */ public String getSeller() { return seller; } public void setSeller(String seller) { this.seller = seller; } /** * Product as identifier given by the seller/retailer */ public String getSellerProductId() { return sellerProductId; } public void setSellerProductId(String sellerProductId) { this.sellerProductId = sellerProductId; } /** * Offer price at the moment of the click-out */ public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } /** * Full product URL at the retailer side */ public String getDeepUrl() { return deepUrl; } public void setDeepUrl(String deepUrl) { this.deepUrl = deepUrl; } /** * Lowest price among all offers */ public BigDecimal getLowestPrice() { return lowestPrice; } public void setLowestPrice(BigDecimal lowestPrice) { this.lowestPrice = lowestPrice; } /** * Seller/Retailer unique identifier */ public BigDecimal getHighestPrice() { return highestPrice; } public void setHighestPrice(BigDecimal highestPrice) { this.highestPrice = highestPrice; } /** * Number of offers */ public Integer getOfferCount() { return offerCount; } public void setOfferCount(Integer offerCount) { this.offerCount = offerCount; } /** * Offer position among other offers (e.g.: first, second, etc.) */ public Integer getOfferPosition() { return offerPosition; } public void setOfferPosition(Integer offerPosition) { this.offerPosition = offerPosition; } /** * Category where the product was put into */ public String getCategoryId() { return categoryId; } public void setCategoryId(String categoryId) { this.categoryId = categoryId; } /** * Tracking information */ public Tracking getTracking() { return tracking; } public void setTracking(Tracking tracking) { this.tracking = tracking; } /** * When this click-out happened */ public Date getCreationTime() { return creationTime; } public void setCreationTime(Date creationTime) { this.creationTime = creationTime; } }