    struct DoorLockTrait

This trait provides an interface to a generic way to secure a door.
- `


  ### [supportedEventTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV014supportedEventC0Say0aB3SDK0I0_pXpGvpZ)


  ` List of the event types that are supported by `DoorLockTrait`.

  #### Declaration

  Swift

      static let supportedEventTypes: [any Event.Type]

- `


  ### [supportedCommandTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV016supportedCommandC0Say0aB3SDK0I0_pXpGvpZ)


  ` List of the commands that are supported by `DoorLockTrait`.

  #### Declaration

  Swift

      static let supportedCommandTypes: [any Command.Type]

- `


  ### [identifier](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV10identifierSSvpZ)


  ` The trait identifier.

  #### Declaration

  Swift

      static let identifier: String

- `


  ### [metadata](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV8metadata0aB3SDK0G8MetadataVvp)


  ` Metadata about this `Trait`.

  #### Declaration

  Swift

      let metadata: TraitMetadata

- `


  ### [attributes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV10attributesAE10AttributesVvp)


  ` List of attributes for the `DoorLockTrait`.

  #### Declaration

  Swift

      let attributes: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/Attributes.html

- `


  ### [init(decoder:interactionProxy:metadata:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV7decoder16interactionProxy8metadataAE0aB3SDK0G7DecoderV_AI011InteractionJ0_pSgAI0G8MetadataVtKcfc)


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

  #### Declaration

  Swift

      init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throws

  #### Parameters

  |---|---|
  | ` decoder ` | The raw data representing this Trait. |
  | ` interactionProxy ` | Proxy to the Interaction Client. |
  | ` metadata ` | Metadata about this Trait. |

- `


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


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

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [forceRead()](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV9forceReadyyYaKF)


  ` This API provides the ability to invalidate state retrieved through subscriptions to the
  target device in the cases where state is not being reported correctly, either intentionally
  (e.g attributes in Matter traits with the "C" quality) or unintentionally due to poor
  implementations.

  When successful, this API will result in a forced read of the convening scope as specified by
  the sub-class and return the result through existing Trait subscriptions if present and
  active.

  This API is to be used sparingly as it can impact the performance and battery life of the
  target device. As such, this API may be throttled by the platform.
  Callers SHALL be prepared to deal with `HomeError`s thrown by this call.

  #### Declaration

  Swift

      func forceRead() async throws

- `


  ### [Attributes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/Attributes.html)


  ` Attributes for the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait.html`.

  #### Declaration

  Swift

      struct Attributes

- `


  ### [==(_:_:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV2eeoiySbAE_AEtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait, rhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `


  ### [hash(into:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [CredentialStruct](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html)


  ` A set of credentials used when operating the door lock.

  #### Declaration

  Swift

      struct CredentialStruct

- `


  ### [DoorLockAlarmEvent](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockAlarmEvent.html)


  ` Indicates that there is a critical state on the door lock.

  #### Declaration

  Swift

      struct DoorLockAlarmEvent

- `


  ### [DoorStateChangeEvent](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorStateChangeEvent.html)


  ` Indicates that the state of the door has changed.

  #### Declaration

  Swift

      struct DoorStateChangeEvent

- `


  ### [LockOperationEvent](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/LockOperationEvent.html)


  ` Indicates that a lock operation has taken place.

  #### Declaration

  Swift

      struct LockOperationEvent

- `


  ### [LockOperationErrorEvent](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/LockOperationErrorEvent.html)


  ` Indicates that a lock operation failed.

  #### Declaration

  Swift

      struct LockOperationErrorEvent

- `


  ### [LockUserChangeEvent](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/LockUserChangeEvent.html)


  ` Indicates that a lock user, schedule, or credential has changed.

  #### Declaration

  Swift

      struct LockUserChangeEvent

- `


  ### [supportsLockDoorCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV08supportsfE7CommandSbvp)


  ` Whether the device supports the `lockDoor` command for this trait.

  #### Declaration

  Swift

      var supportsLockDoorCommand: Bool { get }

- `


  ### [lockDoor(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV04lockE020optionalArgsProvideryyAE0fE7CommandV08OptionalJ0CYbcSg_tYaKF)


  ` Lock the door.

  #### Declaration

  Swift

      func lockDoor(optionalArgsProvider: (@Sendable (https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.LockDoorCommand.OptionalArgs) -> Void)? = nil) async throws

- `


  ### [lockDoorBatchable(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV04lockE9Batchable20optionalArgsProvider0aB3SDK0I7CommandVyytGyAE0feN0V08OptionalK0CcSg_tKF)


  ` The batchable version of lockDoor command above.
  See also
  lockDoor

  #### Declaration

  Swift

      func lockDoorBatchable(optionalArgsProvider: ((https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.LockDoorCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>

- `


  ### [supportsUnlockDoorCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV014supportsUnlockE7CommandSbvp)


  ` Whether the device supports the `unlockDoor` command for this trait.

  #### Declaration

  Swift

      var supportsUnlockDoorCommand: Bool { get }

- `


  ### [unlockDoor(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV06unlockE020optionalArgsProvideryyAE06UnlockE7CommandV08OptionalJ0CYbcSg_tYaKF)


  ` Unlock the door.

  #### Declaration

  Swift

      func unlockDoor(optionalArgsProvider: (@Sendable (https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnlockDoorCommand.OptionalArgs) -> Void)? = nil) async throws

- `


  ### [unlockDoorBatchable(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV06unlockE9Batchable20optionalArgsProvider0aB3SDK0I7CommandVyytGyAE06UnlockeN0V08OptionalK0CcSg_tKF)


  ` The batchable version of unlockDoor command above.
  See also
  unlockDoor

  #### Declaration

  Swift

      func unlockDoorBatchable(optionalArgsProvider: ((https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnlockDoorCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>

- `


  ### [supportsUnlockWithTimeoutCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV32supportsUnlockWithTimeoutCommandSbvp)


  ` Whether the device supports the `unlockWithTimeout` command for this trait.

  #### Declaration

  Swift

      var supportsUnlockWithTimeoutCommand: Bool { get }

- `


  ### [unlockWithTimeout(timeout:optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV17unlockWithTimeout7timeout20optionalArgsProviderys6UInt16V_yAE06UnlockiJ7CommandV08OptionalM0CYbcSgtYaKF)


  ` Unlock the door with a timeout parameter. After the timeout, the door automatically relocks.

  #### Declaration

  Swift

      func unlockWithTimeout(timeout: UInt16, optionalArgsProvider: (@Sendable (https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnlockWithTimeoutCommand.OptionalArgs) -> Void)? = nil) async throws

  #### Parameters

  |---|---|
  | ` timeout ` | The number of seconds to wait before relocking the door lock. |

- `


  ### [unlockWithTimeoutBatchable(timeout:optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV26unlockWithTimeoutBatchable7timeout20optionalArgsProvider0aB3SDK0K7CommandVyytGs6UInt16V_yAE06UnlockijQ0V08OptionalN0CcSgtKF)


  ` The batchable version of unlockWithTimeout command above.
  See also
  unlockWithTimeout

  #### Declaration

  Swift

      func unlockWithTimeoutBatchable(timeout: UInt16, optionalArgsProvider: ((https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnlockWithTimeoutCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>

- `


  ### [supportsSetWeekDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsSetWeekDayScheduleCommandSbvp)


  ` Whether the device supports the `setWeekDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsSetWeekDayScheduleCommand: Bool { get }

