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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import lombok.*;


@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RewardNotificationButton extends Fw {

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JsonPropertyDescription("Số thứ tự bản ghi rule")
    private Long ruleRecordNo;

    @JsonPropertyDescription("Mã định danh của rule")
    private String ruleId;

    @JsonPropertyDescription("Tham chiếu đến template Notification")
    private String messageId;

    @JsonPropertyDescription("Mã nội dung Notification")
    private String notificationContentId;

    @JsonPropertyDescription("Mã định danh của nút bấm")
    private String buttonId;

    @JsonPropertyDescription("Tên hiển thị của nút bấm")
    private String buttonName;

    @JsonPropertyDescription("Loại điều hướng của nút bấm")
    private ReferenceData buttonNavigationType;

    @JsonPropertyDescription("Đường dẫn liên kết điều hướng của nút bấm")
    private String buttonLink;

    @JsonPropertyDescription("Màn hình đích đến trên app của nút bấm")
    private ReferenceData buttonTargetScreen;

    @JsonPropertyDescription("Tham chiếu Pool điểm/quà của nút bấm")
    private ReferenceData buttonPoolId;

    @JsonPropertyDescription("Nhóm ưu đãi liên kết của nút bấm")
    private ReferenceData buttonOfferGroup;

    @JsonPropertyDescription("Danh mục liên kết của nút bấm")
    private ReferenceData buttonCategoryId;

    @JsonPropertyDescription("Mã chiến dịch liên kết của nút bấm")
    private ReferenceData buttonCampaignId;

    @JsonPropertyDescription("Mã sản phẩm/quà tặng của nút bấm")
    private ReferenceData buttonItemCode;

    @JsonPropertyDescription("Số tham chiếu của nút bấm")
    private ReferenceData buttonReferenceNo;

    @JsonPropertyDescription("Loại thông báo của nút bấm")
    private ReferenceData buttonNotificationType;
}
