seatschart 0.1.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 (168) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +552 -0
  4. data/lib/seatschart/api/api_keys_api.rb +364 -0
  5. data/lib/seatschart/api/assets_api.rb +95 -0
  6. data/lib/seatschart/api/audit_api.rb +88 -0
  7. data/lib/seatschart/api/auth_api.rb +1187 -0
  8. data/lib/seatschart/api/billing_api.rb +355 -0
  9. data/lib/seatschart/api/charts_api.rb +4195 -0
  10. data/lib/seatschart/api/default_api.rb +763 -0
  11. data/lib/seatschart/api/embed_api.rb +407 -0
  12. data/lib/seatschart/api/embed_origins_api.rb +281 -0
  13. data/lib/seatschart/api/event_log_api.rb +148 -0
  14. data/lib/seatschart/api/events_api.rb +6608 -0
  15. data/lib/seatschart/api/health_api.rb +77 -0
  16. data/lib/seatschart/api/map_designer_api.rb +135 -0
  17. data/lib/seatschart/api/object_status_api.rb +805 -0
  18. data/lib/seatschart/api/orders_api.rb +166 -0
  19. data/lib/seatschart/api/public_api.rb +455 -0
  20. data/lib/seatschart/api/quotes_api.rb +103 -0
  21. data/lib/seatschart/api/seasons_api.rb +5543 -0
  22. data/lib/seatschart/api/seats_api.rb +1103 -0
  23. data/lib/seatschart/api/sse_api.rb +83 -0
  24. data/lib/seatschart/api/team_api.rb +428 -0
  25. data/lib/seatschart/api/usage_api.rb +540 -0
  26. data/lib/seatschart/api/webhooks_api.rb +771 -0
  27. data/lib/seatschart/api/workspace_api.rb +1244 -0
  28. data/lib/seatschart/api_client.rb +394 -0
  29. data/lib/seatschart/api_error.rb +58 -0
  30. data/lib/seatschart/configuration.rb +316 -0
  31. data/lib/seatschart/models/delete_api_workspaces_by_workspace_id200_response.rb +283 -0
  32. data/lib/seatschart/models/get_api_charts_by_chart_id_versions200_response.rb +247 -0
  33. data/lib/seatschart/models/get_api_charts_by_chart_id_versions200_response_items_inner.rb +473 -0
  34. data/lib/seatschart/models/get_api_charts_by_chart_id_versions200_response_items_inner_published_by.rb +280 -0
  35. data/lib/seatschart/models/get_api_events_by_event_id_map_versions200_response.rb +247 -0
  36. data/lib/seatschart/models/get_api_events_by_event_id_map_versions200_response_items_inner.rb +444 -0
  37. data/lib/seatschart/models/get_api_events_by_event_id_seat_views200_response.rb +267 -0
  38. data/lib/seatschart/models/get_api_events_by_event_id_seat_views200_response_views_value.rb +273 -0
  39. data/lib/seatschart/models/get_api_events_by_event_id_seat_views404_response.rb +237 -0
  40. data/lib/seatschart/models/get_api_monitoring_requests200_response.rb +388 -0
  41. data/lib/seatschart/models/get_api_monitoring_requests200_response_lanes.rb +237 -0
  42. data/lib/seatschart/models/get_api_monitoring_requests200_response_lanes_sales.rb +256 -0
  43. data/lib/seatschart/models/get_api_monitoring_requests200_response_points_inner.rb +286 -0
  44. data/lib/seatschart/models/get_api_workspace_integration200_response.rb +287 -0
  45. data/lib/seatschart/models/get_api_workspace_settings200_response.rb +329 -0
  46. data/lib/seatschart/models/get_api_workspace_settings200_response_bounds.rb +237 -0
  47. data/lib/seatschart/models/get_api_workspace_settings200_response_bounds_hold_period_minutes.rb +237 -0
  48. data/lib/seatschart/models/get_api_workspace_settings200_response_effective.rb +269 -0
  49. data/lib/seatschart/models/get_api_workspace_settings200_response_overrides.rb +241 -0
  50. data/lib/seatschart/models/get_api_workspace_settings200_response_sources.rb +339 -0
  51. data/lib/seatschart/models/get_api_workspaces200_response.rb +223 -0
  52. data/lib/seatschart/models/get_api_workspaces200_response_items_inner.rb +423 -0
  53. data/lib/seatschart/models/patch_api_charts_by_chart_id_categories_by_category_id_request.rb +304 -0
  54. data/lib/seatschart/models/patch_api_charts_by_chart_id_request.rb +288 -0
  55. data/lib/seatschart/models/patch_api_events_by_event_id_inventory_channels_by_channel_key_id_request.rb +272 -0
  56. data/lib/seatschart/models/patch_api_events_by_event_id_request.rb +448 -0
  57. data/lib/seatschart/models/patch_api_events_by_event_id_request_categories_inner.rb +343 -0
  58. data/lib/seatschart/models/patch_api_events_by_event_id_request_table_booking_config.rb +266 -0
  59. data/lib/seatschart/models/patch_api_keys_by_id_request.rb +292 -0
  60. data/lib/seatschart/models/patch_api_seasons_by_season_id_events_by_event_id_request.rb +221 -0
  61. data/lib/seatschart/models/patch_api_seasons_by_season_id_request.rb +276 -0
  62. data/lib/seatschart/models/patch_api_team_members_by_user_id_request.rb +255 -0
  63. data/lib/seatschart/models/patch_api_webhooks_by_id_request.rb +291 -0
  64. data/lib/seatschart/models/patch_api_workspace_chart_validation_request.rb +224 -0
  65. data/lib/seatschart/models/patch_api_workspace_chart_validation_request_severities.rb +543 -0
  66. data/lib/seatschart/models/patch_api_workspace_integration_request.rb +257 -0
  67. data/lib/seatschart/models/patch_api_workspace_request.rb +249 -0
  68. data/lib/seatschart/models/patch_api_workspace_settings_request.rb +307 -0
  69. data/lib/seatschart/models/post_api_auth2fa_disable_request.rb +281 -0
  70. data/lib/seatschart/models/post_api_auth2fa_enable_request.rb +250 -0
  71. data/lib/seatschart/models/post_api_auth2fa_enroll_confirm_request.rb +295 -0
  72. data/lib/seatschart/models/post_api_auth2fa_enroll_start_request.rb +250 -0
  73. data/lib/seatschart/models/post_api_auth2fa_verify_request.rb +326 -0
  74. data/lib/seatschart/models/post_api_auth_accept_invite_request.rb +293 -0
  75. data/lib/seatschart/models/post_api_auth_login_request.rb +293 -0
  76. data/lib/seatschart/models/post_api_auth_logout_request.rb +242 -0
  77. data/lib/seatschart/models/post_api_auth_refresh_request.rb +292 -0
  78. data/lib/seatschart/models/post_api_auth_signup_request.rb +321 -0
  79. data/lib/seatschart/models/post_api_auth_switch_workspace_request.rb +249 -0
  80. data/lib/seatschart/models/post_api_billing_checkout_session_request.rb +249 -0
  81. data/lib/seatschart/models/post_api_billing_confirm_checkout_request.rb +249 -0
  82. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_archive200_response.rb +221 -0
  83. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_archive200_response_chart.rb +249 -0
  84. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_copy_to_workspace_request.rb +287 -0
  85. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request.rb +348 -0
  86. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request_seats_inner.rb +555 -0
  87. data/lib/seatschart/models/post_api_charts_by_chart_id_actions_validate_request_seats_inner_accessibility.rb +356 -0
  88. data/lib/seatschart/models/post_api_charts_by_chart_id_categories_request.rb +361 -0
  89. data/lib/seatschart/models/post_api_charts_by_chart_id_categories_request_ticket_types_inner.rb +448 -0
  90. data/lib/seatschart/models/post_api_charts_by_chart_id_duplicate_request.rb +233 -0
  91. data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish422_response.rb +289 -0
  92. data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish422_response_issues_inner.rb +402 -0
  93. data/lib/seatschart/models/post_api_charts_by_chart_id_map_publish_request.rb +244 -0
  94. data/lib/seatschart/models/post_api_charts_by_chart_id_preview_link_request.rb +243 -0
  95. data/lib/seatschart/models/post_api_charts_by_chart_id_versions_by_version_actions_copy_request.rb +242 -0
  96. data/lib/seatschart/models/post_api_charts_request.rb +372 -0
  97. data/lib/seatschart/models/post_api_charts_request_categories_inner.rb +346 -0
  98. data/lib/seatschart/models/post_api_embed_origins_request.rb +249 -0
  99. data/lib/seatschart/models/post_api_embed_tokens_request.rb +394 -0
  100. data/lib/seatschart/models/post_api_events_actions_change_object_status_request.rb +251 -0
  101. data/lib/seatschart/models/post_api_events_actions_change_object_status_request_status_changes_inner.rb +737 -0
  102. data/lib/seatschart/models/post_api_events_actions_change_object_status_request_status_changes_inner_objects_inner.rb +104 -0
  103. data/lib/seatschart/models/post_api_events_actions_change_object_status_request_status_changes_inner_objects_inner_any_of.rb +335 -0
  104. data/lib/seatschart/models/post_api_events_bulk_request.rb +332 -0
  105. data/lib/seatschart/models/post_api_events_bulk_request_events_inner.rb +398 -0
  106. data/lib/seatschart/models/post_api_events_by_event_id_actions_change_object_status_request.rb +824 -0
  107. data/lib/seatschart/models/post_api_events_by_event_id_actions_override_season_status_request.rb +272 -0
  108. data/lib/seatschart/models/post_api_events_by_event_id_actions_update_extra_data_request.rb +260 -0
  109. data/lib/seatschart/models/post_api_events_by_event_id_actions_update_extra_data_request_objects_inner.rb +263 -0
  110. data/lib/seatschart/models/post_api_events_by_event_id_actions_use_season_status_request.rb +252 -0
  111. data/lib/seatschart/models/post_api_events_by_event_id_duplicate_request.rb +261 -0
  112. data/lib/seatschart/models/post_api_events_by_event_id_inventory_channels_assign_request.rb +321 -0
  113. data/lib/seatschart/models/post_api_events_by_event_id_inventory_channels_request.rb +323 -0
  114. data/lib/seatschart/models/post_api_events_by_event_id_inventory_for_sale_apply_request.rb +333 -0
  115. data/lib/seatschart/models/post_api_events_by_event_id_objects_actions_retrieve_request.rb +252 -0
  116. data/lib/seatschart/models/post_api_events_request.rb +502 -0
  117. data/lib/seatschart/models/post_api_events_request_category_overrides_value.rb +276 -0
  118. data/lib/seatschart/models/post_api_events_request_channels_inner.rb +360 -0
  119. data/lib/seatschart/models/post_api_events_request_for_sale_config.rb +295 -0
  120. data/lib/seatschart/models/post_api_events_request_table_booking_config.rb +267 -0
  121. data/lib/seatschart/models/post_api_extract_seats_request.rb +279 -0
  122. data/lib/seatschart/models/post_api_ga_confirm409_response.rb +271 -0
  123. data/lib/seatschart/models/post_api_ga_confirm_request.rb +687 -0
  124. data/lib/seatschart/models/post_api_ga_release_request.rb +385 -0
  125. data/lib/seatschart/models/post_api_ga_reserve_request.rb +527 -0
  126. data/lib/seatschart/models/post_api_hold_tokens_by_token_request.rb +249 -0
  127. data/lib/seatschart/models/post_api_hold_tokens_request.rb +391 -0
  128. data/lib/seatschart/models/post_api_keys_request.rb +299 -0
  129. data/lib/seatschart/models/post_api_orders_by_order_id_cancel_request.rb +249 -0
  130. data/lib/seatschart/models/post_api_quotes_request.rb +351 -0
  131. data/lib/seatschart/models/post_api_seasons_by_season_id_actions_add_events_request.rb +261 -0
  132. data/lib/seatschart/models/post_api_seasons_by_season_id_actions_create_events_request.rb +322 -0
  133. data/lib/seatschart/models/post_api_seasons_by_season_id_actions_create_events_request_events_inner.rb +289 -0
  134. data/lib/seatschart/models/post_api_seasons_by_season_id_actions_remove_events_request.rb +251 -0
  135. data/lib/seatschart/models/post_api_seasons_by_season_id_events_request.rb +267 -0
  136. data/lib/seatschart/models/post_api_seasons_by_season_id_inventory_sync_request.rb +235 -0
  137. data/lib/seatschart/models/post_api_seasons_by_season_id_partial_seasons_request.rb +279 -0
  138. data/lib/seatschart/models/post_api_seasons_request.rb +395 -0
  139. data/lib/seatschart/models/post_api_seats_best_available_request.rb +809 -0
  140. data/lib/seatschart/models/post_api_seats_confirm409_response.rb +271 -0
  141. data/lib/seatschart/models/post_api_seats_confirm_request.rb +711 -0
  142. data/lib/seatschart/models/post_api_seats_holds_renew_request.rb +249 -0
  143. data/lib/seatschart/models/post_api_seats_release_request.rb +387 -0
  144. data/lib/seatschart/models/post_api_seats_reserve_request.rb +561 -0
  145. data/lib/seatschart/models/post_api_team_invitations_request.rb +299 -0
  146. data/lib/seatschart/models/post_api_ticket_buyers_request.rb +252 -0
  147. data/lib/seatschart/models/post_api_viewer_tokens_request.rb +292 -0
  148. data/lib/seatschart/models/post_api_webhooks_request.rb +298 -0
  149. data/lib/seatschart/models/post_api_workspaces_request.rb +269 -0
  150. data/lib/seatschart/models/put_api_charts_by_chart_id_tags_request.rb +243 -0
  151. data/lib/seatschart/models/put_api_charts_by_chart_id_versions_by_version_thumbnail_request.rb +261 -0
  152. data/lib/seatschart/models/put_api_events_by_event_id_inventory_channels_definitions_request.rb +242 -0
  153. data/lib/seatschart/models/put_api_events_by_event_id_inventory_channels_definitions_request_channels_inner.rb +405 -0
  154. data/lib/seatschart/models/put_api_events_by_event_id_inventory_channels_request.rb +242 -0
  155. data/lib/seatschart/models/put_api_events_by_event_id_inventory_channels_request_assignments_inner.rb +320 -0
  156. data/lib/seatschart/models/put_api_events_by_event_id_inventory_for_sale_request.rb +333 -0
  157. data/lib/seatschart/models/put_api_events_by_event_id_pricing_request.rb +297 -0
  158. data/lib/seatschart/models/put_api_events_by_event_id_pricing_request_categories_inner.rb +295 -0
  159. data/lib/seatschart/models/put_api_events_by_event_id_pricing_request_categories_inner_ticket_types_inner.rb +425 -0
  160. data/lib/seatschart/models/put_api_events_by_event_id_sales_rules_request.rb +320 -0
  161. data/lib/seatschart/models/put_api_events_by_event_id_sales_rules_request_buyer_limit.rb +259 -0
  162. data/lib/seatschart/models/put_api_events_by_event_id_sales_rules_request_lot_plans_inner.rb +374 -0
  163. data/lib/seatschart/models/put_api_events_by_event_id_sales_rules_request_lot_plans_inner_lots_inner.rb +364 -0
  164. data/lib/seatschart/models/put_api_events_by_event_id_sales_rules_request_quotas_inner.rb +418 -0
  165. data/lib/seatschart/retry.rb +118 -0
  166. data/lib/seatschart/version.rb +15 -0
  167. data/lib/seatschart.rb +198 -0
  168. metadata +254 -0
