Class: Seatsio::EventReportsClient

Inherits:
Object
  • Object
show all
Defined in:
lib/seatsio/event_reports.rb

Overview

Client for fetching event reports

Instance Method Summary collapse

Constructor Details

#initialize(http_client, season_bookings_propagated: true) ⇒ EventReportsClient

Returns a new instance of EventReportsClient.



10
11
12
13
# File 'lib/seatsio/event_reports.rb', line 10

def initialize(http_client, season_bookings_propagated: true)
  @http_client = http_client
  @season_bookings_propagated = season_bookings_propagated
end

Instance Method Details

#by_availability(event_key, availability = nil) ⇒ Object



91
92
93
# File 'lib/seatsio/event_reports.rb', line 91

def by_availability(event_key, availability = nil)
  fetch_report('byAvailability', event_key, availability)
end

#by_availability_reason(event_key, availability_reason = nil) ⇒ Object



103
104
105
# File 'lib/seatsio/event_reports.rb', line 103

def by_availability_reason(event_key, availability_reason = nil)
  fetch_report('byAvailabilityReason', event_key, availability_reason)
end

#by_category_key(event_key, category_key = nil) ⇒ Object



43
44
45
# File 'lib/seatsio/event_reports.rb', line 43

def by_category_key(event_key, category_key = nil)
  fetch_report('byCategoryKey', event_key, category_key)
end

#by_category_label(event_key, category_label = nil) ⇒ Object



55
56
57
# File 'lib/seatsio/event_reports.rb', line 55

def by_category_label(event_key, category_label = nil)
  fetch_report('byCategoryLabel', event_key, category_label)
end

#by_channel(event_key, channelKey = nil) ⇒ Object



115
116
117
# File 'lib/seatsio/event_reports.rb', line 115

def by_channel(event_key, channelKey = nil)
  fetch_report('byChannel', event_key, channelKey)
end

#by_label(event_key, label = nil) ⇒ Object



127
128
129
# File 'lib/seatsio/event_reports.rb', line 127

def by_label(event_key, label = nil)
  fetch_report('byLabel', event_key, label)
end

#by_object_type(event_key, object_type = nil) ⇒ Object



31
32
33
# File 'lib/seatsio/event_reports.rb', line 31

def by_object_type(event_key, object_type = nil)
  fetch_report('byObjectType', event_key, object_type)
end

#by_order_id(event_key, order_id = nil) ⇒ Object



131
132
133
# File 'lib/seatsio/event_reports.rb', line 131

def by_order_id(event_key, order_id = nil)
  fetch_report('byOrderId', event_key, order_id)
end

#by_section(event_key, section = nil) ⇒ Object



67
68
69
# File 'lib/seatsio/event_reports.rb', line 67

def by_section(event_key, section = nil)
  fetch_report('bySection', event_key, section)
end

#by_status(event_key, status = nil) ⇒ Object



19
20
21
# File 'lib/seatsio/event_reports.rb', line 19

def by_status(event_key, status = nil)
  fetch_report('byStatus', event_key, status)
end

#by_zone(event_key, zone = nil) ⇒ Object



79
80
81
# File 'lib/seatsio/event_reports.rb', line 79

def by_zone(event_key, zone = nil)
  fetch_report('byZone', event_key, zone)
end

#deep_summary_by_availability(event_key) ⇒ Object



99
100
101
# File 'lib/seatsio/event_reports.rb', line 99

def deep_summary_by_availability(event_key)
  fetch_deep_summary_report('byAvailability', event_key)
end

#deep_summary_by_availability_reason(event_key) ⇒ Object



111
112
113
# File 'lib/seatsio/event_reports.rb', line 111

def deep_summary_by_availability_reason(event_key)
  fetch_deep_summary_report('byAvailabilityReason', event_key)
end

#deep_summary_by_category_key(event_key) ⇒ Object



51
52
53
# File 'lib/seatsio/event_reports.rb', line 51

def deep_summary_by_category_key(event_key)
  fetch_deep_summary_report('byCategoryKey', event_key)
end

#deep_summary_by_category_label(event_key) ⇒ Object



63
64
65
# File 'lib/seatsio/event_reports.rb', line 63

