001// Generated by delombok at Fri Dec 27 11:33:38 UTC 2024
002/*
003 * Copyright (c) 2010-2024 Mark Allen, Norbert Bartels.
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023package com.restfb.types.ads;
024
025import java.util.ArrayList;
026import java.util.Date;
027import java.util.List;
028import com.restfb.Facebook;
029
030/**
031 * Represents the
032 * <a href="https://developers.facebook.com/docs/marketing-api/reference/reach-frequency-prediction">Reach Frequency
033 * Prediction type</a>.
034 */
035public class ReachFrequencyPrediction extends NamedAdsObject {
036  /**
037   * The ID of the Ad Account this reach frequency prediction belongs to
038   */
039  @Facebook("account_id")
040  private Integer accountId;
041  /**
042   * The id of the campaign which this prediction belongs to
043   */
044  @Facebook("campaign_group_id")
045  private Integer campaignGroupId;
046  /**
047   * The ID of the ad set to which this reach frequency prediction is assigned
048   */
049  @Facebook("campaign_id")
050  private String campaignId;
051  /**
052   * Unix timestamp of the ad set start time
053   */
054  @Facebook("campaign_time_start")
055  private Date campaignTimeStart;
056  /**
057   * Unix timestamp of the ad set stop time
058   */
059  @Facebook("campaign_time_stop")
060  private Date campaignTimeStop;
061  /**
062   * The curve for budget and reach.
063   *
064   * It is a string in JSON format representing a JSON object with these fields.<br>
065   * <code>num_points</code>: the number of data points within the object.<br>
066   * <code></code>reach</code>: Data contained at corresponding indices of each array form a single data point. The
067   * "reach" values are presented in ascending order with the final value containing the maximum available reach.<br>
068   * <code>budget</code>: Data contained at corresponding indices of each array form a single data point. Cent of
069   * accounts currency.<br>
070   * <code>impression</code>: Data contained at corresponding indices of each array form a single data point. In video
071   * view buying, this is the number of view throughs (aka impression by conversion)raw_impression: Data contained at
072   * corresponding indices of each array form a single data point. In video view buying,impressions represents view
073   * throughs and raw_impressions representstotal number of views
074   */
075  @Facebook("curve_budget_reach")
076  private String curveBudgetReach;
077  /**
078   * Daily Impression field represents a vector of predicted daily impressions for every single day. Measured from
079   * midnight to midnight in the advertiser timezone during the campaign duration.
080   */
081  @Facebook("daily_impression_curve")
082  private List<Double> dailyImpressionCurve = new ArrayList<>();
083  /**
084   * The ID of the Page or the ID of the app which the ad promotes.
085   */
086  @Facebook("destination_id")
087  private String destinationId;
088  /**
089   * Unix timestamp of the expiration time of prediction, if applicable
090   */
091  @Facebook("expiration_time")
092  private Date expirationTime;
093  /**
094   * Predicted budget in cents for the ad set, relevant if prediction mode is 0
095   */
096  @Facebook("external_budget")
097  private Integer externalBudget;
098  /**
099   * Predicted impressions for the ad set
100   */
101  @Facebook("external_impression")
102  private Long externalImpression;
103  /**
104   * Maximum budget given the target, in cents
105   */
106  @Facebook("external_maximum_budget")
107  private Long externalMaximumBudget;
108  /**
109   * Maximum number of impressions given the target
110   */
111  @Facebook("external_maximum_impression")
112  private String externalMaximumImpression;
113  /**
114   * Maximum reach given the target
115   */
116  @Facebook("external_maximum_reach")
117  private Long externalMaximumReach;
118  /**
119   * Minimum budget given the target, in cents
120   */
121  @Facebook("external_minimum_budget")
122  private Long externalMinimumBudget;
123  /**
124   * Minimum impressions given the target
125   */
126  @Facebook("external_minimum_impression")
127  private Long externalMinimumImpression;
128  /**
129   * Minimum reach given the target
130   */
131  @Facebook("external_minimum_reach")
132  private Long externalMinimumReach;
133  /**
134   * Predicted reach for the ad set, relevant if prediction mode is 1
135   */
136  @Facebook("external_reach")
137  private Long externalReach;
138  /**
139   * Lifetime frequency cap per user, always relevant, 0 means no frequncy cap
140   */
141  @Facebook("frequency_cap")
142  private Long frequencyCap;
143  /**
144   * GRP: Audience size within DMAs based on Nielsen definition
145   */
146  @Facebook("grp_dmas_audience_size")
147  private Double grpDmasAudienceSize;
148  /**
149   * Percent of users in holdout
150   */
151  @Facebook("holdout_percentage")
152  private Long holdoutPercentage;
153  /**
154   * The Instagram account id if instagramstream placement is used, except in the case of Mobile App Installs ads.
155   */
156  @Facebook("instagram_destination_id")
157  private String instagramDestinationId;
158  /**
159   * Interval frequency cap which is set for a custom period
160   */
161  @Facebook("interval_frequency_cap")
162  private Long intervalFrequencyCap;
163  /**
164   * Custom reset period (hours) for interval frequency cap
165   */
166  @Facebook("interval_frequency_cap_reset_period")
167  private Long intervalFrequencyCapResetPeriod;
168  /**
169   * A list of time periods the associated campaign has been paused.
170   */
171  @Facebook("pause_periods")
172  private String pausePeriods;
173  /**
174   * Predicted impression distribution on different placements, including:
175   *
176   * <code>msite</code>: Facebook mobile sites<br>
177   * <code>android</code>: Facebook android<br>
178   * <code>ios</code>: Facebook ios<br>
179   * <code>desktop</code>: Facebook desktop news feed and right hand column<br>
180   * <code>ig_android</code>: Instagram android<br>
181   * <code>ig_ios</code>: Instagram ios<br>
182   * <code>ig_others</code>: Other Instagram placements
183   *
184   * ## ReachFrequencyEstimatesPlacementBreakdown
185   */
186  @Facebook("placement_breakdown")
187  private String placementBreakdown;
188  /**
189   * The prediction mode,
190   *
191   * <code>0</code> = given reach, predict budget,<br>
192   * <code>1</code> = given budget, predict reach
193   */
194  @Facebook("prediction_mode")
195  private Long predictionMode;
196  /**
197   * Represents percentage value indicating the prediction progress (values 0-100). When 100 check status to indicate
198   * whether the prediction was successful.
199   */
200  @Facebook("prediction_progress")
201  private Long predictionProgress;
202  /**
203   * Reservation status.
204   *
205   * <code>0</code> = Cancelled prediction,<br>
206   * <code>1</code> = Reserved prediction,<br>
207   * <code>2</code> = Prediction has been attached to a campaign
208   */
209  @Facebook("reservation_status")
210  private Long reservationStatus;
211  /**
212   * Represents the status of the prediction, refer to Response Status
213   */
214  @Facebook
215  private Long status;
216  /**
217   * Used to indicated the prediction is for video ads or not. If it is for video, the prediction will not include
218   * devices that cannot play video
219   */
220  @Facebook("story_event_type")
221  private Long storyEventType;
222  /**
223   * Unique 30-day active users for given targetting specs. Used as tip to indicate the maximum possible audience size
224   * if campaign length is increased
225   */
226  @Facebook("target_audience_size")
227  private Long targetAudienceSize;
228  /**
229   * A string in JSON format representing the targeting specs specified on creation.
230   */
231  @Facebook("target_spec")
232  private Targeting targetSpec;
233  /**
234   * The time when this reach frequency prediction was created
235   */
236  @Facebook("time_created")
237  private Date timeCreated;
238  /**
239   * Unix timestamp when the row is updated
240   */
241  @Facebook("time_updated")
242  private Date timeUpdated;
243
244  /**
245   * The ID of the Ad Account this reach frequency prediction belongs to
246   */
247  @java.lang.SuppressWarnings("all")
248  public Integer getAccountId() {
249    return this.accountId;
250  }
251
252  /**
253   * The ID of the Ad Account this reach frequency prediction belongs to
254   */
255  @java.lang.SuppressWarnings("all")
256  public void setAccountId(final Integer accountId) {
257    this.accountId = accountId;
258  }
259
260  /**
261   * The id of the campaign which this prediction belongs to
262   */
263  @java.lang.SuppressWarnings("all")
264  public Integer getCampaignGroupId() {
265    return this.campaignGroupId;
266  }
267
268  /**
269   * The id of the campaign which this prediction belongs to
270   */
271  @java.lang.SuppressWarnings("all")
272  public void setCampaignGroupId(final Integer campaignGroupId) {
273    this.campaignGroupId = campaignGroupId;
274  }
275
276  /**
277   * The ID of the ad set to which this reach frequency prediction is assigned
278   */
279  @java.lang.SuppressWarnings("all")
280  public String getCampaignId() {
281    return this.campaignId;
282  }
283
284  /**
285   * The ID of the ad set to which this reach frequency prediction is assigned
286   */
287  @java.lang.SuppressWarnings("all")
288  public void setCampaignId(final String campaignId) {
289    this.campaignId = campaignId;
290  }
291
292  /**
293   * Unix timestamp of the ad set start time
294   */
295  @java.lang.SuppressWarnings("all")
296  public Date getCampaignTimeStart() {
297    return this.campaignTimeStart;
298  }
299
300  /**
301   * Unix timestamp of the ad set start time
302   */
303  @java.lang.SuppressWarnings("all")
304  public void setCampaignTimeStart(final Date campaignTimeStart) {
305    this.campaignTimeStart = campaignTimeStart;
306  }
307
308  /**
309   * Unix timestamp of the ad set stop time
310   */
311  @java.lang.SuppressWarnings("all")
312  public Date getCampaignTimeStop() {
313    return this.campaignTimeStop;
314  }
315
316  /**
317   * Unix timestamp of the ad set stop time
318   */
319  @java.lang.SuppressWarnings("all")
320  public void setCampaignTimeStop(final Date campaignTimeStop) {
321    this.campaignTimeStop = campaignTimeStop;
322  }
323
324  /**
325   * The curve for budget and reach.
326   *
327   * It is a string in JSON format representing a JSON object with these fields.<br>
328   * <code>num_points</code>: the number of data points within the object.<br>
329   * <code></code>reach</code>: Data contained at corresponding indices of each array form a single data point. The
330   * "reach" values are presented in ascending order with the final value containing the maximum available reach.<br>
331   * <code>budget</code>: Data contained at corresponding indices of each array form a single data point. Cent of
332   * accounts currency.<br>
333   * <code>impression</code>: Data contained at corresponding indices of each array form a single data point. In video
334   * view buying, this is the number of view throughs (aka impression by conversion)raw_impression: Data contained at
335   * corresponding indices of each array form a single data point. In video view buying,impressions represents view
336   * throughs and raw_impressions representstotal number of views
337   */
338  @java.lang.SuppressWarnings("all")
339  public String getCurveBudgetReach() {
340    return this.curveBudgetReach;
341  }
342
343  /**
344   * The curve for budget and reach.
345   *
346   * It is a string in JSON format representing a JSON object with these fields.<br>
347   * <code>num_points</code>: the number of data points within the object.<br>
348   * <code></code>reach</code>: Data contained at corresponding indices of each array form a single data point. The
349   * "reach" values are presented in ascending order with the final value containing the maximum available reach.<br>
350   * <code>budget</code>: Data contained at corresponding indices of each array form a single data point. Cent of
351   * accounts currency.<br>
352   * <code>impression</code>: Data contained at corresponding indices of each array form a single data point. In video
353   * view buying, this is the number of view throughs (aka impression by conversion)raw_impression: Data contained at
354   * corresponding indices of each array form a single data point. In video view buying,impressions represents view
355   * throughs and raw_impressions representstotal number of views
356   */
357  @java.lang.SuppressWarnings("all")
358  public void setCurveBudgetReach(final String curveBudgetReach) {
359    this.curveBudgetReach = curveBudgetReach;
360  }
361
362  /**
363   * Daily Impression field represents a vector of predicted daily impressions for every single day. Measured from
364   * midnight to midnight in the advertiser timezone during the campaign duration.
365   */
366  @java.lang.SuppressWarnings("all")
367  public List<Double> getDailyImpressionCurve() {
368    return this.dailyImpressionCurve;
369  }
370
371  /**
372   * Daily Impression field represents a vector of predicted daily impressions for every single day. Measured from
373   * midnight to midnight in the advertiser timezone during the campaign duration.
374   */
375  @java.lang.SuppressWarnings("all")
376  public void setDailyImpressionCurve(final List<Double> dailyImpressionCurve) {
377    this.dailyImpressionCurve = dailyImpressionCurve;
378  }
379
380  /**
381   * The ID of the Page or the ID of the app which the ad promotes.
382   */
383  @java.lang.SuppressWarnings("all")
384  public String getDestinationId() {
385    return this.destinationId;
386  }
387
388  /**
389   * The ID of the Page or the ID of the app which the ad promotes.
390   */
391  @java.lang.SuppressWarnings("all")
392  public void setDestinationId(final String destinationId) {
393    this.destinationId = destinationId;
394  }
395
396  /**
397   * Unix timestamp of the expiration time of prediction, if applicable
398   */
399  @java.lang.SuppressWarnings("all")
400  public Date getExpirationTime() {
401    return this.expirationTime;
402  }
403
404  /**
405   * Unix timestamp of the expiration time of prediction, if applicable
406   */
407  @java.lang.SuppressWarnings("all")
408  public void setExpirationTime(final Date expirationTime) {
409    this.expirationTime = expirationTime;
410  }
411
412  /**
413   * Predicted budget in cents for the ad set, relevant if prediction mode is 0
414   */
415  @java.lang.SuppressWarnings("all")
416  public Integer getExternalBudget() {
417    return this.externalBudget;
418  }
419
420  /**
421   * Predicted budget in cents for the ad set, relevant if prediction mode is 0
422   */
423  @java.lang.SuppressWarnings("all")
424  public void setExternalBudget(final Integer externalBudget) {
425    this.externalBudget = externalBudget;
426  }
427
428  /**
429   * Predicted impressions for the ad set
430   */
431  @java.lang.SuppressWarnings("all")
432  public Long getExternalImpression() {
433    return this.externalImpression;
434  }
435
436  /**
437   * Predicted impressions for the ad set
438   */
439  @java.lang.SuppressWarnings("all")
440  public void setExternalImpression(final Long externalImpression) {
441    this.externalImpression = externalImpression;
442  }
443
444  /**
445   * Maximum budget given the target, in cents
446   */
447  @java.lang.SuppressWarnings("all")
448  public Long getExternalMaximumBudget() {
449    return this.externalMaximumBudget;
450  }
451
452  /**
453   * Maximum budget given the target, in cents
454   */
455  @java.lang.SuppressWarnings("all")
456  public void setExternalMaximumBudget(final Long externalMaximumBudget) {
457    this.externalMaximumBudget = externalMaximumBudget;
458  }
459
460  /**
461   * Maximum number of impressions given the target
462   */
463  @java.lang.SuppressWarnings("all")
464  public String getExternalMaximumImpression() {
465    return this.externalMaximumImpression;
466  }
467
468  /**
469   * Maximum number of impressions given the target
470   */
471  @java.lang.SuppressWarnings("all")
472  public void setExternalMaximumImpression(final String externalMaximumImpression) {
473    this.externalMaximumImpression = externalMaximumImpression;
474  }
475
476  /**
477   * Maximum reach given the target
478   */
479  @java.lang.SuppressWarnings("all")
480  public Long getExternalMaximumReach() {
481    return this.externalMaximumReach;
482  }
483
484  /**
485   * Maximum reach given the target
486   */
487  @java.lang.SuppressWarnings("all")
488  public void setExternalMaximumReach(final Long externalMaximumReach) {
489    this.externalMaximumReach = externalMaximumReach;
490  }
491
492  /**
493   * Minimum budget given the target, in cents
494   */
495  @java.lang.SuppressWarnings("all")
496  public Long getExternalMinimumBudget() {
497    return this.externalMinimumBudget;
498  }
499
500  /**
501   * Minimum budget given the target, in cents
502   */
503  @java.lang.SuppressWarnings("all")
504  public void setExternalMinimumBudget(final Long externalMinimumBudget) {
505    this.externalMinimumBudget = externalMinimumBudget;
506  }
507
508  /**
509   * Minimum impressions given the target
510   */
511  @java.lang.SuppressWarnings("all")
512  public Long getExternalMinimumImpression() {
513    return this.externalMinimumImpression;
514  }
515
516  /**
517   * Minimum impressions given the target
518   */
519  @java.lang.SuppressWarnings("all")
520  public void setExternalMinimumImpression(final Long externalMinimumImpression) {
521    this.externalMinimumImpression = externalMinimumImpression;
522  }
523
524  /**
525   * Minimum reach given the target
526   */
527  @java.lang.SuppressWarnings("all")
528  public Long getExternalMinimumReach() {
529    return this.externalMinimumReach;
530  }
531
532  /**
533   * Minimum reach given the target
534   */
535  @java.lang.SuppressWarnings("all")
536  public void setExternalMinimumReach(final Long externalMinimumReach) {
537    this.externalMinimumReach = externalMinimumReach;
538  }
539
540  /**
541   * Predicted reach for the ad set, relevant if prediction mode is 1
542   */
543  @java.lang.SuppressWarnings("all")
544  public Long getExternalReach() {
545    return this.externalReach;
546  }
547
548  /**
549   * Predicted reach for the ad set, relevant if prediction mode is 1
550   */
551  @java.lang.SuppressWarnings("all")
552  public void setExternalReach(final Long externalReach) {
553    this.externalReach = externalReach;
554  }
555
556  /**
557   * Lifetime frequency cap per user, always relevant, 0 means no frequncy cap
558   */
559  @java.lang.SuppressWarnings("all")
560  public Long getFrequencyCap() {
561    return this.frequencyCap;
562  }
563
564  /**
565   * Lifetime frequency cap per user, always relevant, 0 means no frequncy cap
566   */
567  @java.lang.SuppressWarnings("all")
568  public void setFrequencyCap(final Long frequencyCap) {
569    this.frequencyCap = frequencyCap;
570  }
571
572  /**
573   * GRP: Audience size within DMAs based on Nielsen definition
574   */
575  @java.lang.SuppressWarnings("all")
576  public Double getGrpDmasAudienceSize() {
577    return this.grpDmasAudienceSize;
578  }
579
580  /**
581   * GRP: Audience size within DMAs based on Nielsen definition
582   */
583  @java.lang.SuppressWarnings("all")
584  public void setGrpDmasAudienceSize(final Double grpDmasAudienceSize) {
585    this.grpDmasAudienceSize = grpDmasAudienceSize;
586  }
587
588  /**
589   * Percent of users in holdout
590   */
591  @java.lang.SuppressWarnings("all")
592  public Long getHoldoutPercentage() {
593    return this.holdoutPercentage;
594  }
595
596  /**
597   * Percent of users in holdout
598   */
599  @java.lang.SuppressWarnings("all")
600  public void setHoldoutPercentage(final Long holdoutPercentage) {
601    this.holdoutPercentage = holdoutPercentage;
602  }
603
604  /**
605   * The Instagram account id if instagramstream placement is used, except in the case of Mobile App Installs ads.
606   */
607  @java.lang.SuppressWarnings("all")
608  public String getInstagramDestinationId() {
609    return this.instagramDestinationId;
610  }
611
612  /**
613   * The Instagram account id if instagramstream placement is used, except in the case of Mobile App Installs ads.
614   */
615  @java.lang.SuppressWarnings("all")
616  public void setInstagramDestinationId(final String instagramDestinationId) {
617    this.instagramDestinationId = instagramDestinationId;
618  }
619
620  /**
621   * Interval frequency cap which is set for a custom period
622   */
623  @java.lang.SuppressWarnings("all")
624  public Long getIntervalFrequencyCap() {
625    return this.intervalFrequencyCap;
626  }
627
628  /**
629   * Interval frequency cap which is set for a custom period
630   */
631  @java.lang.SuppressWarnings("all")
632  public void setIntervalFrequencyCap(final Long intervalFrequencyCap) {
633    this.intervalFrequencyCap = intervalFrequencyCap;
634  }
635
636  /**
637   * Custom reset period (hours) for interval frequency cap
638   */
639  @java.lang.SuppressWarnings("all")
640  public Long getIntervalFrequencyCapResetPeriod() {
641    return this.intervalFrequencyCapResetPeriod;
642  }
643
644  /**
645   * Custom reset period (hours) for interval frequency cap
646   */
647  @java.lang.SuppressWarnings("all")
648  public void setIntervalFrequencyCapResetPeriod(final Long intervalFrequencyCapResetPeriod) {
649    this.intervalFrequencyCapResetPeriod = intervalFrequencyCapResetPeriod;
650  }
651
652  /**
653   * A list of time periods the associated campaign has been paused.
654   */
655  @java.lang.SuppressWarnings("all")
656  public String getPausePeriods() {
657    return this.pausePeriods;
658  }
659
660  /**
661   * A list of time periods the associated campaign has been paused.
662   */
663  @java.lang.SuppressWarnings("all")
664  public void setPausePeriods(final String pausePeriods) {
665    this.pausePeriods = pausePeriods;
666  }
667
668  /**
669   * Predicted impression distribution on different placements, including:
670   *
671   * <code>msite</code>: Facebook mobile sites<br>
672   * <code>android</code>: Facebook android<br>
673   * <code>ios</code>: Facebook ios<br>
674   * <code>desktop</code>: Facebook desktop news feed and right hand column<br>
675   * <code>ig_android</code>: Instagram android<br>
676   * <code>ig_ios</code>: Instagram ios<br>
677   * <code>ig_others</code>: Other Instagram placements
678   *
679   * ## ReachFrequencyEstimatesPlacementBreakdown
680   */
681  @java.lang.SuppressWarnings("all")
682  public String getPlacementBreakdown() {
683    return this.placementBreakdown;
684  }
685
686  /**
687   * Predicted impression distribution on different placements, including:
688   *
689   * <code>msite</code>: Facebook mobile sites<br>
690   * <code>android</code>: Facebook android<br>
691   * <code>ios</code>: Facebook ios<br>
692   * <code>desktop</code>: Facebook desktop news feed and right hand column<br>
693   * <code>ig_android</code>: Instagram android<br>
694   * <code>ig_ios</code>: Instagram ios<br>
695   * <code>ig_others</code>: Other Instagram placements
696   *
697   * ## ReachFrequencyEstimatesPlacementBreakdown
698   */
699  @java.lang.SuppressWarnings("all")
700  public void setPlacementBreakdown(final String placementBreakdown) {
701    this.placementBreakdown = placementBreakdown;
702  }
703
704  /**
705   * The prediction mode,
706   *
707   * <code>0</code> = given reach, predict budget,<br>
708   * <code>1</code> = given budget, predict reach
709   */
710  @java.lang.SuppressWarnings("all")
711  public Long getPredictionMode() {
712    return this.predictionMode;
713  }
714
715  /**
716   * The prediction mode,
717   *
718   * <code>0</code> = given reach, predict budget,<br>
719   * <code>1</code> = given budget, predict reach
720   */
721  @java.lang.SuppressWarnings("all")
722  public void setPredictionMode(final Long predictionMode) {
723    this.predictionMode = predictionMode;
724  }
725
726  /**
727   * Represents percentage value indicating the prediction progress (values 0-100). When 100 check status to indicate
728   * whether the prediction was successful.
729   */
730  @java.lang.SuppressWarnings("all")
731  public Long getPredictionProgress() {
732    return this.predictionProgress;
733  }
734
735  /**
736   * Represents percentage value indicating the prediction progress (values 0-100). When 100 check status to indicate
737   * whether the prediction was successful.
738   */
739  @java.lang.SuppressWarnings("all")
740  public void setPredictionProgress(final Long predictionProgress) {
741    this.predictionProgress = predictionProgress;
742  }
743
744  /**
745   * Reservation status.
746   *
747   * <code>0</code> = Cancelled prediction,<br>
748   * <code>1</code> = Reserved prediction,<br>
749   * <code>2</code> = Prediction has been attached to a campaign
750   */
751  @java.lang.SuppressWarnings("all")
752  public Long getReservationStatus() {
753    return this.reservationStatus;
754  }
755
756  /**
757   * Reservation status.
758   *
759   * <code>0</code> = Cancelled prediction,<br>
760   * <code>1</code> = Reserved prediction,<br>
761   * <code>2</code> = Prediction has been attached to a campaign
762   */
763  @java.lang.SuppressWarnings("all")
764  public void setReservationStatus(final Long reservationStatus) {
765    this.reservationStatus = reservationStatus;
766  }
767
768  /**
769   * Represents the status of the prediction, refer to Response Status
770   */
771  @java.lang.SuppressWarnings("all")
772  public Long getStatus() {
773    return this.status;
774  }
775
776  /**
777   * Represents the status of the prediction, refer to Response Status
778   */
779  @java.lang.SuppressWarnings("all")
780  public void setStatus(final Long status) {
781    this.status = status;
782  }
783
784  /**
785   * Used to indicated the prediction is for video ads or not. If it is for video, the prediction will not include
786   * devices that cannot play video
787   */
788  @java.lang.SuppressWarnings("all")
789  public Long getStoryEventType() {
790    return this.storyEventType;
791  }
792
793  /**
794   * Used to indicated the prediction is for video ads or not. If it is for video, the prediction will not include
795   * devices that cannot play video
796   */
797  @java.lang.SuppressWarnings("all")
798  public void setStoryEventType(final Long storyEventType) {
799    this.storyEventType = storyEventType;
800  }
801
802  /**
803   * Unique 30-day active users for given targetting specs. Used as tip to indicate the maximum possible audience size
804   * if campaign length is increased
805   */
806  @java.lang.SuppressWarnings("all")
807  public Long getTargetAudienceSize() {
808    return this.targetAudienceSize;
809  }
810
811  /**
812   * Unique 30-day active users for given targetting specs. Used as tip to indicate the maximum possible audience size
813   * if campaign length is increased
814   */
815  @java.lang.SuppressWarnings("all")
816  public void setTargetAudienceSize(final Long targetAudienceSize) {
817    this.targetAudienceSize = targetAudienceSize;
818  }
819
820  /**
821   * A string in JSON format representing the targeting specs specified on creation.
822   */
823  @java.lang.SuppressWarnings("all")
824  public Targeting getTargetSpec() {
825    return this.targetSpec;
826  }
827
828  /**
829   * A string in JSON format representing the targeting specs specified on creation.
830   */
831  @java.lang.SuppressWarnings("all")
832  public void setTargetSpec(final Targeting targetSpec) {
833    this.targetSpec = targetSpec;
834  }
835
836  /**
837   * The time when this reach frequency prediction was created
838   */
839  @java.lang.SuppressWarnings("all")
840  public Date getTimeCreated() {
841    return this.timeCreated;
842  }
843
844  /**
845   * The time when this reach frequency prediction was created
846   */
847  @java.lang.SuppressWarnings("all")
848  public void setTimeCreated(final Date timeCreated) {
849    this.timeCreated = timeCreated;
850  }
851
852  /**
853   * Unix timestamp when the row is updated
854   */
855  @java.lang.SuppressWarnings("all")
856  public Date getTimeUpdated() {
857    return this.timeUpdated;
858  }
859
860  /**
861   * Unix timestamp when the row is updated
862   */
863  @java.lang.SuppressWarnings("all")
864  public void setTimeUpdated(final Date timeUpdated) {
865    this.timeUpdated = timeUpdated;
866  }
867}