ultracart_api 4.1.170 → 4.1.172

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -2
  3. data/docs/SfvbApi.md +890 -37
  4. data/docs/SfvbPageResponse.md +2 -0
  5. data/docs/SfvbUpsellItemLogic.md +24 -0
  6. data/docs/SfvbUpsellItemLogicItem.md +22 -0
  7. data/docs/SfvbUpsellOffer.md +118 -8
  8. data/docs/SfvbUpsellPath.md +48 -0
  9. data/docs/SfvbUpsellPathDuplicateRequest.md +18 -0
  10. data/docs/SfvbUpsellPathMoveRequest.md +18 -0
  11. data/docs/SfvbUpsellPathsResponse.md +28 -0
  12. data/docs/SfvbUpsellStats.md +54 -0
  13. data/docs/SfvbUpsellStep.md +22 -0
  14. data/docs/SfvbUpsellStepOffer.md +32 -0
  15. data/docs/SfvbUpsellTowerData.md +20 -0
  16. data/docs/SfvbUpsellVariation.md +22 -0
  17. data/lib/ultracart_api/api/sfvb_api.rb +1256 -78
  18. data/lib/ultracart_api/models/sfvb_page_response.rb +11 -1
  19. data/lib/ultracart_api/models/sfvb_upsell_item_logic.rb +252 -0
  20. data/lib/ultracart_api/models/sfvb_upsell_item_logic_item.rb +240 -0
  21. data/lib/ultracart_api/models/sfvb_upsell_offer.rb +598 -9
  22. data/lib/ultracart_api/models/sfvb_upsell_path.rb +373 -0
  23. data/lib/ultracart_api/models/sfvb_upsell_path_duplicate_request.rb +220 -0
  24. data/lib/ultracart_api/models/sfvb_upsell_path_move_request.rb +220 -0
  25. data/lib/ultracart_api/models/sfvb_upsell_paths_response.rb +272 -0
  26. data/lib/ultracart_api/models/sfvb_upsell_stats.rb +400 -0
  27. data/lib/ultracart_api/models/sfvb_upsell_step.rb +241 -0
  28. data/lib/ultracart_api/models/sfvb_upsell_step_offer.rb +288 -0
  29. data/lib/ultracart_api/models/sfvb_upsell_tower_data.rb +234 -0
  30. data/lib/ultracart_api/models/sfvb_upsell_variation.rb +241 -0
  31. data/lib/ultracart_api/version.rb +1 -1
  32. data/lib/ultracart_api.rb +11 -0
  33. metadata +24 -2
@@ -15,31 +15,193 @@ require 'time'
15
15
 
16
16
  module UltracartClient
17
17
  class SfvbUpsellOffer
18
- # Whether the offer is switched on.
18
+ # Whether the offer is switched on. Setting it true, or changing an offer that is active overall, needs the sfvb_publish scope.
19
19
  attr_accessor :active
20
20
 
21
- # Whether the offer is active once its date window and daily pricing are taken into account. This is the one that says whether shoppers are actually seeing it.
21
+ # Read only. Whether the offer is active once its date window and daily pricing are taken into account. This is the one that says whether shoppers are actually seeing it.
22
22
  attr_accessor :active_overall
23
23
 
24
- # Size of the offer's container JSON in bytes. A large value here alongside a low element count is the signature of a hand pasted HTML dump.
24
+ # Accessory items added when the offer is accepted.
25
+ attr_accessor :add_accessory_item_ids
26
+
27
+ # Option on the trigger item to adjust when the offer is accepted. Omitted or null for none.
28
+ attr_accessor :adjust_trigger_item_option
29
+
30
+ # Whether to show the offer when the upsell item is already in the cart.
31
+ attr_accessor :allow_upsell_item_in_cart_already
32
+
33
+ # Price per unit when the offer is accepted. Omitted or null to charge the item's own price.
34
+ attr_accessor :arbitrary_unit_cost
35
+
36
+ # Price on Fridays, overriding arbitrary_unit_cost.
37
+ attr_accessor :arbitrary_unit_cost_friday
38
+
39
+ # Price on Mondays, overriding arbitrary_unit_cost. Omitted or null for no override.
40
+ attr_accessor :arbitrary_unit_cost_monday
41
+
42
+ # Price on Saturdays, overriding arbitrary_unit_cost.
43
+ attr_accessor :arbitrary_unit_cost_saturday
44
+
45
+ # Price on Sundays, overriding arbitrary_unit_cost.
46
+ attr_accessor :arbitrary_unit_cost_sunday
47
+
48
+ # Price on Thursdays, overriding arbitrary_unit_cost.
49
+ attr_accessor :arbitrary_unit_cost_thursday
50
+
51
+ # Price on Tuesdays, overriding arbitrary_unit_cost.
52
+ attr_accessor :arbitrary_unit_cost_tuesday
53
+
54
+ # Price on Wednesdays, overriding arbitrary_unit_cost.
55
+ attr_accessor :arbitrary_unit_cost_wednesday
56
+
57
+ # Read only. Size of the offer's container JSON in bytes. A large value here alongside a low element count is the signature of a hand pasted HTML dump.
25
58
  attr_accessor :cjson_size
