booker_ruby 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/lib/booker/booker.rb +5 -0
  3. data/lib/booker/business_client.rb +32 -0
  4. data/lib/booker/business_rest.rb +89 -0
  5. data/lib/booker/client.rb +182 -0
  6. data/lib/booker/common_rest.rb +38 -0
  7. data/lib/booker/customer_client.rb +31 -0
  8. data/lib/booker/customer_rest.rb +43 -0
  9. data/lib/booker/errors.rb +19 -0
  10. data/lib/booker/generic_token_store.rb +25 -0
  11. data/lib/booker/models/address.rb +12 -0
  12. data/lib/booker/models/appointment.rb +77 -0
  13. data/lib/booker/models/appointment_treatment.rb +51 -0
  14. data/lib/booker/models/available_time.rb +13 -0
  15. data/lib/booker/models/business_type.rb +5 -0
  16. data/lib/booker/models/category.rb +5 -0
  17. data/lib/booker/models/class_instance.rb +25 -0
  18. data/lib/booker/models/country.rb +5 -0
  19. data/lib/booker/models/current_price.rb +5 -0
  20. data/lib/booker/models/customer.rb +51 -0
  21. data/lib/booker/models/customer_2.rb +5 -0
  22. data/lib/booker/models/customer_record_type.rb +5 -0
  23. data/lib/booker/models/discount.rb +5 -0
  24. data/lib/booker/models/dynamic_price.rb +11 -0
  25. data/lib/booker/models/employee.rb +10 -0
  26. data/lib/booker/models/final_total.rb +5 -0
  27. data/lib/booker/models/gender.rb +5 -0
  28. data/lib/booker/models/location.rb +18 -0
  29. data/lib/booker/models/model.rb +123 -0
  30. data/lib/booker/models/online_booking_settings.rb +23 -0
  31. data/lib/booker/models/original_price.rb +5 -0
  32. data/lib/booker/models/payment_method.rb +5 -0
  33. data/lib/booker/models/preferred_staff_gender.rb +5 -0
  34. data/lib/booker/models/price.rb +8 -0
  35. data/lib/booker/models/receipt_display_price.rb +5 -0
  36. data/lib/booker/models/room.rb +12 -0
  37. data/lib/booker/models/shipping_address.rb +5 -0
  38. data/lib/booker/models/source.rb +5 -0
  39. data/lib/booker/models/spa.rb +5 -0
  40. data/lib/booker/models/spa_employee_availability_search_item.rb +11 -0
  41. data/lib/booker/models/status.rb +5 -0
  42. data/lib/booker/models/sub_category.rb +5 -0
  43. data/lib/booker/models/tag_price.rb +5 -0
  44. data/lib/booker/models/teacher.rb +5 -0
  45. data/lib/booker/models/teacher_2.rb +5 -0
  46. data/lib/booker/models/time_zone.rb +8 -0
  47. data/lib/booker/models/treatment.rb +19 -0
  48. data/lib/booker/models/type.rb +8 -0
  49. data/lib/booker/models/user.rb +73 -0
  50. data/lib/booker/version.rb +3 -0
  51. data/lib/booker_ruby.rb +86 -0
  52. metadata +192 -0
