seatsio 27.0.0 → 30.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 387ed52306c0b323ea46c428338e2b710769bf1aad466f846c45c098181fa6c6
4
- data.tar.gz: 481627a92f34480ad8eaff3b50df48c49a375e187917e433792a226d96608381
3
+ metadata.gz: a3dedaf74a523ec34c4a74d3fe236d17729f1d5fce9fe83402d0c914b88cf447
4
+ data.tar.gz: b86d95b5662101c9a3953c1e796f5201a8a642488ae8398eaf8e6020e51bdc9b
5
5
  SHA512:
6
- metadata.gz: 6a686de47074aa17d326a3f88b92221d15148484293bba3443f0203fb883f3cc29a5b0279a3482a6a4cad69df38350ff38a0de06ffa8d9ff084767ee2e404b3a
7
- data.tar.gz: d113f54e14e58123928483ac2b40b34750edeb613fbc1cdff941cccfa4ffafabff84d1e77d7b54bb94418583969c465bde5fa3b625f1805699443037a226f2cc
6
+ metadata.gz: 3dd416d18180a5f23aedd1338778305856314db2fabdd4907a6096034b119d0cc4a1d9dcfdf602022b0da732a2d1471f05a6eea1e8252d0905a40072e7cf45d2
7
+ data.tar.gz: b050b92763837ceb9cd34975dc88ecc577e3bf114840eba05764df28983b64453b2b83c87c774ad033340d30ec2d40f1c95c03b026d9a91385d75aa9479b410a
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seatsio (27.0.0)
4
+ seatsio (30.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -22,10 +22,19 @@ module Seatsio
22
22
  @archived = data['archived']
23
23
  @validation = data['validation']
24
24
  @social_distancing_rulesets = data['socialDistancingRulesets'].map {
25
- |key, r| [key, SocialDistancingRuleset.new(r['name'], r['numberOfDisabledSeatsToTheSides'], r['disableSeatsInFrontAndBehind'],
26
- r['numberOfDisabledAisleSeats'], r['maxGroupSize'],
27
- r['maxOccupancyAbsolute'], r['maxOccupancyPercentage'], r['oneGroupPerTable'], r['fixedGroupLayout'],
28
- r['disabledSeats'], r['enabledSeats'], r['index'])]
25
+ |key, r| [key, SocialDistancingRuleset.new(r['name'],
26
+ number_of_disabled_seats_to_the_sides: r['numberOfDisabledSeatsToTheSides'],
27
+ disable_seats_in_front_and_behind: r['disableSeatsInFrontAndBehind'],
28
+ disable_diagonal_seats_in_front_and_behind: r['disableDiagonalSeatsInFrontAndBehind'],
29
+ number_of_disabled_aisle_seats: r['numberOfDisabledAisleSeats'],
30
+ max_group_size: r['maxGroupSize'],
31
+ max_occupancy_absolute: r['maxOccupancyAbsolute'],
32
+ max_occupancy_percentage: r['maxOccupancyPercentage'],
33
+ one_group_per_table: r['oneGroupPerTable'],
34
+ fixed_group_layout: r['fixedGroupLayout'],
35
+ disabled_seats: r['disabledSeats'],
36
+ enabled_seats: r['enabledSeats'],
37
+ index: r['index'])]
29
38
  }.to_h
30
39
  end
31
40
  end
@@ -374,23 +383,14 @@ module Seatsio
374
383
 
375
384
  class UsageDetails
376
385
 
377
- attr_reader :subaccount
386
+ attr_reader :workspace, :usage_by_chart
378
387
 
379
388
  def initialize(data)
380
- @subaccount = data['subaccount'] ? UsageSubaccount.new(data['subaccount']) : nil
389
+ @workspace = data['workspace']
381
390
  @usage_by_chart = data['usageByChart'].map { |usage| UsageByChart.new(usage) }
382
391
  end
383
392
  end
384
393
 
385
- class UsageSubaccount
386
-
387
- attr_reader :id
388
-
389
- def initialize(data)
390
- @id = data['id']
391
- end
392
- end
393
-
394
394
  class UsageByChart
395
395
 
396
396
  attr_reader :chart, :usage_by_event
@@ -506,15 +506,16 @@ module Seatsio
506
506
 
507
507
  class SocialDistancingRuleset
508
508
  attr_reader :name, :number_of_disabled_seats_to_the_sides, :disable_seats_in_front_and_behind,
509
- :number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute,
509
+ :disable_diagonal_seats_in_front_and_behind, :number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute,
510
510
  :max_occupancy_percentage, :one_group_per_table, :fixed_group_layout, :disabled_seats, :enabled_seats, :index
511
511
 
512
- def initialize(name, number_of_disabled_seats_to_the_sides = 0, disable_seats_in_front_and_behind = false, number_of_disabled_aisle_seats = 0,
513
- max_group_size = 0, max_occupancy_absolute = 0, max_occupancy_percentage = 0, one_group_per_table = false,
514
- fixed_group_layout = false, disabled_seats = [], enabled_seats = [], index = 0)
512
+ def initialize(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false,
513
+ number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false,
514
+ fixed_group_layout: false, disabled_seats: [], enabled_seats: [], index: 0)
515
515
  @name = name
516
516
  @number_of_disabled_seats_to_the_sides = number_of_disabled_seats_to_the_sides
517
517
  @disable_seats_in_front_and_behind = disable_seats_in_front_and_behind
518
+ @disable_diagonal_seats_in_front_and_behind = disable_diagonal_seats_in_front_and_behind
518
519
  @number_of_disabled_aisle_seats = number_of_disabled_aisle_seats
519
520
  @max_group_size = max_group_size
520
521
  @max_occupancy_absolute = max_occupancy_absolute
@@ -526,22 +527,33 @@ module Seatsio
526
527
  @index = index
527
528
  end
528
529
 
529
- def self.fixed(name, disabled_seats = [], index = 0)
530
- SocialDistancingRuleset.new(name, 0, false, 0, 0, 0, 0, false, true, disabled_seats, [], index)
530
+ def self.fixed(name, disabled_seats: [], index: 0)
531
+ return SocialDistancingRuleset.new(name, index: index, disabled_seats: disabled_seats, fixed_group_layout: true)
531
532
  end
532
533
 
533
- def self.rule_based(name, number_of_disabled_seats_to_the_sides = 0, disable_seats_in_front_and_behind = false, number_of_disabled_aisle_seats = 0,
534
- max_group_size = 0, max_occupancy_absolute = 0, max_occupancy_percentage = 0, one_group_per_table = false,
535
- disabled_seats = [], enabled_seats = [], index = 0)
536
- SocialDistancingRuleset.new(name, number_of_disabled_seats_to_the_sides, disable_seats_in_front_and_behind, number_of_disabled_aisle_seats,
537
- max_group_size, max_occupancy_absolute, max_occupancy_percentage,
538
- one_group_per_table, false, disabled_seats, enabled_seats, index)
534
+ def self.rule_based(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false,
535
+ number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false,
536
+ disabled_seats: [], enabled_seats: [], index: 0)
537
+ return SocialDistancingRuleset.new(name,
538
+ number_of_disabled_seats_to_the_sides: number_of_disabled_seats_to_the_sides,
539
+ disable_seats_in_front_and_behind: disable_seats_in_front_and_behind,
540
+ disable_diagonal_seats_in_front_and_behind: disable_diagonal_seats_in_front_and_behind,
541
+ number_of_disabled_aisle_seats: number_of_disabled_aisle_seats,
542
+ max_group_size: max_group_size,
543
+ max_occupancy_absolute: max_occupancy_absolute,
544
+ max_occupancy_percentage: max_occupancy_percentage,
545
+ one_group_per_table: one_group_per_table,
546
+ fixed_group_layout: false,
547
+ disabled_seats: disabled_seats,
548
+ enabled_seats: enabled_seats,
549
+ index: index)
539
550
  end
540
551
 
541
552
  def == (other)
542
553
  self.name == other.name &&
543
554
  self.number_of_disabled_seats_to_the_sides == other.number_of_disabled_seats_to_the_sides &&
544
555
  self.disable_seats_in_front_and_behind == other.disable_seats_in_front_and_behind &&
556
+ self.disable_diagonal_seats_in_front_and_behind == other.disable_diagonal_seats_in_front_and_behind &&
545
557
  self.number_of_disabled_aisle_seats == other.number_of_disabled_aisle_seats &&
546
558
  self.max_group_size == other.max_group_size &&
547
559
  self.max_occupancy_absolute == other.max_occupancy_absolute &&
@@ -15,26 +15,50 @@ module Seatsio
15
15
  fetch_summary_report('byStatus', event_key)
16
16
  end
17
17
 
18
+ def deep_summary_by_status(event_key)
19
+ fetch_deep_summary_report('byStatus', event_key)
20
+ end
21
+
18
22
  def summary_by_category_key(event_key)
19
23
  fetch_summary_report('byCategoryKey', event_key)
20
24
  end
21
25
 
26
+ def deep_summary_by_category_key(event_key)
27
+ fetch_deep_summary_report('byCategoryKey', event_key)
28
+ end
29
+
22
30
  def summary_by_category_label(event_key)
23
31
  fetch_summary_report('byCategoryLabel', event_key)
24
32
  end
25
33
 
34
+ def deep_summary_by_category_label(event_key)
35
+ fetch_deep_summary_report('byCategoryLabel', event_key)
36
+ end
37
+
26
38
  def summary_by_section(event_key)
27
39
  fetch_summary_report('bySection', event_key)
28
40
  end
29
41
 
42
+ def deep_summary_by_section(event_key)
43
+ fetch_deep_summary_report('bySection', event_key)
44
+ end
45
+
30
46
  def summary_by_selectability(event_key)
31
47
  fetch_summary_report('bySelectability', event_key)
32
48
  end
33
49
 
50
+ def deep_summary_by_selectability(event_key)
51
+ fetch_deep_summary_report('bySelectability', event_key)
52
+ end
53
+
34
54
  def summary_by_channel(event_key)
35
55
  fetch_summary_report('byChannel', event_key)
36
56
  end
37
57
 
58
+ def deep_summary_by_channel(event_key)
59
+ fetch_deep_summary_report('byChannel', event_key)
60
+ end
61
+
38
62
  def by_label(event_key, label = nil)
39
63
  fetch_report('byLabel', event_key, label)
40
64
  end
@@ -74,6 +98,11 @@ module Seatsio
74
98
  @http_client.get(url)
75
99
  end
76
100
 
101
+ def fetch_deep_summary_report(report_type, event_key)
102
+ url = "reports/events/#{event_key}/#{report_type}/summary/deep"
103
+ @http_client.get(url)
104
+ end
105
+
77
106
  def fetch_report(report_type, event_key, report_filter = nil)
78
107
  if report_filter
79
108
  url = "reports/events/#{event_key}/#{report_type}/#{report_filter}"
@@ -49,12 +49,12 @@ module Seatsio
49
49
  ObjectStatus.new(response)
50
50
  end
51
51
 
52
- def book(event_key_or_keys, object_or_objects, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
53
- self.change_object_status(event_key_or_keys, object_or_objects, ObjectStatus::BOOKED, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys)
52
+ def book(event_key_or_keys, object_or_objects, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
53
+ self.change_object_status(event_key_or_keys, object_or_objects, ObjectStatus::BOOKED, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys, ignore_social_distancing: ignore_social_distancing)
54
54
  end
55
55
 
56
- def change_object_status(event_key_or_keys, object_or_objects, status, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
57
- request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys)
56
+ def change_object_status(event_key_or_keys, object_or_objects, status, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
57
+ request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys, ignore_social_distancing)
58
58
  request[:params] = {
59
59
  :expand => 'objects'
60
60
  }
@@ -71,8 +71,8 @@ module Seatsio
71
71
  ChangeObjectStatusInBatchResult.new(response).results
72
72
  end
73
73
 
74
- def hold(event_key_or_keys, object_or_objects, hold_token, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
75
- change_object_status(event_key_or_keys, object_or_objects, ObjectStatus::HELD, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys)
74
+ def hold(event_key_or_keys, object_or_objects, hold_token, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
75
+ change_object_status(event_key_or_keys, object_or_objects, ObjectStatus::HELD, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys, ignore_social_distancing: ignore_social_distancing)
76
76
  end
77
77
 
78
78
  def change_best_available_object_status(key, number, status, categories: nil, hold_token: nil, extra_data: nil, ticket_types: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
@@ -97,7 +97,6 @@ module Seatsio
97
97
  @http_client.delete("/events/#{key}")
98
98
  end
99
99
 
100
-
101
100
  def retrieve(key:)
102
101
  response = @http_client.get("events/#{key}")
103
102
  Event.new(response)
@@ -1,4 +1,4 @@
1
- def create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys)
1
+ def create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys, ignore_social_distancing)
2
2
  result = {}
3
3
  result[:objects] = normalize(object_or_objects)
4
4
  result[:status] = status
@@ -12,6 +12,7 @@ def create_change_object_status_request(object_or_objects, status, hold_token, o
12
12
  result[:keepExtraData] = keep_extra_data if keep_extra_data != nil
13
13
  result[:ignoreChannels] = ignore_channels if ignore_channels != nil
14
14
  result[:channelKeys] = channel_keys if channel_keys != nil
15
+ result[:ignoreSocialDistancing] = ignore_social_distancing if ignore_social_distancing != nil
15
16
  result
16
17
  end
17
18
 
@@ -1,3 +1,3 @@
1
1
  module Seatsio
2
- VERSION = "27.0.0"
2
+ VERSION = "30.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seatsio
3
3
  version: !ruby/object:Gem::Version
4
- version: 27.0.0
4
+ version: 30.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seats.io
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-03 00:00:00.000000000 Z
11
+ date: 2020-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler