// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.maps.weather.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;

/**
 * Summary for the main conditions for the requested time period. Notice that summary can cover only part of the time
 * period.
 */
@Fluent
public final class DailyForecastSummary {
    /*
     * Date and time that the summary is in effect, displayed in ISO 8601 format, for example,
     * 2019-10-27T19:39:57-08:00.
     */
    @JsonProperty(value = "startDate")
    private OffsetDateTime startDate;

    /*
     * Date and time that the summary period ends, displayed in ISO 8601 format, for example,
     * 2019-10-27T19:39:57-08:00.
     */
    @JsonProperty(value = "endDate")
    private OffsetDateTime endDate;

    /*
     * severity
     */
    @JsonProperty(value = "severity")
    private Integer severity;

    /*
     * Summary phrase of the daily forecast.  Displayed in specified language.
     */
    @JsonProperty(value = "phrase")
    private String phrase;

    /*
     * one or 2 word(s) to summarize the phrase.
     */
    @JsonProperty(value = "category")
    private String category;

    /** Set default DailyForecastSummary constructor to private */
    private DailyForecastSummary() {}

    /**
     * Get the startDate property: Date and time that the summary is in effect, displayed in ISO 8601 format, for
     * example, 2019-10-27T19:39:57-08:00.
     *
     * @return the startDate value.
     */
    public OffsetDateTime getStartDate() {
        return this.startDate;
    }

    /**
     * Get the endDate property: Date and time that the summary period ends, displayed in ISO 8601 format, for example,
     * 2019-10-27T19:39:57-08:00.
     *
     * @return the endDate value.
     */
    public OffsetDateTime getEndDate() {
        return this.endDate;
    }

    /**
     * Get the severity property: severity.
     *
     * @return the severity value.
     */
    public Integer getSeverity() {
        return this.severity;
    }

    /**
     * Get the phrase property: Summary phrase of the daily forecast. Displayed in specified language.
     *
     * @return the phrase value.
     */
    public String getPhrase() {
        return this.phrase;
    }

    /**
     * Get the category property: one or 2 word(s) to summarize the phrase.
     *
     * @return the category value.
     */
    public String getCategory() {
        return this.category;
    }
}
