seam 2.139.0 → 2.141.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +69 -66
  3. data/README.md +86 -0
  4. data/lib/seam/http_without_workspace.rb +4 -4
  5. data/lib/seam/null.rb +23 -0
  6. data/lib/seam/paginator.rb +4 -1
  7. data/lib/seam/request.rb +49 -1
  8. data/lib/seam/resources/access_code.rb +74 -0
  9. data/lib/seam/resources/access_grant.rb +60 -0
  10. data/lib/seam/resources/access_method.rb +39 -0
  11. data/lib/seam/resources/acs_access_group.rb +45 -0
  12. data/lib/seam/resources/acs_credential.rb +67 -0
  13. data/lib/seam/resources/acs_encoder.rb +11 -0
  14. data/lib/seam/resources/acs_entrance.rb +95 -0
  15. data/lib/seam/resources/acs_system.rb +36 -0
  16. data/lib/seam/resources/acs_user.rb +66 -0
  17. data/lib/seam/resources/action_attempt.rb +192 -0
  18. data/lib/seam/resources/batch.rb +24 -0
  19. data/lib/seam/resources/client_session.rb +12 -0
  20. data/lib/seam/resources/connect_webview.rb +19 -0
  21. data/lib/seam/resources/connected_account.rb +50 -0
  22. data/lib/seam/resources/customer_portal.rb +5 -0
  23. data/lib/seam/resources/device.rb +622 -4
  24. data/lib/seam/resources/device_provider.rb +24 -0
  25. data/lib/seam/resources/event.rb +142 -3
  26. data/lib/seam/resources/instant_key.rb +13 -0
  27. data/lib/seam/resources/noise_threshold.rb +7 -0
  28. data/lib/seam/resources/pagination.rb +3 -0
  29. data/lib/seam/resources/phone.rb +29 -0
  30. data/lib/seam/resources/space.rb +19 -0
  31. data/lib/seam/resources/thermostat_daily_program.rb +9 -0
  32. data/lib/seam/resources/thermostat_schedule.rb +15 -0
  33. data/lib/seam/resources/unmanaged_access_code.rb +51 -0
  34. data/lib/seam/resources/unmanaged_access_grant.rb +56 -0
  35. data/lib/seam/resources/unmanaged_access_method.rb +36 -0
  36. data/lib/seam/resources/unmanaged_device.rb +80 -0
  37. data/lib/seam/resources/unmanaged_user_identity.rb +20 -0
  38. data/lib/seam/resources/user_identity.rb +21 -0
  39. data/lib/seam/resources/webhook.rb +4 -0
  40. data/lib/seam/resources/workspace.rb +15 -0
  41. data/lib/seam/routes/access_codes.rb +79 -79
  42. data/lib/seam/routes/access_codes_simulate.rb +3 -3
  43. data/lib/seam/routes/access_codes_unmanaged.rb +27 -23
  44. data/lib/seam/routes/access_grants.rb +57 -45
  45. data/lib/seam/routes/access_grants_unmanaged.rb +13 -13
  46. data/lib/seam/routes/access_methods.rb +32 -24
  47. data/lib/seam/routes/access_methods_unmanaged.rb +7 -7
  48. data/lib/seam/routes/acs_access_groups.rb +21 -21
  49. data/lib/seam/routes/acs_credentials.rb +40 -40
  50. data/lib/seam/routes/acs_encoders.rb +16 -16
  51. data/lib/seam/routes/acs_encoders_simulate.rb +11 -11
  52. data/lib/seam/routes/acs_entrances.rb +20 -20
  53. data/lib/seam/routes/acs_systems.rb +11 -11
  54. data/lib/seam/routes/acs_users.rb +83 -55
  55. data/lib/seam/routes/action_attempts.rb +6 -6
  56. data/lib/seam/routes/client_sessions.rb +38 -34
  57. data/lib/seam/routes/connect_webviews.rb +20 -20
  58. data/lib/seam/routes/connected_accounts.rb +24 -20
  59. data/lib/seam/routes/connected_accounts_simulate.rb +1 -1
  60. data/lib/seam/routes/customers.rb +50 -50
  61. data/lib/seam/routes/devices.rb +33 -29
  62. data/lib/seam/routes/devices_simulate.rb +7 -7
  63. data/lib/seam/routes/devices_unmanaged.rb +25 -26
  64. data/lib/seam/routes/events.rb +40 -32
  65. data/lib/seam/routes/instant_keys.rb +11 -7
  66. data/lib/seam/routes/locks.rb +20 -27
  67. data/lib/seam/routes/locks_simulate.rb +3 -3
  68. data/lib/seam/routes/noise_sensors.rb +8 -19
  69. data/lib/seam/routes/noise_sensors_noise_thresholds.rb +21 -21
  70. data/lib/seam/routes/noise_sensors_simulate.rb +1 -1
  71. data/lib/seam/routes/phones.rb +7 -7
  72. data/lib/seam/routes/phones_simulate.rb +4 -4
  73. data/lib/seam/routes/spaces.rb +53 -45
  74. data/lib/seam/routes/thermostats.rb +75 -86
  75. data/lib/seam/routes/thermostats_daily_programs.rb +9 -9
  76. data/lib/seam/routes/thermostats_schedules.rb +22 -22
  77. data/lib/seam/routes/thermostats_simulate.rb +9 -9
  78. data/lib/seam/routes/user_identities.rb +50 -46
  79. data/lib/seam/routes/user_identities_unmanaged.rb +11 -11
  80. data/lib/seam/routes/webhooks.rb +10 -10
  81. data/lib/seam/routes/workspaces.rb +19 -19
  82. data/lib/seam/strict_url_search_params_serializer.rb +17 -0
  83. data/lib/seam/url_search_params.rb +102 -0
  84. data/lib/seam/url_search_params_serializer.rb +217 -0
  85. data/lib/seam/version.rb +1 -1
  86. data/lib/seam.rb +3 -0
  87. metadata +12 -11
