# NodeCandidate

    protocol NodeCandidate : Hashable, Sendable

Defines the common attributes of all Automations Discovery candidates.
- `


  ### [FieldDetailsType](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP16FieldDetailsTypeQa)


  ` Undocumented

  #### Declaration

  Swift

      associatedtype FieldDetailsType : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/FieldDetails.html

- `


  ### [homeObject](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP10homeObjectAA0bG0_pvp)


  ` Undocumented

  #### Declaration

  Swift

      var homeObject: any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/HomeObject.html { get }

- `


  ### [deviceTypes](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP11deviceTypesSayAA10DeviceType_pXpGvp)


  ` Undocumented

  #### Declaration

  Swift

      var deviceTypes: [any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/DeviceType.html.Type] { get }

- `


  ### [trait](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP5traitAA5Trait_pXpvp)


  ` Undocumented

  #### Declaration

  Swift

      var trait: any https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/Trait.html.Type { get }

- `


  ### [fieldDetails](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP12fieldDetailsSDyAA8AnyFieldV0iG4TypeQzGvp)


  ` Undocumented

  #### Declaration

  Swift

      var fieldDetails: [https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/AnyField.html : https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate.html#/s:13GoogleHomeSDK13NodeCandidateP16FieldDetailsTypeQa] { get }

- `


  ### [unsupportedReasons](https://developers.home.google.com/reference/swift/GoogleHomeSDK/Protocols/NodeCandidate#/s:13GoogleHomeSDK13NodeCandidateP18unsupportedReasonsSayAA011UnsupportedE6ReasonVGvp)


  ` Undocumented

  #### Declaration

  Swift

      var unsupportedReasons: [https://developers.home.google.com/reference/swift/GoogleHomeSDK/Structs/UnsupportedCandidateReason.html] { get }