26
59
 
27
- # Whether a container has been authored for this offer.
60
+ # Last day the offer runs, as YYYY-MM-DD, inclusive. Omitted or null for no end.
61
+ attr_accessor :end_date
62
+
63
+ # Everflow advertiser event id recorded when the offer is accepted. Omitted or null for none.
64
+ attr_accessor :everflow_advertiser_event_id
65
+
66
+ # Show only to shoppers who have not bought the upsell item before.
67
+ attr_accessor :first_time_item
68
+
69
+ # Show only to shoppers buying from this store for the first time.
70
+ attr_accessor :first_time_store
71
+
72
+ # Whether the upsell item ships free.
73
+ attr_accessor :free_shipping
74
+
75
+ # Read only. Whether a container has been authored for this offer.
28
76
  attr_accessor :has_container
29
77
 
30
- # Offer name.
78
+ # Read only. Whether the merchant has Everflow set up.
79
+ attr_accessor :has_everflow_configured
80
+
81
+ # Read only. Whether the merchant has loyalty set up, so the loyalty tier lists apply.
82
+ attr_accessor :has_loyalty_configured
83
+
84
+ # Read only. Whether the merchant has TowerData set up, so the age and gender lists apply.
85
+ attr_accessor :has_towerdata_configured
86
+
87
+ # Read only. Hash of the offer's writable fields. Send it in If-Match on an update.
88
+ attr_accessor :hash_sha256
89
+
90
+ attr_accessor :item_logic_suppression
91
+
92
+ attr_accessor :item_logic_trigger
93
+
94
+ # Whether the shipping method is locked once the offer is accepted.
95
+ attr_accessor :lock_shipping
96
+
97
+ # Most units a shopper can take. Omitted or null for no limit.
98
+ attr_accessor :max_quantity
99
+
100
+ # Accessory items to migrate from, paired by position with migrate_accessory_item_ids_to.
101
+ attr_accessor :migrate_accessory_item_ids_from
102
+
103
+ # Accessory items to migrate to, paired by position with migrate_accessory_item_ids_from.
104
+ attr_accessor :migrate_accessory_item_ids_to
105
+
106
+ # Offer name, at most 50 characters.
31
107
  attr_accessor :name
32
108
 
33
- # Name of the upsell path this offer sits on.
109
+ # URL of offsite content shown instead of the container. Omitted or null for none.
110
+ attr_accessor :offsite_content_url
111
+
112
+ # Read only. Upsell items that are out of stock now, so the offer would not be shown.
113
+ attr_accessor :out_of_stock_upsell_item_ids
114
+
115
+ # Read only. Name of the upsell path this offer was last served on. Written by checkout traffic, so it is empty until shoppers have seen the offer and can be stale. Use referenced_by_path_oids for the configured answer.
34
116
  attr_accessor :path_name
35
117
 
36
- # Storefront oid.
118
+ # Whether the accepted item is recorded as a regular item rather than an upsell.
119
+ attr_accessor :record_as_regular_item
120
+
121
+ # Read only. The storefront's upsell paths whose steps use this offer, as an offer or a downsell.
122
+ attr_accessor :referenced_by_path_oids
123
+
124
+ # Whether the shopper can remove the accepted item on the confirmation step.
125
+ attr_accessor :removable_on_confirmation
126
+
127
+ # Accessory items removed when the offer is accepted.
128
+ attr_accessor :remove_accessory_item_ids
129
+
130
+ # Whether accepting the offer removes the item that triggered it (a swap rather than an add).
131
+ attr_accessor :remove_trigger_item
132
+
133
+ # Do not show to previous customers.
134
+ attr_accessor :skip_previous_customers
135
+
136
+ # First day the offer runs, as YYYY-MM-DD. Omitted or null for no start.
137
+ attr_accessor :start_date
138
+
139
+ attr_accessor :stats
140
+
141
+ # Read only. Storefront oid.
37
142
  attr_accessor :storefront_oid
38
143
 
144
+ # Do not show on large screens.
145
+ attr_accessor :suppress_large
146
+
147
+ # Do not show on medium screens.
148
+ attr_accessor :suppress_medium
149
+
150
+ # Do not show on small screens.
151
+ attr_accessor :suppress_small
152
+
153
+ # Shipping countries that stop the offer from showing.
154
+ attr_accessor :suppression_country_codes
155
+
156
+ # Loyalty tiers that stop the offer from showing.
157
+ attr_accessor :suppression_loyalty_tier_oids
158
+
159
+ # Payment methods that stop the offer from showing.
160
+ attr_accessor :suppression_payment_methods
161
+
162
+ # Shipping methods that stop the offer from showing.
163
+ attr_accessor :suppression_shipping_methods
164
+
165
+ # Shipping states that stop the offer from showing.
166
+ attr_accessor :suppression_state_codes
167
+
168
+ # Customer tags that stop the offer from showing.
169
+ attr_accessor :suppression_tags
170
+
39
171
  # Whether the offer is restricted to test traffic.
40
172
  attr_accessor :test_only
41
173
 
42
- # Upsell offer oid.
174
+ # TowerData age bands the offer is shown to. 18-20, 21-24, 25-34, 35-44, 45-54, 55-64, 65+ or Unknown.
175
+ attr_accessor :trigger_ages
176
+
177
+ # Shipping countries (ISO 3166 two letter codes) that trigger the offer.
178
+ attr_accessor :trigger_country_codes
179
+
180
+ # TowerData genders the offer is shown to. Male, Female or Unknown.
181
+ attr_accessor :trigger_genders
182
+
183
+ # Loyalty tiers that trigger the offer. Each must be one of the merchant's loyalty tiers.
184
+ attr_accessor :trigger_loyalty_tier_oids
185
+
186
+ # Payment methods that trigger the offer. Each must be one of the merchant's payment methods.
187
+ attr_accessor :trigger_payment_methods
188
+
189
+ # Shipping methods that trigger the offer. Each must be one of the merchant's shipping methods.
190
+ attr_accessor :trigger_shipping_methods
191
+
192
+ # Shipping states that trigger the offer.
193
+ attr_accessor :trigger_state_codes
194
+
195
+ # Customer tags that trigger the offer.
196
+ attr_accessor :trigger_tags
197
+
198
+ # JavaScript that chooses the upsell item at runtime. Omitted or null for none.
199
+ attr_accessor :upsell_item_id_javascript
200
+
201
+ # The items offered. Every item id must exist on the merchant account.
202
+ attr_accessor :upsell_item_ids
203
+
204
+ # Read only. Upsell offer oid.
43
205
  attr_accessor :upsell_offer_oid
44
206
 
45
207
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -47,12 +209,67 @@ module UltracartClient
47
209
  {
48
210
  :'active' => :'active',
49
211
  :'active_overall' => :'active_overall',
212
+ :'add_accessory_item_ids' => :'add_accessory_item_ids',
213
+ :'adjust_trigger_item_option' => :'adjust_trigger_item_option',
214
+ :'allow_upsell_item_in_cart_already' => :'allow_upsell_item_in_cart_already',
215
+ :'arbitrary_unit_cost' => :'arbitrary_unit_cost',
216
+ :'arbitrary_unit_cost_friday' => :'arbitrary_unit_cost_friday',
217
+ :'arbitrary_unit_cost_monday' => :'arbitrary_unit_cost_monday',
218
+ :'arbitrary_unit_cost_saturday' => :'arbitrary_unit_cost_saturday',
219
+ :'arbitrary_unit_cost_sunday' => :'arbitrary_unit_cost_sunday',
220
+ :'arbitrary_unit_cost_thursday' => :'arbitrary_unit_cost_thursday',
221
+ :'arbitrary_unit_cost_tuesday' => :'arbitrary_unit_cost_tuesday',
222
+ :'arbitrary_unit_cost_wednesday' => :'arbitrary_unit_cost_wednesday',
50
223
  :'cjson_size' => :'cjson_size',
224
+ :'end_date' => :'end_date',
225
+ :'everflow_advertiser_event_id' => :'everflow_advertiser_event_id',
226
+ :'first_time_item' => :'first_time_item',
227
+ :'first_time_store' => :'first_time_store',
228
+ :'free_shipping' => :'free_shipping',
51
229
  :'has_container' => :'has_container',
230
+ :'has_everflow_configured' => :'has_everflow_configured',
231
+ :'has_loyalty_configured' => :'has_loyalty_configured',
232
+ :'has_towerdata_configured' => :'has_towerdata_configured',
233
+ :'hash_sha256' => :'hash_sha256',
234
+ :'item_logic_suppression' => :'item_logic_suppression',
235
+ :'item_logic_trigger' => :'item_logic_trigger',
236
+ :'lock_shipping' => :'lock_shipping',
237
+ :'max_quantity' => :'max_quantity',
238
+ :'migrate_accessory_item_ids_from' => :'migrate_accessory_item_ids_from',
239
+ :'migrate_accessory_item_ids_to' => :'migrate_accessory_item_ids_to',
52
240
  :'name' => :'name',
241
+ :'offsite_content_url' => :'offsite_content_url',
242
+ :'out_of_stock_upsell_item_ids' => :'out_of_stock_upsell_item_ids',
53
243
  :'path_name' => :'path_name',
244
+ :'record_as_regular_item' => :'record_as_regular_item',
245
+ :'referenced_by_path_oids' => :'referenced_by_path_oids',
246
+ :'removable_on_confirmation' => :'removable_on_confirmation',
247
+ :'remove_accessory_item_ids' => :'remove_accessory_item_ids',
248
+ :'remove_trigger_item' => :'remove_trigger_item',
249
+ :'skip_previous_customers' => :'skip_previous_customers',
250
+ :'start_date' => :'start_date',
251
+ :'stats' => :'stats',
54
252
  :'storefront_oid' => :'storefront_oid',
253
+ :'suppress_large' => :'suppress_large',
254
+ :'suppress_medium' => :'suppress_medium',
255
+ :'suppress_small' => :'suppress_small',
256
+ :'suppression_country_codes' => :'suppression_country_codes',
257
+ :'suppression_loyalty_tier_oids' => :'suppression_loyalty_tier_oids',
258
+ :'suppression_payment_methods' => :'suppression_payment_methods',
259
+ :'suppression_shipping_methods' => :'suppression_shipping_methods',
260
+ :'suppression_state_codes' => :'suppression_state_codes',
261
+ :'suppression_tags' => :'suppression_tags',
55
262
  :'test_only' => :'test_only',
263
+ :'trigger_ages' => :'trigger_ages',
264
+ :'trigger_country_codes' => :'trigger_country_codes',
265
+ :'trigger_genders' => :'trigger_genders',
266
+ :'trigger_loyalty_tier_oids' => :'trigger_loyalty_tier_oids',
267
+ :'trigger_payment_methods' => :'trigger_payment_methods',
268
+ :'trigger_shipping_methods' => :'trigger_shipping_methods',
269
+ :'trigger_state_codes' => :'trigger_state_codes',
270
+ :'trigger_tags' => :'trigger_tags',
271
+ :'upsell_item_id_javascript' => :'upsell_item_id_javascript',
272
+ :'upsell_item_ids' => :'upsell_item_ids',
56
273
  :'upsell_offer_oid' => :'upsell_offer_oid'
57
274
  }