@@ -6,42 +6,61 @@ module Seam
6
6
  class Space < BaseResource
7
7
  class CustomerData < BaseResource
8
8
  # Postal address for the space.
9
+ # @return [String, nil]
9
10
  attr_accessor :address
10
11
  # Default check-in time for reservations at the space, as HH:mm or HH:mm:ss.
12
+ # @return [String, nil]
11
13
  attr_accessor :default_checkin_time
12
14
  # Default check-out time for reservations at the space, as HH:mm or HH:mm:ss.
15
+ # @return [String, nil]
13
16
  attr_accessor :default_checkout_time
14
17
  # IANA time zone for the space, e.g. America/Los_Angeles.
18
+ # @return [String, nil]
15
19
  attr_accessor :time_zone
16
20
  end
17
21
 
18
22
  class Geolocation < BaseResource
19
23
  # Latitude of the space, in decimal degrees.
24
+ # @return [Float]
20
25
  attr_accessor :latitude
21
26
  # Longitude of the space, in decimal degrees.
27
+ # @return [Float]
22
28
  attr_accessor :longitude
23
29
  end
24
30
 
31
+ # Reservation/stay-related defaults for the space. Also carries the provider/PMS-supplied name under a `<connector_type>_name` key (e.g. `guesty_name`), which Seam preserves when you rename the space (read-only — managed by Seam).
32
+ # @return [CustomerData, nil]
25
33
  resource_accessor :customer_data, CustomerData
34
+ # Geographic coordinates (latitude and longitude) of the space.
35
+ # @return [Geolocation, nil]
26
36
  resource_accessor :geolocation, Geolocation
27
37
  # Number of entrances in the space.
38
+ # @return [Float]
28
39
  attr_accessor :acs_entrance_count
29
40
  # Customer key associated with the space.
41
+ # @return [String, nil]
30
42
  attr_accessor :customer_key
31
43
  # Number of devices in the space.
44
+ # @return [Float]
32
45
  attr_accessor :device_count
33
46
  # Display name for the space.
47
+ # @return [String]
34
48
  attr_accessor :display_name
35
49
  # Name of the space.
50
+ # @return [String]
36
51
  attr_accessor :name
37
52
  # ID of the space.
53
+ # @return [String]
38
54
  attr_accessor :space_id
39
55
  # Unique key for the space within the workspace.