- `


  ### [setWeekDaySchedule(weekDayIndex:userIndex:daysMask:startHour:startMinute:endHour:endMinute:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18setWeekDaySchedule04weekJ5Index04userM08daysMask9startHour0Q6Minute03endR00tS0ys5UInt8V_s6UInt16VAE04DaysP3MapVA4OtYaKF)


  ` Set a weekly repeating schedule for the specified user.

  #### Declaration

  Swift

      func setWeekDaySchedule(weekDayIndex: UInt8, userIndex: UInt16, daysMask: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DaysMaskMap.html, startHour: UInt8, startMinute: UInt8, endHour: UInt8, endMinute: UInt8) async throws

  #### Parameters

  |---|---|
  | ` weekDayIndex ` | The unique identifier for the week day. |
  | ` userIndex ` | The unique identifier for the user for whom the repeating schedule is being set. |
  | ` daysMask ` | The days that constitute the repeating schedule. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DaysMaskMap.html`. |
  | ` startHour ` | The start hour of the repeating event. |
  | ` startMinute ` | The start minute of the repeating event. |
  | ` endHour ` | The end hour of the repeating event. |
  | ` endMinute ` | The end minute of the repeating event. |

- `


  ### [setWeekDayScheduleBatchable(weekDayIndex:userIndex:daysMask:startHour:startMinute:endHour:endMinute:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27setWeekDayScheduleBatchable04weekJ5Index04userN08daysMask9startHour0R6Minute03endS00uT00aB3SDK0L7CommandVyytGs5UInt8V_s6UInt16VAE04DaysQ3MapVA4StKF)


  ` The batchable version of setWeekDaySchedule command above.
  See also
  setWeekDaySchedule

  #### Declaration

  Swift

      func setWeekDayScheduleBatchable(weekDayIndex: UInt8, userIndex: UInt16, daysMask: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DaysMaskMap.html, startHour: UInt8, startMinute: UInt8, endHour: UInt8, endMinute: UInt8) throws -> BatchableCommand<Void>

- `


  ### [supportsGetWeekDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsGetWeekDayScheduleCommandSbvp)


  ` Whether the device supports the `getWeekDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsGetWeekDayScheduleCommand: Bool { get }

- `


  ### [getWeekDaySchedule(weekDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18getWeekDaySchedule04weekJ5Index04userM0AE03GetijK7CommandV8ResponseVs5UInt8V_s6UInt16VtYaKF)


  ` Retrieve the weekly schedule for the specified user.
  Week day schedules are used to restrict access to a specified time window on certain days of
  the week. The schedule is repeated each week.

  #### Declaration

  Swift

      func getWeekDaySchedule(weekDayIndex: UInt8, userIndex: UInt16) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetWeekDayScheduleCommandResponse

  #### Parameters

  |---|---|
  | ` weekDayIndex ` | The unique identifier for the week day schedule to retrieve. |
  | ` userIndex ` | The unique identifier for the user whose week day schedule is to be retrieved. |

  #### Return Value

  Returns the weekly repeating schedule data for the specified schedule index.
- `


  ### [getWeekDayScheduleBatchable(weekDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27getWeekDayScheduleBatchable04weekJ5Index04userN00aB3SDK0L7CommandVyAE03GetijkQ0V8ResponseVGs5UInt8V_s6UInt16VtKF)


  ` The batchable version of getWeekDaySchedule command above.
  See also
  getWeekDaySchedule

  #### Declaration

  Swift

      func getWeekDayScheduleBatchable(weekDayIndex: UInt8, userIndex: UInt16) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetWeekDayScheduleCommandResponse>

- `


  ### [supportsClearWeekDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV35supportsClearWeekDayScheduleCommandSbvp)


  ` Whether the device supports the `clearWeekDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsClearWeekDayScheduleCommand: Bool { get }

- `


  ### [clearWeekDaySchedule(weekDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV20clearWeekDaySchedule04weekJ5Index04userM0ys5UInt8V_s6UInt16VtYaKF)


  ` Clear the specified week day schedule or all week day schedules for the specific user.
  Week day schedules are used to restrict access to a specified time window on certain days of
  the week. The schedule is repeated each week.

  #### Declaration

  Swift

      func clearWeekDaySchedule(weekDayIndex: UInt8, userIndex: UInt16) async throws

  #### Parameters

  |---|---|
  | ` weekDayIndex ` | The unique identifier for the week day schedule to clear. `0xFE` clears all week day schedules for the specified user. |
  | ` userIndex ` | The unique identifier for the user whose schedule is to be cleared. |

- `


  ### [clearWeekDayScheduleBatchable(weekDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV29clearWeekDayScheduleBatchable04weekJ5Index04userN00aB3SDK0L7CommandVyytGs5UInt8V_s6UInt16VtKF)


  ` The batchable version of clearWeekDaySchedule command above.
  See also
  clearWeekDaySchedule

  #### Declaration

  Swift

      func clearWeekDayScheduleBatchable(weekDayIndex: UInt8, userIndex: UInt16) throws -> BatchableCommand<Void>

- `


  ### [supportsSetYearDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsSetYearDayScheduleCommandSbvp)


  ` Whether the device supports the `setYearDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsSetYearDayScheduleCommand: Bool { get }

- `


  ### [setYearDaySchedule(yearDayIndex:userIndex:localStartTime:localEndTime:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18setYearDaySchedule04yearJ5Index04userM014localStartTime0o3EndQ0ys5UInt8V_s6UInt16Vs6UInt32VAPtYaKF)


  ` Set a time-specific schedule ID for a specified user.

  #### Declaration

  Swift

      func setYearDaySchedule(yearDayIndex: UInt8, userIndex: UInt16, localStartTime: UInt32, localEndTime: UInt32) async throws

  #### Parameters

  |---|---|
  | ` yearDayIndex ` | The unique identifier for the year day schedule. |
  | ` userIndex ` | The unique identifier for the user for whom the repeating schedule is being set. |
  | ` localStartTime ` | The starting time for the year day schedule in Epoch Time in seconds with local time offset based on the local timezone and DST offset on the day represented by the value. |
  | ` localEndTime ` | The ending time for the year day schedule in Epoch Time in seconds with local time offset based on the local timezone and DST offset on the day represented by the value. |

- `


  ### [setYearDayScheduleBatchable(yearDayIndex:userIndex:localStartTime:localEndTime:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27setYearDayScheduleBatchable04yearJ5Index04userN014localStartTime0p3EndR00aB3SDK0L7CommandVyytGs5UInt8V_s6UInt16Vs6UInt32VATtKF)


  ` The batchable version of setYearDaySchedule command above.
  See also
  setYearDaySchedule

  #### Declaration

  Swift

      func setYearDayScheduleBatchable(yearDayIndex: UInt8, userIndex: UInt16, localStartTime: UInt32, localEndTime: UInt32) throws -> BatchableCommand<Void>

