package net.buycraft.plugin.data;
import com.google.gson.annotations.SerializedName;
import lombok.Builder;
import lombok.Value;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Value
@Builder
public class Coupon {
private final int id;
private final String code;
private final Effective effective;
private final Discount discount;
private final Expire expire;
@SerializedName("basket_type")
private final String basketType;
@SerializedName("start_date")
private final Date startDate;
@SerializedName("user_limit")
private final int userLimit;
private final BigDecimal minimum;
@Value
public static class Effective {
private final String type;
private final List<Integer> packages;
private final List<Integer> categories;
}
@Value
public static class Discount {
private final String type;
private final BigDecimal percentage;
private final BigDecimal value;
}
@Value
public static class Expire {
private final String type;
private final int limit;
private final Date date;
}
}