@@ -0,0 +1,23 @@
1
+ module Booker
2
+ module Models
3
+ class OnlineBookingSettings < Model
4
+ attr_accessor 'NewAppointmentCutOffInterval',
5
+ 'PaymentMethods',
6
+ 'PreAuthorizeCreditCard',
7
+ 'PreferredAppointmentTimes',
8
+ 'RequirePaymentInformation',
9
+ 'AppointmentStartTimeInterval',
10
+ 'SelectTechnician',
11
+ 'SelectTechnicianGender',
12
+ 'AllowCancelAppointments',
13
+ 'MaximumResultsPerDay',
14
+ 'UsePreferredAppointmentTimes',
15
+ 'RequireCustomerGender',
16
+ 'RequireStreetAddress',
17
+ 'GoogleAnalyticsCode',
18
+ 'BillingAddressRequired',
19
+ 'BackgroundImageUrl',
20
+ 'BusinessLogoUrl'
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class OriginalPrice < Price; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class PaymentMethod < Type; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class PreferredStaffGender < Gender; end
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ module Booker
2
+ module Models
3
+ class Price < Model
4
+ attr_accessor 'Amount',
5
+ 'CurrencyCode'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class ReceiptDisplayPrice < Price; end
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ module Booker
2
+ module Models
3
+ class Room < Model
4
+ attr_accessor 'Capacity',
5
+ 'Description',
6
+ 'ID',
7
+ 'LocationID',
8
+ 'Name',
9
+ 'Treatments'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class ShippingAddress < Address; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class Source < Type; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class Spa < Location; end
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ module Booker
2
+ module Models
3
+ class SpaEmployeeAvailabilitySearchItem < Model
4
+ attr_accessor 'AvailableTimes',
5
+ 'Treatment',
6
+ 'FirstAvailableTime',
7
+ 'CurrentPrice',
8
+ 'Spa'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class Status < Type; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class SubCategory < Type; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class TagPrice < Price; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class Teacher < Employee; end
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Booker
2
+ module Models
3
+ class Teacher2 < Employee; end
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ module Booker
2
+ module Models
3
+ class TimeZone < Model
4
+ attr_accessor 'ID', 'Name', 'StandardName'
5
+ end
6
+ end
7
+ end
8
+
@@ -0,0 +1,19 @@
1
+ module Booker
2
+ module Models
3
+ class Treatment < Model
4
+ attr_accessor 'ID',
5
+ 'AllowCustomersToBookOnline',
6
+ 'Category',
7
+ 'Description',
8
+ 'Name',
9
+ 'Price',
10
+ 'SubCategory',
11
+ 'TotalDuration',
12
+ 'TreatmentDuration',
13
+ 'IsClass',
14
+ 'IsForCouples',
15
+ 'EmployeeIDs',
16
+ 'IsActive'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,8 @@
1
+ module Booker
2
+ module Models
3
+ class Type < Model
4
+ attr_accessor 'ID',
5
+ 'Name'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,73 @@
1
+ module Booker
2
+ module Models
3
+ class User < Model
4
+ attr_accessor 'AllowCreateAppointment',
5
+ 'AllowCreateAppointmentsInPast',
6
+ 'AllowEditAppointment',
7
+ 'AllowEditBusyTimeBlock',
8
+ 'AllowEditClass',
9
+ 'AllowViewAllSchedules',
10
+ 'AllowViewAppointments',
11
+ 'AllowViewCreditCardNumber',
12
+ 'AllowViewCustomerInfo',
13
+ 'AllowViewDashBoard',
14
+ 'AllowViewOrders',
15
+ 'Email',
16
+ 'EmployeeID',
17
+ 'FirstName',
18
+ 'ID',
19
+ 'IsAccountManager',
20
+ 'IsAdministrator',
21
+ 'IsAdministratorAdmin',
22
+ 'IsAnyAdmin',
23
+ 'IsBrandReservationist',
24
+ 'IsImplementator',
25
+ 'IsReservationist',
26
+ 'IsReservationistOrTechnician',
27
+ 'IsSuperAdministrator',
28
+ 'IsTechnician',
29
+ 'IsTranslator',
30
+ 'LastName',
31
+ 'RoleNames',
32
+ 'Username',
33
+ 'DateCreated',
34
+ 'AllowOverrideOrderItemPrice',
35
+ 'AllowCancelAppointment',
36
+ 'AllowEditSchedule',
37
+ 'AllowOverrideTax',
38
+ 'AllowOverrideGCSeriesBalance',
39
+ 'AllowCreateEmailCampaigns',
40
+ 'AllowTweetFacebookAsBusiness',
41
+ 'AllowCustomizeColors',
42
+ 'AllowEditGCTemplates',
43
+ 'AllowEditEmailTemplates',
44
+ 'AllowSpecials',
45
+ 'AllowSpecialsShowView',
46
+ 'AllowSpecialsCreate',
47
+ 'AllowSpecialsEdit',
48
+ 'AllowSpecialsDelete',
49
+ 'AllowLoyaltyRewards',
50
+ 'AllowLoyaltyRewardsEdit',
51
+ 'AllowOverrideInventory',
52
+ 'AllowAddProducts',
53
+ 'IsReservationistAndAllowModifyTimeClocks',
54
+ 'AllowOrderRefund',
55
+ 'AllowOrderVoid',
56
+ 'AllowModifySchedule',
57
+ 'AllowCreateEmployeeProfile',
58
+ 'AllowEditEmployeeProfile',
59
+ 'AllowDeleteEmployeeProfile',
60
+ 'AllowCreateUserLogin',
61
+ 'AllowEditUserLogin',
62
+ 'AllowDeleteUserLogin',
63
+ 'AllowEditEmployeeGroupAssignment',
64
+ 'AllowEditEmployeeContractorInfo',
65
+ 'AllowEditEmployeeCompensationBenefits',
66
+ 'AllowEditEmployeeServices',
67
+ 'AllowEditEmployeeRegularSchedule',
68
+ 'AllowEditUserLoginOnly',
69
+ 'LocationID',
70
+ 'BrandID'
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,3 @@
1
+ module Booker
2
+ VERSION = '1.0.1'
3
+ end
@@ -0,0 +1,86 @@
1
+ require 'booker/version'
2
+
3
+ # External Libs
4
+ require 'oj'
5
+ require 'httparty'
6
+ require 'active_support/json'
7
+ require 'active_support/core_ext/object'
8
+ require 'active_support/core_ext/numeric/time.rb'
9
+ require 'active_support/time_with_zone'
10
+ require 'active_support/time'
11
+
12
+ # Core
13
+ require 'booker/booker'
14
+
15
+ # Errors
16
+ require 'booker/errors'
17
+
18
+ # Models
19
+ require 'booker/models/model'
20
+
21
+ # Types
22
+ require 'booker/models/type'
23
+ require 'booker/models/country'
24
+ require 'booker/models/status'
25
+ require 'booker/models/source'
26
+ require 'booker/models/business_type'
27
+ require 'booker/models/category'
28
+ require 'booker/models/sub_category'
29
+ require 'booker/models/customer_record_type'
30
+ require 'booker/models/gender'
31
+ require 'booker/models/preferred_staff_gender'
32
+ require 'booker/models/payment_method'
33
+
34
+ # Addresses
35
+ require 'booker/models/address'
36
+ require 'booker/models/shipping_address'
37
+
38
+ # Prices
39
+ require 'booker/models/price'
40
+ require 'booker/models/final_total'
41
+ require 'booker/models/original_price'
42
+ require 'booker/models/discount'
43
+ require 'booker/models/receipt_display_price'
44
+ require 'booker/models/tag_price'
45
+ require 'booker/models/current_price'
46
+
47
+ # Customers
48
+ require 'booker/models/customer'
49
+ require 'booker/models/customer_2'
50
+
51
+ # Locations
52
+ require 'booker/models/location'
53
+ require 'booker/models/spa'
54
+
55
+ # Employees
56
+ require 'booker/models/employee'
57
+ require 'booker/models/teacher'
58
+ require 'booker/models/teacher_2'
59
+
60
+ # Other Models
61
+ require 'booker/models/time_zone'
62
+ require 'booker/models/appointment'
63
+ require 'booker/models/appointment_treatment'
64
+ require 'booker/models/dynamic_price'
65
+ require 'booker/models/room'
66
+ require 'booker/models/treatment'
67
+ require 'booker/models/spa_employee_availability_search_item'
68
+ require 'booker/models/available_time'
69
+ require 'booker/models/class_instance'
70
+ require 'booker/models/online_booking_settings'
71
+ require 'booker/models/user'
72
+
73
+ # Base Client
74
+ require 'booker/client'
75
+
76
+ # Rest
77
+ require 'booker/common_rest'
78
+ require 'booker/business_rest'
79
+ require 'booker/customer_rest'
80
+
81
+ # Token Store
82
+ require 'booker/generic_token_store'
83
+
84
+ # Client Subclasses
85
+ require 'booker/business_client'
86
+ require 'booker/customer_client'
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: booker_ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Frederick
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.13.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.13.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: oj
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.10'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.10'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.10'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: shoulda-matchers
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 2.8.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 2.8.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: timecop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 0.7.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 0.7.0
111
+ description:
112
+ email:
113
+ - friends@hirefrederick.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - lib/booker/booker.rb
119
+ - lib/booker/business_client.rb
120
+ - lib/booker/business_rest.rb
121
+ - lib/booker/client.rb
122
+ - lib/booker/common_rest.rb
123
+ - lib/booker/customer_client.rb
124
+ - lib/booker/customer_rest.rb
125
+ - lib/booker/errors.rb
126
+ - lib/booker/generic_token_store.rb
127
+ - lib/booker/models/address.rb
128
+ - lib/booker/models/appointment.rb
129
+ - lib/booker/models/appointment_treatment.rb
130
+ - lib/booker/models/available_time.rb
131
+ - lib/booker/models/business_type.rb
132
+ - lib/booker/models/category.rb
133
+ - lib/booker/models/class_instance.rb
134
+ - lib/booker/models/country.rb
135
+ - lib/booker/models/current_price.rb
136
+ - lib/booker/models/customer.rb
137
+ - lib/booker/models/customer_2.rb
138
+ - lib/booker/models/customer_record_type.rb
139
+ - lib/booker/models/discount.rb
140
+ - lib/booker/models/dynamic_price.rb
141
+ - lib/booker/models/employee.rb
142
+ - lib/booker/models/final_total.rb
143
+ - lib/booker/models/gender.rb
144
+ - lib/booker/models/location.rb
145
+ - lib/booker/models/model.rb
146
+ - lib/booker/models/online_booking_settings.rb
147
+ - lib/booker/models/original_price.rb
148
+ - lib/booker/models/payment_method.rb
149
+ - lib/booker/models/preferred_staff_gender.rb
150
+ - lib/booker/models/price.rb
151
+ - lib/booker/models/receipt_display_price.rb
152
+ - lib/booker/models/room.rb
153
+ - lib/booker/models/shipping_address.rb
154
+ - lib/booker/models/source.rb
155
+ - lib/booker/models/spa.rb
156
+ - lib/booker/models/spa_employee_availability_search_item.rb
157
+ - lib/booker/models/status.rb
158
+ - lib/booker/models/sub_category.rb
159
+ - lib/booker/models/tag_price.rb
160
+ - lib/booker/models/teacher.rb
161
+ - lib/booker/models/teacher_2.rb
162
+ - lib/booker/models/time_zone.rb
163
+ - lib/booker/models/treatment.rb
164
+ - lib/booker/models/type.rb
165
+ - lib/booker/models/user.rb
166
+ - lib/booker/version.rb
167
+ - lib/booker_ruby.rb
168
+ homepage: https://github.com/hirefrederick/booker_ruby
169
+ licenses:
170
+ - MIT
171
+ metadata: {}
172
+ post_install_message:
173
+ rdoc_options: []
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 2.1.0
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ requirements: []
187
+ rubyforge_project:
188
+ rubygems_version: 2.5.1
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Ruby client for the Booker v4 API - http://apidoc.booker.com
192
+ test_files: []