{
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "DayOfWeek": {
            "description": "Days of the Week.",
            "enum": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday",
                "Sunday",
                "Every"
            ],
            "enumDescriptions": {
                "Every": "Every day of the week.",
                "Friday": "Friday.",
                "Monday": "Monday.",
                "Saturday": "Saturday.",
                "Sunday": "Sunday.",
                "Thursday": "Thursday.",
                "Tuesday": "Tuesday.",
                "Wednesday": "Wednesday."
            },
            "enumLongDescriptions": {
                "Every": "This value indicates that every day of the week has been selected. When used in array properties (such as for enabling a function on certain days) it shall be the only member in the array."
            },
            "longDescription": "Days of the Week.",
            "type": "string"
        },
        "MonthOfYear": {
            "description": "Months of the year.",
            "enum": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December",
                "Every"
            ],
            "enumDescriptions": {
                "April": "April.",
                "August": "August.",
                "December": "December.",
                "Every": "Every month of the year.",
                "February": "February.",
                "January": "January.",
                "July": "July.",
                "June": "June.",
                "March": "March.",
                "May": "May.",
                "November": "November.",
                "October": "October.",
                "September": "September."
            },
            "enumLongDescriptions": {
                "Every": "This value indicates that every month of the year has been selected. When used in array properties (such as for enabling a function for certain months) it shall be the only member in the array."
            },
            "longDescription": "Months of the year.",
            "type": "string"
        },
        "Schedule": {
            "additionalProperties": false,
            "description": "Schedule a series of occurrences.",
            "longDescription": "The properties of this type shall be used to Schedule a series of occurrences.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "EnabledDaysOfMonth": {
                    "description": "Days of month when scheduled occurrences are enabled. Zero indicates that every day of the month is enabled.",
                    "items": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "longDescription": "Days of month when scheduled occurrences are enabled, for enabled days of week and months of year. If the array contains a single value of zero, or if the property is not present, all days of the month shall be enabled.",
                    "maximum": 31,
                    "minimum": 0,
                    "readonly": false,
                    "type": "array"
                },
                "EnabledDaysOfWeek": {
                    "description": "Days of the week when scheduled occurrences are enabled, for enabled days of month and months of year.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/DayOfWeek"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "Days of the week when scheduled occurrences are enabled. If not present, all days of the week shall be enabled.",
                    "readonly": false,
                    "type": "array"
                },
                "EnabledIntervals": {
                    "description": "Intervals when scheduled occurrences are enabled.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "Each value shall be an ISO 8601 conformant interval specifying when occurences are enabled.",
                    "readonly": false,
                    "type": "array"
                },
                "EnabledMonthsOfYear": {
                    "description": "Months of year when scheduled occurrences are enabled.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/MonthOfYear"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "Months of year when scheduled occurrences are enabled, for enabled days of week and days of month. If not present, all months of the year shall be enabled.",
                    "readonly": false,
                    "type": "array"
                },
                "InitialStartTime": {
                    "description": "Time for initial occurrence.",
                    "format": "date-time",
                    "longDescription": "The value shall be a date and time of day on which the initial occurrence is scheduled to occur.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Lifetime": {
                    "description": "The time after provisioning when the schedule as a whole expires.",
                    "longDescription": "The value shall be a Redfish Duration describing the time after provisioning when the schedule expires.",
                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "MaxOccurrences": {
                    "description": "Maximum number of scheduled occurrences.",
                    "longDescription": "Maximum number of scheduled occurrences.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Name": {
                    "description": "The Schedule name.",
                    "longDescription": "The name of the Schedule. It should be constructed as OrgID:ScheduleName. Examples: ACME:Daily, ACME:Weekly, ACME:FirstTuesday.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "RecurrenceInterval": {
                    "description": "Distance until the next occurrences.",
                    "longDescription": "The value shall be a Redfish Duration describing the time until the next occurrence.",
                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "title": "#Schedule.v1_2_0"
}