{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/PutEvent", "title": "PutEvent", "type": "object", "required": [ "newName", "name", "startDate", "endDate", "startTime", "endTime" ], "properties": { "newName": { "type": "string", "example": "Central_Zone_Day_Shift", "description": "New name for the event." }, "name": { "type": "string", "example": "Day_Shift", "description": "Name for the event." }, "startDate": { "type": "string", "example": "2020-03-18", "description": "Start date of the event, or first occurrence if repeating, in the format of YYYY-MM-DD. This field is required if the `allDayEnabled` field is present." }, "endDate": { "type": "string", "example": "2020-03-18", "description": "End date of the event, or first occurrence if repeating, in the format of YYYY-MM-DD. This field is required if the `allDayEnabled` field is present." }, "startTime": { "type": "string", "example": "08:00", "description": "Start time of the event in the format of HH:MM (24 hours format). This field is required if the `allDayEnabled` field is false or omitted." }, "endTime": { "type": "string", "example": "17:00", "description": "End time of the event in the format of HH:MM (24 hours format). This field is required if the `allDayEnabled` field is false or omitted." }, "allDayEnabled": { "type": "boolean", "description": "True if it is all-day event." }, "recurrence": { "type": "object", "properties": { "recurForEver": { "type": "boolean", "example": true, "description": "True if the event repeats forever. Requires either `recurDaily` or `recurWeekly` to be specified." }, "recurEndDate": { "type": "string", "example": "2020-03-18", "description": "End date for the recurring event in the format of YYYY-MM-DD. Requires either `recurDaily` or `recurWeekly` to be specified." }, "recurEndOccurrence": { "type": "number", "example": 1, "description": "End recurrence after the event has repeated the specified number of times. Requires either `recurDaily` or `recurWeekly` to be specified." }, "recurDaily": { "type": "object", "required": [ "recurInterval" ], "properties": { "recurInterval": { "type": "number", "example": 1, "description": "Recurring interval in days. The number of days after the start when an event will repeat. Repetitions cannot overlap." } }, "description": "Specifies the number of days between the start of each recurrence and is not allowed with `recurWeekly`." }, "recurWeekly": { "type": "object", "required": [ "recurInterval" ], "properties": { "recurInterval": { "type": "number", "example": 1, "description": "Specifies the number of weeks between the start of each recurrence." }, "sunday": { "type": "boolean", "description": "The Event occurs weekly on Sunday." }, "monday": { "type": "boolean", "description": "The Event occurs weekly on Monday." }, "tuesday": { "type": "boolean", "description": "The Event occurs weekly on Tuesday." }, "wednesday": { "type": "boolean", "example": true, "description": "The Event occurs weekly on Wednesday." }, "thursday": { "type": "boolean", "description": "The Event occurs weekly on Thursday." }, "friday": { "type": "boolean", "description": "The Event occurs weekly on Friday." }, "saturday": { "type": "boolean", "description": "The Event occurs weekly on Saturday." } }, "description": "Specifies the event recurs weekly on the designated days of the week and is not allowed with `recurDaily`." } }, "description": "Recurrance scheme for an event." } } }