
package dev.sonpx.loyalty.mcp.reward.model;



import dev.sonpx.loyalty.mcp.enums.CounterBucket;
import dev.sonpx.loyalty.mcp.reward.enums.ExtractBlockedCard;
import dev.sonpx.loyalty.mcp.reward.enums.ExtractNoCounter;
import dev.sonpx.loyalty.mcp.reward.enums.PostTransactionUnderPa;
import dev.sonpx.loyalty.mcp.reward.enums.TriggerCampaignRule;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class CounterExtractRequest extends Fw {

    @NotNull
    private ReferenceData store;

    @NotNull
    private ReferenceData counterExtract;

    @NotNull
    public CounterBucket counterBucket;

    private String nParam;

//    @NotNull
    private TriggerCampaignRule triggerCampaignRule;

    @NotNull
    private ReferenceData transactionCode;

    private ReferenceData adjustTransactionCode;

    private ReferenceData adjustTransactionReason;

    @Size(max = 255)
    private String adjustTransactionDescription;

    private PostTransactionUnderPa postTransactionUnderPa;

    private ExtractBlockedCard includeAcctWithBlockedCard;

    private ExtractNoCounter includeAcctNoCounter;

    private Integer executeSequenceNumber;
}
