seam 2.104.0 → 2.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/seam/routes/clients/access_codes.rb +8 -14
  4. data/lib/seam/routes/clients/access_codes_unmanaged.rb +4 -4
  5. data/lib/seam/routes/clients/access_grants_unmanaged.rb +2 -2
  6. data/lib/seam/routes/clients/access_methods.rb +4 -4
  7. data/lib/seam/routes/clients/acs_credentials.rb +2 -2
  8. data/lib/seam/routes/clients/acs_entrances.rb +10 -0
  9. data/lib/seam/routes/clients/connect_webviews.rb +2 -2
  10. data/lib/seam/routes/clients/connected_accounts.rb +2 -2
  11. data/lib/seam/routes/clients/customers.rb +2 -6
  12. data/lib/seam/routes/clients/devices.rb +2 -2
  13. data/lib/seam/routes/clients/devices_unmanaged.rb +2 -2
  14. data/lib/seam/routes/clients/index.rb +0 -1
  15. data/lib/seam/routes/clients/locks.rb +14 -6
  16. data/lib/seam/routes/clients/noise_sensors.rb +2 -2
  17. data/lib/seam/routes/clients/noise_sensors_noise_thresholds.rb +8 -8
  18. data/lib/seam/routes/clients/spaces.rb +2 -2
  19. data/lib/seam/routes/clients/thermostats.rb +12 -12
  20. data/lib/seam/routes/resources/access_method.rb +1 -1
  21. data/lib/seam/routes/resources/acs_access_group.rb +1 -1
  22. data/lib/seam/routes/resources/acs_entrance.rb +1 -1
  23. data/lib/seam/routes/resources/device.rb +1 -1
  24. data/lib/seam/routes/resources/device_provider.rb +1 -1
  25. data/lib/seam/routes/resources/event.rb +1 -1
  26. data/lib/seam/routes/resources/unmanaged_acs_access_group.rb +1 -1
  27. data/lib/seam/routes/resources/unmanaged_device.rb +1 -1
  28. data/lib/seam/version.rb +1 -1
  29. metadata +2 -3
  30. data/lib/seam/routes/clients/customers_reservations.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1569fcf3dcb161da7754b2f4154a3a6b38e3441cbb28504390c2ae75b5d75eb
4
- data.tar.gz: e060b408b9f26b038c90b75e0f222b5da3b3780762b06a5eccccc970d94134e1
3
+ metadata.gz: 5d1dd43a374df1e7c95de7a710e135b09e503af48e63790990ef6da9420c8328
4
+ data.tar.gz: dd21b8b60fb5f190152a545242a8acfebf76dc2d194d1b539aff18e08cc028d9
5
5
  SHA512:
6
- metadata.gz: 7610a598ec1121ad5d21bd2ea28cb0b135935acc9b9de48808df32ee912b84fa4c83b0109c10e56b1ba8642a46d90fd1e6b6824f02c17ff5526cd9a19d0b4ed0
7
- data.tar.gz: f68eb60246b3cf828ecf315645743e796dc1d9dd21b38d30e0a456fe7fde5133669245737b9695599167b34512e3161b18b71a9d217f45c4bf4e454e00a4a455
6
+ metadata.gz: f3b0695bae4c795da270be96120229044231a55dd43c4fe5bda6bb70b1e1f05768501e5a6ba304a885df4e12d494b9dd0c60c84081d6236c32c6430295225d7a
7
+ data.tar.gz: 62adbfb753c36582a8c5c3e3d847d6dc40b2f8532c9b8fb5f4422d8de38eadeba2cd135b7d1f68280161a4fa15e4dbc9254bcc0ab848e46b77fb6692047ef0b9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.104.0)
4
+ seam (2.106.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -16,8 +16,8 @@ module Seam
16
16
  @unmanaged ||= Seam::Clients::AccessCodesUnmanaged.new(client: @client, defaults: @defaults)
17
17
  end
18
18
 
19
- def create(device_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, common_code_key: nil, ends_at: nil, is_external_modification_allowed: nil, is_offline_access_code: nil, is_one_time_use: nil, max_time_rounding: nil, name: nil, prefer_native_scheduling: nil, preferred_code_length: nil, starts_at: nil, sync: nil, use_backup_access_code_pool: nil, use_offline_access_code: nil)
20
- res = @client.post("/access_codes/create", {device_id: device_id, allow_external_modification: allow_external_modification, attempt_for_offline_device: attempt_for_offline_device, code: code, common_code_key: common_code_key, ends_at: ends_at, is_external_modification_allowed: is_external_modification_allowed, is_offline_access_code: is_offline_access_code, is_one_time_use: is_one_time_use, max_time_rounding: max_time_rounding, name: name, prefer_native_scheduling: prefer_native_scheduling, preferred_code_length: preferred_code_length, starts_at: starts_at, sync: sync, use_backup_access_code_pool: use_backup_access_code_pool, use_offline_access_code: use_offline_access_code}.compact)
19
+ def create(device_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, common_code_key: nil, ends_at: nil, is_external_modification_allowed: nil, is_offline_access_code: nil, is_one_time_use: nil, max_time_rounding: nil, name: nil, prefer_native_scheduling: nil, preferred_code_length: nil, starts_at: nil, use_backup_access_code_pool: nil, use_offline_access_code: nil)
20
+ res = @client.post("/access_codes/create", {device_id: device_id, allow_external_modification: allow_external_modification, attempt_for_offline_device: attempt_for_offline_device, code: code, common_code_key: common_code_key, ends_at: ends_at, is_external_modification_allowed: is_external_modification_allowed, is_offline_access_code: is_offline_access_code, is_one_time_use: is_one_time_use, max_time_rounding: max_time_rounding, name: name, prefer_native_scheduling: prefer_native_scheduling, preferred_code_length: preferred_code_length, starts_at: starts_at, use_backup_access_code_pool: use_backup_access_code_pool, use_offline_access_code: use_offline_access_code}.compact)
21
21
 
22
22
  Seam::Resources::AccessCode.load_from_response(res.body["access_code"])
23
23
  end
@@ -28,8 +28,8 @@ module Seam
28
28
  Seam::Resources::AccessCode.load_from_response(res.body["access_codes"])
29
29
  end
30
30
 
31
- def delete(access_code_id:, device_id: nil, sync: nil)
32
- @client.post("/access_codes/delete", {access_code_id: access_code_id, device_id: device_id, sync: sync}.compact)
31
+ def delete(access_code_id:, device_id: nil)
32
+ @client.post("/access_codes/delete", {access_code_id: access_code_id, device_id: device_id}.compact)
33
33
 
34
34
  nil
35
35
  end
@@ -46,14 +46,8 @@ module Seam
46
46
  Seam::Resources::AccessCode.load_from_response(res.body["access_code"])
47
47
  end
48
48
 
49
- def get_timeline(access_code_id:, after: nil, before: nil, event_types: nil, limit: nil)
50
- @client.post("/access_codes/get_timeline", {access_code_id: access_code_id, after: after, before: before, event_types: event_types, limit: limit}.compact)
51
-
52
- nil
53
- end
54
-
55
- def list(access_code_ids: nil, customer_key: nil, device_id: nil, limit: nil, page_cursor: nil, search: nil, user_identifier_key: nil)
56
- res = @client.post("/access_codes/list", {access_code_ids: access_code_ids, customer_key: customer_key, device_id: device_id, limit: limit, page_cursor: page_cursor, search: search, user_identifier_key: user_identifier_key}.compact)
49
+ def list(access_code_ids: nil, access_method_id: nil, customer_key: nil, device_id: nil, limit: nil, page_cursor: nil, search: nil, user_identifier_key: nil)
50
+ res = @client.post("/access_codes/list", {access_code_ids: access_code_ids, access_method_id: access_method_id, customer_key: customer_key, device_id: device_id, limit: limit, page_cursor: page_cursor, search: search, user_identifier_key: user_identifier_key}.compact)
57
51
 
58
52
  Seam::Resources::AccessCode.load_from_response(res.body["access_codes"])
59
53
  end
@@ -70,8 +64,8 @@ module Seam
70
64
  nil
71
65
  end
72
66
 
73
- def update(access_code_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, device_id: nil, ends_at: nil, is_external_modification_allowed: nil, is_managed: nil, is_offline_access_code: nil, is_one_time_use: nil, max_time_rounding: nil, name: nil, prefer_native_scheduling: nil, preferred_code_length: nil, starts_at: nil, sync: nil, type: nil, use_backup_access_code_pool: nil, use_offline_access_code: nil)
74
- @client.post("/access_codes/update", {access_code_id: access_code_id, allow_external_modification: allow_external_modification, attempt_for_offline_device: attempt_for_offline_device, code: code, device_id: device_id, ends_at: ends_at, is_external_modification_allowed: is_external_modification_allowed, is_managed: is_managed, is_offline_access_code: is_offline_access_code, is_one_time_use: is_one_time_use, max_time_rounding: max_time_rounding, name: name, prefer_native_scheduling: prefer_native_scheduling, preferred_code_length: preferred_code_length, starts_at: starts_at, sync: sync, type: type, use_backup_access_code_pool: use_backup_access_code_pool, use_offline_access_code: use_offline_access_code}.compact)
67
+ def update(access_code_id:, allow_external_modification: nil, attempt_for_offline_device: nil, code: nil, device_id: nil, ends_at: nil, is_external_modification_allowed: nil, is_managed: nil, is_offline_access_code: nil, is_one_time_use: nil, max_time_rounding: nil, name: nil, prefer_native_scheduling: nil, preferred_code_length: nil, starts_at: nil, type: nil, use_backup_access_code_pool: nil, use_offline_access_code: nil)
68
+ @client.post("/access_codes/update", {access_code_id: access_code_id, allow_external_modification: allow_external_modification, attempt_for_offline_device: attempt_for_offline_device, code: code, device_id: device_id, ends_at: ends_at, is_external_modification_allowed: is_external_modification_allowed, is_managed: is_managed, is_offline_access_code: is_offline_access_code, is_one_time_use: is_one_time_use, max_time_rounding: max_time_rounding, name: name, prefer_native_scheduling: prefer_native_scheduling, preferred_code_length: preferred_code_length, starts_at: starts_at, type: type, use_backup_access_code_pool: use_backup_access_code_pool, use_offline_access_code: use_offline_access_code}.compact)
75
69
 
76
70
  nil
77
71
  end
@@ -8,14 +8,14 @@ module Seam
8
8
  @defaults = defaults
9
9
  end
10
10
 
11
- def convert_to_managed(access_code_id:, allow_external_modification: nil, force: nil, is_external_modification_allowed: nil, sync: nil)
12
- @client.post("/access_codes/unmanaged/convert_to_managed", {access_code_id: access_code_id, allow_external_modification: allow_external_modification, force: force, is_external_modification_allowed: is_external_modification_allowed, sync: sync}.compact)
11
+ def convert_to_managed(access_code_id:, allow_external_modification: nil, force: nil, is_external_modification_allowed: nil)
12
+ @client.post("/access_codes/unmanaged/convert_to_managed", {access_code_id: access_code_id, allow_external_modification: allow_external_modification, force: force, is_external_modification_allowed: is_external_modification_allowed}.compact)
13
13
 
14
14
  nil
15
15
  end
16
16
 
17
- def delete(access_code_id:, sync: nil)
18
- @client.post("/access_codes/unmanaged/delete", {access_code_id: access_code_id, sync: sync}.compact)
17
+ def delete(access_code_id:)
18
+ @client.post("/access_codes/unmanaged/delete", {access_code_id: access_code_id}.compact)
19
19
 
20
20
  nil
21
21
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  nil
15
15
  end
16
16
 
17
- def list(acs_entrance_id: nil, acs_system_id: nil, reservation_key: nil, user_identity_id: nil)
18
- @client.post("/access_grants/unmanaged/list", {acs_entrance_id: acs_entrance_id, acs_system_id: acs_system_id, reservation_key: reservation_key, user_identity_id: user_identity_id}.compact)
17
+ def list(acs_entrance_id: nil, acs_system_id: nil, limit: nil, page_cursor: nil, reservation_key: nil, user_identity_id: nil)
18
+ @client.post("/access_grants/unmanaged/list", {acs_entrance_id: acs_entrance_id, acs_system_id: acs_system_id, limit: limit, page_cursor: page_cursor, reservation_key: reservation_key, user_identity_id: user_identity_id}.compact)
19
19
 
20
20
  nil
21
21
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  @unmanaged ||= Seam::Clients::AccessMethodsUnmanaged.new(client: @client, defaults: @defaults)
15
15
  end
16
16
 
17
- def delete(access_method_id:)
18
- @client.post("/access_methods/delete", {access_method_id: access_method_id}.compact)
17
+ def delete(access_method_id: nil, access_grant_id: nil, reservation_key: nil)
18
+ @client.post("/access_methods/delete", {access_method_id: access_method_id, access_grant_id: access_grant_id, reservation_key: reservation_key}.compact)
19
19
 
20
20
  nil
21
21
  end
@@ -40,8 +40,8 @@ module Seam
40
40
  Seam::Resources::Batch.load_from_response(res.body["batch"])
41
41
  end
42
42
 
43
- def list(access_grant_id:, acs_entrance_id: nil, device_id: nil, space_id: nil)
44
- res = @client.post("/access_methods/list", {access_grant_id: access_grant_id, acs_entrance_id: acs_entrance_id, device_id: device_id, space_id: space_id}.compact)
43
+ def list(access_grant_id: nil, access_grant_key: nil, acs_entrance_id: nil, device_id: nil, space_id: nil)
44
+ res = @client.post("/access_methods/list", {access_grant_id: access_grant_id, access_grant_key: access_grant_key, acs_entrance_id: acs_entrance_id, device_id: device_id, space_id: space_id}.compact)
45
45
 
46
46
  Seam::Resources::AccessMethod.load_from_response(res.body["access_methods"])
47
47
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  nil
15
15
  end
16
16
 
17
- def create(access_method:, acs_system_id: nil, acs_user_id: nil, allowed_acs_entrance_ids: nil, assa_abloy_vostio_metadata: nil, code: nil, credential_manager_acs_system_id: nil, ends_at: nil, hotek_metadata: nil, is_multi_phone_sync_credential: nil, salto_space_metadata: nil, starts_at: nil, user_identity_id: nil, visionline_metadata: nil)
18
- res = @client.post("/acs/credentials/create", {access_method: access_method, acs_system_id: acs_system_id, acs_user_id: acs_user_id, allowed_acs_entrance_ids: allowed_acs_entrance_ids, assa_abloy_vostio_metadata: assa_abloy_vostio_metadata, code: code, credential_manager_acs_system_id: credential_manager_acs_system_id, ends_at: ends_at, hotek_metadata: hotek_metadata, is_multi_phone_sync_credential: is_multi_phone_sync_credential, salto_space_metadata: salto_space_metadata, starts_at: starts_at, user_identity_id: user_identity_id, visionline_metadata: visionline_metadata}.compact)
17
+ def create(access_method:, acs_system_id: nil, acs_user_id: nil, allowed_acs_entrance_ids: nil, assa_abloy_vostio_metadata: nil, code: nil, credential_manager_acs_system_id: nil, ends_at: nil, is_multi_phone_sync_credential: nil, salto_space_metadata: nil, starts_at: nil, user_identity_id: nil, visionline_metadata: nil)
18
+ res = @client.post("/acs/credentials/create", {access_method: access_method, acs_system_id: acs_system_id, acs_user_id: acs_user_id, allowed_acs_entrance_ids: allowed_acs_entrance_ids, assa_abloy_vostio_metadata: assa_abloy_vostio_metadata, code: code, credential_manager_acs_system_id: credential_manager_acs_system_id, ends_at: ends_at, is_multi_phone_sync_credential: is_multi_phone_sync_credential, salto_space_metadata: salto_space_metadata, starts_at: starts_at, user_identity_id: user_identity_id, visionline_metadata: visionline_metadata}.compact)
19
19
 
20
20
  Seam::Resources::AcsCredential.load_from_response(res.body["acs_credential"])
21
21
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "seam/helpers/action_attempt"
4
+
3
5
  module Seam
4
6
  module Clients
5
7
  class AcsEntrances
@@ -31,6 +33,14 @@ module Seam
31
33
 
32
34
  Seam::Resources::AcsCredential.load_from_response(res.body["acs_credentials"])
33
35
  end
36
+
37
+ def unlock(acs_credential_id:, acs_entrance_id:, wait_for_action_attempt: nil)
38
+ res = @client.post("/acs/entrances/unlock", {acs_credential_id: acs_credential_id, acs_entrance_id: acs_entrance_id}.compact)
39
+
40
+ wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
41
+
42
+ Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
43
+ end
34
44
  end
35
45
  end
36
46
  end
@@ -8,8 +8,8 @@ module Seam
8
8
  @defaults = defaults
9
9
  end
10
10
 
11
- def create(accepted_capabilities: nil, accepted_providers: nil, automatically_manage_new_devices: nil, custom_metadata: nil, custom_redirect_failure_url: nil, custom_redirect_url: nil, customer_key: nil, device_selection_mode: nil, excluded_providers: nil, provider_category: nil, wait_for_device_creation: nil)
12
- res = @client.post("/connect_webviews/create", {accepted_capabilities: accepted_capabilities, accepted_providers: accepted_providers, automatically_manage_new_devices: automatically_manage_new_devices, custom_metadata: custom_metadata, custom_redirect_failure_url: custom_redirect_failure_url, custom_redirect_url: custom_redirect_url, customer_key: customer_key, device_selection_mode: device_selection_mode, excluded_providers: excluded_providers, provider_category: provider_category, wait_for_device_creation: wait_for_device_creation}.compact)
11
+ def create(accepted_capabilities: nil, accepted_providers: nil, automatically_manage_new_devices: nil, custom_metadata: nil, custom_redirect_failure_url: nil, custom_redirect_url: nil, customer_key: nil, excluded_providers: nil, provider_category: nil, wait_for_device_creation: nil)
12
+ res = @client.post("/connect_webviews/create", {accepted_capabilities: accepted_capabilities, accepted_providers: accepted_providers, automatically_manage_new_devices: automatically_manage_new_devices, custom_metadata: custom_metadata, custom_redirect_failure_url: custom_redirect_failure_url, custom_redirect_url: custom_redirect_url, customer_key: customer_key, excluded_providers: excluded_providers, provider_category: provider_category, wait_for_device_creation: wait_for_device_creation}.compact)
13
13
 
14
14
  Seam::Resources::ConnectWebview.load_from_response(res.body["connect_webview"])
15
15
  end
@@ -12,8 +12,8 @@ module Seam
12
12
  @simulate ||= Seam::Clients::ConnectedAccountsSimulate.new(client: @client, defaults: @defaults)
13
13
  end
14
14
 
15
- def delete(connected_account_id:, sync: nil)
16
- @client.post("/connected_accounts/delete", {connected_account_id: connected_account_id, sync: sync}.compact)
15
+ def delete(connected_account_id:)
16
+ @client.post("/connected_accounts/delete", {connected_account_id: connected_account_id}.compact)
17
17
 
18
18
  nil
19
19
  end
@@ -8,12 +8,8 @@ module Seam
8
8
  @defaults = defaults
9
9
  end
10
10
 
11
- def reservations
12
- @reservations ||= Seam::Clients::CustomersReservations.new(client: @client, defaults: @defaults)
13
- end
14
-
15
- def create_portal(customer_resources_filters: nil, customization_profile_id: nil, deep_link: nil, exclude_locale_picker: nil, features: nil, is_embedded: nil, landing_page: nil, locale: nil, navigation_mode: nil, customer_data: nil)
16
- res = @client.post("/customers/create_portal", {customer_resources_filters: customer_resources_filters, customization_profile_id: customization_profile_id, deep_link: deep_link, exclude_locale_picker: exclude_locale_picker, features: features, is_embedded: is_embedded, landing_page: landing_page, locale: locale, navigation_mode: navigation_mode, customer_data: customer_data}.compact)
11
+ def create_portal(customer_resources_filters: nil, customization_profile_id: nil, exclude_locale_picker: nil, features: nil, is_embedded: nil, landing_page: nil, locale: nil, navigation_mode: nil, customer_data: nil)
12
+ res = @client.post("/customers/create_portal", {customer_resources_filters: customer_resources_filters, customization_profile_id: customization_profile_id, exclude_locale_picker: exclude_locale_picker, features: features, is_embedded: is_embedded, landing_page: landing_page, locale: locale, navigation_mode: navigation_mode, customer_data: customer_data}.compact)
17
13
 
18
14
  Seam::Resources::MagicLink.load_from_response(res.body["magic_link"])
19
15
  end
@@ -22,8 +22,8 @@ module Seam
22
22
  Seam::Resources::Device.load_from_response(res.body["device"])
23
23
  end
24
24
 
25
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
26
- res = @client.post("/devices/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
25
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
26
+ res = @client.post("/devices/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
27
27
 
28
28
  Seam::Resources::Device.load_from_response(res.body["devices"])
29
29
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  Seam::Resources::UnmanagedDevice.load_from_response(res.body["device"])
15
15
  end
16
16
 
17
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
18
- res = @client.post("/devices/unmanaged/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
17
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
18
+ res = @client.post("/devices/unmanaged/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
19
19
 
20
20
  Seam::Resources::UnmanagedDevice.load_from_response(res.body["devices"])
21
21
  end
@@ -21,7 +21,6 @@ require_relative "connect_webviews"
21
21
  require_relative "connected_accounts"
22
22
  require_relative "connected_accounts_simulate"
23
23
  require_relative "customers"
24
- require_relative "customers_reservations"
25
24
  require_relative "devices"
26
25
  require_relative "devices_simulate"
27
26
  require_relative "devices_unmanaged"
@@ -14,28 +14,36 @@ module Seam
14
14
  @simulate ||= Seam::Clients::LocksSimulate.new(client: @client, defaults: @defaults)
15
15
  end
16
16
 
17
+ def configure_auto_lock(auto_lock_enabled:, device_id:, auto_lock_delay_seconds: nil, wait_for_action_attempt: nil)
18
+ res = @client.post("/locks/configure_auto_lock", {auto_lock_enabled: auto_lock_enabled, device_id: device_id, auto_lock_delay_seconds: auto_lock_delay_seconds}.compact)
19
+
20
+ wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
21
+
22
+ Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
23
+ end
24
+
17
25
  def get(device_id: nil, name: nil)
18
26
  res = @client.post("/locks/get", {device_id: device_id, name: name}.compact)
19
27
 
20
28
  Seam::Resources::Device.load_from_response(res.body["device"])
21
29
  end
22
30
 
23
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
24
- res = @client.post("/locks/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
31
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
32
+ res = @client.post("/locks/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
25
33
 
26
34
  Seam::Resources::Device.load_from_response(res.body["devices"])
27
35
  end
28
36
 
29
- def lock_door(device_id:, sync: nil, wait_for_action_attempt: nil)
30
- res = @client.post("/locks/lock_door", {device_id: device_id, sync: sync}.compact)
37
+ def lock_door(device_id:, wait_for_action_attempt: nil)
38
+ res = @client.post("/locks/lock_door", {device_id: device_id}.compact)
31
39
 
32
40
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
33
41
 
34
42
  Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
35
43
  end
36
44
 
37
- def unlock_door(device_id:, sync: nil, wait_for_action_attempt: nil)
38
- res = @client.post("/locks/unlock_door", {device_id: device_id, sync: sync}.compact)
45
+ def unlock_door(device_id:, wait_for_action_attempt: nil)
46
+ res = @client.post("/locks/unlock_door", {device_id: device_id}.compact)
39
47
 
40
48
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
41
49
 
@@ -16,8 +16,8 @@ module Seam
16
16
  @simulate ||= Seam::Clients::NoiseSensorsSimulate.new(client: @client, defaults: @defaults)
17
17
  end
18
18
 
19
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
20
- res = @client.post("/noise_sensors/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
19
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
20
+ res = @client.post("/noise_sensors/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
21
21
 
22
22
  Seam::Resources::Device.load_from_response(res.body["devices"])
23
23
  end
@@ -8,14 +8,14 @@ module Seam
8
8
  @defaults = defaults
9
9
  end
10
10
 
11
- def create(device_id:, ends_daily_at:, starts_daily_at:, name: nil, noise_threshold_decibels: nil, noise_threshold_nrs: nil, sync: nil)
12
- res = @client.post("/noise_sensors/noise_thresholds/create", {device_id: device_id, ends_daily_at: ends_daily_at, starts_daily_at: starts_daily_at, name: name, noise_threshold_decibels: noise_threshold_decibels, noise_threshold_nrs: noise_threshold_nrs, sync: sync}.compact)
11
+ def create(device_id:, ends_daily_at:, starts_daily_at:, name: nil, noise_threshold_decibels: nil, noise_threshold_nrs: nil)
12
+ res = @client.post("/noise_sensors/noise_thresholds/create", {device_id: device_id, ends_daily_at: ends_daily_at, starts_daily_at: starts_daily_at, name: name, noise_threshold_decibels: noise_threshold_decibels, noise_threshold_nrs: noise_threshold_nrs}.compact)
13
13
 
14
14
  Seam::Resources::NoiseThreshold.load_from_response(res.body["noise_threshold"])
15
15
  end
16
16
 
17
- def delete(device_id:, noise_threshold_id:, sync: nil)
18
- @client.post("/noise_sensors/noise_thresholds/delete", {device_id: device_id, noise_threshold_id: noise_threshold_id, sync: sync}.compact)
17
+ def delete(device_id:, noise_threshold_id:)
18
+ @client.post("/noise_sensors/noise_thresholds/delete", {device_id: device_id, noise_threshold_id: noise_threshold_id}.compact)
19
19
 
20
20
  nil
21
21
  end
@@ -26,14 +26,14 @@ module Seam
26
26
  Seam::Resources::NoiseThreshold.load_from_response(res.body["noise_threshold"])
27
27
  end
28
28
 
29
- def list(device_id:, is_programmed: nil)
30
- res = @client.post("/noise_sensors/noise_thresholds/list", {device_id: device_id, is_programmed: is_programmed}.compact)
29
+ def list(device_id:)
30
+ res = @client.post("/noise_sensors/noise_thresholds/list", {device_id: device_id}.compact)
31
31
 
32
32
  Seam::Resources::NoiseThreshold.load_from_response(res.body["noise_thresholds"])
33
33
  end
34
34
 
35
- def update(device_id:, noise_threshold_id:, ends_daily_at: nil, name: nil, noise_threshold_decibels: nil, noise_threshold_nrs: nil, starts_daily_at: nil, sync: nil)
36
- @client.post("/noise_sensors/noise_thresholds/update", {device_id: device_id, noise_threshold_id: noise_threshold_id, ends_daily_at: ends_daily_at, name: name, noise_threshold_decibels: noise_threshold_decibels, noise_threshold_nrs: noise_threshold_nrs, starts_daily_at: starts_daily_at, sync: sync}.compact)
35
+ def update(device_id:, noise_threshold_id:, ends_daily_at: nil, name: nil, noise_threshold_decibels: nil, noise_threshold_nrs: nil, starts_daily_at: nil)
36
+ @client.post("/noise_sensors/noise_thresholds/update", {device_id: device_id, noise_threshold_id: noise_threshold_id, ends_daily_at: ends_daily_at, name: name, noise_threshold_decibels: noise_threshold_decibels, noise_threshold_nrs: noise_threshold_nrs, starts_daily_at: starts_daily_at}.compact)
37
37
 
38
38
  nil
39
39
  end
@@ -44,8 +44,8 @@ module Seam
44
44
  Seam::Resources::Batch.load_from_response(res.body["batch"])
45
45
  end
46
46
 
47
- def list(connected_account_id: nil, customer_key: nil, search: nil, space_key: nil)
48
- res = @client.post("/spaces/list", {connected_account_id: connected_account_id, customer_key: customer_key, search: search, space_key: space_key}.compact)
47
+ def list(customer_key: nil, search: nil, space_key: nil)
48
+ res = @client.post("/spaces/list", {customer_key: customer_key, search: search, space_key: space_key}.compact)
49
49
 
50
50
  Seam::Resources::Space.load_from_response(res.body["spaces"])
51
51
  end
@@ -30,8 +30,8 @@ module Seam
30
30
  Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
31
31
  end
32
32
 
33
- def cool(device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, sync: nil, wait_for_action_attempt: nil)
34
- res = @client.post("/thermostats/cool", {device_id: device_id, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, sync: sync}.compact)
33
+ def cool(device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, wait_for_action_attempt: nil)
34
+ res = @client.post("/thermostats/cool", {device_id: device_id, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit}.compact)
35
35
 
36
36
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
37
37
 
@@ -50,30 +50,30 @@ module Seam
50
50
  nil
51
51
  end
52
52
 
53
- def heat(device_id:, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, sync: nil, wait_for_action_attempt: nil)
54
- res = @client.post("/thermostats/heat", {device_id: device_id, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, sync: sync}.compact)
53
+ def heat(device_id:, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, wait_for_action_attempt: nil)
54
+ res = @client.post("/thermostats/heat", {device_id: device_id, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit}.compact)
55
55
 
56
56
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
57
57
 
58
58
  Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
59
59
  end
60
60
 
61
- def heat_cool(device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, sync: nil, wait_for_action_attempt: nil)
62
- res = @client.post("/thermostats/heat_cool", {device_id: device_id, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, sync: sync}.compact)
61
+ def heat_cool(device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, wait_for_action_attempt: nil)
62
+ res = @client.post("/thermostats/heat_cool", {device_id: device_id, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit}.compact)
63
63
 
64
64
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
65
65
 
66
66
  Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
67
67
  end
68
68
 
69
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
70
- res = @client.post("/thermostats/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
69
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_key: nil, device_ids: nil, device_type: nil, device_types: nil, limit: nil, manufacturer: nil, page_cursor: nil, search: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
70
+ res = @client.post("/thermostats/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_key: customer_key, device_ids: device_ids, device_type: device_type, device_types: device_types, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, search: search, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
71
71
 
72
72
  Seam::Resources::Device.load_from_response(res.body["devices"])
73
73
  end
74
74
 
75
- def off(device_id:, sync: nil, wait_for_action_attempt: nil)
76
- res = @client.post("/thermostats/off", {device_id: device_id, sync: sync}.compact)
75
+ def off(device_id:, wait_for_action_attempt: nil)
76
+ res = @client.post("/thermostats/off", {device_id: device_id}.compact)
77
77
 
78
78
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
79
79
 
@@ -86,8 +86,8 @@ module Seam
86
86
  nil
87
87
  end
88
88
 
89
- def set_fan_mode(device_id:, fan_mode: nil, fan_mode_setting: nil, sync: nil, wait_for_action_attempt: nil)
90
- res = @client.post("/thermostats/set_fan_mode", {device_id: device_id, fan_mode: fan_mode, fan_mode_setting: fan_mode_setting, sync: sync}.compact)
89
+ def set_fan_mode(device_id:, fan_mode: nil, fan_mode_setting: nil, wait_for_action_attempt: nil)
90
+ res = @client.post("/thermostats/set_fan_mode", {device_id: device_id, fan_mode: fan_mode, fan_mode_setting: fan_mode_setting}.compact)
91
91
 
92
92
  wait_for_action_attempt = wait_for_action_attempt.nil? ? @defaults.wait_for_action_attempt : wait_for_action_attempt
93
93
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AccessMethod < BaseResource
6
- attr_accessor :access_method_id, :client_session_token, :code, :customization_profile_id, :display_name, :instant_key_url, :is_encoding_required, :is_issued, :mode, :pending_mutations, :workspace_id
6
+ attr_accessor :access_method_id, :client_session_token, :code, :customization_profile_id, :display_name, :instant_key_url, :is_encoding_required, :is_issued, :is_ready_for_encoding, :mode, :pending_mutations, :workspace_id
7
7
 
8
8
  date_accessor :created_at, :issued_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AcsAccessGroup < BaseResource
6
- attr_accessor :access_group_type, :access_group_type_display_name, :access_schedule, :acs_access_group_id, :acs_system_id, :connected_account_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :workspace_id
6
+ attr_accessor :access_group_type, :access_group_type_display_name, :access_schedule, :acs_access_group_id, :acs_system_id, :connected_account_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :pending_mutations, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class AcsEntrance < BaseResource
6
- attr_accessor :acs_entrance_id, :acs_system_id, :assa_abloy_vostio_metadata, :brivo_metadata, :can_belong_to_reservation, :can_unlock_with_card, :can_unlock_with_code, :can_unlock_with_mobile_key, :connected_account_id, :display_name, :dormakaba_ambiance_metadata, :dormakaba_community_metadata, :hotek_metadata, :latch_metadata, :salto_ks_metadata, :salto_space_metadata, :space_ids, :visionline_metadata
6
+ attr_accessor :acs_entrance_id, :acs_system_id, :assa_abloy_vostio_metadata, :brivo_metadata, :can_belong_to_reservation, :can_unlock_with_card, :can_unlock_with_cloud_key, :can_unlock_with_code, :can_unlock_with_mobile_key, :connected_account_id, :display_name, :dormakaba_ambiance_metadata, :dormakaba_community_metadata, :hotek_metadata, :latch_metadata, :salto_ks_metadata, :salto_space_metadata, :space_ids, :visionline_metadata
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class Device < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_manufacturer, :device_provider, :device_type, :display_name, :is_managed, :location, :nickname, :properties, :space_ids, :workspace_id
6
+ attr_accessor :can_configure_auto_lock, :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_manufacturer, :device_provider, :device_type, :display_name, :is_managed, :location, :nickname, :properties, :space_ids, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class DeviceProvider < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :device_provider_name, :display_name, :image_url, :provider_categories
6
+ attr_accessor :can_configure_auto_lock, :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :device_provider_name, :display_name, :image_url, :provider_categories
7
7
  end
8
8
  end
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class SeamEvent < BaseResource
6
- attr_accessor :access_code_id, :connected_account_custom_metadata, :connected_account_id, :device_custom_metadata, :device_id, :event_id, :event_type, :workspace_id, :code, :access_code_errors, :access_code_warnings, :connected_account_errors, :connected_account_warnings, :device_errors, :device_warnings, :backup_access_code_id, :access_grant_id, :acs_entrance_id, :access_grant_key, :ends_at, :starts_at, :error_message, :access_grant_ids, :access_grant_keys, :access_method_id, :is_backup_code, :acs_system_id, :acs_system_errors, :acs_system_warnings, :acs_credential_id, :acs_user_id, :acs_encoder_id, :acs_access_group_id, :client_session_id, :connect_webview_id, :customer_key, :connected_account_type, :action_attempt_id, :action_type, :status, :error_code, :battery_level, :battery_status, :minut_metadata, :noise_level_decibels, :noise_level_nrs, :noise_threshold_id, :noise_threshold_name, :noiseaware_metadata, :access_code_is_managed, :method, :user_identity_id, :climate_preset_key, :is_fallback_climate_preset, :thermostat_schedule_id, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :lower_limit_celsius, :lower_limit_fahrenheit, :temperature_celsius, :temperature_fahrenheit, :upper_limit_celsius, :upper_limit_fahrenheit, :desired_temperature_celsius, :desired_temperature_fahrenheit, :device_name, :enrollment_automation_id, :acs_entrance_ids, :device_ids, :space_id, :space_key
6
+ attr_accessor :access_code_id, :connected_account_custom_metadata, :connected_account_id, :device_custom_metadata, :device_id, :event_id, :event_type, :workspace_id, :code, :access_code_errors, :access_code_warnings, :connected_account_errors, :connected_account_warnings, :device_errors, :device_warnings, :backup_access_code_id, :access_grant_id, :acs_entrance_id, :access_grant_key, :ends_at, :starts_at, :error_message, :access_grant_ids, :access_grant_keys, :access_method_id, :is_backup_code, :acs_system_id, :acs_system_errors, :acs_system_warnings, :acs_credential_id, :acs_user_id, :acs_encoder_id, :acs_access_group_id, :client_session_id, :connect_webview_id, :customer_key, :connected_account_type, :action_attempt_id, :action_type, :status, :error_code, :battery_level, :battery_status, :minut_metadata, :noise_level_decibels, :noise_level_nrs, :noise_threshold_id, :noise_threshold_name, :noiseaware_metadata, :access_code_is_managed, :method, :user_identity_id, :climate_preset_key, :is_fallback_climate_preset, :thermostat_schedule_id, :cooling_set_point_celsius, :cooling_set_point_fahrenheit, :fan_mode_setting, :heating_set_point_celsius, :heating_set_point_fahrenheit, :hvac_mode_setting, :lower_limit_celsius, :lower_limit_fahrenheit, :temperature_celsius, :temperature_fahrenheit, :upper_limit_celsius, :upper_limit_fahrenheit, :desired_temperature_celsius, :desired_temperature_fahrenheit, :device_name, :activation_reason, :image_url, :motion_sub_type, :video_url, :enrollment_automation_id, :acs_entrance_ids, :device_ids, :space_id, :space_key
7
7
 
8
8
  date_accessor :created_at, :occurred_at
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class UnmanagedAcsAccessGroup < BaseResource
6
- attr_accessor :access_group_type, :access_group_type_display_name, :access_schedule, :acs_access_group_id, :acs_system_id, :connected_account_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :workspace_id
6
+ attr_accessor :access_group_type, :access_group_type_display_name, :access_schedule, :acs_access_group_id, :acs_system_id, :connected_account_id, :display_name, :external_type, :external_type_display_name, :is_managed, :name, :pending_mutations, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class UnmanagedDevice < BaseResource
6
- attr_accessor :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_type, :is_managed, :location, :properties, :workspace_id
6
+ attr_accessor :can_configure_auto_lock, :can_hvac_cool, :can_hvac_heat, :can_hvac_heat_cool, :can_program_offline_access_codes, :can_program_online_access_codes, :can_program_thermostat_programs_as_different_each_day, :can_program_thermostat_programs_as_same_each_day, :can_program_thermostat_programs_as_weekday_weekend, :can_remotely_lock, :can_remotely_unlock, :can_run_thermostat_programs, :can_simulate_connection, :can_simulate_disconnection, :can_simulate_hub_connection, :can_simulate_hub_disconnection, :can_simulate_paid_subscription, :can_simulate_removal, :can_turn_off_hvac, :can_unlock_with_code, :capabilities_supported, :connected_account_id, :custom_metadata, :device_id, :device_type, :is_managed, :location, :properties, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
 
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "2.104.0"
4
+ VERSION = "2.106.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.104.0
4
+ version: 2.106.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-09 00:00:00.000000000 Z
11
+ date: 2026-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -224,7 +224,6 @@ files:
224
224
  - lib/seam/routes/clients/connected_accounts.rb
225
225
  - lib/seam/routes/clients/connected_accounts_simulate.rb
226
226
  - lib/seam/routes/clients/customers.rb
227
- - lib/seam/routes/clients/customers_reservations.rb
228
227
  - lib/seam/routes/clients/devices.rb
229
228
  - lib/seam/routes/clients/devices_simulate.rb
230
229
  - lib/seam/routes/clients/devices_unmanaged.rb
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Seam
4
- module Clients
5
- class CustomersReservations
6
- def initialize(client:, defaults:)
7
- @client = client
8
- @defaults = defaults
9
- end
10
-
11
- def create_deep_link(customer_key:, reservation_key:)
12
- @client.post("/customers/reservations/create_deep_link", {customer_key: customer_key, reservation_key: reservation_key}.compact)
13
-
14
- nil
15
- end
16
- end
17
- end
18
- end