purecloudplatformclientv2 36.1.0 → 37.0.0

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.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/docs/AgentTimeOffRequestPatch.md +15 -0
  4. data/docs/AnalyticsApi.md +2 -2
  5. data/docs/AsgInfoResponse.md +2 -2
  6. data/docs/AsyncWeekScheduleResponse.md +16 -0
  7. data/docs/CallMediaPolicyConditions.md +1 -0
  8. data/docs/CampaignNotification.md +1 -0
  9. data/docs/ChatMediaPolicyConditions.md +1 -0
  10. data/docs/ConversationNotificationMedia.md +3 -0
  11. data/docs/ConversationNotificationMessageDetails.md +1 -0
  12. data/docs/ConversationNotificationMessageMedia.md +3 -0
  13. data/docs/ConversationNotificationMessageSticker.md +14 -0
  14. data/docs/ConversationNotificationMessages.md +1 -0
  15. data/docs/ConversationNotificationStickers.md +14 -0
  16. data/docs/CopyShortTermForecastRequest.md +14 -0
  17. data/docs/CopyWeekScheduleRequest.md +14 -0
  18. data/docs/CopyWorkPlan.md +13 -0
  19. data/docs/CreateAdminTimeOffRequest.md +19 -0
  20. data/docs/CreateAgentTimeOffRequest.md +17 -0
  21. data/docs/CreateAsgRequest.md +1 -1
  22. data/docs/CreateManagementUnitApiRequest.md +17 -0
  23. data/docs/CreateManagementUnitSettings.md +16 -0
  24. data/docs/CreateQueueMediaAssociationRequest.md +14 -0
  25. data/docs/CreateServiceGoalGroupRequest.md +15 -0
  26. data/docs/CreateWorkPlan.md +26 -0
  27. data/docs/CreateWorkPlanActivity.md +23 -0
  28. data/docs/CreateWorkPlanShift.md +29 -0
  29. data/docs/CurrentUserScheduleRequestBody.md +14 -0
  30. data/docs/DateRange.md +14 -0
  31. data/docs/DeletableUserReference.md +15 -0
  32. data/docs/EmailMediaPolicyConditions.md +1 -0
  33. data/docs/ExternalContact.md +3 -1
  34. data/docs/ExternalOrganization.md +1 -1
  35. data/docs/FacebookId.md +14 -0
  36. data/docs/FacebookScopedId.md +13 -0
  37. data/docs/FlowOutcomeNotificationNotification.md +16 -0
  38. data/docs/FlowOutcomeNotificationNotificationArchitectOperation.md +21 -0
  39. data/docs/FlowOutcomeNotificationNotificationErrorDetail.md +16 -0
  40. data/docs/FlowOutcomeNotificationNotificationErrorMessageParams.md +13 -0
  41. data/docs/{SurveyFormUriReference.md → FlowOutcomeNotificationNotificationHomeOrganization.md} +3 -4
  42. data/docs/FlowOutcomeNotificationNotificationUser.md +15 -0
  43. data/docs/ForecastGenerationResult.md +13 -0
  44. data/docs/ForecastGenerationRouteGroupResult.md +14 -0
  45. data/docs/ForecastResultResponse.md +14 -0
  46. data/docs/ForecastSourceDayPointer.md +17 -0
  47. data/docs/ForecastTimeSeriesResult.md +14 -0
  48. data/docs/GenerateShortTermForecastRequest.md +13 -0
  49. data/docs/GenerateShortTermForecastResponse.md +16 -0
  50. data/docs/GenerateWeekScheduleRequest.md +14 -0
  51. data/docs/GenerateWeekScheduleResponse.md +15 -0
  52. data/docs/GroupsApi.md +2 -0
  53. data/docs/HeadcountForecastResponse.md +14 -0
  54. data/docs/HeadcountIntervalResponse.md +14 -0
  55. data/docs/ImportShortTermForecastRequest.md +16 -0
  56. data/docs/ImportWeekScheduleRequest.md +17 -0
  57. data/docs/IntradayDataUpdateNotificationDateTime.md +1 -1
  58. data/docs/IntradayDataUpdateNotificationStartDate.md +1 -1
  59. data/docs/JsonNode.md +1 -1
  60. data/docs/LanguageReference.md +14 -0
  61. data/docs/LineId.md +14 -0
  62. data/docs/LineUserId.md +13 -0
  63. data/docs/ListWrapperForecastSourceDayPointer.md +13 -0
  64. data/docs/ListWrapperShiftStartVariance.md +13 -0
  65. data/docs/ListWrapperWfmForecastModification.md +13 -0
  66. data/docs/MessageConversationNotificationMessageDetails.md +1 -0
  67. data/docs/MessageConversationNotificationMessageMedia.md +3 -0
  68. data/docs/MessageConversationNotificationMessageSticker.md +14 -0
  69. data/docs/MessageConversationNotificationMessages.md +1 -0
  70. data/docs/MessageMediaPolicyConditions.md +1 -0
  71. data/docs/OrgUser.md +1 -0
  72. data/docs/OutboundApi.md +70 -0
  73. data/docs/PartialUploadResponse.md +13 -0
  74. data/docs/PatchUser.md +0 -1
  75. data/docs/PublishedSurveyFormReference.md +16 -0
  76. data/docs/QueryDivision.md +12 -0
  77. data/docs/QueueMediaAssociation.md +16 -0
  78. data/docs/QueueReference.md +14 -0
  79. data/docs/RecordingMessagingMessage.md +1 -0
  80. data/docs/RouteGroup.md +18 -0
  81. data/docs/RouteGroupAttributes.md +16 -0
  82. data/docs/RouteGroupList.md +14 -0
  83. data/docs/RoutingApi.md +8 -8
  84. data/docs/RoutingSkillReference.md +14 -0
  85. data/docs/ScheduleGenerationWarning.md +20 -0
  86. data/docs/SchedulingRunListResponse.md +13 -0
  87. data/docs/SchedulingRunResponse.md +22 -0
  88. data/docs/ServiceGoalGroup.md +18 -0
  89. data/docs/ServiceGoalGroupGoals.md +14 -0
  90. data/docs/ServiceGoalGroupList.md +14 -0
  91. data/docs/SetWrapperDayOfWeek.md +13 -0
  92. data/docs/ShiftStartVariance.md +14 -0
  93. data/docs/ShortTermForecast.md +22 -0
  94. data/docs/ShortTermForecastListItemResponse.md +18 -0
  95. data/docs/ShortTermForecastListResponse.md +13 -0
  96. data/docs/ShortTermForecastReference.md +16 -0
  97. data/docs/ShortTermForecastResponse.md +15 -0
  98. data/docs/SurveyAssignment.md +3 -1
  99. data/docs/SurveyForm.md +1 -0
  100. data/docs/TimeOffRequestEntityList.md +13 -0
  101. data/docs/TimeOffRequestLookup.md +15 -0
  102. data/docs/TimeOffRequestLookupList.md +13 -0
  103. data/docs/TimeOffRequestQueryBody.md +15 -0
  104. data/docs/TrustUser.md +1 -0
  105. data/docs/TrusteeAuthorization.md +13 -0
  106. data/docs/Trustor.md +1 -0
  107. data/docs/UpdateActivityCodeRequest.md +19 -0
  108. data/docs/UpdateWeekScheduleRequest.md +18 -0
  109. data/docs/User.md +1 -0
  110. data/docs/UserMe.md +1 -0
  111. data/docs/UserScheduleAdherenceUpdateNotificationDateTime.md +1 -1
  112. data/docs/UserSchedulesPartialUploadRequest.md +13 -0
  113. data/docs/UsersApi.md +5 -6
  114. data/docs/ViewFilter.md +4 -0
  115. data/docs/WeekSchedule.md +23 -0
  116. data/docs/WeekScheduleGenerationResult.md +16 -0
  117. data/docs/WeekScheduleListItemResponse.md +20 -0
  118. data/docs/WeekScheduleListResponse.md +13 -0
  119. data/docs/WeekScheduleResponse.md +14 -0
  120. data/docs/WfmAgent.md +22 -0
  121. data/docs/WfmAverageSpeedOfAnswer.md +14 -0
  122. data/docs/WfmForecastModification.md +20 -0
  123. data/docs/WfmForecastModificationAttributes.md +16 -0
  124. data/docs/WfmForecastModificationIntervalOffsetValue.md +14 -0
  125. data/docs/WfmHistoricalAdherenceQuery.md +1 -1
  126. data/docs/WfmHistoricalAdherenceQueryForUsers.md +17 -0
  127. data/docs/WfmServiceLevel.md +15 -0
  128. data/docs/WfmTimeZone.md +13 -0
  129. data/docs/WorkPlan.md +29 -0
  130. data/docs/WorkPlanActivity.md +25 -0
  131. data/docs/WorkPlanListItemResponse.md +21 -0
  132. data/docs/WorkPlanListResponse.md +13 -0
  133. data/docs/WorkPlanReference.md +13 -0
  134. data/docs/WorkPlanShift.md +31 -0
  135. data/docs/WorkforceManagementApi.md +3557 -187
  136. data/lib/purecloudplatformclientv2.rb +96 -1
  137. data/lib/purecloudplatformclientv2/api/outbound_api.rb +83 -0
  138. data/lib/purecloudplatformclientv2/api/routing_api.rb +8 -8
  139. data/lib/purecloudplatformclientv2/api/users_api.rb +8 -6
  140. data/lib/purecloudplatformclientv2/api/workforce_management_api.rb +3993 -288
  141. data/lib/purecloudplatformclientv2/api_client.rb +1 -1
  142. data/lib/purecloudplatformclientv2/models/agent_time_off_request_patch.rb +268 -0
  143. data/lib/purecloudplatformclientv2/models/aggregate_metric_data.rb +2 -2
  144. data/lib/purecloudplatformclientv2/models/analytics_query_predicate.rb +2 -2
  145. data/lib/purecloudplatformclientv2/models/asg_info_response.rb +2 -2
  146. data/lib/purecloudplatformclientv2/models/async_week_schedule_response.rb +294 -0
  147. data/lib/purecloudplatformclientv2/models/call_media_policy_conditions.rb +28 -1
  148. data/lib/purecloudplatformclientv2/models/campaign_notification.rb +26 -1
  149. data/lib/purecloudplatformclientv2/models/chat_media_policy_conditions.rb +28 -1
  150. data/lib/purecloudplatformclientv2/models/conversation_notification_media.rb +79 -4
  151. data/lib/purecloudplatformclientv2/models/conversation_notification_message.rb +2 -2
  152. data/lib/purecloudplatformclientv2/models/conversation_notification_message_details.rb +31 -4
  153. data/lib/purecloudplatformclientv2/models/conversation_notification_message_media.rb +79 -4
  154. data/lib/purecloudplatformclientv2/models/conversation_notification_message_sticker.rb +226 -0
  155. data/lib/purecloudplatformclientv2/models/conversation_notification_messages.rb +31 -4
  156. data/lib/purecloudplatformclientv2/models/conversation_notification_messages_1.rb +2 -2
  157. data/lib/purecloudplatformclientv2/models/conversation_notification_stickers.rb +226 -0
  158. data/lib/purecloudplatformclientv2/models/copy_short_term_forecast_request.rb +239 -0
  159. data/lib/purecloudplatformclientv2/models/copy_week_schedule_request.rb +238 -0
  160. data/lib/purecloudplatformclientv2/models/copy_work_plan.rb +208 -0
  161. data/lib/purecloudplatformclientv2/models/create_admin_time_off_request.rb +398 -0
  162. data/lib/purecloudplatformclientv2/models/create_agent_time_off_request.rb +320 -0
  163. data/lib/purecloudplatformclientv2/models/create_asg_request.rb +1 -1
  164. data/lib/purecloudplatformclientv2/models/create_management_unit_api_request.rb +336 -0
  165. data/lib/purecloudplatformclientv2/models/create_management_unit_settings.rb +281 -0
  166. data/lib/purecloudplatformclientv2/models/create_queue_media_association_request.rb +231 -0
  167. data/lib/purecloudplatformclientv2/models/create_service_goal_group_request.rb +262 -0
  168. data/lib/purecloudplatformclientv2/models/create_work_plan.rb +550 -0
  169. data/lib/purecloudplatformclientv2/models/create_work_plan_activity.rb +463 -0
  170. data/lib/purecloudplatformclientv2/models/create_work_plan_shift.rb +626 -0
  171. data/lib/purecloudplatformclientv2/models/current_user_schedule_request_body.rb +239 -0
  172. data/lib/purecloudplatformclientv2/models/data_export_notification_notification.rb +2 -2
  173. data/lib/purecloudplatformclientv2/models/date_range.rb +228 -0
  174. data/lib/purecloudplatformclientv2/models/deletable_user_reference.rb +255 -0
  175. data/lib/purecloudplatformclientv2/models/email_media_policy_conditions.rb +28 -1
  176. data/lib/purecloudplatformclientv2/models/external_contact.rb +52 -2
  177. data/lib/purecloudplatformclientv2/models/external_organization.rb +1 -1
  178. data/lib/purecloudplatformclientv2/models/facebook_id.rb +231 -0
  179. data/lib/purecloudplatformclientv2/models/facebook_scoped_id.rb +203 -0
  180. data/lib/purecloudplatformclientv2/models/flow_notification_notification_architect_operation.rb +2 -2
  181. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification.rb +276 -0
  182. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification_architect_operation.rb +431 -0
  183. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification_error_detail.rb +276 -0
  184. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification_error_message_params.rb +203 -0
  185. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification_home_organization.rb +251 -0
  186. data/lib/purecloudplatformclientv2/models/flow_outcome_notification_notification_user.rb +251 -0
  187. data/lib/purecloudplatformclientv2/models/forecast_generation_result.rb +204 -0
  188. data/lib/purecloudplatformclientv2/models/forecast_generation_route_group_result.rb +230 -0
  189. data/lib/purecloudplatformclientv2/models/forecast_result_response.rb +228 -0
  190. data/lib/purecloudplatformclientv2/models/forecast_source_day_pointer.rb +321 -0
  191. data/lib/purecloudplatformclientv2/models/forecast_time_series_result.rb +256 -0
  192. data/lib/purecloudplatformclientv2/models/generate_short_term_forecast_request.rb +207 -0
  193. data/lib/purecloudplatformclientv2/models/generate_short_term_forecast_response.rb +294 -0
  194. data/lib/purecloudplatformclientv2/models/generate_week_schedule_request.rb +239 -0
  195. data/lib/purecloudplatformclientv2/models/generate_week_schedule_response.rb +268 -0
  196. data/lib/purecloudplatformclientv2/models/headcount_forecast_response.rb +233 -0
  197. data/lib/purecloudplatformclientv2/models/headcount_interval_response.rb +229 -0
  198. data/lib/purecloudplatformclientv2/models/import_short_term_forecast_request.rb +293 -0
  199. data/lib/purecloudplatformclientv2/models/import_week_schedule_request.rb +316 -0
  200. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_date_time.rb +17 -17
  201. data/lib/purecloudplatformclientv2/models/intraday_data_update_notification_start_date.rb +17 -17
  202. data/lib/purecloudplatformclientv2/models/json_node.rb +17 -17
  203. data/lib/purecloudplatformclientv2/models/language_reference.rb +228 -0
  204. data/lib/purecloudplatformclientv2/models/line_id.rb +231 -0
  205. data/lib/purecloudplatformclientv2/models/line_user_id.rb +203 -0
  206. data/lib/purecloudplatformclientv2/models/list_wrapper_forecast_source_day_pointer.rb +203 -0
  207. data/lib/purecloudplatformclientv2/models/list_wrapper_shift_start_variance.rb +203 -0
  208. data/lib/purecloudplatformclientv2/models/list_wrapper_wfm_forecast_modification.rb +203 -0
  209. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_details.rb +31 -4
  210. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_media.rb +79 -4
  211. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_media_participant.rb +2 -2
  212. data/lib/purecloudplatformclientv2/models/message_conversation_notification_message_sticker.rb +226 -0
  213. data/lib/purecloudplatformclientv2/models/message_conversation_notification_messages.rb +31 -4
  214. data/lib/purecloudplatformclientv2/models/message_conversation_notification_participants.rb +2 -2
  215. data/lib/purecloudplatformclientv2/models/message_media_policy_conditions.rb +28 -1
  216. data/lib/purecloudplatformclientv2/models/org_user.rb +27 -1
  217. data/lib/purecloudplatformclientv2/models/partial_upload_response.rb +202 -0
  218. data/lib/purecloudplatformclientv2/models/patch_user.rb +1 -26
  219. data/lib/purecloudplatformclientv2/models/prompt_notification_notification_architect_operation.rb +2 -2
  220. data/lib/purecloudplatformclientv2/models/prompt_notification_notification_current_operation.rb +2 -2
  221. data/lib/purecloudplatformclientv2/models/{survey_form_uri_reference.rb → published_survey_form_reference.rb} +16 -14
  222. data/lib/purecloudplatformclientv2/models/query_division.rb +176 -0
  223. data/lib/purecloudplatformclientv2/models/queue_media_association.rb +283 -0
  224. data/lib/purecloudplatformclientv2/models/queue_reference.rb +228 -0
  225. data/lib/purecloudplatformclientv2/models/recording_messaging_message.rb +26 -1
  226. data/lib/purecloudplatformclientv2/models/reporting_export_job_request.rb +2 -2
  227. data/lib/purecloudplatformclientv2/models/reporting_export_job_response.rb +2 -2
  228. data/lib/purecloudplatformclientv2/models/route_group.rb +363 -0
  229. data/lib/purecloudplatformclientv2/models/route_group_attributes.rb +307 -0
  230. data/lib/purecloudplatformclientv2/models/route_group_list.rb +235 -0
  231. data/lib/purecloudplatformclientv2/models/routing_skill_reference.rb +228 -0
  232. data/lib/purecloudplatformclientv2/models/schedule_generation_warning.rb +389 -0
  233. data/lib/purecloudplatformclientv2/models/scheduling_run_list_response.rb +203 -0
  234. data/lib/purecloudplatformclientv2/models/scheduling_run_response.rb +451 -0
  235. data/lib/purecloudplatformclientv2/models/service_goal_group.rb +339 -0
  236. data/lib/purecloudplatformclientv2/models/service_goal_group_goals.rb +239 -0
  237. data/lib/purecloudplatformclientv2/models/service_goal_group_list.rb +230 -0
  238. data/lib/purecloudplatformclientv2/models/set_wrapper_day_of_week.rb +203 -0
  239. data/lib/purecloudplatformclientv2/models/shift_start_variance.rb +241 -0
  240. data/lib/purecloudplatformclientv2/models/short_term_forecast.rb +466 -0
  241. data/lib/purecloudplatformclientv2/models/short_term_forecast_list_item_response.rb +362 -0
  242. data/lib/purecloudplatformclientv2/models/short_term_forecast_list_response.rb +203 -0
  243. data/lib/purecloudplatformclientv2/models/short_term_forecast_reference.rb +291 -0
  244. data/lib/purecloudplatformclientv2/models/short_term_forecast_response.rb +268 -0
  245. data/lib/purecloudplatformclientv2/models/survey_assignment.rb +62 -5
  246. data/lib/purecloudplatformclientv2/models/survey_form.rb +32 -1
  247. data/lib/purecloudplatformclientv2/models/time_off_request_entity_list.rb +203 -0
  248. data/lib/purecloudplatformclientv2/models/time_off_request_lookup.rb +264 -0
  249. data/lib/purecloudplatformclientv2/models/time_off_request_lookup_list.rb +209 -0
  250. data/lib/purecloudplatformclientv2/models/time_off_request_query_body.rb +258 -0
  251. data/lib/purecloudplatformclientv2/models/trust_user.rb +27 -1
  252. data/lib/purecloudplatformclientv2/models/trustee_authorization.rb +204 -0
  253. data/lib/purecloudplatformclientv2/models/trustor.rb +27 -1
  254. data/lib/purecloudplatformclientv2/models/update_activity_code_request.rb +378 -0
  255. data/lib/purecloudplatformclientv2/models/update_week_schedule_request.rb +346 -0
  256. data/lib/purecloudplatformclientv2/models/user.rb +27 -1
  257. data/lib/purecloudplatformclientv2/models/user_me.rb +27 -1
  258. data/lib/purecloudplatformclientv2/models/user_schedule_adherence_update_notification_date_time.rb +17 -17
  259. data/lib/purecloudplatformclientv2/models/user_schedules_partial_upload_request.rb +210 -0
  260. data/lib/purecloudplatformclientv2/models/view_filter.rb +112 -4
  261. data/lib/purecloudplatformclientv2/models/week_schedule.rb +465 -0
  262. data/lib/purecloudplatformclientv2/models/week_schedule_generation_result.rb +282 -0
  263. data/lib/purecloudplatformclientv2/models/week_schedule_list_item_response.rb +384 -0
  264. data/lib/purecloudplatformclientv2/models/week_schedule_list_response.rb +204 -0
  265. data/lib/purecloudplatformclientv2/models/week_schedule_response.rb +229 -0
  266. data/lib/purecloudplatformclientv2/models/wfm_agent.rb +443 -0
  267. data/lib/purecloudplatformclientv2/models/wfm_average_speed_of_answer.rb +234 -0
  268. data/lib/purecloudplatformclientv2/models/wfm_forecast_modification.rb +435 -0
  269. data/lib/purecloudplatformclientv2/models/wfm_forecast_modification_attributes.rb +288 -0
  270. data/lib/purecloudplatformclientv2/models/wfm_forecast_modification_interval_offset_value.rb +239 -0
  271. data/lib/purecloudplatformclientv2/models/wfm_historical_adherence_query.rb +1 -1
  272. data/lib/purecloudplatformclientv2/models/wfm_historical_adherence_query_for_users.rb +324 -0
  273. data/lib/purecloudplatformclientv2/models/wfm_service_level.rb +260 -0
  274. data/lib/purecloudplatformclientv2/models/wfm_time_zone.rb +203 -0
  275. data/lib/purecloudplatformclientv2/models/work_plan.rb +627 -0
  276. data/lib/purecloudplatformclientv2/models/work_plan_activity.rb +515 -0
  277. data/lib/purecloudplatformclientv2/models/work_plan_list_item_response.rb +410 -0
  278. data/lib/purecloudplatformclientv2/models/work_plan_list_response.rb +203 -0
  279. data/lib/purecloudplatformclientv2/models/work_plan_reference.rb +207 -0
  280. data/lib/purecloudplatformclientv2/models/work_plan_shift.rb +678 -0
  281. data/lib/purecloudplatformclientv2/version.rb +1 -1
  282. metadata +194 -4