56
+ # @return [String, nil]
40
57
  attr_accessor :space_key
41
58
  # ID of the workspace associated with the space.
59
+ # @return [String]
42
60
  attr_accessor :workspace_id
43
61
 
44
62
  # Date and time at which the space was created.
63
+ # @return [Time]
45
64
  date_accessor :created_at
46
65
  end
47
66
  end
@@ -6,22 +6,31 @@ module Seam
6
6
  class ThermostatDailyProgram < BaseResource
7
7
  class Periods < BaseResource
8
8
  # Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to activate at the `starts_at_time`.
9
+ # @return [String]
9
10
  attr_accessor :climate_preset_key
10
11
  # Time at which the thermostat daily program period starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
12
+ # @return [String]
11
13
  attr_accessor :starts_at_time
12
14
  end
13
15
 
16
+ # Array of thermostat daily program periods.
17
+ # @return [Array<Periods>]
14
18
  resource_list_accessor :periods, Periods
15
19
  # ID of the thermostat device on which the thermostat daily program is configured.
20
+ # @return [String]
16
21
  attr_accessor :device_id
17
22
  # User-friendly name to identify the thermostat daily program.
23
+ # @return [String, nil]
18
24
  attr_accessor :name
19
25
  # ID of the thermostat daily program.
26
+ # @return [String]
20
27
  attr_accessor :thermostat_daily_program_id
21
28
  # ID of the workspace that contains the thermostat daily program.
29
+ # @return [String]
22
30
  attr_accessor :workspace_id
23
31
 
24
32
  # Date and time at which the thermostat daily program was created.
33
+ # @return [Time]
25
34
  date_accessor :created_at
26
35
  end
27
36
  end
@@ -6,36 +6,51 @@ module Seam
6
6
  class ThermostatSchedule < BaseResource
7
7
  class Errors < BaseResource
8
8
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
9
+ # @return [String]
9
10
  attr_accessor :error_code
10
11
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
12
+ # @return [String]
11
13
  attr_accessor :message
12
14
  # Date and time at which Seam created the error.
15
+ # @return [Time]
13
16
  date_accessor :created_at
14
17
  end
15
18
 
19
+ # Errors associated with the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
20
+ # @return [Array<Errors>]
16
21
  resource_list_accessor :errors, Errors
17
22
  # Key of the [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets) to use for the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
23
+ # @return [String]
18
24
  attr_accessor :climate_preset_key
19
25
  # ID of the desired [thermostat](https://docs.seam.co/capability-guides/thermostats) device.
26
+ # @return [String]
20
27
  attr_accessor :device_id
21
28
  # Indicates whether a person at the thermostat can change the thermostat's settings after the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts.
29
+ # @return [Boolean, nil]
22
30
  attr_accessor :is_override_allowed
23
31
  # Number of minutes for which a person at the thermostat can change the thermostat's settings after the activation of the scheduled [climate preset](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-climate-presets). See also [Specifying Manual Override Permissions](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules#specifying-manual-override-permissions).
32
+ # @return [Integer, nil]
24
33
  attr_accessor :max_override_period_minutes
25
34
  # User-friendly name to identify the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
35
+ # @return [String, nil]
26
36
  attr_accessor :name
27
37
  # ID of the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules).
38
+ # @return [String]
28
39
  attr_accessor :thermostat_schedule_id
29
40
  # ID of the workspace that contains the thermostat schedule.
41
+ # @return [String]
30
42
  attr_accessor :workspace_id
31
43
 
32
44
  # Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) was created.
45
+ # @return [Time]
33
46
  date_accessor :created_at
34
47
 
35
48
  # Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) ends, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
49
+ # @return [Time]
36
50
  date_accessor :ends_at
37
51
 
38
52
  # Date and time at which the [thermostat schedule](https://docs.seam.co/capability-guides/thermostats/creating-and-managing-thermostat-schedules) starts, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
53
+ # @return [Time]
39
54
  date_accessor :starts_at
40
55
  end
41
56
  end
@@ -16,106 +16,157 @@ module Seam
16
16
  class UnmanagedAccessCode < BaseResource
17
17
  class DormakabaOracodeMetadata < BaseResource
