1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//! Model struct for CatalogTimePeriod type.

use serde::{Deserialize, Serialize};

/// Represents a time period - either a single period or a repeating period.
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
pub struct CatalogTimePeriod {
    /// An iCalendar (RFC 5545) [event](https://tools.ietf.org/html/rfc5545#section-3.6.1), which
    /// specifies the name, timing, duration and recurrence of this time period.
    ///
    /// Example:
    /// ```ignore
    /// DTSTART:20190707T180000
    /// DURATION:P2H
    /// RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR
    /// ```
    /// Only `SUMMARY`, `DTSTART`, `DURATION` and `RRULE` fields are supported. `DTSTART` must be in
    /// local (unzoned) time format. Note that while `BEGIN:VEVENT` and `END:VEVENT` is not required
    /// in the request. The response will always include them.
    pub event: Option<String>,
}