booker_ruby 3.3.11 → 3.3.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/booker/client.rb +3 -3
- data/lib/booker/model.rb +6 -0
- data/lib/booker/v4.1/customer.rb +30 -1
- data/lib/booker/v4.1/merchant.rb +4 -0
- data/lib/booker/v4/models/available_in_advance_date_unit_type.rb +7 -0
- data/lib/booker/v4/models/deposit_option.rb +9 -0
- data/lib/booker/v4/models/duration_type.rb +7 -0
- data/lib/booker/v4/models/employee_treatment.rb +14 -0
- data/lib/booker/v4/models/flexible_price_increment_type.rb +7 -0
- data/lib/booker/v4/models/price_range.rb +12 -0
- data/lib/booker/v4/models/price_range_scope.rb +10 -0
- data/lib/booker/v4/models/special.rb +46 -0
- data/lib/booker/v4/models/treatment_verified_bookable_online.rb +39 -0
- data/lib/booker/version.rb +1 -1
- data/lib/booker_ruby.rb +26 -17
- metadata +16 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04e10c43a13220bb217e1c46dfdc00ef8a3d92b86017e0202f1bdf69093917ed
|
4
|
+
data.tar.gz: 449c88b376debb738919c7a578fa371895b3eb86937305ca55a0c8491566d156
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7abd012ead3a462a34237958a4b688839c89a813d61b844a8bcbd915f2ae2d1fa8486ec1844b52e7b606ecdb74b97bdc571e8489eb674cee499820a4e2d71448
|
7
|
+
data.tar.gz: b07a9cf45f3a9f779d42377864b9b3865354a7ccaa5453a891a308b246f7637a9629b0b56c3b7bd1b016b0756526e68aaf56c70661fda7776c7d48f58b865da3
|
data/lib/booker/client.rb
CHANGED
@@ -313,10 +313,10 @@ module Booker
|
|
313
313
|
return parsed_response['Results'] unless parsed_response['Results'].nil?
|
314
314
|
|
315
315
|
if booker_model
|
316
|
-
|
317
|
-
return parsed_response[
|
316
|
+
response_results_key = booker_model.response_results_key
|
317
|
+
return parsed_response[response_results_key] unless parsed_response[response_results_key].nil?
|
318
318
|
|
319
|
-
pluralized =
|
319
|
+
pluralized = response_results_key.pluralize
|
320
320
|
return parsed_response[pluralized] unless parsed_response[pluralized].nil?
|
321
321
|
end
|
322
322
|
|
data/lib/booker/model.rb
CHANGED
data/lib/booker/v4.1/customer.rb
CHANGED
@@ -11,10 +11,13 @@ module Booker
|
|
11
11
|
create_appointment: "#{V41_APPOINTMENTS_PREFIX}/create".freeze,
|
12
12
|
create_class_appointment: "#{V41_PREFIX}/class_appointment/create".freeze,
|
13
13
|
employees: "#{V41_PREFIX}/employees".freeze,
|
14
|
+
treatment: "#{V41_PREFIX}/treatment".freeze,
|
14
15
|
treatments: "#{V41_PREFIX}/treatments".freeze,
|
16
|
+
treatments_verified_bookable_online: "#{V41_PREFIX}/treatments/online".freeze,
|
15
17
|
location: "#{V41_PREFIX}/location".freeze,
|
16
18
|
locations: "#{V41_PREFIX}/locations".freeze,
|
17
|
-
class_availability: "#{V41_PREFIX}/availability/class".freeze
|
19
|
+
class_availability: "#{V41_PREFIX}/availability/class".freeze,
|
20
|
+
specials: "#{V41_PREFIX}/specials".freeze
|
18
21
|
}.freeze
|
19
22
|
|
20
23
|
def appointment(id:)
|
@@ -53,6 +56,12 @@ module Booker
|
|
53
56
|
)
|
54
57
|
end
|
55
58
|
|
59
|
+
def treatment(id:, includeEmployeeTreatment: false)
|
60
|
+
get "#{API_METHODS[:treatment]}/#{id}", build_params({
|
61
|
+
includeEmployeeTreatment: includeEmployeeTreatment
|
62
|
+
}), Booker::V4::Models::TreatmentVerifiedBookableOnline
|
63
|
+
end
|
64
|
+
|
56
65
|
def treatments(location_id:, fetch_all: true, params: {})
|
57
66
|
paginated_request(
|
58
67
|
method: :post,
|
@@ -63,6 +72,26 @@ module Booker
|
|
63
72
|
)
|
64
73
|
end
|
65
74
|
|
75
|
+
def treatments_verified_bookable_online(location_id:, fetch_all: true, params: {})
|
76
|
+
paginated_request(
|
77
|
+
method: :post,
|
78
|
+
path: API_METHODS[:treatments_verified_bookable_online],
|
79
|
+
params: build_params({LocationID: location_id}, params, true),
|
80
|
+
model: Booker::V4::Models::TreatmentVerifiedBookableOnline,
|
81
|
+
fetch_all: fetch_all
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
85
|
+
def specials(location_id:, fetch_all: true, params: {})
|
86
|
+
paginated_request(
|
87
|
+
method: :post,
|
88
|
+
path: API_METHODS[:specials],
|
89
|
+
params: build_params({ LocationID: location_id }, params, true),
|
90
|
+
model: Booker::V4::Models::Special,
|
91
|
+
fetch_all: fetch_all
|
92
|
+
)
|
93
|
+
end
|
94
|
+
|
66
95
|
def location(id:)
|
67
96
|
response = get("#{API_METHODS[:location]}/#{id}", build_params)
|
68
97
|
Booker::V4::Models::Location.from_hash(response)
|
data/lib/booker/v4.1/merchant.rb
CHANGED
@@ -62,6 +62,10 @@ module Booker
|
|
62
62
|
)
|
63
63
|
end
|
64
64
|
|
65
|
+
def employee(id:, params: {}, model: Booker::V4::Models::Employee)
|
66
|
+
get("#{V41_PREFIX}/employee/#{id}", build_params({}, params), model)
|
67
|
+
end
|
68
|
+
|
65
69
|
def employees(location_id:, fetch_all: true, params: {})
|
66
70
|
paginated_request(
|
67
71
|
method: :post,
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Booker
|
2
|
+
module V4
|
3
|
+
module Models
|
4
|
+
class Special < Model
|
5
|
+
attr_accessor 'ID',
|
6
|
+
'LocationID',
|
7
|
+
'Name',
|
8
|
+
'Description',
|
9
|
+
'CouponCode',
|
10
|
+
'Type',
|
11
|
+
'ShortUrl',
|
12
|
+
'ApplicableStartDate',
|
13
|
+
'ApplicableEndDate',
|
14
|
+
'BookingStartDate',
|
15
|
+
'BookingEndDate',
|
16
|
+
'MaxRedemptions',
|
17
|
+
'TimeOfDayStart',
|
18
|
+
'TimeOfDayEnd',
|
19
|
+
'HasTreatment',
|
20
|
+
'WeekDays',
|
21
|
+
'UsePriceRanges',
|
22
|
+
'PriceRanges',
|
23
|
+
'DiscountType',
|
24
|
+
'AdjustmentType',
|
25
|
+
'DiscountAmount',
|
26
|
+
'CanCustomerDirectBook',
|
27
|
+
'HideOnInvoicesAndReceipts',
|
28
|
+
'PhotoUrl',
|
29
|
+
'UsedRedemptions',
|
30
|
+
'AvailableRedemptions',
|
31
|
+
'HasFreeItems',
|
32
|
+
'PriceRangeScope',
|
33
|
+
'ApplicationItemIDs',
|
34
|
+
'IsExclusiveWithAll',
|
35
|
+
'IsExclusiveWithAny',
|
36
|
+
'CombinationRules',
|
37
|
+
'ApplicableStartDateOffset',
|
38
|
+
'ApplicableEndDateOffset',
|
39
|
+
'BookingStartDateOffset',
|
40
|
+
'BookingEndDateOffset',
|
41
|
+
'TimeOfDayStartOffset',
|
42
|
+
'TimeOfDayEndOffset'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Booker
|
2
|
+
module V4
|
3
|
+
module Models
|
4
|
+
class TreatmentVerifiedBookableOnline < Model
|
5
|
+
attr_accessor 'ID',
|
6
|
+
'AllowCustomersToBookOnline',
|
7
|
+
'AvailableInAdvance',
|
8
|
+
'AvailableInAdvanceDateUnitType',
|
9
|
+
'Category',
|
10
|
+
'ColorCode',
|
11
|
+
'DateCreatedOffset',
|
12
|
+
'DateLastModifiedOffset',
|
13
|
+
'DepositOptions',
|
14
|
+
'Description',
|
15
|
+
'DisplayName',
|
16
|
+
'DoesNotRequireStaff',
|
17
|
+
'DurationType',
|
18
|
+
'EmployeeTreatments',
|
19
|
+
'ImageURL',
|
20
|
+
'IsActive',
|
21
|
+
'IsClass',
|
22
|
+
'IsDeleted',
|
23
|
+
'IsForCouples',
|
24
|
+
'MaxTreatmentDuration',
|
25
|
+
'MinTreatmentDuration',
|
26
|
+
'Name',
|
27
|
+
'Price',
|
28
|
+
'RequiresTwoTechnicians',
|
29
|
+
'SubCategory',
|
30
|
+
'TotalDuration',
|
31
|
+
'TreatmentDuration'
|
32
|
+
|
33
|
+
def self.response_results_key
|
34
|
+
'Treatment'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/booker/version.rb
CHANGED
data/lib/booker_ruby.rb
CHANGED
@@ -19,6 +19,7 @@ require 'booker/errors'
|
|
19
19
|
# Concerns
|
20
20
|
require 'booker/concerns/date_time_concern'
|
21
21
|
require 'booker/request_helper'
|
22
|
+
require 'booker/v4/request_helper'
|
22
23
|
|
23
24
|
# Models
|
24
25
|
require 'booker/model'
|
@@ -27,18 +28,20 @@ require 'booker/model'
|
|
27
28
|
require 'booker/v4/models/model'
|
28
29
|
|
29
30
|
# Types
|
30
|
-
require 'booker/v4/request_helper'
|
31
31
|
require 'booker/v4/models/type'
|
32
|
-
require 'booker/v4/models/
|
33
|
-
require 'booker/v4/models/status'
|
34
|
-
require 'booker/v4/models/source'
|
32
|
+
require 'booker/v4/models/available_in_advance_date_unit_type'
|
35
33
|
require 'booker/v4/models/business_type'
|
36
34
|
require 'booker/v4/models/category'
|
37
|
-
require 'booker/v4/models/
|
35
|
+
require 'booker/v4/models/country'
|
38
36
|
require 'booker/v4/models/customer_record_type'
|
37
|
+
require 'booker/v4/models/duration_type'
|
38
|
+
require 'booker/v4/models/flexible_price_increment_type'
|
39
39
|
require 'booker/v4/models/gender'
|
40
|
-
require 'booker/v4/models/preferred_staff_gender'
|
41
40
|
require 'booker/v4/models/payment_method'
|
41
|
+
require 'booker/v4/models/preferred_staff_gender'
|
42
|
+
require 'booker/v4/models/source'
|
43
|
+
require 'booker/v4/models/status'
|
44
|
+
require 'booker/v4/models/sub_category'
|
42
45
|
|
43
46
|
# Addresses
|
44
47
|
require 'booker/v4/models/address'
|
@@ -70,22 +73,28 @@ require 'booker/v4/models/teacher_2'
|
|
70
73
|
require 'booker/v4/models/time_zone'
|
71
74
|
require 'booker/v4/models/appointment'
|
72
75
|
require 'booker/v4/models/appointment_treatment'
|
73
|
-
require 'booker/v4/models/dynamic_price'
|
74
|
-
require 'booker/v4/models/room'
|
75
|
-
require 'booker/v4/models/order'
|
76
|
-
require 'booker/v4/models/treatment'
|
77
|
-
require 'booker/v4/models/spa_employee_availability_search_item'
|
78
76
|
require 'booker/v4/models/available_time'
|
79
77
|
require 'booker/v4/models/class_instance'
|
80
|
-
require 'booker/v4/models/
|
81
|
-
require 'booker/v4/models/
|
82
|
-
require 'booker/v4/models/
|
83
|
-
require 'booker/v4/models/
|
78
|
+
require 'booker/v4/models/deposit_option'
|
79
|
+
require 'booker/v4/models/dynamic_price'
|
80
|
+
require 'booker/v4/models/employee_treatment'
|
81
|
+
require 'booker/v4/models/feature_settings'
|
84
82
|
require 'booker/v4/models/itinerary_time_slot'
|
85
|
-
require 'booker/v4/models/
|
83
|
+
require 'booker/v4/models/itinerary_time_slots_list'
|
84
|
+
require 'booker/v4/models/location_day_schedule'
|
86
85
|
require 'booker/v4/models/multi_service_availability_result'
|
87
86
|
require 'booker/v4/models/notification_settings'
|
88
|
-
require 'booker/v4/models/
|
87
|
+
require 'booker/v4/models/online_booking_settings'
|
88
|
+
require 'booker/v4/models/order'
|
89
|
+
require 'booker/v4/models/room'
|
90
|
+
require 'booker/v4/models/spa_employee_availability_search_item'
|
91
|
+
require 'booker/v4/models/treatment'
|
92
|
+
require 'booker/v4/models/treatment_time_slot'
|
93
|
+
require 'booker/v4/models/treatment_verified_bookable_online'
|
94
|
+
require 'booker/v4/models/user'
|
95
|
+
require 'booker/v4/models/special'
|
96
|
+
require 'booker/v4/models/price_range'
|
97
|
+
require 'booker/v4/models/price_range_scope'
|
89
98
|
|
90
99
|
# V5 Models
|
91
100
|
require 'booker/v5/models/model'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: booker_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frederick
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.0.2
|
139
|
-
description:
|
139
|
+
description:
|
140
140
|
email:
|
141
141
|
- tech@hirefrederick.com
|
142
142
|
executables: []
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- lib/booker/v4/models/address.rb
|
164
164
|
- lib/booker/v4/models/appointment.rb
|
165
165
|
- lib/booker/v4/models/appointment_treatment.rb
|
166
|
+
- lib/booker/v4/models/available_in_advance_date_unit_type.rb
|
166
167
|
- lib/booker/v4/models/available_time.rb
|
167
168
|
- lib/booker/v4/models/business_type.rb
|
168
169
|
- lib/booker/v4/models/category.rb
|
@@ -172,11 +173,15 @@ files:
|
|
172
173
|
- lib/booker/v4/models/customer.rb
|
173
174
|
- lib/booker/v4/models/customer_2.rb
|
174
175
|
- lib/booker/v4/models/customer_record_type.rb
|
176
|
+
- lib/booker/v4/models/deposit_option.rb
|
175
177
|
- lib/booker/v4/models/discount.rb
|
178
|
+
- lib/booker/v4/models/duration_type.rb
|
176
179
|
- lib/booker/v4/models/dynamic_price.rb
|
177
180
|
- lib/booker/v4/models/employee.rb
|
181
|
+
- lib/booker/v4/models/employee_treatment.rb
|
178
182
|
- lib/booker/v4/models/feature_settings.rb
|
179
183
|
- lib/booker/v4/models/final_total.rb
|
184
|
+
- lib/booker/v4/models/flexible_price_increment_type.rb
|
180
185
|
- lib/booker/v4/models/gender.rb
|
181
186
|
- lib/booker/v4/models/itinerary_time_slot.rb
|
182
187
|
- lib/booker/v4/models/itinerary_time_slots_list.rb
|
@@ -191,12 +196,15 @@ files:
|
|
191
196
|
- lib/booker/v4/models/payment_method.rb
|
192
197
|
- lib/booker/v4/models/preferred_staff_gender.rb
|
193
198
|
- lib/booker/v4/models/price.rb
|
199
|
+
- lib/booker/v4/models/price_range.rb
|
200
|
+
- lib/booker/v4/models/price_range_scope.rb
|
194
201
|
- lib/booker/v4/models/receipt_display_price.rb
|
195
202
|
- lib/booker/v4/models/room.rb
|
196
203
|
- lib/booker/v4/models/shipping_address.rb
|
197
204
|
- lib/booker/v4/models/source.rb
|
198
205
|
- lib/booker/v4/models/spa.rb
|
199
206
|
- lib/booker/v4/models/spa_employee_availability_search_item.rb
|
207
|
+
- lib/booker/v4/models/special.rb
|
200
208
|
- lib/booker/v4/models/status.rb
|
201
209
|
- lib/booker/v4/models/sub_category.rb
|
202
210
|
- lib/booker/v4/models/tag_price.rb
|
@@ -205,6 +213,7 @@ files:
|
|
205
213
|
- lib/booker/v4/models/time_zone.rb
|
206
214
|
- lib/booker/v4/models/treatment.rb
|
207
215
|
- lib/booker/v4/models/treatment_time_slot.rb
|
216
|
+
- lib/booker/v4/models/treatment_verified_bookable_online.rb
|
208
217
|
- lib/booker/v4/models/type.rb
|
209
218
|
- lib/booker/v4/models/user.rb
|
210
219
|
- lib/booker/v4/request_helper.rb
|
@@ -221,7 +230,7 @@ homepage: https://github.com/hirefrederick/booker_ruby
|
|
221
230
|
licenses:
|
222
231
|
- MIT
|
223
232
|
metadata: {}
|
224
|
-
post_install_message:
|
233
|
+
post_install_message:
|
225
234
|
rdoc_options: []
|
226
235
|
require_paths:
|
227
236
|
- lib
|
@@ -236,8 +245,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
245
|
- !ruby/object:Gem::Version
|
237
246
|
version: '0'
|
238
247
|
requirements: []
|
239
|
-
rubygems_version: 3.
|
240
|
-
signing_key:
|
248
|
+
rubygems_version: 3.1.2
|
249
|
+
signing_key:
|
241
250
|
specification_version: 4
|
242
251
|
summary: Ruby client for the Booker API - https://developers.booker.com
|
243
252
|
test_files: []
|