18
18
  # Indicates whether the stay can be cancelled via the Dormakaba Oracode API.
19
+ # @return [Boolean, nil]
19
20
  attr_accessor :is_cancellable
20
21
  # Indicates whether early check-in is available for this stay.
22
+ # @return [Boolean, nil]
21
23
  attr_accessor :is_early_checkin_able
22
24
  # Indicates whether the stay can be extended via the Dormakaba Oracode API.
25
+ # @return [Boolean, nil]
23
26
  attr_accessor :is_extendable
24
27
  # Indicates whether the access code can be overridden. When false, the maximum number of overrides has been reached.
28
+ # @return [Boolean, nil]
25
29
  attr_accessor :is_overridable
26
30
  # Dormakaba Oracode site name associated with this access code.
31
+ # @return [String, nil]
27
32
  attr_accessor :site_name
28
33
  # Dormakaba Oracode stay ID associated with this access code.
34
+ # @return [Float, nil]
29
35
  attr_accessor :stay_id
30
36
  # Dormakaba Oracode user level ID associated with this access code.
37
+ # @return [String, nil]
31
38
  attr_accessor :user_level_id
32
39
  # Dormakaba Oracode user level name associated with this access code.
40
+ # @return [String, nil]
33
41
  attr_accessor :user_level_name
34
42
  end
35
43
 
36
44
  class Errors < BaseResource
37
45
  class ModifiedFields < BaseResource
38
46
  # The name of the field that was changed (e.g. `code`, `starts_at`, `ends_at`).
47
+ # @return [String]
39
48
  attr_accessor :field
40
49
  # The previous value of the field.
50
+ # @return [String, nil]
41
51
  attr_accessor :from
42
52
  # The new value of the field.
53
+ # @return [String, nil]
43
54
  attr_accessor :to
44
55
  end
45
56
 
57
+ # List of fields that were changed externally, with their previous and new values.
58
+ # @return [Array<ModifiedFields>]
46
59
  resource_list_accessor :modified_fields, ModifiedFields
47
60
  # Indicates the type of external modification. `modified` means the code's PIN or schedule was changed. `removed` means the code was deleted from the device.
61
+ # @return [String, nil]
48
62
  attr_accessor :change_type
49
63
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
64
+ # @return [String]
50
65
  attr_accessor :error_code
51
66
  # Indicates that this is an access code error.
67
+ # @return [Boolean]
52
68
  attr_accessor :is_access_code_error
53
69
  # Indicates whether the error is related to [Seam Bridge](https://docs.seam.co/capability-guides/seam-bridge).
70
+ # @return [Boolean, nil]
54
71
  attr_accessor :is_bridge_error
72
+ # @return [Boolean, nil]
55
73
  attr_accessor :is_connected_account_error
74
+ # @return [Boolean]
56
75
  attr_accessor :is_device_error
57
76
  # ID of the managed access code that conflicts with this managed access code, when Seam can identify it.
77
+ # @return [String, nil]
58
78
  attr_accessor :managed_access_code_id
59
79
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
80
+ # @return [String]
60
81
  attr_accessor :message
61
82
  # ID of the unmanaged access code that conflicts with this managed access code, when Seam can identify it.
83
+ # @return [String, nil]
62
84
  attr_accessor :unmanaged_access_code_id
63
85
  # Date and time at which Seam created the error.
86
+ # @return [Time, nil]
64
87
  date_accessor :created_at
65
88
  end
66
89
 
67
90
  class Warnings < BaseResource
68
91
  class ModifiedFields < BaseResource
69
92
  # The name of the field that was changed (e.g. `code`, `starts_at`, `ends_at`).
93
+ # @return [String]
70
94
  attr_accessor :field
71
95
  # The previous value of the field.
96
+ # @return [String, nil]
72
97
  attr_accessor :from
73
98
  # The new value of the field.
99
+ # @return [String, nil]
74
100
  attr_accessor :to
75
101
  end
76
102
 
103
+ # List of fields that were changed externally, with their previous and new values.
104
+ # @return [Array<ModifiedFields>]
77
105
  resource_list_accessor :modified_fields, ModifiedFields