58
275
  end
@@ -67,12 +284,67 @@ module UltracartClient
67
284
  {
68
285
  :'active' => :'Boolean',
69
286
  :'active_overall' => :'Boolean',
287
+ :'add_accessory_item_ids' => :'Array<String>',
288
+ :'adjust_trigger_item_option' => :'String',
289
+ :'allow_upsell_item_in_cart_already' => :'Boolean',
290
+ :'arbitrary_unit_cost' => :'Float',
291
+ :'arbitrary_unit_cost_friday' => :'Float',
292
+ :'arbitrary_unit_cost_monday' => :'Float',
293
+ :'arbitrary_unit_cost_saturday' => :'Float',
294
+ :'arbitrary_unit_cost_sunday' => :'Float',
295
+ :'arbitrary_unit_cost_thursday' => :'Float',
296
+ :'arbitrary_unit_cost_tuesday' => :'Float',
297
+ :'arbitrary_unit_cost_wednesday' => :'Float',
70
298
  :'cjson_size' => :'Integer',
299
+ :'end_date' => :'String',
300
+ :'everflow_advertiser_event_id' => :'String',
301
+ :'first_time_item' => :'Boolean',
302
+ :'first_time_store' => :'Boolean',
303
+ :'free_shipping' => :'Boolean',
71
304
  :'has_container' => :'Boolean',
305
+ :'has_everflow_configured' => :'Boolean',
306
+ :'has_loyalty_configured' => :'Boolean',
307
+ :'has_towerdata_configured' => :'Boolean',
308
+ :'hash_sha256' => :'String',
309
+ :'item_logic_suppression' => :'SfvbUpsellItemLogic',
310
+ :'item_logic_trigger' => :'SfvbUpsellItemLogic',
311
+ :'lock_shipping' => :'Boolean',
312
+ :'max_quantity' => :'Integer',
313
+ :'migrate_accessory_item_ids_from' => :'Array<String>',
314
+ :'migrate_accessory_item_ids_to' => :'Array<String>',
72
315
  :'name' => :'String',
316
+ :'offsite_content_url' => :'String',
317
+ :'out_of_stock_upsell_item_ids' => :'Array<String>',
73
318
  :'path_name' => :'String',
319
+ :'record_as_regular_item' => :'Boolean',
320
+ :'referenced_by_path_oids' => :'Array<Integer>',
321
+ :'removable_on_confirmation' => :'Boolean',
322
+ :'remove_accessory_item_ids' => :'Array<String>',
323
+ :'remove_trigger_item' => :'Boolean',
324
+ :'skip_previous_customers' => :'Boolean',
325
+ :'start_date' => :'String',
326
+ :'stats' => :'SfvbUpsellStats',
74
327
  :'storefront_oid' => :'Integer',
328
+ :'suppress_large' => :'Boolean',
329
+ :'suppress_medium' => :'Boolean',
330
+ :'suppress_small' => :'Boolean',
331
+ :'suppression_country_codes' => :'Array<String>',
332
+ :'suppression_loyalty_tier_oids' => :'Array<Integer>',
333
+ :'suppression_payment_methods' => :'Array<String>',
334
+ :'suppression_shipping_methods' => :'Array<String>',
335
+ :'suppression_state_codes' => :'Array<String>',
336
+ :'suppression_tags' => :'Array<String>',
75
337
  :'test_only' => :'Boolean',
338
+ :'trigger_ages' => :'Array<String>',
339
+ :'trigger_country_codes' => :'Array<String>',
340
+ :'trigger_genders' => :'Array<String>',
341
+ :'trigger_loyalty_tier_oids' => :'Array<Integer>',
342
+ :'trigger_payment_methods' => :'Array<String>',
343
+ :'trigger_shipping_methods' => :'Array<String>',
344
+ :'trigger_state_codes' => :'Array<String>',
345
+ :'trigger_tags' => :'Array<String>',
346
+ :'upsell_item_id_javascript' => :'String',
347
+ :'upsell_item_ids' => :'Array<String>',
76
348
  :'upsell_offer_oid' => :'Integer'
77
349
  }
