001// Generated by delombok at Thu Aug 13 13:56:43 UTC 2026
002/*
003 * Copyright (c) 2010-2026 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  @lombok.Generated
249  public Integer getAccountId() {
250    return this.accountId;
251  }
252
253  /**
254   * The ID of the Ad Account this reach frequency prediction belongs to
255   */
256  @java.lang.SuppressWarnings("all")
257  @lombok.Generated
258  public void setAccountId(final Integer accountId) {
259    this.accountId = accountId;
260  }
261
262  /**
263   * The id of the campaign which this prediction belongs to
264   */
265  @java.lang.SuppressWarnings("all")
266  @lombok.Generated
267  public Integer getCampaignGroupId() {
268    return this.campaignGroupId;
269  }
270
271  /**
272   * The id of the campaign which this prediction belongs to
273   */
274  @java.lang.SuppressWarnings("all")
275  @lombok.Generated
276  public void setCampaignGroupId(final Integer campaignGroupId) {
277    this.campaignGroupId = campaignGroupId;
278  }
279
280  /**
281   * The ID of the ad set to which this reach frequency prediction is assigned
282   */
283  @java.lang.SuppressWarnings("all")
284  @lombok.Generated
285  public String getCampaignId() {
286    return this.campaignId;
287  }
288
289  /**
290   * The ID of the ad set to which this reach frequency prediction is assigned
291   */
292  @java.lang.SuppressWarnings("all")
293  @lombok.Generated
294  public void setCampaignId(final String campaignId) {
295    this.campaignId = campaignId;
296  }
297
298  /**
299   * Unix timestamp of the ad set start time
300   */
301  @java.lang.SuppressWarnings("all")
302  @lombok.Generated
303  public Date getCampaignTimeStart() {
304    return this.campaignTimeStart;
305  }
306
307  /**
308   * Unix timestamp of the ad set start time
309   */
310  @java.lang.SuppressWarnings("all")
311  @lombok.Generated
312  public void setCampaignTimeStart(final Date campaignTimeStart) {
313    this.campaignTimeStart = campaignTimeStart;
314  }
315
316  /**
317   * Unix timestamp of the ad set stop time
318   */
319  @java.lang.SuppressWarnings("all")
320  @lombok.Generated
321  public Date getCampaignTimeStop() {
322    return this.campaignTimeStop;
323  }
324
325  /**
326   * Unix timestamp of the ad set stop time
327   */
328  @java.lang.SuppressWarnings("all")
329  @lombok.Generated
330  public void setCampaignTimeStop(final Date campaignTimeStop) {
331    this.campaignTimeStop = campaignTimeStop;
332  }
333
334  /**
335   * The curve for budget and reach.
336   *
337   * It is a string in JSON format representing a JSON object with these fields.<br>
338   * <code>num_points</code>: the number of data points within the object.<br>
339   * <code></code>reach</code>: Data contained at corresponding indices of each array form a single data point. The
340   * "reach" values are presented in ascending order with the final value containing the maximum available reach.<br>
341   * <code>budget</code>: Data contained at corresponding indices of each array form a single data point. Cent of
342   * accounts currency.<br>
343   * <code>impression</code>: Data contained at corresponding indices of each array form a single data point. In video
344   * view buying, this is the number of view throughs (aka impression by conversion)raw_impression: Data contained at
345   * corresponding indices of each array form a single data point. In video view buying,impressions represents view
346   * throughs and raw_impressions representstotal number of views
347   */
348  @java.lang.SuppressWarnings("all")
349  @lombok.Generated
350  public String getCurveBudgetReach() {
351    return this.curveBudgetReach;
352  }
353
354  /**
355   * The curve for budget and reach.
356   *
357   * It is a string in JSON format representing a JSON object with these fields.<br>
358   * <code>num_points</code>: the number of data points within the object.<br>
359   * <code></code>reach</code>: Data contained at corresponding indices of each array form a single data point. The
360   * "reach" values are presented in ascending order with the final value containing the maximum available reach.<br>
361   * <code>budget</code>: Data contained at corresponding indices of each array form a single data point. Cent of
362   * accounts currency.<br>
363   * <code>impression</code>: Data contained at corresponding indices of each array form a single data point. In video
364   * view buying, this is the number of view throughs (aka impression by conversion)raw_impression: Data contained at
365   * corresponding indices of each array form a single data point. In video view buying,impressions represents view
366   * throughs and raw_impressions representstotal number of views
367   */
368  @java.lang.SuppressWarnings("all")
369  @lombok.Generated
370  public void setCurveBudgetReach(final String curveBudgetReach) {
371    this.curveBudgetReach = curveBudgetReach;
372  }
373
374  /**
375   * Daily Impression field represents a vector of predicted daily impressions for every single day. Measured from
376   * midnight to midnight in the advertiser timezone during the campaign duration.
377   */
378  @java.lang.SuppressWarnings("all")
379  @lombok.Generated
380  public List<Double> getDailyImpressionCurve() {
381    return this.dailyImpressionCurve;
382  }
383
384  /**
385   * Daily Impression field represents a vector of predicted daily impressions for every single day. Measured from
386   * midnight to midnight in the advertiser timezone during the campaign duration.
387   */
388  @java.lang.SuppressWarnings("all")
389  @lombok.Generated
390  public void setDailyImpressionCurve(final List<Double> dailyImpressionCurve) {
391    this.dailyImpressionCurve = dailyImpressionCurve;
392  }
393
394  /**
395   * The ID of the Page or the ID of the app which the ad promotes.
396   */
397  @java.lang.SuppressWarnings("all")
398  @lombok.Generated
399  public String getDestinationId() {
400    return this.destinationId;
401  }
402
403  /**
404   * The ID of the Page or the ID of the app which the ad promotes.
405   */
406  @java.lang.SuppressWarnings("all")
407  @lombok.Generated
408  public void setDestinationId(final String destinationId) {
409    this.destinationId = destinationId;
410  }
411
412  /**
413   * Unix timestamp of the expiration time of prediction, if applicable
414   */
415  @java.lang.SuppressWarnings("all")
416  @lombok.Generated
417  public Date getExpirationTime() {
418    return this.expirationTime;
419  }
420
421  /**
422   * Unix timestamp of the expiration time of prediction, if applicable
423   */
424  @java.lang.SuppressWarnings("all")
425  @lombok.Generated
426  public void setExpirationTime(final Date expirationTime) {
427    this.expirationTime = expirationTime;
428  }
429
430  /**
431   * Predicted budget in cents for the ad set, relevant if prediction mode is 0
432   */
433  @java.lang.SuppressWarnings("all")
434  @lombok.Generated
435  public Integer getExternalBudget() {
436    return this.externalBudget;
437  }
438
439  /**
440   * Predicted budget in cents for the ad set, relevant if prediction mode is 0
441   */
442  @java.lang.SuppressWarnings("all")
443  @lombok.Generated
444  public void setExternalBudget(final Integer externalBudget) {
445    this.externalBudget = externalBudget;
446  }
447
448  /**
449   * Predicted impressions for the ad set
450   */
451  @java.lang.SuppressWarnings("all")
452  @lombok.Generated
453  public Long getExternalImpression() {
454    return this.externalImpression;
455  }
456
457  /**
458   * Predicted impressions for the ad set
459   */
460  @java.lang.SuppressWarnings("all")
461  @lombok.Generated
462  public void setExternalImpression(final Long externalImpression) {
463    this.externalImpression = externalImpression;
464  }
465
466  /**
467   * Maximum budget given the target, in cents
468   */
469  @java.lang.SuppressWarnings("all")
470  @lombok.Generated
471  public Long getExternalMaximumBudget() {
472    return this.externalMaximumBudget;
473  }
474
475  /**
476   * Maximum budget given the target, in cents
477   */
478  @java.lang.SuppressWarnings("all")
479  @lombok.Generated
480  public void setExternalMaximumBudget(final Long externalMaximumBudget) {
481    this.externalMaximumBudget = externalMaximumBudget;
482  }
483
484  /**
485   * Maximum number of impressions given the target
486   */
487  @java.lang.SuppressWarnings("all")
488  @lombok.Generated
489  public String getExternalMaximumImpression() {
490    return this.externalMaximumImpression;
491  }
492
493  /**
494   * Maximum number of impressions given the target
495   */
496  @java.lang.SuppressWarnings("all")
497  @lombok.Generated
498  public void setExternalMaximumImpression(final String externalMaximumImpression) {
499    this.externalMaximumImpression = externalMaximumImpression;
500  }
501
502  /**
503   * Maximum reach given the target
504   */
505  @java.lang.SuppressWarnings("all")
506  @lombok.Generated
507  public Long getExternalMaximumReach() {
508    return this.externalMaximumReach;
509  }
510
511  /**
512   * Maximum reach given the target
513   */
514  @java.lang.SuppressWarnings("all")
515  @lombok.Generated
516  public void setExternalMaximumReach(final Long externalMaximumReach) {
517    this.externalMaximumReach = externalMaximumReach;
518  }
519
520  /**
521   * Minimum budget given the target, in cents
522   */
523  @java.lang.SuppressWarnings("all")
524  @lombok.Generated
525  public Long getExternalMinimumBudget() {
526    return this.externalMinimumBudget;
527  }
528
529  /**
530   * Minimum budget given the target, in cents
531   */
532  @java.lang.SuppressWarnings("all")
533  @lombok.Generated
534  public void setExternalMinimumBudget(final Long externalMinimumBudget) {
535    this.externalMinimumBudget = externalMinimumBudget;
536  }
537
538  /**
539   * Minimum impressions given the target
540   */
541  @java.lang.SuppressWarnings("all")
542  @lombok.Generated
543  public Long getExternalMinimumImpression() {
544    return this.externalMinimumImpression;
545  }
546
547  /**
548   * Minimum impressions given the target
549   */
550  @java.lang.SuppressWarnings("all")
551  @lombok.Generated
552  public void setExternalMinimumImpression(final Long externalMinimumImpression) {
553    this.externalMinimumImpression = externalMinimumImpression;
554  }
555
556  /**
557   * Minimum reach given the target
558   */
559  @java.lang.SuppressWarnings("all")
560  @lombok.Generated
561  public Long getExternalMinimumReach() {
562    return this.externalMinimumReach;
563  }
564
565  /**
566   * Minimum reach given the target
567   */
568  @java.lang.SuppressWarnings("all")
569  @lombok.Generated
570  public void setExternalMinimumReach(final Long externalMinimumReach) {
571    this.externalMinimumReach = externalMinimumReach;
572  }
573
574  /**
575   * Predicted reach for the ad set, relevant if prediction mode is 1
576   */
577  @java.lang.SuppressWarnings("all")
578  @lombok.Generated
579  public Long getExternalReach() {
580    return this.externalReach;
581  }
582
583  /**
584   * Predicted reach for the ad set, relevant if prediction mode is 1
585   */
586  @java.lang.SuppressWarnings("all")
587  @lombok.Generated
588  public void setExternalReach(final Long externalReach) {
589    this.externalReach = externalReach;
590  }
591
592  /**
593   * Lifetime frequency cap per user, always relevant, 0 means no frequncy cap
594   */
595  @java.lang.SuppressWarnings("all")
596  @lombok.Generated
597  public Long getFrequencyCap() {
598    return this.frequencyCap;
599  }
600
601  /**
602   * Lifetime frequency cap per user, always relevant, 0 means no frequncy cap
603   */
604  @java.lang.SuppressWarnings("all")
605  @lombok.Generated
606  public void setFrequencyCap(final Long frequencyCap) {
607    this.frequencyCap = frequencyCap;
608  }
609
610  /**
611   * GRP: Audience size within DMAs based on Nielsen definition
612   */
613  @java.lang.SuppressWarnings("all")
614  @lombok.Generated
615  public Double getGrpDmasAudienceSize() {
616    return this.grpDmasAudienceSize;
617  }
618
619  /**
620   * GRP: Audience size within DMAs based on Nielsen definition
621   */
622  @java.lang.SuppressWarnings("all")
623  @lombok.Generated
624  public void setGrpDmasAudienceSize(final Double grpDmasAudienceSize) {
625    this.grpDmasAudienceSize = grpDmasAudienceSize;
626  }
627
628  /**
629   * Percent of users in holdout
630   */
631  @java.lang.SuppressWarnings("all")
632  @lombok.Generated
633  public Long getHoldoutPercentage() {
634    return this.holdoutPercentage;
635  }
636
637  /**
638   * Percent of users in holdout
639   */
640  @java.lang.SuppressWarnings("all")
641  @lombok.Generated
642  public void setHoldoutPercentage(final Long holdoutPercentage) {
643    this.holdoutPercentage = holdoutPercentage;
644  }
645
646  /**
647   * The Instagram account id if instagramstream placement is used, except in the case of Mobile App Installs ads.
648   */
649  @java.lang.SuppressWarnings("all")
650  @lombok.Generated
651  public String getInstagramDestinationId() {
652    return this.instagramDestinationId;
653  }
654
655  /**
656   * The Instagram account id if instagramstream placement is used, except in the case of Mobile App Installs ads.
657   */
658  @java.lang.SuppressWarnings("all")
659  @lombok.Generated
660  public void setInstagramDestinationId(final String instagramDestinationId) {
661    this.instagramDestinationId = instagramDestinationId;
662  }
663
664  /**
665   * Interval frequency cap which is set for a custom period
666   */
667  @java.lang.SuppressWarnings("all")
668  @lombok.Generated
669  public Long getIntervalFrequencyCap() {
670    return this.intervalFrequencyCap;
671  }
672
673  /**
674   * Interval frequency cap which is set for a custom period
675   */
676  @java.lang.SuppressWarnings("all")
677  @lombok.Generated
678  public void setIntervalFrequencyCap(final Long intervalFrequencyCap) {
679    this.intervalFrequencyCap = intervalFrequencyCap;
680  }
681
682  /**
683   * Custom reset period (hours) for interval frequency cap
684   */
685  @java.lang.SuppressWarnings("all")
686  @lombok.Generated
687  public Long getIntervalFrequencyCapResetPeriod() {
688    return this.intervalFrequencyCapResetPeriod;
689  }
690
691  /**
692   * Custom reset period (hours) for interval frequency cap
693   */
694  @java.lang.SuppressWarnings("all")
695  @lombok.Generated
696  public void setIntervalFrequencyCapResetPeriod(final Long intervalFrequencyCapResetPeriod) {
697    this.intervalFrequencyCapResetPeriod = intervalFrequencyCapResetPeriod;
698  }
699
700  /**
701   * A list of time periods the associated campaign has been paused.
702   */
703  @java.lang.SuppressWarnings("all")
704  @lombok.Generated
705  public String getPausePeriods() {
706    return this.pausePeriods;
707  }
708
709  /**
710   * A list of time periods the associated campaign has been paused.
711   */
712  @java.lang.SuppressWarnings("all")
713  @lombok.Generated
714  public void setPausePeriods(final String pausePeriods) {
715    this.pausePeriods = pausePeriods;
716  }
717
718  /**
719   * Predicted impression distribution on different placements, including:
720   *
721   * <code>msite</code>: Facebook mobile sites<br>
722   * <code>android</code>: Facebook android<br>
723   * <code>ios</code>: Facebook ios<br>
724   * <code>desktop</code>: Facebook desktop news feed and right hand column<br>
725   * <code>ig_android</code>: Instagram android<br>
726   * <code>ig_ios</code>: Instagram ios<br>
727   * <code>ig_others</code>: Other Instagram placements
728   *
729   * ## ReachFrequencyEstimatesPlacementBreakdown
730   */
731  @java.lang.SuppressWarnings("all")
732  @lombok.Generated
733  public String getPlacementBreakdown() {
734    return this.placementBreakdown;
735  }
736
737  /**
738   * Predicted impression distribution on different placements, including:
739   *
740   * <code>msite</code>: Facebook mobile sites<br>
741   * <code>android</code>: Facebook android<br>
742   * <code>ios</code>: Facebook ios<br>
743   * <code>desktop</code>: Facebook desktop news feed and right hand column<br>
744   * <code>ig_android</code>: Instagram android<br>
745   * <code>ig_ios</code>: Instagram ios<br>
746   * <code>ig_others</code>: Other Instagram placements
747   *
748   * ## ReachFrequencyEstimatesPlacementBreakdown
749   */
750  @java.lang.SuppressWarnings("all")
751  @lombok.Generated
752  public void setPlacementBreakdown(final String placementBreakdown) {
753    this.placementBreakdown = placementBreakdown;
754  }
755
756  /**
757   * The prediction mode,
758   *
759   * <code>0</code> = given reach, predict budget,<br>
760   * <code>1</code> = given budget, predict reach
761   */
762  @java.lang.SuppressWarnings("all")
763  @lombok.Generated
764  public Long getPredictionMode() {
765    return this.predictionMode;
766  }
767
768  /**
769   * The prediction mode,
770   *
771   * <code>0</code> = given reach, predict budget,<br>
772   * <code>1</code> = given budget, predict reach
773   */
774  @java.lang.SuppressWarnings("all")
775  @lombok.Generated
776  public void setPredictionMode(final Long predictionMode) {
777    this.predictionMode = predictionMode;
778  }
779
780  /**
781   * Represents percentage value indicating the prediction progress (values 0-100). When 100 check status to indicate
782   * whether the prediction was successful.
783   */
784  @java.lang.SuppressWarnings("all")
785  @lombok.Generated
786  public Long getPredictionProgress() {
787    return this.predictionProgress;
788  }
789
790  /**
791   * Represents percentage value indicating the prediction progress (values 0-100). When 100 check status to indicate
792   * whether the prediction was successful.
793   */
794  @java.lang.SuppressWarnings("all")
795  @lombok.Generated
796  public void setPredictionProgress(final Long predictionProgress) {
797    this.predictionProgress = predictionProgress;
798  }
799
800  /**
801   * Reservation status.
802   *
803   * <code>0</code> = Cancelled prediction,<br>
804   * <code>1</code> = Reserved prediction,<br>
805   * <code>2</code> = Prediction has been attached to a campaign
806   */
807  @java.lang.SuppressWarnings("all")
808  @lombok.Generated
809  public Long getReservationStatus() {
810    return this.reservationStatus;
811  }
812
813  /**
814   * Reservation status.
815   *
816   * <code>0</code> = Cancelled prediction,<br>
817   * <code>1</code> = Reserved prediction,<br>
818   * <code>2</code> = Prediction has been attached to a campaign
819   */
820  @java.lang.SuppressWarnings("all")
821  @lombok.Generated
822  public void setReservationStatus(final Long reservationStatus) {
823    this.reservationStatus = reservationStatus;
824  }
825
826  /**
827   * Represents the status of the prediction, refer to Response Status
828   */
829  @java.lang.SuppressWarnings("all")
830  @lombok.Generated
831  public Long getStatus() {
832    return this.status;
833  }
834
835  /**
836   * Represents the status of the prediction, refer to Response Status
837   */
838  @java.lang.SuppressWarnings("all")
839  @lombok.Generated
840  public void setStatus(final Long status) {
841    this.status = status;
842  }
843
844  /**
845   * Used to indicated the prediction is for video ads or not. If it is for video, the prediction will not include
846   * devices that cannot play video
847   */
848  @java.lang.SuppressWarnings("all")
849  @lombok.Generated
850  public Long getStoryEventType() {
851    return this.storyEventType;
852  }
853
854  /**
855   * Used to indicated the prediction is for video ads or not. If it is for video, the prediction will not include
856   * devices that cannot play video
857   */
858  @java.lang.SuppressWarnings("all")
859  @lombok.Generated
860  public void setStoryEventType(final Long storyEventType) {
861    this.storyEventType = storyEventType;
862  }
863
864  /**
865   * Unique 30-day active users for given targetting specs. Used as tip to indicate the maximum possible audience size
866   * if campaign length is increased
867   */
868  @java.lang.SuppressWarnings("all")
869  @lombok.Generated
870  public Long getTargetAudienceSize() {
871    return this.targetAudienceSize;
872  }
873
874  /**
875   * Unique 30-day active users for given targetting specs. Used as tip to indicate the maximum possible audience size
876   * if campaign length is increased
877   */
878  @java.lang.SuppressWarnings("all")
879  @lombok.Generated
880  public void setTargetAudienceSize(final Long targetAudienceSize) {
881    this.targetAudienceSize = targetAudienceSize;
882  }
883
884  /**
885   * A string in JSON format representing the targeting specs specified on creation.
886   */
887  @java.lang.SuppressWarnings("all")
888  @lombok.Generated
889  public Targeting getTargetSpec() {
890    return this.targetSpec;
891  }
892
893  /**
894   * A string in JSON format representing the targeting specs specified on creation.
895   */
896  @java.lang.SuppressWarnings("all")
897  @lombok.Generated
898  public void setTargetSpec(final Targeting targetSpec) {
899    this.targetSpec = targetSpec;
900  }
901
902  /**
903   * The time when this reach frequency prediction was created
904   */
905  @java.lang.SuppressWarnings("all")
906  @lombok.Generated
907  public Date getTimeCreated() {
908    return this.timeCreated;
909  }
910
911  /**
912   * The time when this reach frequency prediction was created
913   */
914  @java.lang.SuppressWarnings("all")
915  @lombok.Generated
916  public void setTimeCreated(final Date timeCreated) {
917    this.timeCreated = timeCreated;
918  }
919
920  /**
921   * Unix timestamp when the row is updated
922   */
923  @java.lang.SuppressWarnings("all")
924  @lombok.Generated
925  public Date getTimeUpdated() {
926    return this.timeUpdated;
927  }
928
929  /**
930   * Unix timestamp when the row is updated
931   */
932  @java.lang.SuppressWarnings("all")
933  @lombok.Generated
934  public void setTimeUpdated(final Date timeUpdated) {
935    this.timeUpdated = timeUpdated;
936  }
937}