# `Grizzly.ZWave.Commands.UserCodeCapabilitiesReport`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/zwave/commands/user_code_capabilities_report.ex#L1)

This command is used to advertise User Code capabilities.

## Params

* `:admin_code_supported?` - Whether the lock supports admin code functionality.
* `:admin_code_deactivation_supported?` - Whether the lock supports deactivating an admin code.
* `:user_code_checksum_supported?` - Whether the lock supports user code checksum functionality.
* `:multi_user_code_report_supported?` - Whether the lock supports reporting multiple user codes
  via the Extended User Code Report command.
* `:multi_user_code_set_supported?` - Whether the lock supports setting multiple user codes via
  the Extended User Code Set command.
* `:supported_user_id_statuses` - A list of supported user ID statuses.
* `:supported_keypad_modes` - A list of supported keypad modes.
* `:supported_keypad_keys` - A list of supported keypad keys.

# `ascii_char`

```elixir
@type ascii_char() :: 0..127
```

# `param`

```elixir
@type param() ::
  {:admin_code_supported?, boolean()}
  | {:admin_code_deactivation_supported?, boolean()}
  | {:user_code_checksum_supported?, boolean()}
  | {:multi_user_code_report_supported?, boolean()}
  | {:multi_user_code_set_supported?, boolean()}
  | {:supported_user_id_statuses,
     [Grizzly.ZWave.CommandClasses.UserCode.user_id_status()]}
  | {:supported_keypad_modes,
     [Grizzly.ZWave.CommandClasses.UserCode.keypad_mode()]}
  | {:supported_keypad_keys, [ascii_char()]}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