78
350
  end
@@ -106,30 +378,292 @@ module UltracartClient
106
378
  self.active_overall = attributes[:'active_overall']
107
379
  end
108
380
 
381
+ if attributes.key?(:'add_accessory_item_ids')
382
+ if (value = attributes[:'add_accessory_item_ids']).is_a?(Array)
383
+ self.add_accessory_item_ids = value
384
+ end
385
+ end
386
+
387
+ if attributes.key?(:'adjust_trigger_item_option')
388
+ self.adjust_trigger_item_option = attributes[:'adjust_trigger_item_option']
389
+ end
390
+
391
+ if attributes.key?(:'allow_upsell_item_in_cart_already')
392
+ self.allow_upsell_item_in_cart_already = attributes[:'allow_upsell_item_in_cart_already']
393
+ end
394
+
395
+ if attributes.key?(:'arbitrary_unit_cost')
396
+ self.arbitrary_unit_cost = attributes[:'arbitrary_unit_cost']
397
+ end
398
+
399
+ if attributes.key?(:'arbitrary_unit_cost_friday')
400
+ self.arbitrary_unit_cost_friday = attributes[:'arbitrary_unit_cost_friday']
401
+ end
402
+
403
+ if attributes.key?(:'arbitrary_unit_cost_monday')
404
+ self.arbitrary_unit_cost_monday = attributes[:'arbitrary_unit_cost_monday']
405
+ end
406
+
407
+ if attributes.key?(:'arbitrary_unit_cost_saturday')
408
+ self.arbitrary_unit_cost_saturday = attributes[:'arbitrary_unit_cost_saturday']
409
+ end
410
+
411
+ if attributes.key?(:'arbitrary_unit_cost_sunday')
412
+ self.arbitrary_unit_cost_sunday = attributes[:'arbitrary_unit_cost_sunday']
413
+ end
414
+
415
+ if attributes.key?(:'arbitrary_unit_cost_thursday')
416
+ self.arbitrary_unit_cost_thursday = attributes[:'arbitrary_unit_cost_thursday']
417
+ end
418
+
419
+ if attributes.key?(:'arbitrary_unit_cost_tuesday')
420
+ self.arbitrary_unit_cost_tuesday = attributes[:'arbitrary_unit_cost_tuesday']
421
+ end
422
+
423
+ if attributes.key?(:'arbitrary_unit_cost_wednesday')
424
+ self.arbitrary_unit_cost_wednesday = attributes[:'arbitrary_unit_cost_wednesday']
425
+ end
426
+
109
427
  if attributes.key?(:'cjson_size')
110
428
  self.cjson_size = attributes[:'cjson_size']
111
429
  end
112
430
 
431
+ if attributes.key?(:'end_date')
432
+ self.end_date = attributes[:'end_date']
433
+ end
434
+
435
+ if attributes.key?(:'everflow_advertiser_event_id')
436
+ self.everflow_advertiser_event_id = attributes[:'everflow_advertiser_event_id']
437
+ end
438
+
439
+ if attributes.key?(:'first_time_item')
440
+ self.first_time_item = attributes[:'first_time_item']
441
+ end
442
+
443
+ if attributes.key?(:'first_time_store')
444
+ self.first_time_store = attributes[:'first_time_store']
445
+ end
446
+
447
+ if attributes.key?(:'free_shipping')
448
+ self.free_shipping = attributes[:'free_shipping']
449
+ end
450
+
113
451
  if attributes.key?(:'has_container')
114
452
  self.has_container = attributes[:'has_container']
115
453
  end
116
454
 
455
+ if attributes.key?(:'has_everflow_configured')
456
+ self.has_everflow_configured = attributes[:'has_everflow_configured']
457
+ end
458
+
459
+ if attributes.key?(:'has_loyalty_configured')
460
+ self.has_loyalty_configured = attributes[:'has_loyalty_configured']
461
+ end
462
+
463
+ if attributes.key?(:'has_towerdata_configured')
464
+ self.has_towerdata_configured = attributes[:'has_towerdata_configured']
465
+ end
466
+
467
+ if attributes.key?(:'hash_sha256')
468
+ self.hash_sha256 = attributes[:'hash_sha256']
469
+ end
470
+
471
+ if attributes.key?(:'item_logic_suppression')
472
+ self.item_logic_suppression = attributes[:'item_logic_suppression']
473
+ end
474
+
475
+ if attributes.key?(:'item_logic_trigger')
476
+ self.item_logic_trigger = attributes[:'item_logic_trigger']
477
+ end
478
+
479
+ if attributes.key?(:'lock_shipping')
480
+ self.lock_shipping = attributes[:'lock_shipping']
481
+ end
482
+
483
+ if attributes.key?(:'max_quantity')
484
+ self.max_quantity = attributes[:'max_quantity']
485
+ end
486
+
487
+ if attributes.key?(:'migrate_accessory_item_ids_from')
488
+ if (value = attributes[:'migrate_accessory_item_ids_from']).is_a?(Array)
489
+ self.migrate_accessory_item_ids_from = value
490
+ end
491
+ end
492
+
493
+ if attributes.key?(:'migrate_accessory_item_ids_to')
494
+ if (value = attributes[:'migrate_accessory_item_ids_to']).is_a?(Array)
495
+ self.migrate_accessory_item_ids_to = value
496
+ end
497
+ end
498
+
117
499
  if attributes.key?(:'name')
118
500
  self.name = attributes[:'name']
119
501
  end
120
502
 
503
+ if attributes.key?(:'offsite_content_url')
504
+ self.offsite_content_url = attributes[:'offsite_content_url']
505
+ end
506
+
507
+ if attributes.key?(:'out_of_stock_upsell_item_ids')
508
+ if (value = attributes[:'out_of_stock_upsell_item_ids']).is_a?(Array)
509
+ self.out_of_stock_upsell_item_ids = value
510
+ end
511
+ end
512
+
121
513
  if attributes.key?(:'path_name')
122
514
  self.path_name = attributes[:'path_name']
123
515
  end
124
516
 
517
+ if attributes.key?(:'record_as_regular_item')
518
+ self.record_as_regular_item = attributes[:'record_as_regular_item']
519
+ end
520
+
521
+ if attributes.key?(:'referenced_by_path_oids')
522
+ if (value = attributes[:'referenced_by_path_oids']).is_a?(Array)
523
+ self.referenced_by_path_oids = value
524
+ end
525
+ end
526
+
527
+ if attributes.key?(:'removable_on_confirmation')
528
+ self.removable_on_confirmation = attributes[:'removable_on_confirmation']
529
+ end
530
+
531
+ if attributes.key?(:'remove_accessory_item_ids')
532
+ if (value = attributes[:'remove_accessory_item_ids']).is_a?(Array)
533
+ self.remove_accessory_item_ids = value
534
+ end
535
+ end
536
+
537
+ if attributes.key?(:'remove_trigger_item')
538
+ self.remove_trigger_item = attributes[:'remove_trigger_item']
539
+ end
540
+
541
+ if attributes.key?(:'skip_previous_customers')
542
+ self.skip_previous_customers = attributes[:'skip_previous_customers']
543
+ end
544
+
545
+ if attributes.key?(:'start_date')
546
+ self.start_date = attributes[:'start_date']
547
+ end
548
+
549
+ if attributes.key?(:'stats')
550
+ self.stats = attributes[:'stats']
551
+ end
552
+
125
553
  if attributes.key?(:'storefront_oid')
126
554
  self.storefront_oid = attributes[:'storefront_oid']
127
555
  end
128
556
 
557
+ if attributes.key?(:'suppress_large')
558
+ self.suppress_large = attributes[:'suppress_large']
559
+ end
560
+
561
+ if attributes.key?(:'suppress_medium')
562
+ self.suppress_medium = attributes[:'suppress_medium']
563
+ end
564
+
565
+ if attributes.key?(:'suppress_small')
566
+ self.suppress_small = attributes[:'suppress_small']
567
+ end
568
+
569
+ if attributes.key?(:'suppression_country_codes')
570
+ if (value = attributes[:'suppression_country_codes']).is_a?(Array)
571
+ self.suppression_country_codes = value
572
+ end
573
+ end
574
+
575
+ if attributes.key?(:'suppression_loyalty_tier_oids')
576
+ if (value = attributes[:'suppression_loyalty_tier_oids']).is_a?(Array)
577
+ self.suppression_loyalty_tier_oids = value
578
+ end
579
+ end
580
+
581
+ if attributes.key?(:'suppression_payment_methods')
582
+ if (value = attributes[:'suppression_payment_methods']).is_a?(Array)
583
+ self.suppression_payment_methods = value
584
+ end
585
+ end
586
+
587
+ if attributes.key?(:'suppression_shipping_methods')
588
+ if (value = attributes[:'suppression_shipping_methods']).is_a?(Array)
589
+ self.suppression_shipping_methods = value
590
+ end
591
+ end
592
+
593
+ if attributes.key?(:'suppression_state_codes')
594
+ if (value = attributes[:'suppression_state_codes']).is_a?(Array)
595
+ self.suppression_state_codes = value
596
+ end
597
+ end
598
+
599
+ if attributes.key?(:'suppression_tags')
600
+ if (value = attributes[:'suppression_tags']).is_a?(Array)
601
+ self.suppression_tags = value
602
+ end
603
+ end
604
+
129
605
  if attributes.key?(:'test_only')