- `


  ### [supportsGetYearDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsGetYearDayScheduleCommandSbvp)


  ` Whether the device supports the `getYearDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsGetYearDayScheduleCommand: Bool { get }

- `


  ### [getYearDaySchedule(yearDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18getYearDaySchedule04yearJ5Index04userM0AE03GetijK7CommandV8ResponseVs5UInt8V_s6UInt16VtYaKF)


  ` Retrieve the specified year day schedule for the specified user.
  Year day schedules are used to restrict access to a specified date and time window.

  #### Declaration

  Swift

      func getYearDaySchedule(yearDayIndex: UInt8, userIndex: UInt16) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetYearDayScheduleCommandResponse

  #### Parameters

  |---|---|
  | ` yearDayIndex ` | The unique identifier for the year day schedule to be retrieved. |
  | ` userIndex ` | The unique identifier for the user whose year day schedule is to be retrieved. |

  #### Return Value

  Returns the year day schedule data for the specified schedule and user indexes.
- `


  ### [getYearDayScheduleBatchable(yearDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27getYearDayScheduleBatchable04yearJ5Index04userN00aB3SDK0L7CommandVyAE03GetijkQ0V8ResponseVGs5UInt8V_s6UInt16VtKF)


  ` The batchable version of getYearDaySchedule command above.
  See also
  getYearDaySchedule

  #### Declaration

  Swift

      func getYearDayScheduleBatchable(yearDayIndex: UInt8, userIndex: UInt16) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetYearDayScheduleCommandResponse>

- `


  ### [supportsClearYearDayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV35supportsClearYearDayScheduleCommandSbvp)


  ` Whether the device supports the `clearYearDaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsClearYearDayScheduleCommand: Bool { get }

- `


  ### [clearYearDaySchedule(yearDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV20clearYearDaySchedule04yearJ5Index04userM0ys5UInt8V_s6UInt16VtYaKF)


  ` Clear the specified year day schedule, or all year day schedules for the specific user.
  Year day schedules are used to restrict access to a specified date and time window.

  #### Declaration

  Swift

      func clearYearDaySchedule(yearDayIndex: UInt8, userIndex: UInt16) async throws

  #### Parameters

  |---|---|
  | ` yearDayIndex ` | The unique identifier for the year day schedule to clear. `0xFE` clears all year day schedules for the specified user. |
  | ` userIndex ` | The unique identifier for the user whose year day schedule is to be cleared. |

- `


  ### [clearYearDayScheduleBatchable(yearDayIndex:userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV29clearYearDayScheduleBatchable04yearJ5Index04userN00aB3SDK0L7CommandVyytGs5UInt8V_s6UInt16VtKF)


  ` The batchable version of clearYearDaySchedule command above.
  See also
  clearYearDaySchedule

  #### Declaration

  Swift

      func clearYearDayScheduleBatchable(yearDayIndex: UInt8, userIndex: UInt16) throws -> BatchableCommand<Void>

- `


  ### [supportsSetHolidayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsSetHolidayScheduleCommandSbvp)


  ` Whether the device supports the `setHolidaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsSetHolidayScheduleCommand: Bool { get }

- `


  ### [setHolidaySchedule(holidayIndex:localStartTime:localEndTime:operatingMode:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18setHolidaySchedule12holidayIndex14localStartTime0m3EndO013operatingModeys5UInt8V_s6UInt32VAnE09OperatingR4EnumOtYaKF)


  ` Set the holiday schedule by specifying the local start and end time with respect to a specific
  lock operating mode.

  #### Declaration

  Swift

      func setHolidaySchedule(holidayIndex: UInt8, localStartTime: UInt32, localEndTime: UInt32, operatingMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperatingModeEnum.html) async throws

  #### Parameters

  |---|---|
  | ` holidayIndex ` | The unique identifier for the holiday whose schedule is to be set. |
  | ` localStartTime ` | The starting time for the holiday schedule in Epoch Time in seconds with local time offset based on the local timezone and DST offset on the day represented by the value. |
  | ` localEndTime ` | The ending time for the holiday schedule in Epoch Time in seconds with local time offset based on the local timezone and DST offset on the day represented by the value. |
  | ` operatingMode ` | The operating mode to use for the specified holiday schedule start and end time. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperatingModeEnum.html`. |

- `


  ### [setHolidayScheduleBatchable(holidayIndex:localStartTime:localEndTime:operatingMode:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27setHolidayScheduleBatchable12holidayIndex14localStartTime0n3EndP013operatingMode0aB3SDK0K7CommandVyytGs5UInt8V_s6UInt32VArE09OperatingS4EnumOtKF)


  ` The batchable version of setHolidaySchedule command above.
  See also
  setHolidaySchedule

  #### Declaration

  Swift

      func setHolidayScheduleBatchable(holidayIndex: UInt8, localStartTime: UInt32, localEndTime: UInt32, operatingMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperatingModeEnum.html) throws -> BatchableCommand<Void>

- `


  ### [supportsGetHolidayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV33supportsGetHolidayScheduleCommandSbvp)


  ` Whether the device supports the `getHolidaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsGetHolidayScheduleCommand: Bool { get }

- `


  ### [getHolidaySchedule(holidayIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18getHolidaySchedule12holidayIndexAE03GetiJ7CommandV8ResponseVs5UInt8V_tYaKF)


  ` Get the holiday schedule for the specified holiday index.

  #### Declaration

  Swift

      func getHolidaySchedule(holidayIndex: UInt8) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetHolidayScheduleCommandResponse

  #### Parameters

  |---|---|
  | ` holidayIndex ` | The unique identifier for the holiday schedule to retrieve. |

  #### Return Value

  Returns the holiday schedule entry for the specified holiday ID.
- `


  ### [getHolidayScheduleBatchable(holidayIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV27getHolidayScheduleBatchable12holidayIndex0aB3SDK0K7CommandVyAE03GetijO0V8ResponseVGs5UInt8V_tKF)


  ` The batchable version of getHolidaySchedule command above.
  See also
  getHolidaySchedule

  #### Declaration

  Swift

      func getHolidayScheduleBatchable(holidayIndex: UInt8) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetHolidayScheduleCommandResponse>

- `


  ### [supportsClearHolidayScheduleCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV35supportsClearHolidayScheduleCommandSbvp)


  ` Whether the device supports the `clearHolidaySchedule` command for this trait.

  #### Declaration

  Swift

      var supportsClearHolidayScheduleCommand: Bool { get }

- `


  ### [clearHolidaySchedule(holidayIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV20clearHolidaySchedule12holidayIndexys5UInt8V_tYaKF)


  ` Clear the specified holiday schedule, or all holiday schedules.

  #### Declaration

  Swift

      func clearHolidaySchedule(holidayIndex: UInt8) async throws

  #### Parameters

  |---|---|
  | ` holidayIndex ` | The unique identifier for the holiday schedule to clear. `0xFE` clears all holiday schedules. |

- `


  ### [clearHolidayScheduleBatchable(holidayIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV29clearHolidayScheduleBatchable12holidayIndex0aB3SDK0K7CommandVyytGs5UInt8V_tKF)


  ` The batchable version of clearHolidaySchedule command above.
  See also
  clearHolidaySchedule

  #### Declaration

  Swift

      func clearHolidayScheduleBatchable(holidayIndex: UInt8) throws -> BatchableCommand<Void>

- `


  ### [supportsSetUserCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV22supportsSetUserCommandSbvp)


  ` Whether the device supports the `setUser` command for this trait.

  #### Declaration

  Swift

      var supportsSetUserCommand: Bool { get }

- `


  ### [setUser(operationType:userIndex:userName:userUniqueID:userStatus:userType:credentialRule:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV7setUser13operationType9userIndex0L4Name0L8UniqueID0L6Status0lK014credentialRuleyAE013DataOperationK4EnumO_s6UInt16VSSSgs6UInt32VSgAE0iqV0OSgAE0ikV0OSgAE010CredentialsV0OSgtYaKF)


  ` Set the user on the lock.

  #### Declaration

  Swift

      func setUser(operationType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html, userIndex: UInt16, userName: String?, userUniqueID: UInt32?, userStatus: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html?, userType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html?, credentialRule: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialRuleEnum.html?) async throws

  #### Parameters

  |---|---|
  | ` operationType ` | The operation to perform. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html`. |
  | ` userIndex ` | The unique identifier for the user to set on the lock. |
  | ` userName ` | The user name of the user to set on the lock. |
  | ` userStatus ` | The status of the user to set on the lock. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html`. |
  | ` userType ` | The type of the user. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html`. |
  | ` credentialRule ` | The credential rule. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialRuleEnum.html`. |

- `


  ### [setUserBatchable(operationType:userIndex:userName:userUniqueID:userStatus:userType:credentialRule:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV16setUserBatchable13operationType9userIndex0M4Name0M8UniqueID0M6Status0mL014credentialRule0aB3SDK0J7CommandVyytGAE013DataOperationL4EnumO_s6UInt16VSSSgs6UInt32VSgAE0irY0OSgAE0ilY0OSgAE010CredentialtY0OSgtKF)


  ` The batchable version of setUser command above.
  See also
  setUser

  #### Declaration

  Swift

      func setUserBatchable(operationType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html, userIndex: UInt16, userName: String?, userUniqueID: UInt32?, userStatus: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html?, userType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html?, credentialRule: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialRuleEnum.html?) throws -> BatchableCommand<Void>

- `


  ### [supportsGetUserCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV22supportsGetUserCommandSbvp)


  ` Whether the device supports the `getUser` command for this trait.

  #### Declaration

  Swift

      var supportsGetUserCommand: Bool { get }

- `


  ### [getUser(userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV7getUser9userIndexAE03GetI7CommandV8ResponseVs6UInt16V_tYaKF)


  ` Retrieve the user type for a specific user.

  #### Declaration

  Swift

      func getUser(userIndex: UInt16) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetUserCommandResponse

  #### Parameters

  |---|---|
  | ` userIndex ` | The unique identifier for the user whose type is to be retrieved. |

  #### Return Value

  Returns the user for the specified `userIndex`.
- `


  ### [getUserBatchable(userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV16getUserBatchable9userIndex0aB3SDK0J7CommandVyAE03GetiN0V8ResponseVGs6UInt16V_tKF)


  ` The batchable version of getUser command above.
  See also
  getUser

  #### Declaration

  Swift

      func getUserBatchable(userIndex: UInt16) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetUserCommandResponse>

- `


  ### [supportsClearUserCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV24supportsClearUserCommandSbvp)


  ` Whether the device supports the `clearUser` command for this trait.

  #### Declaration

  Swift

      var supportsClearUserCommand: Bool { get }

- `


  ### [clearUser(userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV9clearUser9userIndexys6UInt16V_tYaKF)


  ` Clear the specified user.

  #### Declaration

  Swift

      func clearUser(userIndex: UInt16) async throws

  #### Parameters

  |---|---|
  | ` userIndex ` | The unique identifier for the user to clear. `0xFFFE` clears all users. |

- `


  ### [clearUserBatchable(userIndex:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV18clearUserBatchable9userIndex0aB3SDK0J7CommandVyytGs6UInt16V_tKF)


  ` The batchable version of clearUser command above.
  See also
  clearUser

  #### Declaration

  Swift

      func clearUserBatchable(userIndex: UInt16) throws -> BatchableCommand<Void>

- `


  ### [supportsSetCredentialCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV28supportsSetCredentialCommandSbvp)


  ` Whether the device supports the `setCredential` command for this trait.

  #### Declaration

  Swift

      var supportsSetCredentialCommand: Bool { get }

- `


  ### [setCredential(operationType:credential:credentialData:userIndex:userStatus:userType:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV13setCredential13operationType10credential0L4Data9userIndex0N6Status0nK0AE03SetI7CommandV8ResponseVAE0m9OperationK4EnumO_AE0I6StructV10Foundation0M0Vs6UInt16VSgAE04UserpU0OSgAE0ykU0OSgtYaKF)


  ` Set a credential into the lock for a new or existing user, or for a programming user.

  #### Declaration

  Swift

      func setCredential(operationType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html, credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html, credentialData: Data, userIndex: UInt16?, userStatus: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html?, userType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html?) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.SetCredentialCommandResponse

  #### Parameters

  |---|---|
  | ` operationType ` | The operation to be performed. |
  | ` credential ` | The credential to be set. |
  | ` credentialData ` | The credential data to set for the credential being added or modified. |
  | ` userIndex ` | The unique identifier for the user record that corresponds to the credential being added or modified. |
  | ` userStatus ` | The user status to use in the new user record if a new user is being created. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html`. |
  | ` userType ` | The user type to use in the new user record if a new user is being created. Valid values are defined by `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html`. |

  #### Return Value

  The status for setting the specified credential.
