All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.electrum.giftcard.api.model.RedemptionRequest Maven / Gradle / Ivy

There is a newer version: 3.13.0
Show newest version
package io.electrum.giftcard.api.model;

import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonProperty;

import io.electrum.vas.Utils;
import io.electrum.vas.model.Transaction;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * Information about the redemption being made on the gift card.
 */
@ApiModel(description = "Information about the redemption being made on the gift card.")
public class RedemptionRequest extends Transaction {

   private GiftcardAmounts amounts = null;
   private Card card = null;
   private PosInfo posInfo = null;
   private Product product = null;
   private Basket basket = null;

   public RedemptionRequest amounts(GiftcardAmounts amounts) {
      this.amounts = amounts;
      return this;
   }

   /**
    * Specifies the amount which the gift card is being redeemed against.
    * 
    * @return amounts
    **/
   @ApiModelProperty(required = true, value = "Specifies the amount which the gift card is being redeemed against.")
   @JsonProperty("amounts")
   @NotNull
   public GiftcardAmounts getAmounts() {
      return amounts;
   }

   public void setAmounts(GiftcardAmounts amounts) {
      this.amounts = amounts;
   }

   public RedemptionRequest card(Card card) {
      this.card = card;
      return this;
   }

   /**
    * Information about the gift card being used for redemption.
    * 
    * @return card
    **/
   @ApiModelProperty(required = true, value = "Information about the gift card being used for redemption.")
   @JsonProperty("card")
   @NotNull
   public Card getCard() {
      return card;
   }

   public void setCard(Card card) {
      this.card = card;
   }

   public RedemptionRequest posInfo(PosInfo posInfo) {
      this.posInfo = posInfo;
      return this;
   }

   /**
    * Information about the POS.
    * 
    * @return posInfo
    **/
   @ApiModelProperty(value = "Information about the POS.")
   @JsonProperty("posInfo")
   public PosInfo getPosInfo() {
      return posInfo;
   }

   public void setPosInfo(PosInfo posInfo) {
      this.posInfo = posInfo;
   }

   public RedemptionRequest product(Product product) {
      this.product = product;
      return this;
   }

   /**
    * Information about the gift card product being used for redemption.
    * 
    * @return product
    **/
   @ApiModelProperty(value = "Information about the gift card product being used for redemption.")
   @JsonProperty("product")
   public Product getProduct() {
      return product;
   }

   public void setProduct(Product product) {
      this.product = product;
   }

   public RedemptionRequest basket(Basket basket) {
      this.basket = basket;
      return this;
   }

   /**
    * The collection of products for which the gift card is being redeemed.
    * 
    * @return basket
    **/
   @ApiModelProperty(value = "The collection of products for which the gift card is being redeemed.")
   @JsonProperty("basket")
   public Basket getBasket() {
      return basket;
   }

   public void setBasket(Basket basket) {
      this.basket = basket;
   }

   @Override
   public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class RedemptionRequest {\n");

      sb.append("    id: ").append(Utils.toIndentedString(id)).append("\n");
      sb.append("    time: ").append(Utils.toIndentedString(time)).append("\n");
      sb.append("    originator: ").append(Utils.toIndentedString(originator)).append("\n");
      sb.append("    client: ").append(Utils.toIndentedString(client)).append("\n");
      sb.append("    settlementEntity: ").append(Utils.toIndentedString(settlementEntity)).append("\n");
      sb.append("    receiver: ").append(Utils.toIndentedString(receiver)).append("\n");
      sb.append("    thirdPartyIdentifiers: ").append(Utils.toIndentedString(thirdPartyIdentifiers)).append("\n");
      sb.append("    amounts: ").append(Utils.toIndentedString(amounts)).append("\n");
      sb.append("    card: ").append(Utils.toIndentedString(card)).append("\n");
      sb.append("    posInfo: ").append(Utils.toIndentedString(posInfo)).append("\n");
      sb.append("    product: ").append(Utils.toIndentedString(product)).append("\n");
      sb.append("    basket: ").append(Utils.toIndentedString(basket)).append("\n");
      sb.append("}");
      return sb.toString();
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy