import { CommonDaypartTarget, DaypartTargetPercentage } from "./daypart.model"; import { MarketTarget } from "./grp-budget.model"; import { PrimeProgramsDayWise } from "./prime-time.model"; import { SportEvent } from "./sports.model"; import { CommonStationTarget, StationTarget } from "./station.model"; export interface AvailsPropertyFromBackend { MarketName: string; MarketDisplayName: string; StationName: string; Program: string; ProgramGenre: string; StartDate: string; EndDate: string; Days: string; Cpm: number; CpmAsDisplay: string; Cpp: number; CppAsDisplay: string; ProgramTimeData: string[]; Daypart: string; Length: string; BookedImps: number; BookedImpsAsDisplay: string; BookedRating: number; BookedRatingAsDisplay: string; BookedNormalizedImps: number; BookedNormalizedImpsAsDisplay: string; BookedNormalizedRating: number; BookedNormalizedRatingAsDisplay: string; Rate: number; RateAsDisplay: string; IsSelected: boolean; InvCodeId: number; InventoryCode: string; StationProgramId: string; AvailableWeeks: string[]; ProgramRepeatStatus: string; } export interface Avails extends AvailsPropertyFromBackend { formattedTime: string; startTime: string; endTime: string; startEndTime: string[]; startDate: string; endDate: string; [key: string]: any; } export interface GenerateAvailsPayload { PlanningDemo: string; PostingType: string; SpotDuration: string; FlightStartDate: string; FlightEndDate: string; MarketNames: string[]; StationTarget: CommonStationTarget[]; DaypartTarget: CommonDaypartTarget[]; SpecialProgramIds: string[]; SportEvents: SportEvent[]; PrimeProgramsDayWise: PrimeProgramsDayWise[]; IsOtherPrimeProgramsSelected: boolean; } export type DownloadButtonValue = "EntireAvails" | "ShortlistedAvails"; export interface DownloadSheetData { generatedBy: string; advertiser: string; agency: string; flightStartDate: string; flightEndDate: string; postingType: string; marketNames: string[]; stationNames: string[]; } export interface PayloadForDownloadAvails { GeneratedBy: string; AdvertiserName: string; AgencyName: string; FlightStartDate: string; FlightEndDate: string; PostingType: string; BookedDemo: string; Avails: AvailsPropertyFromBackend[]; Markets: string[]; Stations: string[]; } export interface PayloadForEmailAvails extends PayloadForDownloadAvails { BuyerContactName?: string; BuyerContactEmail?: string; BuyerContactPhone?: string; CampaignId: number; CampaignName: string; SpotDuration: string; ProductCode: string; BuyerEstimate: string; ProductDescription: string; LastSavedStep: string; LastUpdatedBy: string; CreatedByUserId: string; IsAvailsFinalized: boolean; AvailsGeneratedOn: string; MarketTarget: MarketTarget[]; StationTarget: StationTarget[]; DaypartTarget: DaypartTargetPercentage[]; SpecialProgramIds: string[]; SportEvents: SportEvent[]; PrimeProgramsDayWise: PrimeProgramsDayWise[]; IsOtherPrimeProgramsSelected: boolean; }