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,203 @@
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
+ # Workforce management time zone
21
+ class WfmTimeZone
22
+ # The Olson format time zone ID (see https://en.wikipedia.org/wiki/Tz_database)
23
+ attr_accessor :id
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+
29
+ :'id' => :'id'
30
+
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.swagger_types
36
+ {
37
+
38
+ :'id' => :'String'
39
+
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ return unless attributes.is_a?(Hash)
47
+
48
+ # convert string to symbol for hash key
49
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
50
+
51
+
52
+ if attributes.has_key?(:'id')
53
+
54
+
55
+ self.id = attributes[:'id']
56
+
57
+
58
+ end
59
+
60
+
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properies with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+
68
+
69
+ return invalid_properties
70
+ end
71
+
72
+ # Check to see if the all the properties in the model are valid
73
+ # @return true if the model is valid
74
+ def valid?
75
+
76
+
77
+
78
+
79
+
80
+ end
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ id == o.id
94
+ end
95
+
96
+ # @see the `==` method
97
+ # @param [Object] Object to be compared
98
+ def eql?(o)
99
+ self == o
100
+ end
101
+
102
+ # Calculates hash code according to all attributes.
103
+ # @return [Fixnum] Hash code
104
+ def hash
105
+ [id].hash
106
+ end
107
+
108
+ # build the object from hash
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ self.class.swagger_types.each_pair do |key, type|
112
+ if type =~ /^Array<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
115
+ else
116
+ #TODO show warning in debug mode
117
+ end
118
+ elsif !attributes[self.class.attribute_map[key]].nil?
119
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
120
+ else
121
+ # data not found in attributes(hash), not an issue as the data can be optional
122
+ end
123
+ end
124
+
125
+ self
126
+ end
127
+
128
+ def _deserialize(type, value)
129
+ case type.to_sym
130
+ when :DateTime
131
+ DateTime.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :BOOLEAN
141
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ _model = Object.const_get("PureCloud").const_get(type).new
162
+ _model.build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ def to_s
167
+ to_hash.to_s
168
+ end
169
+
170
+ # to_body is an alias to to_body (backward compatibility))
171
+ def to_body
172
+ to_hash
173
+ end
174
+
175
+ # return the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ next if value.nil?
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Method to output non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ def _to_hash(value)
189
+ if value.is_a?(Array)
190
+ value.compact.map{ |v| _to_hash(v) }
191
+ elsif value.is_a?(Hash)
192
+ {}.tap do |hash|
193
+ value.each { |k, v| hash[k] = _to_hash(v) }
194
+ end
195
+ elsif value.respond_to? :to_hash
196
+ value.to_hash
197
+ else
198
+ value
199
+ end
200
+ end
201
+
202
+ end
203
+ end
@@ -0,0 +1,627 @@
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 WorkPlan
22
+ # The globally unique identifier for the object.
23
+ attr_accessor :id
24
+
25
+ attr_accessor :name
26
+
27
+ # Whether the work plan is enabled for scheduling
28
+ attr_accessor :enabled
29
+
30
+ # Whether the weekly paid time constraint is enabled for this work plan
31
+ attr_accessor :constrain_weekly_paid_time
32
+
33
+ # Whether the weekly paid time constraint is flexible for this work plan
34
+ attr_accessor :flexible_weekly_paid_time
35
+
36
+ # Exact weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == false
37
+ attr_accessor :weekly_exact_paid_minutes
38
+
39
+ # Minimum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true
40
+ attr_accessor :weekly_minimum_paid_minutes
41
+
42
+ # Maximum weekly paid time in minutes for this work plan. Used if flexibleWeeklyPaidTime == true
43
+ attr_accessor :weekly_maximum_paid_minutes
44
+
45
+ # Whether the minimum time between shifts constraint is enabled for this work plan
46
+ attr_accessor :constrain_minimum_time_between_shifts
47
+
48
+ # Minimum time between shifts in minutes defined in this work plan. Used if constrainMinimumTimeBetweenShifts == true
49
+ attr_accessor :minimum_time_between_shifts_minutes
50
+
51
+ # Maximum number days in a week allowed to be scheduled for this work plan
52
+ attr_accessor :maximum_days
53
+
54
+ # Optional days to schedule for this work plan
55
+ attr_accessor :optional_days
56
+
57
+ # Variance in minutes among start times of shifts in this work plan
58
+ attr_accessor :shift_start_variances
59
+
60
+ # Shifts in this work plan
61
+ attr_accessor :shifts
62
+
63
+ # Agents in this work plan
64
+ attr_accessor :agents
65
+
66
+ # Version metadata for this work plan
67
+ attr_accessor :metadata
68
+
69
+ # The URI for this object
70
+ attr_accessor :self_uri
71
+
72
+ # Attribute mapping from ruby-style variable name to JSON key.
73
+ def self.attribute_map
74
+ {
75
+
76
+ :'id' => :'id',
77
+
78
+ :'name' => :'name',
79
+
80
+ :'enabled' => :'enabled',
81
+
82
+ :'constrain_weekly_paid_time' => :'constrainWeeklyPaidTime',
83
+
84
+ :'flexible_weekly_paid_time' => :'flexibleWeeklyPaidTime',
85
+
86
+ :'weekly_exact_paid_minutes' => :'weeklyExactPaidMinutes',
87
+
88
+ :'weekly_minimum_paid_minutes' => :'weeklyMinimumPaidMinutes',
89
+
90
+ :'weekly_maximum_paid_minutes' => :'weeklyMaximumPaidMinutes',
91
+
92
+ :'constrain_minimum_time_between_shifts' => :'constrainMinimumTimeBetweenShifts',
93
+
94
+ :'minimum_time_between_shifts_minutes' => :'minimumTimeBetweenShiftsMinutes',
95
+
96
+ :'maximum_days' => :'maximumDays',
97
+
98
+ :'optional_days' => :'optionalDays',
99
+
100
+ :'shift_start_variances' => :'shiftStartVariances',
101
+
102
+ :'shifts' => :'shifts',
103
+
104
+ :'agents' => :'agents',
105
+
106
+ :'metadata' => :'metadata',
107
+
108
+ :'self_uri' => :'selfUri'
109
+
110
+ }
111
+ end
112
+
113
+ # Attribute type mapping.
114
+ def self.swagger_types
115
+ {
116
+
117
+ :'id' => :'String',
118
+
119
+ :'name' => :'String',
120
+
121
+ :'enabled' => :'BOOLEAN',
122
+
123
+ :'constrain_weekly_paid_time' => :'BOOLEAN',
124
+
125
+ :'flexible_weekly_paid_time' => :'BOOLEAN',
126
+
127
+ :'weekly_exact_paid_minutes' => :'Integer',
128
+
129
+ :'weekly_minimum_paid_minutes' => :'Integer',
130
+
131
+ :'weekly_maximum_paid_minutes' => :'Integer',
132
+
133
+ :'constrain_minimum_time_between_shifts' => :'BOOLEAN',
134
+
135
+ :'minimum_time_between_shifts_minutes' => :'Integer',
136
+
137
+ :'maximum_days' => :'Integer',
138
+
139
+ :'optional_days' => :'SetWrapperDayOfWeek',
140
+
141
+ :'shift_start_variances' => :'ListWrapperShiftStartVariance',
142
+
143
+ :'shifts' => :'Array<WorkPlanShift>',
144
+
145
+ :'agents' => :'Array<DeletableUserReference>',
146
+
147
+ :'metadata' => :'WfmVersionedEntityMetadata',
148
+
149
+ :'self_uri' => :'String'
150
+
151
+ }
152
+ end
153
+
154
+ # Initializes the object
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ def initialize(attributes = {})
157
+ return unless attributes.is_a?(Hash)
158
+
159
+ # convert string to symbol for hash key
160
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
161
+
162
+
163
+ if attributes.has_key?(:'id')
164
+
165
+
166
+ self.id = attributes[:'id']
167
+
168
+
169
+ end
170
+
171
+
172
+ if attributes.has_key?(:'name')
173
+
174
+
175
+ self.name = attributes[:'name']
176
+
177
+
178
+ end
179
+
180
+
181
+ if attributes.has_key?(:'enabled')
182
+
183
+
184
+ self.enabled = attributes[:'enabled']
185
+
186
+
187
+ end
188
+
189
+
190
+ if attributes.has_key?(:'constrainWeeklyPaidTime')
191
+
192
+
193
+ self.constrain_weekly_paid_time = attributes[:'constrainWeeklyPaidTime']
194
+
195
+
196
+ end
197
+
198
+
199
+ if attributes.has_key?(:'flexibleWeeklyPaidTime')
200
+
201
+
202
+ self.flexible_weekly_paid_time = attributes[:'flexibleWeeklyPaidTime']
203
+
204
+
205
+ end
206
+
207
+
208
+ if attributes.has_key?(:'weeklyExactPaidMinutes')
209
+
210
+
211
+ self.weekly_exact_paid_minutes = attributes[:'weeklyExactPaidMinutes']
212
+
213
+
214
+ end
215
+
216
+
217
+ if attributes.has_key?(:'weeklyMinimumPaidMinutes')
218
+
219
+
220
+ self.weekly_minimum_paid_minutes = attributes[:'weeklyMinimumPaidMinutes']
221
+
222
+
223
+ end
224
+
225
+
226
+ if attributes.has_key?(:'weeklyMaximumPaidMinutes')
227
+
228
+
229
+ self.weekly_maximum_paid_minutes = attributes[:'weeklyMaximumPaidMinutes']
230
+
231
+
232
+ end
233
+
234
+
235
+ if attributes.has_key?(:'constrainMinimumTimeBetweenShifts')
236
+
237
+
238
+ self.constrain_minimum_time_between_shifts = attributes[:'constrainMinimumTimeBetweenShifts']
239
+
240
+
241
+ end
242
+
243
+
244
+ if attributes.has_key?(:'minimumTimeBetweenShiftsMinutes')
245
+
246
+
247
+ self.minimum_time_between_shifts_minutes = attributes[:'minimumTimeBetweenShiftsMinutes']
248
+
249
+
250
+ end
251
+
252
+
253
+ if attributes.has_key?(:'maximumDays')
254
+
255
+
256
+ self.maximum_days = attributes[:'maximumDays']
257
+
258
+
259
+ end
260
+
261
+
262
+ if attributes.has_key?(:'optionalDays')
263
+
264
+
265
+ self.optional_days = attributes[:'optionalDays']
266
+
267
+
268
+ end
269
+
270
+
271
+ if attributes.has_key?(:'shiftStartVariances')
272
+
273
+
274
+ self.shift_start_variances = attributes[:'shiftStartVariances']
275
+
276
+
277
+ end
278
+
279
+
280
+ if attributes.has_key?(:'shifts')
281
+
282
+ if (value = attributes[:'shifts']).is_a?(Array)
283
+ self.shifts = value
284
+ end
285
+
286
+
287
+
288
+ end
289
+
290
+
291
+ if attributes.has_key?(:'agents')
292
+
293
+ if (value = attributes[:'agents']).is_a?(Array)
294
+ self.agents = value
295
+ end
296
+
297
+
298
+
299
+ end
300
+
301
+
302
+ if attributes.has_key?(:'metadata')
303
+
304
+
305
+ self.metadata = attributes[:'metadata']
306
+
307
+
308
+ end
309
+
310
+
311
+ if attributes.has_key?(:'selfUri')
312
+
313
+
314
+ self.self_uri = attributes[:'selfUri']
315
+
316
+
317
+ end
318
+
319
+
320
+ end
321
+
322
+ # Show invalid properties with the reasons. Usually used together with valid?
323
+ # @return Array for valid properies with the reasons
324
+ def list_invalid_properties
325
+ invalid_properties = Array.new
326
+
327
+
328
+ return invalid_properties
329
+ end
330
+
331
+ # Check to see if the all the properties in the model are valid
332
+ # @return true if the model is valid
333
+ def valid?
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
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
+ if @metadata.nil?
397
+ return false
398
+ end
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+ end
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+ # Checks equality by comparing each attribute.
497
+ # @param [Object] Object to be compared
498
+ def ==(o)
499
+ return true if self.equal?(o)
500
+ self.class == o.class &&
501
+ id == o.id &&
502
+ name == o.name &&
503
+ enabled == o.enabled &&
504
+ constrain_weekly_paid_time == o.constrain_weekly_paid_time &&
505
+ flexible_weekly_paid_time == o.flexible_weekly_paid_time &&
506
+ weekly_exact_paid_minutes == o.weekly_exact_paid_minutes &&
507
+ weekly_minimum_paid_minutes == o.weekly_minimum_paid_minutes &&
508
+ weekly_maximum_paid_minutes == o.weekly_maximum_paid_minutes &&
509
+ constrain_minimum_time_between_shifts == o.constrain_minimum_time_between_shifts &&
510
+ minimum_time_between_shifts_minutes == o.minimum_time_between_shifts_minutes &&
511
+ maximum_days == o.maximum_days &&
512
+ optional_days == o.optional_days &&
513
+ shift_start_variances == o.shift_start_variances &&
514
+ shifts == o.shifts &&
515
+ agents == o.agents &&
516
+ metadata == o.metadata &&
517
+ self_uri == o.self_uri
518
+ end
519
+
520
+ # @see the `==` method
521
+ # @param [Object] Object to be compared
522
+ def eql?(o)
523
+ self == o
524
+ end
525
+
526
+ # Calculates hash code according to all attributes.
527
+ # @return [Fixnum] Hash code
528
+ def hash
529
+ [id, 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, metadata, self_uri].hash
530
+ end
531
+
532
+ # build the object from hash
533
+ def build_from_hash(attributes)
534
+ return nil unless attributes.is_a?(Hash)
535
+ self.class.swagger_types.each_pair do |key, type|
536
+ if type =~ /^Array<(.*)>/i
537
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
538
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
539
+ else
540
+ #TODO show warning in debug mode
541
+ end
542
+ elsif !attributes[self.class.attribute_map[key]].nil?
543
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
544
+ else
545
+ # data not found in attributes(hash), not an issue as the data can be optional
546
+ end
547
+ end
548
+
549
+ self
550
+ end
551
+
552
+ def _deserialize(type, value)
553
+ case type.to_sym
554
+ when :DateTime
555
+ DateTime.parse(value)
556
+ when :Date
557
+ Date.parse(value)
558
+ when :String
559
+ value.to_s
560
+ when :Integer
561
+ value.to_i
562
+ when :Float
563
+ value.to_f
564
+ when :BOOLEAN
565
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
566
+ true
567
+ else
568
+ false
569
+ end
570
+ when :Object
571
+ # generic object (usually a Hash), return directly
572
+ value
573
+ when /\AArray<(?<inner_type>.+)>\z/
574
+ inner_type = Regexp.last_match[:inner_type]
575
+ value.map { |v| _deserialize(inner_type, v) }
576
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
577
+ k_type = Regexp.last_match[:k_type]
578
+ v_type = Regexp.last_match[:v_type]
579
+ {}.tap do |hash|
580
+ value.each do |k, v|
581
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
582
+ end
583
+ end
584
+ else # model
585
+ _model = Object.const_get("PureCloud").const_get(type).new
586
+ _model.build_from_hash(value)
587
+ end
588
+ end
589
+
590
+ def to_s
591
+ to_hash.to_s
592
+ end
593
+
594
+ # to_body is an alias to to_body (backward compatibility))
595
+ def to_body
596
+ to_hash
597
+ end
598
+
599
+ # return the object in the form of hash
600
+ def to_hash
601
+ hash = {}
602
+ self.class.attribute_map.each_pair do |attr, param|
603
+ value = self.send(attr)
604
+ next if value.nil?
605
+ hash[param] = _to_hash(value)
606
+ end
607
+ hash
608
+ end
609
+
610
+ # Method to output non-array value in the form of hash
611
+ # For object, use to_hash. Otherwise, just return the value
612
+ def _to_hash(value)
613
+ if value.is_a?(Array)
614
+ value.compact.map{ |v| _to_hash(v) }
615
+ elsif value.is_a?(Hash)
616
+ {}.tap do |hash|
617
+ value.each { |k, v| hash[k] = _to_hash(v) }
618
+ end
619
+ elsif value.respond_to? :to_hash
620
+ value.to_hash
621
+ else
622
+ value
623
+ end
624
+ end
625
+
626
+ end
627
+ end