booker_ruby 3.0.2 → 3.0.3

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
  SHA1:
3
- metadata.gz: d61baac65a80c6420b38f16dbc9fdd242e6699c1
4
- data.tar.gz: b2cb72b97ee3233e42ad954194edcc0ed01b5fd4
3
+ metadata.gz: 606a8b3ce501c73683e7bf8d3cbb4e7dee12a4f3
4
+ data.tar.gz: 7abfe1460fb079a936a454f9ba9c38ee3b2e4219
5
5
  SHA512:
6
- metadata.gz: 6320779ab1dbea9d6d3d1f561d48824da9905a7da9ba29d36450781aa447cb8945d010dc071aa659fe3654eb689a387345bf6059bcd62466c6d49411113819ff
7
- data.tar.gz: 5b1b30246fb00cbb2a2969c01152c7a38cff5534fa1f0ffe2c4db6fe4f9452c9c92c8b3b05f39f348e573dada6315a7d98bc77fdc745c9497916f9dde060f5d5
6
+ metadata.gz: b3a7347dc4c1c6ab7f1d44fdb4a03a3c8e1c5ca8bea73ebc64598da0c1f28917d98785564e4d70cddb2e4ec9585582435c1f5749e19538a8dca7ca82f7a024ef
7
+ data.tar.gz: 7420d7d4240a0e8ef0d3d9078846a64f867c0d3b78617275d4506c68be4f4f21f0384a33d61c03f386117a90fd44b4dc1fafc94be91203358856d6083b471bb8
@@ -1,20 +1,20 @@
1
1
  module Booker
2
2
  module V41
3
- class Booking < Booker::Client
3
+ class Customer < Booker::Client
4
4
  include Booker::V4::RequestHelper
5
5
 
6
- V41_PREFIX = '/v4.1/booking'
6
+ V41_PREFIX = '/v4.1/customer'
7
7
  V41_APPOINTMENTS_PREFIX = "#{V41_PREFIX}/appointment"
8
8
  API_METHODS = {
9
9
  appointment: "#{V41_APPOINTMENTS_PREFIX}".freeze,
10
10
  cancel_appointment: "#{V41_APPOINTMENTS_PREFIX}/cancel".freeze,
11
11
  create_appointment: "#{V41_APPOINTMENTS_PREFIX}/create".freeze,
12
12
  create_class_appointment: "#{V41_PREFIX}/class_appointment/create".freeze,
13
- appointment_hold: "#{V41_APPOINTMENTS_PREFIX}/hold".freeze,
14
13
  employees: "#{V41_PREFIX}/employees".freeze,
15
- services: "#{V41_PREFIX}/services".freeze,
14
+ treatments: "#{V41_PREFIX}/treatments".freeze,
16
15
  location: "#{V41_PREFIX}/location".freeze,
17
- locations: "#{V41_PREFIX}/locations".freeze
16
+ locations: "#{V41_PREFIX}/locations".freeze,
17
+ class_availability: "#{V41_PREFIX}/availability/class".freeze
18
18
  }.freeze
19
19
 
20
20
  def appointment(id:)
@@ -43,23 +43,6 @@ module Booker
43
43
  }, params), Booker::V4::Models::Appointment
44
44
  end
45
45
 
46
- def create_appointment_hold(location_id:, available_time:, customer:, params: {})
47
- post API_METHODS[:appointment_hold], build_params({
48
- LocationID: location_id,
49
- ItineraryTimeSlot: {
50
- TreatmentTimeSlots: [available_time]
51
- },
52
- Customer: customer
53
- }, params)
54
- end
55
-
56
- def delete_appointment_hold(location_id:, incomplete_appointment_id:)
57
- delete API_METHODS[:appointment_hold], nil, build_params({
58
- LocationID: location_id,
59
- IncompleteAppointmentID: incomplete_appointment_id
60
- })
61
- end
62
-
63
46
  def employees(location_id:, fetch_all: true, params: {})
64
47
  paginated_request(
65
48
  method: :post,
@@ -70,6 +53,16 @@ module Booker
70
53
  )
71
54
  end
72
55
 
56
+ def treatments(location_id:, fetch_all: true, params: {})
57
+ paginated_request(
58
+ method: :post,
59
+ path: API_METHODS[:treatments],
60
+ params: build_params({LocationID: location_id}, params, true),
61
+ model: Booker::V4::Models::Treatment,
62
+ fetch_all: fetch_all
63
+ )
64
+ end
65
+
73
66
  def location(id:)
74
67
  response = get("#{API_METHODS[:location]}/#{id}", build_params)
75
68
  Booker::V4::Models::Location.from_hash(response)
