# ScheduleStruct

    struct ScheduleStruct

A schedule.
- `


  ### [scheduleHandle](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV14scheduleHandle10Foundation4DataVSgvp)


  ` A device generated identifier for this schedule.

  #### Declaration

  Swift

      let scheduleHandle: Data?

- `


  ### [systemMode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV10systemModeAE06SystemJ4EnumOvp)


  ` The default thermostat system mode for transitions in this schedule.

  #### Declaration

  Swift

      let systemMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/SystemModeEnum.html

- `


  ### [name](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV4nameSSSgvp)


  ` The name for the schedule.

  #### Declaration

  Swift

      let name: String?

- `


  ### [presetHandle](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV12presetHandle10Foundation4DataVSgvp)


  ` The default preset handle for transitions in this schedule.

  #### Declaration

  Swift

      let presetHandle: Data?

- `


  ### [transitions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV11transitionsSayAE0g10TransitionH0VGvp)


  ` A list of transitions for the schedule.

  #### Declaration

  Swift

      let transitions: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleTransitionStruct.html]

- `


  ### [builtIn](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV7builtInSbSgvp)


  ` Indicates whether or not the schedule is built-in, meaning that it can be modified but not
  deleted.

  #### Declaration

  Swift

      let builtIn: Bool?

- `


  ### [init(decoder:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV7decoderAG0aB3SDK0F7DecoderV_tKcfc)


  ` Creates a new Struct instance using data read from the given `TraitDecoder`.
  Throws
  `HomeError.parseError` when parsing fails.

  #### Declaration

  Swift

      init(decoder: TraitDecoder) throws

  #### Parameters

  |---|---|
  | ` decoder ` | The raw data representing this Struct. |

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV6encode4withy0aB3SDK0F7EncoderC_tKF)


  ` Writes this Struct to the given `TraitEncoder`.
  Throws `HomeError.parseError` if the data could not be encoded.

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [structField(id:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV14ScheduleStructV11structField2id0aB3SDK0J0_pSgs6UInt32V_tFZ)


  ` Returns the field corresponding to the given field ID.

  #### Declaration

  Swift

      static func structField(id: UInt32) -> (any Field)?