def deep_summary_by_category_label(event_key)
  fetch_deep_summary_report('byCategoryLabel', event_key)
end

#deep_summary_by_channel(event_key) ⇒ Object



123
124
125
# File 'lib/seatsio/event_reports.rb', line 123

def deep_summary_by_channel(event_key)
  fetch_deep_summary_report('byChannel', event_key)
end

#deep_summary_by_object_type(event_key) ⇒ Object



39
40
41
# File 'lib/seatsio/event_reports.rb', line 39

def deep_summary_by_object_type(event_key)
  fetch_deep_summary_report('byObjectType', event_key)
end

#deep_summary_by_section(event_key) ⇒ Object



75
76
77
# File 'lib/seatsio/event_reports.rb', line 75

def deep_summary_by_section(event_key)
  fetch_deep_summary_report('bySection', event_key)
end

#deep_summary_by_status(event_key) ⇒ Object



27
28
29
# File 'lib/seatsio/event_reports.rb', line 27

def deep_summary_by_status(event_key)
  fetch_deep_summary_report('byStatus', event_key)
end

#deep_summary_by_zone(event_key) ⇒ Object



87
88
89
# File 'lib/seatsio/event_reports.rb', line 87

def deep_summary_by_zone(event_key)
  fetch_deep_summary_report('byZone', event_key)
end

#flat_list(event_key) ⇒ Object



135
136
137
138
139
# File 'lib/seatsio/event_reports.rb', line 135

def flat_list(event_key)
  url = "reports/events/#{event_key}"
  body = @http_client.get(url, query_params)
  body.map { |item| EventObjectInfo.new(item) }
end

#flat_list_csv(event_key) ⇒ Object



141
142
143
144
# File 'lib/seatsio/event_reports.rb', line 141

def flat_list_csv(event_key)
  url = "reports/events/#{event_key}.csv"
  @http_client.get_raw(url, query_params)
end

#summary_by_availability(event_key) ⇒ Object



95
96
97
# File 'lib/seatsio/event_reports.rb', line 95

def summary_by_availability(event_key)
  fetch_summary_report('byAvailability', event_key)
end

#summary_by_availability_reason(event_key) ⇒ Object



107
108
109
# File 'lib/seatsio/event_reports.rb', line 107

def summary_by_availability_reason(event_key)
  fetch_summary_report('byAvailabilityReason', event_key)
end

#summary_by_category_key(event_key) ⇒ Object



47
48
49
# File 'lib/seatsio/event_reports.rb', line 47

def summary_by_category_key(event_key)
  fetch_summary_report('byCategoryKey', event_key)
end

#summary_by_category_label(event_key) ⇒ Object



59
60
61
# File 'lib/seatsio/event_reports.rb', line 59

def summary_by_category_label(event_key)
  fetch_summary_report('byCategoryLabel', event_key)
end

#summary_by_channel(event_key) ⇒ Object



119
120
121
# File 'lib/seatsio/event_reports.rb', line 119

def summary_by_channel(event_key)
  fetch_summary_report('byChannel', event_key)
end

#summary_by_object_type(event_key) ⇒ Object



35
36
37
# File 'lib/seatsio/event_reports.rb', line 35

def summary_by_object_type(event_key)
  fetch_summary_report('byObjectType', event_key)
end

#summary_by_section(event_key) ⇒ Object



71
72
73
# File 'lib/seatsio/event_reports.rb', line 71

def summary_by_section(event_key)
  fetch_summary_report('bySection', event_key)
end

#summary_by_status(event_key) ⇒ Object



23
24
25
# File 'lib/seatsio/event_reports.rb', line 23

def summary_by_status(event_key)
  fetch_summary_report('byStatus', event_key)
end

#summary_by_zone(event_key) ⇒ Object



83
84
85
# File 'lib/seatsio/event_reports.rb', line 83

def summary_by_zone(event_key)
  fetch_summary_report('byZone', event_key)
end

#with_season_bookings_not_propagatedObject



15
16
17
# File 'lib/seatsio/event_reports.rb', line 15

def with_season_bookings_not_propagated
  EventReportsClient.new(@http_client, season_bookings_propagated: false)
end