130
606
  self.test_only = attributes[:'test_only']
131
607
  end
132
608
 
609
+ if attributes.key?(:'trigger_ages')
610
+ if (value = attributes[:'trigger_ages']).is_a?(Array)
611
+ self.trigger_ages = value
612
+ end
613
+ end
614
+
615
+ if attributes.key?(:'trigger_country_codes')
616
+ if (value = attributes[:'trigger_country_codes']).is_a?(Array)
617
+ self.trigger_country_codes = value
618
+ end
619
+ end
620
+
621
+ if attributes.key?(:'trigger_genders')
622
+ if (value = attributes[:'trigger_genders']).is_a?(Array)
623
+ self.trigger_genders = value
624
+ end
625
+ end
626
+
627
+ if attributes.key?(:'trigger_loyalty_tier_oids')
628
+ if (value = attributes[:'trigger_loyalty_tier_oids']).is_a?(Array)
629
+ self.trigger_loyalty_tier_oids = value
630
+ end
631
+ end
632
+
633
+ if attributes.key?(:'trigger_payment_methods')
634
+ if (value = attributes[:'trigger_payment_methods']).is_a?(Array)
635
+ self.trigger_payment_methods = value
636
+ end
637
+ end
638
+
639
+ if attributes.key?(:'trigger_shipping_methods')
640
+ if (value = attributes[:'trigger_shipping_methods']).is_a?(Array)
641
+ self.trigger_shipping_methods = value
642
+ end
643
+ end
644
+
645
+ if attributes.key?(:'trigger_state_codes')
646
+ if (value = attributes[:'trigger_state_codes']).is_a?(Array)
647
+ self.trigger_state_codes = value
648
+ end
649
+ end
650
+
651
+ if attributes.key?(:'trigger_tags')
652
+ if (value = attributes[:'trigger_tags']).is_a?(Array)
653
+ self.trigger_tags = value
654
+ end
655
+ end
656
+
657
+ if attributes.key?(:'upsell_item_id_javascript')
658
+ self.upsell_item_id_javascript = attributes[:'upsell_item_id_javascript']
659
+ end
660
+
661
+ if attributes.key?(:'upsell_item_ids')
662
+ if (value = attributes[:'upsell_item_ids']).is_a?(Array)
663
+ self.upsell_item_ids = value
664
+ end
665
+ end
666
+
133
667
  if attributes.key?(:'upsell_offer_oid')
134
668
  self.upsell_offer_oid = attributes[:'upsell_offer_oid']
135
669
  end
@@ -155,12 +689,67 @@ module UltracartClient
155
689
  self.class == o.class &&
156
690
  active == o.active &&
157
691
  active_overall == o.active_overall &&
692
+ add_accessory_item_ids == o.add_accessory_item_ids &&
693
+ adjust_trigger_item_option == o.adjust_trigger_item_option &&
694
+ allow_upsell_item_in_cart_already == o.allow_upsell_item_in_cart_already &&
695
+ arbitrary_unit_cost == o.arbitrary_unit_cost &&
696
+ arbitrary_unit_cost_friday == o.arbitrary_unit_cost_friday &&
697
+ arbitrary_unit_cost_monday == o.arbitrary_unit_cost_monday &&
698
+ arbitrary_unit_cost_saturday == o.arbitrary_unit_cost_saturday &&
699
+ arbitrary_unit_cost_sunday == o.arbitrary_unit_cost_sunday &&
700
+ arbitrary_unit_cost_thursday == o.arbitrary_unit_cost_thursday &&
701
+ arbitrary_unit_cost_tuesday == o.arbitrary_unit_cost_tuesday &&
702
+ arbitrary_unit_cost_wednesday == o.arbitrary_unit_cost_wednesday &&
158
703
  cjson_size == o.cjson_size &&
704
+ end_date == o.end_date &&
705
+ everflow_advertiser_event_id == o.everflow_advertiser_event_id &&
706
+ first_time_item == o.first_time_item &&
707
+ first_time_store == o.first_time_store &&
708
+ free_shipping == o.free_shipping &&
159
709
  has_container == o.has_container &&
