package io.delphiplatform.api.v3.model.ads;

import com.fasterxml.jackson.annotation.JsonProperty;

import org.openapitools.jackson.nullable.JsonNullable;

import java.math.BigDecimal;

public class AdMetricsLinkfire {

    @JsonProperty("bounce_rate")
    private JsonNullable<BigDecimal> bounceRate = JsonNullable.undefined();

    @JsonProperty("clicks")
    private JsonNullable<Long> clicks = JsonNullable.undefined();

    @JsonProperty("conversions")
    private JsonNullable<Long> conversions = JsonNullable.undefined();

    @JsonProperty("ctr")
    private JsonNullable<BigDecimal> ctr = JsonNullable.undefined();

    @JsonProperty("direct_to_service")
    private JsonNullable<Long> directToService = JsonNullable.undefined();

    @JsonProperty("event_rate")
    private JsonNullable<BigDecimal> eventRate = JsonNullable.undefined();

    @JsonProperty("events")
    private JsonNullable<Long> events = JsonNullable.undefined();

    @JsonProperty("in_page_plays")
    private JsonNullable<Long> inPagePlays = JsonNullable.undefined();

    @JsonProperty("new_sessions")
    private JsonNullable<Long> newSessions = JsonNullable.undefined();

    @JsonProperty("page_views")
    private JsonNullable<Long> pageViews = JsonNullable.undefined();

    @JsonProperty("platform_to_linkfire_bounce_rate")
    private JsonNullable<BigDecimal> platformToLinkfireBounceRate = JsonNullable.undefined();

    @JsonProperty("platform_to_linkfire_click_rate")
    private JsonNullable<BigDecimal> platformToLinkfireClickRate = JsonNullable.undefined();

    @JsonProperty("platform_to_linkfire_event_rate")
    private JsonNullable<BigDecimal> platformToLinkfireEventRate = JsonNullable.undefined();

    public AdMetricsLinkfire bounceRate(BigDecimal bounceRate) {
        this.bounceRate = JsonNullable.of(bounceRate);
        return this;
    }


    public JsonNullable<BigDecimal> getBounceRate() {
        return bounceRate;
    }

    public void setBounceRate(JsonNullable<BigDecimal> bounceRate) {
        this.bounceRate = bounceRate;
    }

    public AdMetricsLinkfire clicks(Long clicks) {
        this.clicks = JsonNullable.of(clicks);
        return this;
    }


    public JsonNullable<Long> getClicks() {
        return clicks;
    }

    public void setClicks(JsonNullable<Long> clicks) {
        this.clicks = clicks;
    }

    public AdMetricsLinkfire conversions(Long conversions) {
        this.conversions = JsonNullable.of(conversions);
        return this;
    }


    public JsonNullable<Long> getConversions() {
        return conversions;
    }

    public void setConversions(JsonNullable<Long> conversions) {
        this.conversions = conversions;
    }

    public AdMetricsLinkfire ctr(BigDecimal ctr) {
        this.ctr = JsonNullable.of(ctr);
        return this;
    }


    public JsonNullable<BigDecimal> getCtr() {
        return ctr;
    }

    public void setCtr(JsonNullable<BigDecimal> ctr) {
        this.ctr = ctr;
    }

    public AdMetricsLinkfire directToService(Long directToService) {
        this.directToService = JsonNullable.of(directToService);
        return this;
    }


    public JsonNullable<Long> getDirectToService() {
        return directToService;
    }

    public void setDirectToService(JsonNullable<Long> directToService) {
        this.directToService = directToService;
    }

    public AdMetricsLinkfire eventRate(BigDecimal eventRate) {
        this.eventRate = JsonNullable.of(eventRate);
        return this;
    }


    public JsonNullable<BigDecimal> getEventRate() {
        return eventRate;
    }

    public void setEventRate(JsonNullable<BigDecimal> eventRate) {
        this.eventRate = eventRate;
    }

    public AdMetricsLinkfire events(Long events) {
        this.events = JsonNullable.of(events);
        return this;
    }


    public JsonNullable<Long> getEvents() {
        return events;
    }

    public void setEvents(JsonNullable<Long> events) {
        this.events = events;
    }

    public AdMetricsLinkfire inPagePlays(Long inPagePlays) {
        this.inPagePlays = JsonNullable.of(inPagePlays);
        return this;
    }


    public JsonNullable<Long> getInPagePlays() {
        return inPagePlays;
    }

    public void setInPagePlays(JsonNullable<Long> inPagePlays) {
        this.inPagePlays = inPagePlays;
    }

    public AdMetricsLinkfire newSessions(Long newSessions) {
        this.newSessions = JsonNullable.of(newSessions);
        return this;
    }


    public JsonNullable<Long> getNewSessions() {
        return newSessions;
    }

    public void setNewSessions(JsonNullable<Long> newSessions) {
        this.newSessions = newSessions;
    }

    public AdMetricsLinkfire pageViews(Long pageViews) {
        this.pageViews = JsonNullable.of(pageViews);
        return this;
    }


    public JsonNullable<Long> getPageViews() {
        return pageViews;
    }

    public void setPageViews(JsonNullable<Long> pageViews) {
        this.pageViews = pageViews;
    }

    public AdMetricsLinkfire platformToLinkfireBounceRate(BigDecimal platformToLinkfireBounceRate) {
        this.platformToLinkfireBounceRate = JsonNullable.of(platformToLinkfireBounceRate);
        return this;
    }


    public JsonNullable<BigDecimal> getPlatformToLinkfireBounceRate() {
        return platformToLinkfireBounceRate;
    }

    public void setPlatformToLinkfireBounceRate(JsonNullable<BigDecimal> platformToLinkfireBounceRate) {
        this.platformToLinkfireBounceRate = platformToLinkfireBounceRate;
    }

    public AdMetricsLinkfire platformToLinkfireClickRate(BigDecimal platformToLinkfireClickRate) {
        this.platformToLinkfireClickRate = JsonNullable.of(platformToLinkfireClickRate);
        return this;
    }


    public JsonNullable<BigDecimal> getPlatformToLinkfireClickRate() {
        return platformToLinkfireClickRate;
    }

    public void setPlatformToLinkfireClickRate(JsonNullable<BigDecimal> platformToLinkfireClickRate) {
        this.platformToLinkfireClickRate = platformToLinkfireClickRate;
    }

    public AdMetricsLinkfire platformToLinkfireEventRate(BigDecimal platformToLinkfireEventRate) {
        this.platformToLinkfireEventRate = JsonNullable.of(platformToLinkfireEventRate);
        return this;
    }


    public JsonNullable<BigDecimal> getPlatformToLinkfireEventRate() {
        return platformToLinkfireEventRate;
    }

    public void setPlatformToLinkfireEventRate(JsonNullable<BigDecimal> platformToLinkfireEventRate) {
        this.platformToLinkfireEventRate = platformToLinkfireEventRate;
    }

}