@@ -0,0 +1,502 @@
1
+ =begin
2
+ #SeatsChart API
3
+
4
+ #Seat inventory and locking API for B2B2C integrations. Authenticate using `x-api-key` (partners) or `Authorization: Bearer` with an HS256 JWT.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.11.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module SeatsChart
17
+ class PostApiEventsRequest
18
+ attr_accessor :name
19
+
20
+ attr_accessor :date
21
+
22
+ attr_accessor :chart_id
23
+
24
+ attr_accessor :season_id
25
+
26
+ attr_accessor :currency
27
+
28
+ # Optional partner key, unique per workspace, accepted wherever an event id is (URL-safe, not UUID-shaped).
29
+ attr_accessor :key
30
+
31
+ attr_accessor :table_booking_config
32
+
33
+ # Per-event category overrides (same semantics as PATCH /events/{eventId}).
34
+ attr_accessor :category_overrides
35
+
36
+ # Inventory channels created with the event; `channelKey` secrets are returned once.
37
+ attr_accessor :channels
38
+
39
+ attr_accessor :for_sale_config
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+ :'name' => :'name',
45
+ :'date' => :'date',
46
+ :'chart_id' => :'chartId',
47
+ :'season_id' => :'seasonId',
48
+ :'currency' => :'currency',
49
+ :'key' => :'key',
50
+ :'table_booking_config' => :'tableBookingConfig',
51
+ :'category_overrides' => :'categoryOverrides',
52
+ :'channels' => :'channels',
53
+ :'for_sale_config' => :'forSaleConfig'
54
+ }
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'name' => :'String',
66
+ :'date' => :'String',
67
+ :'chart_id' => :'String',
68
+ :'season_id' => :'String',
69
+ :'currency' => :'String',
70
+ :'key' => :'String',
71
+ :'table_booking_config' => :'PostApiEventsRequestTableBookingConfig',
72
+ :'category_overrides' => :'Hash<String, PostApiEventsRequestCategoryOverridesValue>',
73
+ :'channels' => :'Array<PostApiEventsRequestChannelsInner>',
74
+ :'for_sale_config' => :'PostApiEventsRequestForSaleConfig'
75
+ }
76
+ end
77
+
78
+ # List of attributes with nullable: true
79
+ def self.openapi_nullable
80
+ Set.new([
81
+ :'table_booking_config',
82
+ :'category_overrides',
83
+ ])
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SeatsChart::PostApiEventsRequest` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h|
95
+ if (!self.class.attribute_map.key?(k.to_sym))
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SeatsChart::PostApiEventsRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ end
98
+ h[k.to_sym] = v
99
+ }
100
+
101
+ if attributes.key?(:'name')
102
+ self.name = attributes[:'name']
103
+ else
104
+ self.name = nil
105
+ end
106
+
107
+ if attributes.key?(:'date')
108
+ self.date = attributes[:'date']
109
+ end
110
+
111
+ if attributes.key?(:'chart_id')
112
+ self.chart_id = attributes[:'chart_id']
113
+ end
114
+
115
+ if attributes.key?(:'season_id')
116
+ self.season_id = attributes[:'season_id']
117
+ end
118
+
119
+ if attributes.key?(:'currency')
120
+ self.currency = attributes[:'currency']
121
+ end
122
+
123
+ if attributes.key?(:'key')
124
+ self.key = attributes[:'key']
125
+ end
126
+
127
+ if attributes.key?(:'table_booking_config')
128
+ self.table_booking_config = attributes[:'table_booking_config']
129
+ end
130
+
131
+ if attributes.key?(:'category_overrides')
132
+ if (value = attributes[:'category_overrides']).is_a?(Hash)
133
+ self.category_overrides = value
134
+ end
135
+ end
136
+
137
+ if attributes.key?(:'channels')
138
+ if (value = attributes[:'channels']).is_a?(Array)
139
+ self.channels = value
140
+ end
141
+ end
142
+
143
+ if attributes.key?(:'for_sale_config')
144
+ self.for_sale_config = attributes[:'for_sale_config']
145
+ end
146
+ end
147
+
148
+ # Show invalid properties with the reasons. Usually used together with valid?
149
+ # @return Array for valid properties with the reasons
150
+ def list_invalid_properties
151
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
152
+ invalid_properties = Array.new
153
+ if @name.nil?
154
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
155
+ end
156
+
157
+ if @name.to_s.length > 512
158
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 512.')
159
+ end
160
+
161
+ if @name.to_s.length < 1
162
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
163
+ end
164
+
165
+ if !@date.nil? && @date.to_s.length > 64
166
+ invalid_properties.push('invalid value for "date", the character length must be smaller than or equal to 64.')
167
+ end
168
+
169
+ if !@date.nil? && @date.to_s.length < 1
170
+ invalid_properties.push('invalid value for "date", the character length must be great than or equal to 1.')
171
+ end
172
+
173
+ if !@chart_id.nil? && @chart_id.to_s.length > 36
174
+ invalid_properties.push('invalid value for "chart_id", the character length must be smaller than or equal to 36.')
175
+ end
176
+
177
+ if !@chart_id.nil? && @chart_id.to_s.length < 36
178
+ invalid_properties.push('invalid value for "chart_id", the character length must be great than or equal to 36.')
179
+ end
180
+
181
+ if !@season_id.nil? && @season_id.to_s.length > 36
182
+ invalid_properties.push('invalid value for "season_id", the character length must be smaller than or equal to 36.')
183
+ end
184
+
185
+ if !@season_id.nil? && @season_id.to_s.length < 36
186
+ invalid_properties.push('invalid value for "season_id", the character length must be great than or equal to 36.')
187
+ end
188
+
189
+ pattern = Regexp.new(/^[A-Z]{3}$/)
190
+ if !@currency.nil? && @currency !~ pattern
191
+ invalid_properties.push("invalid value for \"currency\", must conform to the pattern #{pattern}.")
192
+ end
193
+
194
+ if !@key.nil? && @key.to_s.length > 100
195
+ invalid_properties.push('invalid value for "key", the character length must be smaller than or equal to 100.')
196
+ end
197
+
198
+ if !@key.nil? && @key.to_s.length < 1
199
+ invalid_properties.push('invalid value for "key", the character length must be great than or equal to 1.')
200
+ end
201
+
202
+ pattern = Regexp.new(/^[A-Za-z0-9][A-Za-z0-9_.~-]{0,99}$/)
203
+ if !@key.nil? && @key !~ pattern
204
+ invalid_properties.push("invalid value for \"key\", must conform to the pattern #{pattern}.")
205
+ end
206
+
207
+ if !@channels.nil? && @channels.length > 64
208
+ invalid_properties.push('invalid value for "channels", number of items must be less than or equal to 64.')
209
+ end
210
+
211
+ invalid_properties
212
+ end
213
+
214
+ # Check to see if the all the properties in the model are valid
215
+ # @return true if the model is valid
216
+ def valid?
217
+ warn '[DEPRECATED] the `valid?` method is obsolete'
218
+ return false if @name.nil?
219
+ return false if @name.to_s.length > 512
220
+ return false if @name.to_s.length < 1
221
+ return false if !@date.nil? && @date.to_s.length > 64
222
+ return false if !@date.nil? && @date.to_s.length < 1
223
+ return false if !@chart_id.nil? && @chart_id.to_s.length > 36
224
+ return false if !@chart_id.nil? && @chart_id.to_s.length < 36
225
+ return false if !@season_id.nil? && @season_id.to_s.length > 36
226
+ return false if !@season_id.nil? && @season_id.to_s.length < 36
227
+ return false if !@currency.nil? && @currency !~ Regexp.new(/^[A-Z]{3}$/)
228
+ return false if !@key.nil? && @key.to_s.length > 100
229
+ return false if !@key.nil? && @key.to_s.length < 1
230
+ return false if !@key.nil? && @key !~ Regexp.new(/^[A-Za-z0-9][A-Za-z0-9_.~-]{0,99}$/)
231
+ return false if !@channels.nil? && @channels.length > 64
232
+ true
233
+ end
234
+
235
+ # Custom attribute writer method with validation
236
+ # @param [Object] name Value to be assigned
237
+ def name=(name)
238
+ if name.nil?
239
+ fail ArgumentError, 'name cannot be nil'
240
+ end
241
+
242
+ if name.to_s.length > 512
243
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 512.'
244
+ end
245
+
246
+ if name.to_s.length < 1
247
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
248
+ end
249
+
250
+ @name = name
251
+ end
252
+
253
+ # Custom attribute writer method with validation
254
+ # @param [Object] date Value to be assigned
255
+ def date=(date)
256
+ if date.nil?
257
+ fail ArgumentError, 'date cannot be nil'
258
+ end
259
+
260
+ if date.to_s.length > 64
261
+ fail ArgumentError, 'invalid value for "date", the character length must be smaller than or equal to 64.'
262
+ end
263
+
264
+ if date.to_s.length < 1
265
+ fail ArgumentError, 'invalid value for "date", the character length must be great than or equal to 1.'
266
+ end
267
+
268
+ @date = date
269
+ end
270
+
271
+ # Custom attribute writer method with validation
272
+ # @param [Object] chart_id Value to be assigned
273
+ def chart_id=(chart_id)
274
+ if chart_id.nil?
275
+ fail ArgumentError, 'chart_id cannot be nil'
276
+ end
277
+
278
+ if chart_id.to_s.length > 36
279
+ fail ArgumentError, 'invalid value for "chart_id", the character length must be smaller than or equal to 36.'
280
+ end
281
+
282
+ if chart_id.to_s.length < 36
283
+ fail ArgumentError, 'invalid value for "chart_id", the character length must be great than or equal to 36.'
284
+ end
285
+
286
+ @chart_id = chart_id
287
+ end
288
+
289
+ # Custom attribute writer method with validation
290
+ # @param [Object] season_id Value to be assigned
291
+ def season_id=(season_id)
292
+ if season_id.nil?
293
+ fail ArgumentError, 'season_id cannot be nil'
294
+ end
295
+
296
+ if season_id.to_s.length > 36
297
+ fail ArgumentError, 'invalid value for "season_id", the character length must be smaller than or equal to 36.'
298
+ end
299
+
300
+ if season_id.to_s.length < 36
301
+ fail ArgumentError, 'invalid value for "season_id", the character length must be great than or equal to 36.'
302
+ end
303
+
304
+ @season_id = season_id
305
+ end
306
+
307
+ # Custom attribute writer method with validation
308
+ # @param [Object] currency Value to be assigned
309
+ def currency=(currency)
310
+ if currency.nil?
311
+ fail ArgumentError, 'currency cannot be nil'
312
+ end
313
+
314
+ pattern = Regexp.new(/^[A-Z]{3}$/)
315
+ if currency !~ pattern
316
+ fail ArgumentError, "invalid value for \"currency\", must conform to the pattern #{pattern}."
317
+ end
318
+
319
+ @currency = currency
320
+ end
321
+
322
+ # Custom attribute writer method with validation
323
+ # @param [Object] key Value to be assigned
324
+ def key=(key)
325
+ if key.nil?
326
+ fail ArgumentError, 'key cannot be nil'
327
+ end
328
+
329
+ if key.to_s.length > 100
330
+ fail ArgumentError, 'invalid value for "key", the character length must be smaller than or equal to 100.'
331
+ end
332
+
333
+ if key.to_s.length < 1
334
+ fail ArgumentError, 'invalid value for "key", the character length must be great than or equal to 1.'
335
+ end
336
+
337
+ pattern = Regexp.new(/^[A-Za-z0-9][A-Za-z0-9_.~-]{0,99}$/)
338
+ if key !~ pattern
339
+ fail ArgumentError, "invalid value for \"key\", must conform to the pattern #{pattern}."
340
+ end
341
+
342
+ @key = key
343
+ end
344
+
345
+ # Custom attribute writer method with validation
346
+ # @param [Object] channels Value to be assigned
347
+ def channels=(channels)
348
+ if channels.nil?
349
+ fail ArgumentError, 'channels cannot be nil'
350
+ end
351
+
352
+ if channels.length > 64
353
+ fail ArgumentError, 'invalid value for "channels", number of items must be less than or equal to 64.'
354
+ end
355
+
356
+ @channels = channels
357
+ end
358
+
359
+ # Checks equality by comparing each attribute.
360
+ # @param [Object] Object to be compared
361
+ def ==(o)
362
+ return true if self.equal?(o)
363
+ self.class == o.class &&
364
+ name == o.name &&
365
+ date == o.date &&
366
+ chart_id == o.chart_id &&
367
+ season_id == o.season_id &&
368
+ currency == o.currency &&
369
+ key == o.key &&
370
+ table_booking_config == o.table_booking_config &&
371
+ category_overrides == o.category_overrides &&
372
+ channels == o.channels &&
373
+ for_sale_config == o.for_sale_config
374
+ end
375
+
376
+ # @see the `==` method
377
+ # @param [Object] Object to be compared
378
+ def eql?(o)
379
+ self == o
380
+ end
381
+
382
+ # Calculates hash code according to all attributes.
383
+ # @return [Integer] Hash code
384
+ def hash
385
+ [name, date, chart_id, season_id, currency, key, table_booking_config, category_overrides, channels, for_sale_config].hash
386
+ end
387
+
388
+ # Builds the object from hash
389
+ # @param [Hash] attributes Model attributes in the form of hash
390
+ # @return [Object] Returns the model itself
391
+ def self.build_from_hash(attributes)
392
+ return nil unless attributes.is_a?(Hash)
393
+ attributes = attributes.transform_keys(&:to_sym)
394
+ transformed_hash = {}
395
+ openapi_types.each_pair do |key, type|
396
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
397
+ transformed_hash["#{key}"] = nil
398
+ elsif type =~ /\AArray<(.*)>/i
399
+ # check to ensure the input is an array given that the attribute
400
+ # is documented as an array but the input is not
401
+ if attributes[attribute_map[key]].is_a?(Array)
402
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
403
+ end
404
+ elsif !attributes[attribute_map[key]].nil?
405
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
406
+ end
407
+ end
408
+ new(transformed_hash)
409
+ end
410
+
411
+ # Deserializes the data based on type
412
+ # @param string type Data type
413
+ # @param string value Value to be deserialized
414
+ # @return [Object] Deserialized data
415
+ def self._deserialize(type, value)
416
+ case type.to_sym
417
+ when :Time
418
+ Time.parse(value)
419
+ when :Date
420
+ Date.parse(value)
421
+ when :String
422
+ value.to_s
423
+ when :Integer
424
+ value.to_i
425
+ when :Float
426
+ value.to_f
427
+ when :Boolean
428
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
429
+ true
430
+ else
431
+ false
432
+ end
433
+ when :Object
434
+ # generic object (usually a Hash), return directly
435
+ value
436
+ when /\AArray<(?<inner_type>.+)>\z/
437
+ inner_type = Regexp.last_match[:inner_type]
438
+ value.map { |v| _deserialize(inner_type, v) }
439
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
440
+ k_type = Regexp.last_match[:k_type]
441
+ v_type = Regexp.last_match[:v_type]
442
+ {}.tap do |hash|
443
+ value.each do |k, v|
444
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
445
+ end
446
+ end
447
+ else # model
448
+ # models (e.g. Pet) or oneOf
449
+ klass = SeatsChart.const_get(type)
450
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
451
+ end
452
+ end
453
+
454
+ # Returns the string representation of the object
455
+ # @return [String] String presentation of the object
456
+ def to_s
457
+ to_hash.to_s
458
+ end
459
+
460
+ # to_body is an alias to to_hash (backward compatibility)
461
+ # @return [Hash] Returns the object in the form of hash
462
+ def to_body
463
+ to_hash
464
+ end
465
+
466
+ # Returns the object in the form of hash
467
+ # @return [Hash] Returns the object in the form of hash
468
+ def to_hash
469
+ hash = {}
470
+ self.class.attribute_map.each_pair do |attr, param|
471
+ value = self.send(attr)
472
+ if value.nil?
473
+ is_nullable = self.class.openapi_nullable.include?(attr)
474
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
475
+ end
476
+
477
+ hash[param] = _to_hash(value)
478
+ end
479
+ hash
480
+ end
481
+
482
+ # Outputs non-array value in the form of hash
483
+ # For object, use to_hash. Otherwise, just return the value
484
+ # @param [Object] value Any valid value
485
+ # @return [Hash] Returns the value in the form of hash
486
+ def _to_hash(value)
487
+ if value.is_a?(Array)
488
+ value.compact.map { |v| _to_hash(v) }
489
+ elsif value.is_a?(Hash)
490
+ {}.tap do |hash|
491
+ value.each { |k, v| hash[k] = _to_hash(v) }
492
+ end
493
+ elsif value.respond_to? :to_hash
494
+ value.to_hash
495
+ else
496
+ value
497
+ end
498
+ end
499
+
500
+ end
501
+
502
+ end