@@ -84,14 +77,14 @@ module Booker
84
77
  )
85
78
  end
86
79
 
87
- def services(location_id:, fetch_all: true, params: {})
88
- paginated_request(
89
- method: :post,
90
- path: API_METHODS[:services],
91
- params: build_params({LocationID: location_id}, params, true),
92
- model: Booker::V4::Models::Treatment,
93
- fetch_all: fetch_all
94
- )
80
+ def class_availability(location_id:, from_start_date_time:, to_start_date_time:, params: {})
81
+ post API_METHODS[:class_availability], build_params({
82
+ FromStartDateTime: from_start_date_time,
83
+ LocationID: location_id,
84
+ OnlyIfAvailable: true,
85
+ ToStartDateTime: to_start_date_time,
86
+ ExcludeClosedDates: true
87
+ }, params), Booker::V4::Models::ClassInstance
95
88
  end
96
89
  end
97
90
  end
@@ -3,7 +3,6 @@ module Booker
3
3
  class Availability < Booker::Client
4
4
  API_METHODS = {
5
5
  availability: '/v5/availability/availability'.freeze,
6
- one_day_availability: '/v5/availability/1day',
7
6
  two_day_availability: '/v5/availability/2day'.freeze,
8
7
  thirty_day_availability: '/v5/availability/30day'.freeze
9
8
  }.freeze
@@ -17,14 +16,6 @@ module Booker
17
16
  }, Booker::V5::Models::AvailabilityResult
18
17
  end
19
18
 
20
- def one_day(location_id:, from_date_time:, include_employees: true)
21
- get API_METHODS[:one_day_availability], {
22
- locationId: location_id,
23
- fromDateTime: from_date_time,
24
- includeEmployees: include_employees
25
- }, Booker::V5::Models::AvailabilityResult
26
- end
27
-
28
19
  def two_day(location_id:, from_date_time:, include_employees: true)
29
20
  get API_METHODS[:two_day_availability], {
30
21
  locationId: location_id,
@@ -1,3 +1,3 @@
1
1
  module Booker
2
- VERSION = '3.0.2'
2
+ VERSION = '3.0.3'
3
3
  end
@@ -105,8 +105,7 @@ require 'booker/generic_token_store'
105
105
  # Client Subclasses
106
106
  require 'booker/v4/business_client'
107
107
  require 'booker/v4/customer_client'
108
- require 'booker/v4.1/availability'
109
- require 'booker/v4.1/booking'
108
+ require 'booker/v4.1/customer'
110
109
  require 'booker/v4.1/merchant'
111
110
  require 'booker/v5/availability'
112
111
 
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: booker_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frederick
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-06 00:00:00.000000000 Z
11
+ date: 2017-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.14'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.14'
27
27
  - !ruby/object:Gem::Dependency
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: oj
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.10'
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.10'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jwt
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -70,14 +70,14 @@ dependencies:
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.10'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.10'
83
83
  - !ruby/object:Gem::Dependency
@@ -138,7 +138,7 @@ dependencies:
138
138
  version: 1.0.2
139
139
  description:
140
140
  email:
141
- - friends@hirefrederick.com
141
+ - tech@hirefrederick.com
142
142
  executables: []
143
143
  extensions: []
144
144
  extra_rdoc_files: []
@@ -151,8 +151,7 @@ files:
151
151
  - lib/booker/helpers/active_support_helper.rb
152
152
  - lib/booker/helpers/logging_helper.rb
153
153
  - lib/booker/model.rb
154
- - lib/booker/v4.1/availability.rb
155
- - lib/booker/v4.1/booking.rb
154
+ - lib/booker/v4.1/customer.rb
156
155
  - lib/booker/v4.1/merchant.rb
157
156
  - lib/booker/v4/business_client.rb
158
157
  - lib/booker/v4/business_rest.rb
@@ -1,21 +0,0 @@
1
- module Booker
2
- module V41
3
- class Availability < Booker::Client
4
- include Booker::V4::RequestHelper
5
-
6
- API_METHODS = {
7
- class_availability: '/v4.1/availability/availability/class'.freeze
8
- }.freeze
9
-
10
- def class_availability(location_id:, from_start_date_time:, to_start_date_time:, params: {})
11
- post API_METHODS[:class_availability], build_params({
12
- FromStartDateTime: from_start_date_time,
13
- LocationID: location_id,
14
- OnlyIfAvailable: true,
15
- ToStartDateTime: to_start_date_time,
16
- ExcludeClosedDates: true
17
- }, params), Booker::V4::Models::ClassInstance
18
- end
19
- end
20
- end
21
- end