gonebusy-ruby-client 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -68
  3. data/lib/gonebusy/api_helper.rb +181 -149
  4. data/lib/gonebusy/configuration.rb +51 -16
  5. data/lib/gonebusy/controllers/base_controller.rb +46 -45
  6. data/lib/gonebusy/controllers/bookings_controller.rb +257 -293
  7. data/lib/gonebusy/controllers/categories_controller.rb +151 -180
  8. data/lib/gonebusy/controllers/pricing_models_controller.rb +202 -241
  9. data/lib/gonebusy/controllers/resources_controller.rb +295 -355
  10. data/lib/gonebusy/controllers/schedules_controller.rb +361 -428
  11. data/lib/gonebusy/controllers/search_controller.rb +52 -63
  12. data/lib/gonebusy/controllers/services_controller.rb +310 -367
  13. data/lib/gonebusy/controllers/users_controller.rb +199 -239
  14. data/lib/gonebusy/exceptions/api_exception.rb +16 -16
  15. data/lib/gonebusy/exceptions/entities_error_error_exception.rb +27 -0
  16. data/lib/gonebusy/exceptions/entities_error_exception.rb +26 -26
  17. data/lib/gonebusy/gonebusy_client.rb +58 -58
  18. data/lib/gonebusy/http/auth/custom_auth.rb +15 -15
  19. data/lib/gonebusy/http/faraday_client.rb +43 -41
  20. data/lib/gonebusy/http/http_call_back.rb +17 -17
  21. data/lib/gonebusy/http/http_client.rb +84 -82
  22. data/lib/gonebusy/http/http_context.rb +15 -15
  23. data/lib/gonebusy/http/http_method_enum.rb +7 -7
  24. data/lib/gonebusy/http/http_request.rb +44 -44
  25. data/lib/gonebusy/http/http_response.rb +19 -19
  26. data/lib/gonebusy/models/base_model.rb +31 -31
  27. data/lib/gonebusy/models/cancel_booking_by_id_response.rb +35 -35
  28. data/lib/gonebusy/models/create_booking_body.rb +134 -80
  29. data/lib/gonebusy/models/create_booking_response.rb +35 -35
  30. data/lib/gonebusy/models/create_category_body.rb +71 -71
  31. data/lib/gonebusy/models/create_category_response.rb +35 -35
  32. data/lib/gonebusy/models/create_pricing_model_body.rb +80 -80
  33. data/lib/gonebusy/models/create_pricing_model_response.rb +35 -35
  34. data/lib/gonebusy/models/create_resource_body.rb +89 -89
  35. data/lib/gonebusy/models/create_resource_response.rb +35 -35
  36. data/lib/gonebusy/models/create_schedule_body.rb +143 -144
  37. data/lib/gonebusy/models/create_schedule_response.rb +35 -35
  38. data/lib/gonebusy/models/create_schedule_time_window_body.rb +116 -117
  39. data/lib/gonebusy/models/create_schedule_time_window_response.rb +35 -35
  40. data/lib/gonebusy/models/create_service_body.rb +107 -107
  41. data/lib/gonebusy/models/create_service_response.rb +35 -35
  42. data/lib/gonebusy/models/create_user_body.rb +89 -89
  43. data/lib/gonebusy/models/create_user_response.rb +35 -35
  44. data/lib/gonebusy/models/date_recurs_by_enum.rb +12 -12
  45. data/lib/gonebusy/models/delete_resource_by_id_response.rb +35 -35
  46. data/lib/gonebusy/models/delete_schedule_by_id_response.rb +35 -35
  47. data/lib/gonebusy/models/delete_schedule_time_window_by_id_response.rb +35 -35
  48. data/lib/gonebusy/models/delete_service_by_id_response.rb +35 -35
  49. data/lib/gonebusy/models/entities_address_entity.rb +116 -116
  50. data/lib/gonebusy/models/entities_availability_response.rb +58 -58
  51. data/lib/gonebusy/models/entities_booking_response.rb +71 -71
  52. data/lib/gonebusy/models/entities_category_response.rb +98 -98
  53. data/lib/gonebusy/models/entities_pricing_model_response.rb +89 -89
  54. data/lib/gonebusy/models/entities_resource_availabilities.rb +49 -49
  55. data/lib/gonebusy/models/entities_resource_response.rb +107 -107
  56. data/lib/gonebusy/models/entities_schedule_response.rb +76 -76
  57. data/lib/gonebusy/models/entities_search_response.rb +54 -54
  58. data/lib/gonebusy/models/entities_service_response.rb +134 -130
  59. data/lib/gonebusy/models/entities_slots.rb +44 -45
  60. data/lib/gonebusy/models/entities_thing_type_response.rb +44 -44
  61. data/lib/gonebusy/models/entities_time_window_response.rb +134 -135
  62. data/lib/gonebusy/models/entities_user_response.rb +152 -152
  63. data/lib/gonebusy/models/frequency_enum.rb +17 -17
  64. data/lib/gonebusy/models/gender_enum.rb +9 -9
  65. data/lib/gonebusy/models/get_booking_by_id_response.rb +35 -35
  66. data/lib/gonebusy/models/get_bookings_response.rb +40 -40
  67. data/lib/gonebusy/models/get_categories_response.rb +40 -40
  68. data/lib/gonebusy/models/get_category_by_id_response.rb +35 -35
  69. data/lib/gonebusy/models/get_pricing_model_by_id_response.rb +35 -35
  70. data/lib/gonebusy/models/get_pricing_models_response.rb +40 -40
  71. data/lib/gonebusy/models/get_resource_by_id_response.rb +35 -35
  72. data/lib/gonebusy/models/get_resource_things_response.rb +40 -40
  73. data/lib/gonebusy/models/get_resources_response.rb +40 -40
  74. data/lib/gonebusy/models/get_schedule_by_id_response.rb +35 -35
  75. data/lib/gonebusy/models/get_schedules_response.rb +40 -40
  76. data/lib/gonebusy/models/get_service_available_slots_by_id_response.rb +35 -35
  77. data/lib/gonebusy/models/get_service_by_id_response.rb +35 -35
  78. data/lib/gonebusy/models/get_services_response.rb +40 -40
  79. data/lib/gonebusy/models/get_user_by_id_response.rb +35 -35
  80. data/lib/gonebusy/models/get_users_response.rb +40 -40
  81. data/lib/gonebusy/models/occurrence_enum.rb +21 -21
  82. data/lib/gonebusy/models/recurs_by_enum.rb +15 -15
  83. data/lib/gonebusy/models/search_query_response.rb +35 -35
  84. data/lib/gonebusy/models/update_booking_by_id_body.rb +116 -0
  85. data/lib/gonebusy/models/update_booking_by_id_response.rb +35 -35
  86. data/lib/gonebusy/models/update_pricing_model_by_id_body.rb +62 -62
  87. data/lib/gonebusy/models/update_pricing_model_by_id_response.rb +35 -35
  88. data/lib/gonebusy/models/update_resource_by_id_body.rb +71 -71
  89. data/lib/gonebusy/models/update_resource_by_id_response.rb +35 -35
  90. data/lib/gonebusy/models/update_schedule_time_window_by_id_body.rb +116 -117
  91. data/lib/gonebusy/models/update_schedule_time_window_by_id_response.rb +35 -35
  92. data/lib/gonebusy/models/update_service_by_id_body.rb +98 -98
  93. data/lib/gonebusy/models/update_service_by_id_response.rb +35 -35
  94. data/lib/gonebusy/models/update_user_by_id_body.rb +89 -89
  95. data/lib/gonebusy/models/update_user_by_id_response.rb +35 -35
  96. data/lib/gonebusy.rb +108 -104
  97. metadata +53 -17
