# Devices

Seam decomposes the ensemble of features that a device provides into one or more capabilities, such as the capability to perform a remote unlock or the capability to program online access codes.

For detailed information about capabilities, see [Device and System Capabilities](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides/device-and-system-capabilities).

Seam exposes each capability as a set of APIs that are standardized across brands for ease of integration. For example, an unlock action on a door lock always requires the same API call, regardless of the device brand.

![](https://2727122207-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxnN2A67918om1UthYWsF%2Fuploads%2Fgit-blob-70e4c8058e4827129867a10a5e3d5e11a39b8b5a%2Fimage.png?alt=media)

In addition, Seam provides the following three sets of device-related features:

* **Actions:** Commands that you can issue to the device, such as unlock. For more information, see the [Capability Guides](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/capability-guides).
* **Properties:** The current state of the device, such as the locked, online, and managed statuses. For details, see [`device` Properties](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/devices#device-properties).
* **Events:** Notifications related to changes in the state of the device, such as an unlocking operation performed with an access code. For details, see [Events](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/api/events).\
  To help you test your app against events—like device disconnection or removal—that are difficult to orchestrate in a QA environment using real devices, Seam provides a suite of `simulate` endpoints that you can use in a [sandbox workspace](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/workspaces#sandbox-workspaces). See [Testing Your App Against Device Disconnection and Removal](https://docs.seam.co/latest/~/revisions/DFdrUdS2jQOnbJTNDT5a/core-concepts/devices/testing-your-app-against-device-disconnection-and-removal).