@@ -0,0 +1,262 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # Service Goal Group
21
+ class CreateServiceGoalGroupRequest
22
+ # name
23
+ attr_accessor :name
24
+
25
+ # Goals defined for this service goal group
26
+ attr_accessor :goals
27
+
28
+ # List of queues and media types from that queue to associate with this service goal group
29
+ attr_accessor :queue_media_associations
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+
35
+ :'name' => :'name',
36
+
37
+ :'goals' => :'goals',
38
+
39
+ :'queue_media_associations' => :'queueMediaAssociations'
40
+
41
+ }
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.swagger_types
46
+ {
47
+
48
+ :'name' => :'String',
49
+
50
+ :'goals' => :'ServiceGoalGroupGoals',
51
+
52
+ :'queue_media_associations' => :'Array<CreateQueueMediaAssociationRequest>'
53
+
54
+ }
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ return unless attributes.is_a?(Hash)
61
+
62
+ # convert string to symbol for hash key
63
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
64
+
65
+
66
+ if attributes.has_key?(:'name')
67
+
68
+
69
+ self.name = attributes[:'name']
70
+
71
+
72
+ end
73
+
74
+
75
+ if attributes.has_key?(:'goals')
76
+
77
+
78
+ self.goals = attributes[:'goals']
79
+
80
+
81
+ end
82
+
83
+
84
+ if attributes.has_key?(:'queueMediaAssociations')
85
+
86
+ if (value = attributes[:'queueMediaAssociations']).is_a?(Array)
87
+ self.queue_media_associations = value
88
+ end
89
+
90
+
91
+
92
+ end
93
+
94
+
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properies with the reasons
99
+ def list_invalid_properties
100
+ invalid_properties = Array.new
101
+
102
+
103
+ return invalid_properties
104
+ end
105
+
106
+ # Check to see if the all the properties in the model are valid
107
+ # @return true if the model is valid
108
+ def valid?
109
+
110
+
111
+ if @name.nil?
112
+ return false
113
+ end
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ end
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ # Checks equality by comparing each attribute.
146
+ # @param [Object] Object to be compared
147
+ def ==(o)
148
+ return true if self.equal?(o)
149
+ self.class == o.class &&
150
+ name == o.name &&
151
+ goals == o.goals &&
152
+ queue_media_associations == o.queue_media_associations
153
+ end
154
+
155
+ # @see the `==` method
156
+ # @param [Object] Object to be compared
157
+ def eql?(o)
158
+ self == o
159
+ end
160
+
161
+ # Calculates hash code according to all attributes.
162
+ # @return [Fixnum] Hash code
163
+ def hash
164
+ [name, goals, queue_media_associations].hash
165
+ end
166
+
167
+ # build the object from hash
168
+ def build_from_hash(attributes)
169
+ return nil unless attributes.is_a?(Hash)
170
+ self.class.swagger_types.each_pair do |key, type|
171
+ if type =~ /^Array<(.*)>/i
172
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
173
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
174
+ else
175
+ #TODO show warning in debug mode
176
+ end
177
+ elsif !attributes[self.class.attribute_map[key]].nil?
178
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
179
+ else
180
+ # data not found in attributes(hash), not an issue as the data can be optional
181
+ end
182
+ end
183
+
184
+ self
185
+ end
186
+
187
+ def _deserialize(type, value)
188
+ case type.to_sym
189
+ when :DateTime
190
+ DateTime.parse(value)
191
+ when :Date
192
+ Date.parse(value)
193
+ when :String
194
+ value.to_s
195
+ when :Integer
196
+ value.to_i
197
+ when :Float
198
+ value.to_f
199
+ when :BOOLEAN
200
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
201
+ true
202
+ else
203
+ false
204
+ end
205
+ when :Object
206
+ # generic object (usually a Hash), return directly
207
+ value
208
+ when /\AArray<(?<inner_type>.+)>\z/
209
+ inner_type = Regexp.last_match[:inner_type]
210
+ value.map { |v| _deserialize(inner_type, v) }
211
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
212
+ k_type = Regexp.last_match[:k_type]
213
+ v_type = Regexp.last_match[:v_type]
214
+ {}.tap do |hash|
215
+ value.each do |k, v|
216
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
217
+ end
218
+ end
219
+ else # model
220
+ _model = Object.const_get("PureCloud").const_get(type).new
221
+ _model.build_from_hash(value)
222
+ end
223
+ end
224
+
225
+ def to_s
226
+ to_hash.to_s
227
+ end
228
+
229
+ # to_body is an alias to to_body (backward compatibility))
230
+ def to_body
231
+ to_hash
232
+ end
233
+
234
+ # return the object in the form of hash
235
+ def to_hash
236
+ hash = {}
237
+ self.class.attribute_map.each_pair do |attr, param|
238
+ value = self.send(attr)
239
+ next if value.nil?
240
+ hash[param] = _to_hash(value)
241
+ end
242
+ hash
243
+ end
244
+
245
+ # Method to output non-array value in the form of hash
246
+ # For object, use to_hash. Otherwise, just return the value
247
+ def _to_hash(value)
248
+ if value.is_a?(Array)
249
+ value.compact.map{ |v| _to_hash(v) }
250
+ elsif value.is_a?(Hash)
251
+ {}.tap do |hash|
252
+ value.each { |k, v| hash[k] = _to_hash(v) }
253
+ end
254
+ elsif value.respond_to? :to_hash
255
+ value.to_hash
256
+ else
257
+ value
258
+ end
259
+ end
260
+
261
+ end
262
+ end
@@ -0,0 +1,550 @@
1
+ =begin
2
+ PureCloud Platform API
3
+
4
+ With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
5
+
6
+ OpenAPI spec version: v2
7
+ Contact: DeveloperEvangelists@genesys.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ License: ININ
11
+ http://www.inin.com
12
+
13
+ Terms of Service: https://developer.mypurecloud.com/tos
14
+
15
+ =end
16
+
17
+ require 'date'
18
+
19
+ module PureCloud
20
+ # Work plan information
21
+ class CreateWorkPlan
22
+ # Name of this work plan
23
+ attr_accessor :name
24
+
25
+ # Whether the work plan is enabled for scheduling
26
+ attr_accessor :enabled
27
+
28
+ # Whether the weekly paid time constraint is enabled for this work plan
29
+ attr_accessor :constrain_weekly_paid_time
30
+
31
+ # Whether the weekly paid time constraint is flexible for this work plan
32
+ attr_accessor :flexible_weekly_paid_time
33
+
34
+ # Exact weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == false
35
+ attr_accessor :weekly_exact_paid_minutes
36
+
37
+ # Minimum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true
38
+ attr_accessor :weekly_minimum_paid_minutes
39
+
40
+ # Maximum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true
41
+ attr_accessor :weekly_maximum_paid_minutes
42
+
43
+ # Whether the minimum time between shifts constraint is enabled for this work plan
44
+ attr_accessor :constrain_minimum_time_between_shifts
45
+
46
+ # Minimum time between shifts in minutes defined in this work plan. Used if constrainMinimumTimeBetweenShifts == true
47
+ attr_accessor :minimum_time_between_shifts_minutes
48
+
49
+ # Maximum number days in a week allowed to be scheduled for this work plan
50
+ attr_accessor :maximum_days
51
+
52
+ # Optional days to schedule for this work plan
53
+ attr_accessor :optional_days
54
+
55
+ # Variance in minutes among start times of shifts in this work plan
56
+ attr_accessor :shift_start_variances
57
+
58
+ # Shifts in this work plan
59
+ attr_accessor :shifts
60
+
61
+ # Agents in this work plan
62
+ attr_accessor :agents
63
+
64
+ # Attribute mapping from ruby-style variable name to JSON key.
65
+ def self.attribute_map
66
+ {
67
+
68
+ :'name' => :'name',
69
+
70
+ :'enabled' => :'enabled',
71
+
72
+ :'constrain_weekly_paid_time' => :'constrainWeeklyPaidTime',
73
+
74
+ :'flexible_weekly_paid_time' => :'flexibleWeeklyPaidTime',
75
+
76
+ :'weekly_exact_paid_minutes' => :'weeklyExactPaidMinutes',
77
+
78
+ :'weekly_minimum_paid_minutes' => :'weeklyMinimumPaidMinutes',
79
+
80
+ :'weekly_maximum_paid_minutes' => :'weeklyMaximumPaidMinutes',
81
+
82
+ :'constrain_minimum_time_between_shifts' => :'constrainMinimumTimeBetweenShifts',
83
+
84
+ :'minimum_time_between_shifts_minutes' => :'minimumTimeBetweenShiftsMinutes',
85
+
86
+ :'maximum_days' => :'maximumDays',
87
+
88
+ :'optional_days' => :'optionalDays',
89
+
90
+ :'shift_start_variances' => :'shiftStartVariances',
91
+
92
+ :'shifts' => :'shifts',
93
+
94
+ :'agents' => :'agents'
95
+
96
+ }
97
+ end
98
+
99
+ # Attribute type mapping.
100
+ def self.swagger_types
101
+ {
102
+
103
+ :'name' => :'String',
104
+
105
+ :'enabled' => :'BOOLEAN',
106
+
107
+ :'constrain_weekly_paid_time' => :'BOOLEAN',
108
+
109
+ :'flexible_weekly_paid_time' => :'BOOLEAN',
110
+
111
+ :'weekly_exact_paid_minutes' => :'Integer',
112
+
113
+ :'weekly_minimum_paid_minutes' => :'Integer',
114
+
115
+ :'weekly_maximum_paid_minutes' => :'Integer',
116
+
117
+ :'constrain_minimum_time_between_shifts' => :'BOOLEAN',
118
+
119
+ :'minimum_time_between_shifts_minutes' => :'Integer',
120
+
121
+ :'maximum_days' => :'Integer',
122
+
123
+ :'optional_days' => :'SetWrapperDayOfWeek',
124
+
125
+ :'shift_start_variances' => :'ListWrapperShiftStartVariance',
126
+
127
+ :'shifts' => :'Array<CreateWorkPlanShift>',
128
+
129
+ :'agents' => :'Array<UserReference>'
130
+
131
+ }
132
+ end
133
+
134
+ # Initializes the object
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ def initialize(attributes = {})
137
+ return unless attributes.is_a?(Hash)
138
+
139
+ # convert string to symbol for hash key
140
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
141
+
142
+
143
+ if attributes.has_key?(:'name')
144
+
145
+
146
+ self.name = attributes[:'name']
147
+
148
+
149
+ end
150
+
151
+
152
+ if attributes.has_key?(:'enabled')
153
+
154
+
155
+ self.enabled = attributes[:'enabled']
156
+
157
+
158
+ end
159
+
160
+
161
+ if attributes.has_key?(:'constrainWeeklyPaidTime')
162
+
163
+
164
+ self.constrain_weekly_paid_time = attributes[:'constrainWeeklyPaidTime']
165
+
166
+
167
+ end
168
+
169
+
170
+ if attributes.has_key?(:'flexibleWeeklyPaidTime')
171
+
172
+
173
+ self.flexible_weekly_paid_time = attributes[:'flexibleWeeklyPaidTime']
174
+
175
+
176
+ end
177
+
178
+
179
+ if attributes.has_key?(:'weeklyExactPaidMinutes')
180
+
181
+
182
+ self.weekly_exact_paid_minutes = attributes[:'weeklyExactPaidMinutes']
183
+
184
+
185
+ end
186
+
187
+
188
+ if attributes.has_key?(:'weeklyMinimumPaidMinutes')
189
+
190
+
191
+ self.weekly_minimum_paid_minutes = attributes[:'weeklyMinimumPaidMinutes']
192
+
193
+
194
+ end
195
+
196
+
197
+ if attributes.has_key?(:'weeklyMaximumPaidMinutes')
198
+
199
+
200
+ self.weekly_maximum_paid_minutes = attributes[:'weeklyMaximumPaidMinutes']
201
+
202
+
203
+ end
204
+
205
+
206
+ if attributes.has_key?(:'constrainMinimumTimeBetweenShifts')
207
+
208
+
209
+ self.constrain_minimum_time_between_shifts = attributes[:'constrainMinimumTimeBetweenShifts']
210
+
211
+
212
+ end
213
+
214
+
215
+ if attributes.has_key?(:'minimumTimeBetweenShiftsMinutes')
216
+
217
+
218
+ self.minimum_time_between_shifts_minutes = attributes[:'minimumTimeBetweenShiftsMinutes']
219
+
220
+
221
+ end
222
+
223
+
224
+ if attributes.has_key?(:'maximumDays')
225
+
226
+
227
+ self.maximum_days = attributes[:'maximumDays']
228
+
229
+
230
+ end
231
+
232
+
233
+ if attributes.has_key?(:'optionalDays')
234
+
235
+
236
+ self.optional_days = attributes[:'optionalDays']
237
+
238
+
239
+ end
240
+
241
+
242
+ if attributes.has_key?(:'shiftStartVariances')
243
+
244
+
245
+ self.shift_start_variances = attributes[:'shiftStartVariances']
246
+
247
+
248
+ end
249
+
250
+
251
+ if attributes.has_key?(:'shifts')
252
+
253
+ if (value = attributes[:'shifts']).is_a?(Array)
254
+ self.shifts = value
255
+ end
256
+
257
+
258
+
259
+ end
260
+
261
+
262
+ if attributes.has_key?(:'agents')
263
+
264
+ if (value = attributes[:'agents']).is_a?(Array)
265
+ self.agents = value
266
+ end
267
+
268
+
269
+
270
+ end
271
+
272
+
273
+ end
274
+
275
+ # Show invalid properties with the reasons. Usually used together with valid?
276
+ # @return Array for valid properies with the reasons
277
+ def list_invalid_properties
278
+ invalid_properties = Array.new
279
+
280
+
281
+ return invalid_properties
282
+ end
283
+
284
+ # Check to see if the all the properties in the model are valid
285
+ # @return true if the model is valid
286
+ def valid?
287
+
288
+
289
+ if @name.nil?
290
+ return false
291
+ end
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+ end
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+ # Checks equality by comparing each attribute.
423
+ # @param [Object] Object to be compared
424
+ def ==(o)
425
+ return true if self.equal?(o)
426
+ self.class == o.class &&
427
+ name == o.name &&
428
+ enabled == o.enabled &&
429
+ constrain_weekly_paid_time == o.constrain_weekly_paid_time &&
430
+ flexible_weekly_paid_time == o.flexible_weekly_paid_time &&
431
+ weekly_exact_paid_minutes == o.weekly_exact_paid_minutes &&
432
+ weekly_minimum_paid_minutes == o.weekly_minimum_paid_minutes &&
433
+ weekly_maximum_paid_minutes == o.weekly_maximum_paid_minutes &&
434
+ constrain_minimum_time_between_shifts == o.constrain_minimum_time_between_shifts &&
435
+ minimum_time_between_shifts_minutes == o.minimum_time_between_shifts_minutes &&
436
+ maximum_days == o.maximum_days &&
437
+ optional_days == o.optional_days &&
438
+ shift_start_variances == o.shift_start_variances &&
439
+ shifts == o.shifts &&
440
+ agents == o.agents
441
+ end
442
+
443
+ # @see the `==` method
444
+ # @param [Object] Object to be compared
445
+ def eql?(o)
446
+ self == o
447
+ end
448
+
449
+ # Calculates hash code according to all attributes.
450
+ # @return [Fixnum] Hash code
451
+ def hash
452
+ [name, enabled, constrain_weekly_paid_time, flexible_weekly_paid_time, weekly_exact_paid_minutes, weekly_minimum_paid_minutes, weekly_maximum_paid_minutes, constrain_minimum_time_between_shifts, minimum_time_between_shifts_minutes, maximum_days, optional_days, shift_start_variances, shifts, agents].hash
453
+ end
454
+
455
+ # build the object from hash
456
+ def build_from_hash(attributes)
457
+ return nil unless attributes.is_a?(Hash)
458
+ self.class.swagger_types.each_pair do |key, type|
459
+ if type =~ /^Array<(.*)>/i
460
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
461
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
462
+ else
463
+ #TODO show warning in debug mode
464
+ end
465
+ elsif !attributes[self.class.attribute_map[key]].nil?
466
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
467
+ else
468
+ # data not found in attributes(hash), not an issue as the data can be optional
469
+ end
470
+ end
471
+
472
+ self
473
+ end
474
+
475
+ def _deserialize(type, value)
476
+ case type.to_sym
477
+ when :DateTime
478
+ DateTime.parse(value)
479
+ when :Date
480
+ Date.parse(value)
481
+ when :String
482
+ value.to_s
483
+ when :Integer
484
+ value.to_i
485
+ when :Float
486
+ value.to_f
487
+ when :BOOLEAN
488
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
489
+ true
490
+ else
491
+ false
492
+ end
493
+ when :Object
494
+ # generic object (usually a Hash), return directly
495
+ value
496
+ when /\AArray<(?<inner_type>.+)>\z/
497
+ inner_type = Regexp.last_match[:inner_type]
498
+ value.map { |v| _deserialize(inner_type, v) }
499
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
500
+ k_type = Regexp.last_match[:k_type]
501
+ v_type = Regexp.last_match[:v_type]
502
+ {}.tap do |hash|
503
+ value.each do |k, v|
504
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
505
+ end
506
+ end
507
+ else # model
508
+ _model = Object.const_get("PureCloud").const_get(type).new
509
+ _model.build_from_hash(value)
510
+ end
511
+ end
512
+
513
+ def to_s
514
+ to_hash.to_s
515
+ end
516
+
517
+ # to_body is an alias to to_body (backward compatibility))
518
+ def to_body
519
+ to_hash
520
+ end
521
+
522
+ # return the object in the form of hash
523
+ def to_hash
524
+ hash = {}
525
+ self.class.attribute_map.each_pair do |attr, param|
526
+ value = self.send(attr)
527
+ next if value.nil?
528
+ hash[param] = _to_hash(value)
529
+ end
530
+ hash
531
+ end
532
+
533
+ # Method to output non-array value in the form of hash
534
+ # For object, use to_hash. Otherwise, just return the value
535
+ def _to_hash(value)
536
+ if value.is_a?(Array)
537
+ value.compact.map{ |v| _to_hash(v) }
538
+ elsif value.is_a?(Hash)
539
+ {}.tap do |hash|
540
+ value.each { |k, v| hash[k] = _to_hash(v) }
541
+ end
542
+ elsif value.respond_to? :to_hash
543
+ value.to_hash
544
+ else
545
+ value
546
+ end
547
+ end
548
+
549
+ end
550
+ end