78
106
  # Indicates the type of external modification. `modified` means the code's PIN or schedule was changed. `removed` means the code was deleted from the device.
107
+ # @return [String, nil]
79
108
  attr_accessor :change_type
80
109
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
110
+ # @return [String]
81
111
  attr_accessor :message
82
112
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
113
+ # @return [String]
83
114
  attr_accessor :warning_code
84
115
  # Date and time at which Seam created the warning.
116
+ # @return [Time, nil]
85
117
  date_accessor :created_at
86
118
  end
87
119
 
120
+ # Metadata for a dormakaba Oracode unmanaged access code. Only present for unmanaged access codes from dormakaba Oracode devices.
121
+ # @return [DormakabaOracodeMetadata, nil]
88
122
  resource_accessor :dormakaba_oracode_metadata, DormakabaOracodeMetadata
123
+ # Errors associated with the [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes).
124
+ # @return [Array<Errors>]
89
125
  resource_list_accessor :errors, Errors
126
+ # Warnings associated with the [access code](https://docs.seam.co/low-level-apis/smart-locks/access-codes).
127
+ # @return [Array<Warnings>]
90
128
  resource_list_accessor :warnings, Warnings
91
129
  # Unique identifier for the access code.
130
+ # @return [String]
92
131
  attr_accessor :access_code_id
93
132
  # Indicates that Seam cannot convert this unmanaged access code to a managed access code. Some providers do not support management of unmanaged access codes through API integrations.
133
+ # @return [Boolean, nil]
94
134
  attr_accessor :cannot_be_managed
95
135
  # Indicates that Seam cannot delete this unmanaged access code through the provider. If this access code needs to be deleted, it will only be possible from the manufacturer app.
136
+ # @return [Boolean, nil]
96
137
  attr_accessor :cannot_delete_unmanaged_access_code
97
138
  # Code used for access. Typically, a numeric or alphanumeric string.
139
+ # @return [String, nil]
98
140
  attr_accessor :code
99
141
  # Unique identifier for the device associated with the access code.
142
+ # @return [String]
100
143
  attr_accessor :device_id
101
144
  # Indicates that Seam does not manage the access code.
145
+ # @return [Boolean]
102
146
  attr_accessor :is_managed
103
147
  # Name of the access code. Enables administrators and users to identify the access code easily, especially when there are numerous access codes. Note that the name provided on Seam is used to identify the code on Seam and is not necessarily the name that will appear in the lock provider's app or on the device. This is because lock providers may have constraints on names, such as length, uniqueness, or characters that can be used. In addition, some lock providers may break down names into components such as `first_name` and `last_name`. To provide a consistent experience, Seam identifies the code on Seam by its name but may modify the name that appears on the lock provider's app or on the device. For example, Seam may add additional characters or truncate the name to meet provider constraints. To help your users identify codes set by Seam, Seam provides the name exactly as it appears on the lock provider's app or on the device as a separate property called `appearance`. This is an object with a `name` property and, optionally, `first_name` and `last_name` properties (for providers that break down a name into components).
148
+ # @return [String, nil]
104
149
  attr_accessor :name
105
150
  # Current status of the access code within the operational lifecycle. `set` indicates that the code is active and operational. `unset` indicates that the code exists on the provider but is not usable on the device.
151
+ # @return [String]
106
152
  attr_accessor :status
107
153
  # Type of the access code. `ongoing` access codes are active continuously until deactivated manually. `time_bound` access codes have a specific duration.
154
+ # @return [String]
108
155
  attr_accessor :type
109
156
  # Unique identifier for the Seam workspace associated with the access code.
157
+ # @return [String]
110
158
  attr_accessor :workspace_id
111
159
 
112
160
  # Date and time at which the access code was created.
161
+ # @return [Time]
113
162
  date_accessor :created_at
114
163
 
115
164
  # Date and time after which the time-bound access code becomes inactive.
165
+ # @return [Time, nil]
116
166
  date_accessor :ends_at
117
167
 
118
168
  # Date and time at which the time-bound access code becomes active.
169
+ # @return [Time, nil]
119
170
  date_accessor :starts_at
120
171
  end
121
172
  end
@@ -6,120 +6,176 @@ module Seam
6
6
  class UnmanagedAccessGrant < BaseResource
