import { KeyValue } from "@annalib/anna-design-components-lib"; import { StationTarget } from "./station.model"; import { DaypartTargetPercentage } from "./daypart.model"; import { HiatusDate, MonthWiseTargetPercentage } from "./spot-dispersion.model"; import { MarketTarget } from "./grp-budget.model"; import { BusinessRulesForPayload } from "./business-rules.model"; import { Avails } from "./avails.model"; import { SportEvent } from "./sports.model"; import { PrimeProgramsDayWise } from "./prime-time.model"; import { EditableLineDetails } from "./review-model"; export interface SelectedDataPreview { heading: string; keyValues: KeyValue[]; } export interface PlanCampaignRequestPayload { CampaignName: string; RequestedByUserId: string; AdvertiserName: string; AgencyName: string; BuyerEstimate: string; SpotDuration: string; PostingType: string; BudgetTarget: number; PlanningDemo: string; MarketNames: string[]; StationTarget: StationTarget[]; FlightStartDate: string; FlightEndDate: string; HasSpecifiedDaypartPercentages: boolean; DaypartTarget: DaypartTargetPercentage[]; MonthWiseTargetPercentage: MonthWiseTargetPercentage[]; MarketTarget: MarketTarget[]; HiatusDates: HiatusDate[]; BusinessRules: BusinessRulesForPayload; ProductCode: string; ProductDescription: string; Avails: Avails[]; SpecialProgramIds: string[]; SportEvents: SportEvent[]; PrimeProgramsDayWise: PrimeProgramsDayWise[]; IsOtherPrimeProgramsSelected: boolean; AvailsGeneratedOn: string; LastUpdatedBy: string; TypicalGrp: number; CampaignId: number; } export interface SaveDraftPayload extends PlanCampaignRequestPayload { LineDetails: EditableLineDetails[]; LastSavedStep: string; IsCampaignFinalized: boolean; CreatedByUserId: string; CampaignType: "AVAILS" | "CAMPAIGN"; } export interface PlanCampaignHubResponse { CampaignId: number; Status: "ALLOCATION_FOUND" | "ALLOCATION_NOT_FOUND" | "ERROR"; } export type CampaignFlow = "Radiant" | "ManualPlanning" | "ExportAvails" | "Package" | "Avails";