710
+ has_everflow_configured == o.has_everflow_configured &&
711
+ has_loyalty_configured == o.has_loyalty_configured &&
712
+ has_towerdata_configured == o.has_towerdata_configured &&
713
+ hash_sha256 == o.hash_sha256 &&
714
+ item_logic_suppression == o.item_logic_suppression &&
715
+ item_logic_trigger == o.item_logic_trigger &&
716
+ lock_shipping == o.lock_shipping &&
717
+ max_quantity == o.max_quantity &&
718
+ migrate_accessory_item_ids_from == o.migrate_accessory_item_ids_from &&
719
+ migrate_accessory_item_ids_to == o.migrate_accessory_item_ids_to &&
160
720
  name == o.name &&
721
+ offsite_content_url == o.offsite_content_url &&
722
+ out_of_stock_upsell_item_ids == o.out_of_stock_upsell_item_ids &&
161
723
  path_name == o.path_name &&
724
+ record_as_regular_item == o.record_as_regular_item &&
725
+ referenced_by_path_oids == o.referenced_by_path_oids &&
726
+ removable_on_confirmation == o.removable_on_confirmation &&
727
+ remove_accessory_item_ids == o.remove_accessory_item_ids &&
728
+ remove_trigger_item == o.remove_trigger_item &&
729
+ skip_previous_customers == o.skip_previous_customers &&
730
+ start_date == o.start_date &&
731
+ stats == o.stats &&
162
732
  storefront_oid == o.storefront_oid &&
733
+ suppress_large == o.suppress_large &&
734
+ suppress_medium == o.suppress_medium &&
735
+ suppress_small == o.suppress_small &&
736
+ suppression_country_codes == o.suppression_country_codes &&
737
+ suppression_loyalty_tier_oids == o.suppression_loyalty_tier_oids &&
738
+ suppression_payment_methods == o.suppression_payment_methods &&
739
+ suppression_shipping_methods == o.suppression_shipping_methods &&
740
+ suppression_state_codes == o.suppression_state_codes &&
741
+ suppression_tags == o.suppression_tags &&
163
742
  test_only == o.test_only &&
743
+ trigger_ages == o.trigger_ages &&
744
+ trigger_country_codes == o.trigger_country_codes &&
745
+ trigger_genders == o.trigger_genders &&
746
+ trigger_loyalty_tier_oids == o.trigger_loyalty_tier_oids &&
747
+ trigger_payment_methods == o.trigger_payment_methods &&
748
+ trigger_shipping_methods == o.trigger_shipping_methods &&
749
+ trigger_state_codes == o.trigger_state_codes &&
750
+ trigger_tags == o.trigger_tags &&
751
+ upsell_item_id_javascript == o.upsell_item_id_javascript &&
752
+ upsell_item_ids == o.upsell_item_ids &&
164
753
  upsell_offer_oid == o.upsell_offer_oid
165
754
  end
166
755
 
@@ -173,7 +762,7 @@ module UltracartClient
173
762
  # Calculates hash code according to all attributes.
174
763
  # @return [Integer] Hash code
175
764
  def hash
176
- [active, active_overall, cjson_size, has_container, name, path_name, storefront_oid, test_only, upsell_offer_oid].hash
765
+ [active, active_overall, add_accessory_item_ids, adjust_trigger_item_option, allow_upsell_item_in_cart_already, arbitrary_unit_cost, arbitrary_unit_cost_friday, arbitrary_unit_cost_monday, arbitrary_unit_cost_saturday, arbitrary_unit_cost_sunday, arbitrary_unit_cost_thursday, arbitrary_unit_cost_tuesday, arbitrary_unit_cost_wednesday, cjson_size, end_date, everflow_advertiser_event_id, first_time_item, first_time_store, free_shipping, has_container, has_everflow_configured, has_loyalty_configured, has_towerdata_configured, hash_sha256, item_logic_suppression, item_logic_trigger, lock_shipping, max_quantity, migrate_accessory_item_ids_from, migrate_accessory_item_ids_to, name, offsite_content_url, out_of_stock_upsell_item_ids, path_name, record_as_regular_item, referenced_by_path_oids, removable_on_confirmation, remove_accessory_item_ids, remove_trigger_item, skip_previous_customers, start_date, stats, storefront_oid, suppress_large, suppress_medium, suppress_small, suppression_country_codes, suppression_loyalty_tier_oids, suppression_payment_methods, suppression_shipping_methods, suppression_state_codes, suppression_tags, test_only, trigger_ages, trigger_country_codes, trigger_genders, trigger_loyalty_tier_oids, trigger_payment_methods, trigger_shipping_methods, trigger_state_codes, trigger_tags, upsell_item_id_javascript, upsell_item_ids, upsell_offer_oid].hash
177
766
  end
178
767
 
179
768
  # Builds the object from hash