7
7
  class Errors < BaseResource
8
8
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
9
+ # @return [String]
9
10
  attr_accessor :error_code
10
11
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
12
+ # @return [String]
11
13
  attr_accessor :message
12
14
  # IDs of the devices that did not receive an access code at grant creation. Use these to identify which specific devices failed when the message reports a partial failure.
15
+ # @return [Array<String>]
13
16
  attr_accessor :missing_device_ids
14
17
  # Date and time at which Seam created the error.
18
+ # @return [Time]
15
19
  date_accessor :created_at
16
20
  end
17
21
 
18
22
  class PendingMutations < BaseResource
19
23
  class From < BaseResource
20
24
  # Previous device IDs where access codes existed.
25
+ # @return [Array<String>]
21
26
  attr_accessor :device_ids
22
27
  # Previous end time for access.
28
+ # @return [Time, nil]
23
29
  date_accessor :ends_at
24
30
  # Previous start time for access.
31
+ # @return [Time, nil]
25
32
  date_accessor :starts_at
26
33
  end
27
34
 
28
35
  class To < BaseResource
29
36
  # Common code key to ensure PIN code reuse across devices.
37
+ # @return [String, nil]
30
38
  attr_accessor :common_code_key
31
39
  # New device IDs where access codes should be created.
40
+ # @return [Array<String>]
32
41
  attr_accessor :device_ids
33
42
  # New end time for access.
43
+ # @return [Time, nil]
34
44
  date_accessor :ends_at
35
45
  # New start time for access.
46
+ # @return [Time, nil]
36
47
  date_accessor :starts_at
37
48
  end
38
49
 
50
+ # @return [From]
39
51
  resource_accessor :from, From
52
+ # @return [To]
40
53
  resource_accessor :to, To
41
54
  # IDs of the access methods being updated.
55
+ # @return [Array<String>]
42
56
  attr_accessor :access_method_ids
43
57
  # Detailed description of the mutation.
58
+ # @return [String]
44
59
  attr_accessor :message
60
+ # @return [String]
45
61
  attr_accessor :mutation_code
46
62
  # Date and time at which the mutation was created.
63
+ # @return [Time]
47
64
  date_accessor :created_at
48
65
  end
49
66
 
50
67
  class RequestedAccessMethods < BaseResource
51
68
  # Specific PIN code to use for this access method. Only applicable when mode is 'code'.
69
+ # @return [String, nil]
52
70
  attr_accessor :code
53
71
  # IDs of the access methods created for the requested access method.
72
+ # @return [Array<String>]
54
73
  attr_accessor :created_access_method_ids
55
74
  # Display name of the access method.
75
+ # @return [String]
56
76
  attr_accessor :display_name
57
77
  # Maximum number of times the instant key can be used. Only applicable when mode is 'mobile_key'. Defaults to 1 if not specified.
78
+ # @return [Integer, nil]
58
79
  attr_accessor :instant_key_max_use_count
59
80
  # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
81
+ # @return [String]
60
82
  attr_accessor :mode
61
83
  # Date and time at which the requested access method was added to the Access Grant.
84
+ # @return [Time]
62
85
  date_accessor :created_at
63
86
  end
64
87
 
65
88
  class Warnings < BaseResource
66
89
  class FailedDevices < BaseResource
67
90
  # Device whose access code could not be revoked.
91
+ # @return [String]
68
92
  attr_accessor :device_id
69
93
  # Reason the access code could not be revoked (e.g. `offline_access_code_not_revocable`).
94
+ # @return [String]
70
95
  attr_accessor :error_code
71
96
  # Human-readable description of why revocation failed.
97
+ # @return [String]
72
98
  attr_accessor :message
73
99
  end
74
100
 
101
+ # Devices whose access codes could not be revoked during reconciliation. Present when the provider does not support revoking an offline access code (e.g. Dormakaba oracode with exhausted override budget).
102
+ # @return [Array<FailedDevices>]
75
103
  resource_list_accessor :failed_devices, FailedDevices
76
104
  # IDs of the access methods being updated.
105
+ # @return [Array<String>]
77
106
  attr_accessor :access_method_ids
