@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

class_name TwitchUpdateChannelStreamSchedule
	


## All optional parameters for TwitchAPI.update_channel_stream_schedule
## #/components/schemas/UpdateChannelStreamScheduleOpt
class Opt extends TwitchData:

	## A Boolean value that indicates whether the broadcaster has scheduled a vacation. Set to **true** to enable Vacation Mode and add vacation dates, or **false** to cancel a previously scheduled vacation.
	@export var is_vacation_enabled: bool:
		set(val): 
			is_vacation_enabled = val
			track_data(&"is_vacation_enabled", val)
	
	## The UTC date and time of when the broadcaster’s vacation starts. Specify the date and time in RFC3339 format (for example, 2021-05-16T00:00:00Z). Required if _is\_vacation\_enabled_ is **true**.
	@export var vacation_start_time: String:
		set(val): 
			vacation_start_time = val
			track_data(&"vacation_start_time", val)
	
	## The UTC date and time of when the broadcaster’s vacation ends. Specify the date and time in RFC3339 format (for example, 2021-05-30T23:59:59Z). Required if _is\_vacation\_enabled_ is **true**.
	@export var vacation_end_time: String:
		set(val): 
			vacation_end_time = val
			track_data(&"vacation_end_time", val)
	
	## The time zone that the broadcaster broadcasts from. Specify the time zone using [IANA time zone database](https://www.iana.org/time-zones) format (for example, America/New\_York). Required if _is\_vacation\_enabled_ is **true**.
	@export var timezone: String:
		set(val): 
			timezone = val
			track_data(&"timezone", val)
	
	
	
	## Constructor with all required fields.
	static func create() -> Opt:
		var opt: Opt = Opt.new()
		return opt
	
	
	static func from_json(d: Dictionary) -> Opt:
		var result: Opt = Opt.new()
		if d.get("is_vacation_enabled", null) != null:
			result.is_vacation_enabled = d["is_vacation_enabled"]
		if d.get("vacation_start_time", null) != null:
			result.vacation_start_time = d["vacation_start_time"]
		if d.get("vacation_end_time", null) != null:
			result.vacation_end_time = d["vacation_end_time"]
		if d.get("timezone", null) != null:
			result.timezone = d["timezone"]
		return result
	