- `


  ### [setCredentialBatchable(operationType:credential:credentialData:userIndex:userStatus:userType:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV22setCredentialBatchable13operationType10credential0M4Data9userIndex0O6Status0oL00aB3SDK0J7CommandVyAE03SetiS0V8ResponseVGAE0n9OperationL4EnumO_AE0I6StructV10Foundation0N0Vs6UInt16VSgAE04UserqW0OSgAE04UserlW0OSgtKF)


  ` The batchable version of setCredential command above.
  See also
  setCredential

  #### Declaration

  Swift

      func setCredentialBatchable(operationType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html, credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html, credentialData: Data, userIndex: UInt16?, userStatus: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html?, userType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html?) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.SetCredentialCommandResponse>

- `


  ### [supportsGetCredentialStatusCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV34supportsGetCredentialStatusCommandSbvp)


  ` Whether the device supports the `getCredentialStatus` command for this trait.

  #### Declaration

  Swift

      var supportsGetCredentialStatusCommand: Bool { get }

- `


  ### [getCredentialStatus(credential:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV19getCredentialStatus10credentialAE03GetiJ7CommandV8ResponseVAE0I6StructV_tYaKF)


  ` Retrieve the status of the specified credential.

  #### Declaration

  Swift

      func getCredentialStatus(credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetCredentialStatusCommandResponse

  #### Parameters

  |---|---|
  | ` credential ` | The credential whose status is to be retrieved. |

  #### Return Value

  Returns the status for the specified credential.
- `


  ### [getCredentialStatusBatchable(credential:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV28getCredentialStatusBatchable10credential0aB3SDK0K7CommandVyAE03GetijN0V8ResponseVGAE0I6StructV_tKF)


  ` The batchable version of getCredentialStatus command above.
  See also
  getCredentialStatus

  #### Declaration

  Swift

      func getCredentialStatusBatchable(credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html) throws -> BatchableCommand<https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.GetCredentialStatusCommandResponse>

- `


  ### [supportsClearCredentialCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV30supportsClearCredentialCommandSbvp)


  ` Whether the device supports the `clearCredential` command for this trait.

  #### Declaration

  Swift

      var supportsClearCredentialCommand: Bool { get }

- `


  ### [clearCredential(credential:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV15clearCredential10credentialyAE0I6StructVSg_tYaKF)


  ` Clear a single credential, one type of credential, or all credentials except `ProgrammingPIN`
  credentials.

  #### Declaration

  Swift

      func clearCredential(credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html?) async throws

  #### Parameters

  |---|---|
  | ` credential ` | The credential to be cleared. |

- `


  ### [clearCredentialBatchable(credential:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV24clearCredentialBatchable10credential0aB3SDK0J7CommandVyytGAE0I6StructVSg_tKF)


  ` The batchable version of clearCredential command above.
  See also
  clearCredential

  #### Declaration

  Swift

      func clearCredentialBatchable(credential: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialStruct.html?) throws -> BatchableCommand<Void>

- `


  ### [supportsUnboltDoorCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV014supportsUnboltE7CommandSbvp)


  ` Whether the device supports the `unboltDoor` command for this trait.

  #### Declaration

  Swift

      var supportsUnboltDoorCommand: Bool { get }

- `


  ### [unboltDoor(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV06unboltE020optionalArgsProvideryyAE06UnboltE7CommandV08OptionalJ0CYbcSg_tYaKF)


  ` Disengage the deadbolt.

  #### Declaration

  Swift

      func unboltDoor(optionalArgsProvider: (@Sendable (https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnboltDoorCommand.OptionalArgs) -> Void)? = nil) async throws

- `


  ### [unboltDoorBatchable(optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV06unboltE9Batchable20optionalArgsProvider0aB3SDK0I7CommandVyytGyAE06UnbolteN0V08OptionalK0CcSg_tKF)


  ` The batchable version of unboltDoor command above.
  See also
  unboltDoor

  #### Declaration

  Swift

      func unboltDoorBatchable(optionalArgsProvider: ((https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.UnboltDoorCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>

- `


  ### [supportsSetAliroReaderConfigCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV35supportsSetAliroReaderConfigCommandSbvp)


  ` Whether the device supports the `setAliroReaderConfig` command for this trait.

  #### Declaration

  Swift

      var supportsSetAliroReaderConfigCommand: Bool { get }

- `


  ### [setAliroReaderConfigBatchable(signingKey:verificationKey:groupIdentifier:optionalArgsProvider:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV29setAliroReaderConfigBatchable10signingKey012verificationN015groupIdentifier20optionalArgsProvider0aB3SDK0L7CommandVyytG10Foundation4DataV_A2QyAE03SetijkV0V08OptionalS0CcSgtKF)


  ` The batchable version of setAliroReaderConfig command above.
  See also
  setAliroReaderConfig

  #### Declaration

  Swift

      func setAliroReaderConfigBatchable(signingKey: Data, verificationKey: Data, groupIdentifier: Data, optionalArgsProvider: ((https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.DoorLockTrait.SetAliroReaderConfigCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>

- `


  ### [supportsClearAliroReaderConfigCommand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV37supportsClearAliroReaderConfigCommandSbvp)


  ` Whether the device supports the `clearAliroReaderConfig` command for this trait.

  #### Declaration

  Swift

      var supportsClearAliroReaderConfigCommand: Bool { get }

- `


  ### [clearAliroReaderConfigBatchable()](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV31clearAliroReaderConfigBatchable0aB3SDK0L7CommandVyytGyKF)


  ` The batchable version of clearAliroReaderConfig command above.
  See also
  clearAliroReaderConfig

  #### Declaration

  Swift

      func clearAliroReaderConfigBatchable() throws -> BatchableCommand<Void>

- `


  ### [AlarmCodeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/AlarmCodeEnum.html)


  ` Alarm codes.

  #### Declaration

  Swift

      enum AlarmCodeEnum

- `


  ### [CredentialRuleEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialRuleEnum.html)


  ` Indicates the credential rule that can be applied to a particular user.

  #### Declaration

  Swift

      enum CredentialRuleEnum

- `


  ### [CredentialTypeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/CredentialTypeEnum.html)


  ` Indicates the credential type.

  #### Declaration

  Swift

      enum CredentialTypeEnum

- `


  ### [DataOperationTypeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DataOperationTypeEnum.html)


  ` Indicates the data operation performed.

  #### Declaration

  Swift

      enum DataOperationTypeEnum

- `


  ### [DlLockState](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlLockState.html)


  ` Door lock states.

  #### Declaration

  Swift

      enum DlLockState

- `


  ### [DlLockType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlLockType.html)


  ` Lock types.

  #### Declaration

  Swift

      enum DlLockType

- `


  ### [DlStatus](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlStatus.html)


  ` Door lock statuses.

  #### Declaration

  Swift

      enum DlStatus

- `


  ### [DoorLockOperationEventCode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockOperationEventCode.html)


  ` Door lock operation event codes.

  #### Declaration

  Swift

      enum DoorLockOperationEventCode

- `


  ### [DoorLockProgrammingEventCode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockProgrammingEventCode.html)


  ` Door lock programming event codes.

  #### Declaration

  Swift

      enum DoorLockProgrammingEventCode

- `


  ### [DoorLockSetPinOrIdStatus](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockSetPinOrIdStatus.html)


  ` Door lock credential status.

  #### Declaration

  Swift

      enum DoorLockSetPinOrIdStatus

- `


  ### [DoorLockUserStatus](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockUserStatus.html)


  ` The status for a specific user.

  #### Declaration

  Swift

      enum DoorLockUserStatus

- `


  ### [DoorLockUserType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockUserType.html)


  ` The type for a specific user.

  #### Declaration

  Swift

      enum DoorLockUserType

- `


  ### [DoorStateEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorStateEnum.html)


  ` Door states.

  #### Declaration

  Swift

      enum DoorStateEnum

- `


  ### [LockDataTypeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/LockDataTypeEnum.html)


  ` Data types associated with door locks.

  #### Declaration

  Swift

      enum LockDataTypeEnum

- `


  ### [LockOperationTypeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/LockOperationTypeEnum.html)


  ` The type of Lock operation performed.

  #### Declaration

  Swift

      enum LockOperationTypeEnum

- `


  ### [OperatingModeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperatingModeEnum.html)


  ` Operating modes.

  #### Declaration

  Swift

      enum OperatingModeEnum

- `


  ### [OperationErrorEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperationErrorEnum.html)


  ` Indicates the cause of the Lock or Unlock operation failure.

  #### Declaration

  Swift

      enum OperationErrorEnum

- `


  ### [OperationSourceEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/OperationSourceEnum.html)


  ` Indicates the source of the Lock or Unlock operation.

  #### Declaration

  Swift

      enum OperationSourceEnum

- `


  ### [UserStatusEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserStatusEnum.html)


  ` The status for a specific user.

  #### Declaration

  Swift

      enum UserStatusEnum

- `


  ### [UserTypeEnum](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/UserTypeEnum.html)


  ` The type of a specific user.

  #### Declaration

  Swift

      enum UserTypeEnum

- `


  ### [DaysMaskMap](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DaysMaskMap.html)


  ` The days of the week.

  #### Declaration

  Swift

      struct DaysMaskMap

- `


  ### [DlCredentialRuleMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlCredentialRuleMask.html)


  ` Credential rules.

  #### Declaration

  Swift

      struct DlCredentialRuleMask

- `


  ### [DlCredentialRulesSupport](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlCredentialRulesSupport.html)


  ` Credential rules.

  #### Declaration

  Swift

      struct DlCredentialRulesSupport

- `


  ### [DlDefaultConfigurationRegister](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlDefaultConfigurationRegister.html)


  ` The default configurations as they are physically set on the device.

  #### Declaration

  Swift

      struct DlDefaultConfigurationRegister

- `


  ### [DlKeypadOperationEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlKeypadOperationEventMask.html)


  ` Event mask used to enable and disable the transmission of keypad operation events.

  #### Declaration

  Swift

      struct DlKeypadOperationEventMask

- `


  ### [DlKeypadProgrammingEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlKeypadProgrammingEventMask.html)


  ` Event mask used to enable and disable keypad programming events. Only applied to the
  Programming Event Notification Command.

  #### Declaration

  Swift

      struct DlKeypadProgrammingEventMask

- `


  ### [DlLocalProgrammingFeatures](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlLocalProgrammingFeatures.html)


  ` The local programming features that are disabled when the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO13DoorLockTraitV10AttributesV22enableLocalProgrammingSbSgvp` attribute is set to `false`.

  #### Declaration

  Swift

      struct DlLocalProgrammingFeatures

- `


  ### [DlManualOperationEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlManualOperationEventMask.html)


  ` Manual operation events.

  #### Declaration

  Swift

      struct DlManualOperationEventMask

- `


  ### [DlRfidOperationEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlRfidOperationEventMask.html)


  ` Event mask used to enable and disable the transmission of RFID events.

  #### Declaration

  Swift

      struct DlRfidOperationEventMask

- `


  ### [DlRfidProgrammingEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlRfidProgrammingEventMask.html)


  ` Event mask used to enable and disable RFID programming events.

  #### Declaration

  Swift

      struct DlRfidProgrammingEventMask

- `


  ### [DlRemoteOperationEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlRemoteOperationEventMask.html)


  ` Event mask used to enable and disable the transmission of remote operation events.

  #### Declaration

  Swift

      struct DlRemoteOperationEventMask

- `


  ### [DlRemoteProgrammingEventMask](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlRemoteProgrammingEventMask.html)


  ` Event mask used to enable and disable remote programming events.

  #### Declaration

  Swift

      struct DlRemoteProgrammingEventMask

- `


  ### [DlSupportedOperatingModes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DlSupportedOperatingModes.html)


  ` This bitmap contains all operating bits of the Operating Mode Attribute supported by the lock.

  #### Declaration

  Swift

      struct DlSupportedOperatingModes

- `


  ### [DoorLockDayOfWeek](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/DoorLockDayOfWeek.html)


  ` Days of the week.

  #### Declaration

  Swift

      struct DoorLockDayOfWeek

- `


  ### [Feature](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/DoorLockTrait/Feature.html)


  ` DoorLock cluster FeatureMap. Some behaviors of these features are described in the cluster
  attributes and commands. For complete details of these features, see the [Matter
  Specification](https://csa-iot.org/developer-resource/specifications-download-request/).

  #### Declaration

  Swift

      struct Feature