107
+ # @return [String]
78
108
  attr_accessor :device_id
79
109
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
110
+ # @return [String]
80
111
  attr_accessor :message
81
112
  # The new PIN code that was assigned instead.
113
+ # @return [String]
82
114
  attr_accessor :new_code
83
115
  # The originally requested PIN code that was unavailable.
116
+ # @return [String]
84
117
  attr_accessor :original_code
85
118
  # Specific reason why the grant's times are not programmable on the device.
119
+ # @return [String]
86
120
  attr_accessor :reason
87
121
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
122
+ # @return [String]
88
123
  attr_accessor :warning_code
89
124
  # Date and time at which Seam created the warning.
125
+ # @return [Time]
90
126
  date_accessor :created_at
91
127
  end
92
128
 
129
+ # Errors associated with the [access grant](https://docs.seam.co/use-cases/granting-access).
130
+ # @return [Array<Errors>]
93
131
  resource_list_accessor :errors, Errors
132
+ # List of pending mutations for the access grant. This shows updates that are in progress.
133
+ # @return [Array<PendingMutations>]
94
134
  resource_list_accessor :pending_mutations, PendingMutations
135
+ # Access methods that the user requested for the Access Grant.
136
+ # @return [Array<RequestedAccessMethods>]
95
137
  resource_list_accessor :requested_access_methods, RequestedAccessMethods
138
+ # Warnings associated with the [access grant](https://docs.seam.co/use-cases/granting-access).
139
+ # @return [Array<Warnings>]
96
140
  resource_list_accessor :warnings, Warnings
97
141
  # ID of the Access Grant.
142
+ # @return [String]
98
143
  attr_accessor :access_grant_id
99
144
  # IDs of the access methods created for the Access Grant.
145
+ # @return [Array<String>]
100
146
  attr_accessor :access_method_ids
101
147
  # Display name of the Access Grant.
148
+ # @return [String]
102
149
  attr_accessor :display_name
150
+ # @return [Array<String>]
103
151
  # @deprecated Use `space_ids`.
104
152
  attr_accessor :location_ids
105
153
  # Name of the Access Grant. If not provided, the display name will be computed.
154
+ # @return [String, nil]
106
155
  attr_accessor :name
107
156
  # Reservation key for the access grant.
157
+ # @return [String, nil]
108
158
  attr_accessor :reservation_key
109
159
  # IDs of the spaces to which the Access Grant gives access.
160
+ # @return [Array<String>]
110
161
  attr_accessor :space_ids
111
162
  # ID of user identity to which the Access Grant gives access.
163
+ # @return [String, nil]
112
164
  attr_accessor :user_identity_id
113
165
  # ID of the Seam workspace associated with the Access Grant.
166
+ # @return [String]
114
167
  attr_accessor :workspace_id
115
168
 
116
169
  # Date and time at which the Access Grant was created.
170
+ # @return [Time]
117
171
  date_accessor :created_at
118
172
 
119
173
  # Date and time at which the Access Grant ends.
174
+ # @return [Time, nil]
120
175
  date_accessor :ends_at
121
176
 
122
177
  # Date and time at which the Access Grant starts.
178
+ # @return [Time]
123
179
  date_accessor :starts_at
124
180
  end
125
181
  end
@@ -6,78 +6,114 @@ module Seam
6
6
  class UnmanagedAccessMethod < BaseResource
7
7
  class Errors < BaseResource
8
8
  # Unique identifier of the type of error. Enables quick recognition and categorization of the issue.
9
+ # @return [String]
9
10
  attr_accessor :error_code
10
11
  # Detailed description of the error. Provides insights into the issue and potentially how to rectify it.
12
+ # @return [String]
11
13
  attr_accessor :message
12
14
  # Date and time at which Seam created the error.
15
+ # @return [Time]
13
16
  date_accessor :created_at
14
17
  end
15
18
 
16
19
  class PendingMutations < BaseResource
17
20
  class From < BaseResource
21
+ # @return [Array<String>]
18
22
  attr_accessor :device_ids
19
23
  # Previous end time for access.
24
+ # @return [Time, nil]
20
25
  date_accessor :ends_at
21
26
  # Previous start time for access.