@@ -1,35 +1,35 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class CreateScheduleResponse < BaseModel
5
- # TODO: Write general description for this method
6
- # @return [EntitiesScheduleResponse]
7
- attr_accessor :schedule
8
-
9
- # A mapping from model property names to API property names
10
- def self.names
11
- if @hash.nil?
12
- @hash = {}
13
- @hash["schedule"] = "schedule"
14
- end
15
- @hash
16
- end
17
-
18
- def initialize(schedule = nil)
19
- @schedule = schedule
20
- end
21
-
22
- # Creates an instance of the object from a hash
23
- def self.from_hash(hash)
24
- if hash == nil
25
- nil
26
- else
27
- # Extract variables from the hash
28
- schedule = EntitiesScheduleResponse.from_hash(hash["schedule"]) if hash["schedule"]
29
-
30
- # Create object from extracted values
31
- CreateScheduleResponse.new(schedule)
32
- end
33
- end
34
- end
35
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class CreateScheduleResponse < BaseModel
5
+ # TODO: Write general description for this method
6
+ # @return [EntitiesScheduleResponse]
7
+ attr_accessor :schedule
8
+
9
+ # A mapping from model property names to API property names
10
+ def self.names
11
+ if @hash.nil?
12
+ @hash = {}
13
+ @hash["schedule"] = "schedule"
14
+ end
15
+ @hash
16
+ end
17
+
18
+ def initialize(schedule = nil)
19
+ @schedule = schedule
20
+ end
21
+
22
+ # Creates an instance of the object from a hash
23
+ def self.from_hash(hash)
24
+ if hash == nil
25
+ nil
26
+ else
27
+ # Extract variables from the hash
28
+ schedule = EntitiesScheduleResponse.from_hash(hash['schedule']) if hash['schedule']
29
+
30
+ # Create object from extracted values
31
+ CreateScheduleResponse.new(schedule)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,117 +1,116 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- require 'date'
4
- module Gonebusy
5
- class CreateScheduleTimeWindowBody < BaseModel
6
- # List of comma-separated days of the week this window of time falls on. If provided, at least one must be specified.
7
- # @return [String]
8
- attr_accessor :days
9
-
10
- # End Time of TimeWindow. Several formats are supported: '5pm', '17:00', '1700'
11
- # @return [String]
12
- attr_accessor :end_time
13
-
14
- # One of the possible recurrence values
15
- # @return [RecursByEnum]
16
- attr_accessor :recurs_by
17
-
18
- # Start Date of TimeWindow. Several formats are supported: '2014-10-31', 'October 31, 2014'.
19
- # @return [DateTime]
20
- attr_accessor :start_date
21
-
22
- # Start Time of TimeWindow. Several formats are supported: '9am', '09:00', '9:00', '0900'
23
- # @return [String]
24
- attr_accessor :start_time
25
-
26
- # Required only when :recurs_by is 'monthly' or 'yearly' to differentiate between exact date or 'day in month/year'. See Schedule examples.
27
- # @return [DateRecursByEnum]
28
- attr_accessor :date_recurs_by
29
-
30
- # Optional End Date of TimeWindow, leave blank for infinitely available. Several formats are supported: '2014-10-31', 'October 31, 2014'.
31
- # @return [DateTime]
32
- attr_accessor :end_date
33
-
34
- # Optional frequency of recurrence as specified by :recurs_by. E.g, :single, :every, :every_other, etc. If not provided, assumed to be :every
35
- # @return [FrequencyEnum]
36
- attr_accessor :frequency
37
-
38
- # Optional occurrence of frequency. E.g, :first, :2nd, :last, :2nd_to_last, etc. If not provided, assumed to be :every
39
- # @return [OccurrenceEnum]
40
- attr_accessor :occurrence
41
-
42
- # Optional total number of minutes in TimeWindow. Useful when duration of window is greater than 24 hours.
43
- # @return [Integer]
44
- attr_accessor :total_minutes
45
-
46
- # A mapping from model property names to API property names
47
- def self.names
48
- if @hash.nil?
49
- @hash = {}
50
- @hash["days"] = "days"
51
- @hash["end_time"] = "end_time"
52
- @hash["recurs_by"] = "recurs_by"
53
- @hash["start_date"] = "start_date"
54
- @hash["start_time"] = "start_time"
55
- @hash["date_recurs_by"] = "date_recurs_by"
56
- @hash["end_date"] = "end_date"
57
- @hash["frequency"] = "frequency"
58
- @hash["occurrence"] = "occurrence"
59
- @hash["total_minutes"] = "total_minutes"
60
- end
61
- @hash
62
- end
63
-
64
- def initialize(days = nil,
65
- end_time = nil,
66
- recurs_by = nil,
67
- start_date = nil,
68
- start_time = nil,
69
- date_recurs_by = nil,
70
- end_date = nil,
71
- frequency = nil,
72
- occurrence = nil,
73
- total_minutes = nil)
74
- @days = days
75
- @end_time = end_time
76
- @recurs_by = recurs_by
77
- @start_date = start_date
78
- @start_time = start_time
79
- @date_recurs_by = date_recurs_by
80
- @end_date = end_date
81
- @frequency = frequency
82
- @occurrence = occurrence
83
- @total_minutes = total_minutes
84
- end
85
-
86
- # Creates an instance of the object from a hash
87
- def self.from_hash(hash)
88
- if hash == nil
89
- nil
90
- else
91
- # Extract variables from the hash
92
- days = hash["days"]
93
- end_time = hash["end_time"]
94
- recurs_by = hash["recurs_by"]
95
- start_date = DateTime.iso8601(hash["start_date"]) if hash["start_date"]
96
- start_time = hash["start_time"]
97
- date_recurs_by = hash["date_recurs_by"]
98
- end_date = DateTime.iso8601(hash["end_date"]) if hash["end_date"]
99
- frequency = hash["frequency"]
100
- occurrence = hash["occurrence"]
101
- total_minutes = hash["total_minutes"]
102
-
103
- # Create object from extracted values
104
- CreateScheduleTimeWindowBody.new(days,
105
- end_time,
106
- recurs_by,
107
- start_date,
108
- start_time,
109
- date_recurs_by,
110
- end_date,
111
- frequency,
112
- occurrence,
113
- total_minutes)
114
- end
115
- end
116
- end
117
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class CreateScheduleTimeWindowBody < BaseModel
5
+ # List of comma-separated days of the week this window of time falls on. If provided, at least one must be specified.
6
+ # @return [String]
7
+ attr_accessor :days
8
+
9
+ # End Time of TimeWindow. Several formats are supported: '5pm', '17:00', '1700'
10
+ # @return [String]
11
+ attr_accessor :end_time
12
+
13
+ # One of the possible recurrence values
14
+ # @return [RecursByEnum]
15
+ attr_accessor :recurs_by
16
+
17
+ # Start Date of TimeWindow. Several formats are supported: '2014-10-31', 'October 31, 2014'.
18
+ # @return [Date]
19
+ attr_accessor :start_date
20
+
21
+ # Start Time of TimeWindow. Several formats are supported: '9am', '09:00', '9:00', '0900'
22
+ # @return [String]
23
+ attr_accessor :start_time
24
+
25
+ # Required only when :recurs_by is 'monthly' or 'yearly' to differentiate between exact date or 'day in month/year'. See Schedule examples.
26
+ # @return [DateRecursByEnum]
27
+ attr_accessor :date_recurs_by
28
+
29
+ # Optional End Date of TimeWindow, leave blank for infinitely available. Several formats are supported: '2014-10-31', 'October 31, 2014'.
30
+ # @return [Date]
31
+ attr_accessor :end_date
32
+
33
+ # Optional frequency of recurrence as specified by :recurs_by. E.g, :single, :every, :every_other, etc. If not provided, assumed to be :every
34
+ # @return [FrequencyEnum]
35
+ attr_accessor :frequency
36
+
37
+ # Optional occurrence of frequency. E.g, :first, :2nd, :last, :2nd_to_last, etc. If not provided, assumed to be :every
38
+ # @return [OccurrenceEnum]
39
+ attr_accessor :occurrence
40
+
41
+ # Optional total number of minutes in TimeWindow. Useful when duration of window is greater than 24 hours.
42
+ # @return [Integer]
43
+ attr_accessor :total_minutes
44
+
45
+ # A mapping from model property names to API property names
46
+ def self.names
47
+ if @hash.nil?
48
+ @hash = {}
49
+ @hash["days"] = "days"
50
+ @hash["end_time"] = "end_time"
51
+ @hash["recurs_by"] = "recurs_by"
52
+ @hash["start_date"] = "start_date"
53
+ @hash["start_time"] = "start_time"
54
+ @hash["date_recurs_by"] = "date_recurs_by"
55
+ @hash["end_date"] = "end_date"
56
+ @hash["frequency"] = "frequency"
57
+ @hash["occurrence"] = "occurrence"
58
+ @hash["total_minutes"] = "total_minutes"
59
+ end
60
+ @hash
61
+ end
62
+
63
+ def initialize(days = nil,
64
+ end_time = nil,
65
+ recurs_by = nil,
66
+ start_date = nil,
67
+ start_time = nil,
68
+ date_recurs_by = nil,
69
+ end_date = nil,
70
+ frequency = nil,
71
+ occurrence = nil,
72
+ total_minutes = nil)
73
+ @days = days
74
+ @end_time = end_time
75
+ @recurs_by = recurs_by
76
+ @start_date = start_date
77
+ @start_time = start_time
78
+ @date_recurs_by = date_recurs_by
79
+ @end_date = end_date
80
+ @frequency = frequency
81
+ @occurrence = occurrence
82
+ @total_minutes = total_minutes
83
+ end
84
+
85
+ # Creates an instance of the object from a hash
86
+ def self.from_hash(hash)
87
+ if hash == nil
88
+ nil
89
+ else
90
+ # Extract variables from the hash
91
+ days = hash['days']
92
+ end_time = hash['end_time']
93
+ recurs_by = hash['recurs_by']
94
+ start_date = hash['start_date']
95
+ start_time = hash['start_time']
96
+ date_recurs_by = hash['date_recurs_by']
97
+ end_date = hash['end_date']
98
+ frequency = hash['frequency']
99
+ occurrence = hash['occurrence']
100
+ total_minutes = hash['total_minutes']
101
+
102
+ # Create object from extracted values
103
+ CreateScheduleTimeWindowBody.new(days,
104
+ end_time,
105
+ recurs_by,
106
+ start_date,
107
+ start_time,
108
+ date_recurs_by,
109
+ end_date,
110
+ frequency,
111
+ occurrence,
112
+ total_minutes)
113
+ end
114
+ end
115
+ end
116
+ end
@@ -1,35 +1,35 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class CreateScheduleTimeWindowResponse < BaseModel
5
- # TODO: Write general description for this method
6
- # @return [EntitiesScheduleResponse]
7
- attr_accessor :schedule
8
-
9
- # A mapping from model property names to API property names
10
- def self.names
11
- if @hash.nil?
12
- @hash = {}
13
- @hash["schedule"] = "schedule"
14
- end
15
- @hash
16
- end
17
-
18
- def initialize(schedule = nil)
19
- @schedule = schedule
20
- end
21
-
22
- # Creates an instance of the object from a hash
23
- def self.from_hash(hash)
24
- if hash == nil
25
- nil
26
- else
27
- # Extract variables from the hash
28
- schedule = EntitiesScheduleResponse.from_hash(hash["schedule"]) if hash["schedule"]
29
-
30
- # Create object from extracted values
31
- CreateScheduleTimeWindowResponse.new(schedule)
32
- end
33
- end
34
- end
35
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class CreateScheduleTimeWindowResponse < BaseModel
5
+ # TODO: Write general description for this method
6
+ # @return [EntitiesScheduleResponse]
7
+ attr_accessor :schedule
8
+
9
+ # A mapping from model property names to API property names
10
+ def self.names
11
+ if @hash.nil?
12
+ @hash = {}
13
+ @hash["schedule"] = "schedule"
14
+ end
15
+ @hash
16
+ end
17
+
18
+ def initialize(schedule = nil)
19
+ @schedule = schedule
20
+ end
21
+
22
+ # Creates an instance of the object from a hash
23
+ def self.from_hash(hash)
24
+ if hash == nil
25
+ nil
26
+ else
27
+ # Extract variables from the hash
28
+ schedule = EntitiesScheduleResponse.from_hash(hash['schedule']) if hash['schedule']
29
+
30
+ # Create object from extracted values
31
+ CreateScheduleTimeWindowResponse.new(schedule)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,107 +1,107 @@
1
- # This file was automatically generated for GoneBusy Inc. by APIMATIC v2.0 ( https://apimatic.io ).
2
-
3
- module Gonebusy
4
- class CreateServiceBody < BaseModel
5
- # Service Description
6
- # @return [String]
7
- attr_accessor :description
8
-
9
- # Duration of the Service in minutes
10
- # @return [Integer]
11
- attr_accessor :duration
12
-
13
- # Max duration of the Service in minutes
14
- # @return [Integer]
15
- attr_accessor :max_duration
16
-
17
- # Service Name
18
- # @return [String]
19
- attr_accessor :name
20
-
21
- # Optional List of comma-separated Category IDs to associate with Service
22
- # @return [String]
23
- attr_accessor :categories
24
-
25
- # Optional Price Model Id
26
- # @return [Integer]
27
- attr_accessor :price_model_id
28
-
29
- # Optional List of comma-separated Resource IDs that will provide this Service, default: API user's resource id
30
- # @return [String]
31
- attr_accessor :resources
32
-
33
- # Optional abbreviated Service name
34
- # @return [String]
35
- attr_accessor :short_name
36
-
37
- # ID of User to create Service for. You must be authorized to manage this User Id.
38
- # @return [Integer]
39
- attr_accessor :user_id
40
-
41
- # A mapping from model property names to API property names
42
- def self.names
43
- if @hash.nil?
44
- @hash = {}
45
- @hash["description"] = "description"
46
- @hash["duration"] = "duration"
47
- @hash["max_duration"] = "max_duration"
48
- @hash["name"] = "name"
49
- @hash["categories"] = "categories"
50
- @hash["price_model_id"] = "price_model_id"
51
- @hash["resources"] = "resources"
52
- @hash["short_name"] = "short_name"
53
- @hash["user_id"] = "user_id"
54
- end
55
- @hash
56
- end
57
-
58
- def initialize(description = nil,
59
- duration = nil,
60
- max_duration = nil,
61
- name = nil,
62
- categories = nil,
63
- price_model_id = nil,
64
- resources = nil,
65
- short_name = nil,
66
- user_id = nil)
67
- @description = description
68
- @duration = duration
69
- @max_duration = max_duration
70
- @name = name
71
- @categories = categories
72
- @price_model_id = price_model_id
73
- @resources = resources
74
- @short_name = short_name
75
- @user_id = user_id
76
- end
77
-
78
- # Creates an instance of the object from a hash
79
- def self.from_hash(hash)
80
- if hash == nil
81
- nil
82
- else
83
- # Extract variables from the hash
84
- description = hash["description"]
85
- duration = hash["duration"]
86
- max_duration = hash["max_duration"]
87
- name = hash["name"]
88
- categories = hash["categories"]
89
- price_model_id = hash["price_model_id"]
90
- resources = hash["resources"]
91
- short_name = hash["short_name"]
92
- user_id = hash["user_id"]
93
-
94
- # Create object from extracted values
95
- CreateServiceBody.new(description,
96
- duration,
97
- max_duration,
98
- name,
99
- categories,
100
- price_model_id,
101
- resources,
102
- short_name,
103
- user_id)
104
- end
105
- end
106
- end
107
- end
1
+ # This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module Gonebusy
4
+ class CreateServiceBody < BaseModel
5
+ # Service Description
6
+ # @return [String]
7
+ attr_accessor :description
8
+
9
+ # Duration in minutes of the Service
10
+ # @return [Integer]
11
+ attr_accessor :duration
12
+
13
+ # Service Name
14
+ # @return [String]
15
+ attr_accessor :name
16
+
17
+ # Optional List of comma-separated Category IDs to associate with Service
18
+ # @return [String]
19
+ attr_accessor :categories
20
+
21
+ # Max duration of the Service in minutes
22
+ # @return [Integer]
23
+ attr_accessor :max_duration
24
+
25
+ # Optional Price Model Id
26
+ # @return [Integer]
27
+ attr_accessor :price_model_id
28
+
29
+ # Optional List of comma-separated Resource IDs that will provide this Service, default: API user's resource id
30
+ # @return [String]
31
+ attr_accessor :resources
32
+
33
+ # Optional abbreviated Service name
34
+ # @return [String]
35
+ attr_accessor :short_name
36
+
37
+ # ID of User to create Service for. You must be authorized to manage this User Id.
38
+ # @return [Integer]
39
+ attr_accessor :user_id
40
+
41
+ # A mapping from model property names to API property names
42
+ def self.names
43
+ if @hash.nil?
44
+ @hash = {}
45
+ @hash["description"] = "description"
46
+ @hash["duration"] = "duration"
47
+ @hash["name"] = "name"
48
+ @hash["categories"] = "categories"
49
+ @hash["max_duration"] = "max_duration"
50
+ @hash["price_model_id"] = "price_model_id"
51
+ @hash["resources"] = "resources"
52
+ @hash["short_name"] = "short_name"
53
+ @hash["user_id"] = "user_id"
54
+ end
55
+ @hash
56
+ end
57
+
58
+ def initialize(description = nil,
59
+ duration = nil,
60
+ name = nil,
61
+ categories = nil,
62
+ max_duration = nil,
63
+ price_model_id = nil,
64
+ resources = nil,
65
+ short_name = nil,
66
+ user_id = nil)
67
+ @description = description
68
+ @duration = duration
69
+ @name = name
70
+ @categories = categories
71
+ @max_duration = max_duration
72
+ @price_model_id = price_model_id
73
+ @resources = resources
74
+ @short_name = short_name
75
+ @user_id = user_id
76
+ end
77
+
78
+ # Creates an instance of the object from a hash
79
+ def self.from_hash(hash)
80
+ if hash == nil
81
+ nil
82
+ else
83
+ # Extract variables from the hash
84
+ description = hash['description']
85
+ duration = hash['duration']
86
+ name = hash['name']
87
+ categories = hash['categories']
88
+ max_duration = hash['max_duration']
89
+ price_model_id = hash['price_model_id']
90
+ resources = hash['resources']
91
+ short_name = hash['short_name']
92
+ user_id = hash['user_id']
93
+
94
+ # Create object from extracted values
95
+ CreateServiceBody.new(description,
96
+ duration,
97
+ name,
98
+ categories,
99
+ max_duration,
100
+ price_model_id,
101
+ resources,
102
+ short_name,
103
+ user_id)
104
+ end
105
+ end
106
+ end
107
+ end