package kz.konturai.parser.dto.targeting;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class TargetingRecommendationDto {

    private String recommendedType;
    private String recommendedTypeLabel;
    private String typeRationale;

    private String campaignObjective;
    private String campaignObjectiveLabel;
    private String campaignObjectiveRationale;

    private AudienceProfileDto audienceProfile;

    private List<String> recommendedPlatforms;
    private List<String> recommendedAdFormats;
    private List<String> recommendedPlacements;

    private TargetingBudgetDto budgetRecommendation;
    private List<TargetingPhaseDto> phases;

    private String estimatedCtr;
    private String estimatedCpl;
    private String estimatedReach;
    private String estimatedFrequency;
    private String estimatedConversions;

    private List<String> questionnaireSignals;

    private String competitiveContext;
    private String ciiLevel;
    private String differentiationAdvice;

    private List<String> quickWins;
    private List<String> warnings;

    private PixelCheckDto pixelHealth;
    private FunnelStrategyDto funnelStrategy;
    private HypothesisMatrixDto hypothesisMatrix;
    private LandingPageAuditDto lpAudit;
    private List<TargetingOrchestrationDto.AutomationRuleDto> suggestedRules;
    private ScalingPlanDto scalingPlan;
    private RiskAnalysisDto risks;

    private List<String> contentMix;
    private String postingFrequency;
    private List<String> bestPostingTimes;

    private String primaryCta;
    private String funnelStage;
    private String conversionMechanism;
}