27
+ # @return [Time, nil]
22
28
  date_accessor :starts_at
23
29
  end
24
30
 
25
31
  class To < BaseResource
32
+ # @return [Array<String>]
26
33
  attr_accessor :device_ids
27
34
  # New end time for access.
35
+ # @return [Time, nil]
28
36
  date_accessor :ends_at
29
37
  # New start time for access.
38
+ # @return [Time, nil]
30
39
  date_accessor :starts_at
31
40
  end
32
41
 
42
+ # @return [From]
33
43
  resource_accessor :from, From
44
+ # @return [To]
34
45
  resource_accessor :to, To
35
46
  # Detailed description of the mutation.
47
+ # @return [String]
36
48
  attr_accessor :message
49
+ # @return [String]
37
50
  attr_accessor :mutation_code
38
51
  # Date and time at which the mutation was created.
52
+ # @return [Time]
39
53
  date_accessor :created_at
40
54
  end
41
55
 
42
56
  class Warnings < BaseResource
43
57
  # Detailed description of the warning. Provides insights into the issue and potentially how to rectify it.
58
+ # @return [String]
44
59
  attr_accessor :message
45
60
  # ID of the original access method from which this backup access method was split, if applicable.
61
+ # @return [String, nil]
46
62
  attr_accessor :original_access_method_id
47
63
  # Unique identifier of the type of warning. Enables quick recognition and categorization of the issue.
64
+ # @return [String]
48
65
  attr_accessor :warning_code
49
66
  # Date and time at which Seam created the warning.
67
+ # @return [Time]
50
68
  date_accessor :created_at
51
69
  end
52
70
 
71
+ # Errors associated with the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
72
+ # @return [Array<Errors>]
53
73
  resource_list_accessor :errors, Errors
74
+ # Pending mutations for the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant). Indicates operations that are in progress.
75
+ # @return [Array<PendingMutations>]
54
76
  resource_list_accessor :pending_mutations, PendingMutations
77
+ # Warnings associated with the [access method](https://docs.seam.co/use-cases/granting-access/creating-an-access-grant).
78
+ # @return [Array<Warnings>]
55
79
  resource_list_accessor :warnings, Warnings
56
80
  # ID of the access method.
81
+ # @return [String]
57
82
  attr_accessor :access_method_id
58
83
  # The actual PIN code for code access methods.
84
+ # @return [String, nil]
59
85
  attr_accessor :code
60
86
  # Display name of the access method.
87
+ # @return [String]
61
88
  attr_accessor :display_name
62
89
  # Indicates whether an existing card credential must be assigned to this access method before it can be issued. Only applies to card-mode access methods on systems that support credential assignment.
90
+ # @return [Boolean, nil]
63
91
  attr_accessor :is_assignment_required
64
92
  # Indicates whether encoding with an card encoder is required to issue or reissue the plastic card associated with the access method.
93
+ # @return [Boolean, nil]
65
94
  attr_accessor :is_encoding_required
66
95
  # Indicates whether the access method has been issued.
96
+ # @return [Boolean]
67
97
  attr_accessor :is_issued
68
98
  # Indicates whether the access method is ready for card assignment. This is true when the access method is in card mode, has not yet been issued, and the system supports credential assignment.
99
+ # @return [Boolean, nil]
69
100
  attr_accessor :is_ready_for_assignment
70
101
  # Indicates whether the access method is ready to be encoded. This is true when the credential has been created and the card has not yet been issued.
102
+ # @return [Boolean, nil]
71
103
  attr_accessor :is_ready_for_encoding
72
104
  # Access method mode. Supported values: `code`, `card`, `mobile_key`, `cloud_key`.
105
+ # @return [String]
73
106
  attr_accessor :mode
74
107
  # ID of the Seam workspace associated with the access method.
108
+ # @return [String]
75
109
  attr_accessor :workspace_id
76
110
 
77
111
  # Date and time at which the access method was created.
112
+ # @return [Time]
78
113
  date_accessor :created_at
79
114
 
80
115
  # Date and time at which the access method was issued.
116
+ # @return [Time, nil]
81
117
  date_accessor :issued_at
82
118
  end
83
119
  end