seatsio 27.0.0 → 30.0.0

Sign up to get free protection for your applications and to get access to all the features.
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