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,515 @@
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
+ # Activity configured for shift in work plan
21
+ class WorkPlanActivity
22
+ # ID of the activity code associated with this activity
23
+ attr_accessor :activity_code_id
24
+
25
+ # Description of the activity
26
+ attr_accessor :description
27
+
28
+ # Length of the activity in minutes
29
+ attr_accessor :length_minutes
30
+
31
+ # Whether the start time of the activity is relative to the start time of the shift it belongs to
32
+ attr_accessor :start_time_is_relative_to_shift_start
33
+
34
+ # Whether the start time of the activity is flexible
35
+ attr_accessor :flexible_start_time
36
+
37
+ # Earliest activity start in offset minutes relative to shift start time if startTimeIsRelativeToShiftStart == true else its based on midnight. Used if flexibleStartTime == true
38
+ attr_accessor :earliest_start_time_minutes
39
+
40
+ # Latest activity start in offset minutes relative to shift start time if startTimeIsRelativeToShiftStart == true else its based on midnight. Used if flexibleStartTime == true
41
+ attr_accessor :latest_start_time_minutes
42
+
43
+ # Exact activity start in offset minutes relative to shift start time if startTimeIsRelativeToShiftStart == true else its based on midnight. Used if flexibleStartTime == false
44
+ attr_accessor :exact_start_time_minutes
45
+
46
+ # Increment in offset minutes that would contribute to different possible start times for the activity
47
+ attr_accessor :start_time_increment_minutes
48
+
49
+ # Whether the activity is paid
50
+ attr_accessor :counts_as_paid_time
51
+
52
+ # Whether the activity duration is counted towards contiguous work time
53
+ attr_accessor :counts_as_contiguous_work_time
54
+
55
+ # ID of the activity. This is required only for the case of updating an existing activity
56
+ attr_accessor :id
57
+
58
+ # If marked true for updating an existing activity, the activity will be permanently deleted
59
+ attr_accessor :delete
60
+
61
+ # Attribute mapping from ruby-style variable name to JSON key.
62
+ def self.attribute_map
63
+ {
64
+
65
+ :'activity_code_id' => :'activityCodeId',
66
+
67
+ :'description' => :'description',
68
+
69
+ :'length_minutes' => :'lengthMinutes',
70
+
71
+ :'start_time_is_relative_to_shift_start' => :'startTimeIsRelativeToShiftStart',
72
+
73
+ :'flexible_start_time' => :'flexibleStartTime',
74
+
75
+ :'earliest_start_time_minutes' => :'earliestStartTimeMinutes',
76
+
77
+ :'latest_start_time_minutes' => :'latestStartTimeMinutes',
78
+
79
+ :'exact_start_time_minutes' => :'exactStartTimeMinutes',
80
+
81
+ :'start_time_increment_minutes' => :'startTimeIncrementMinutes',
82
+
83
+ :'counts_as_paid_time' => :'countsAsPaidTime',
84
+
85
+ :'counts_as_contiguous_work_time' => :'countsAsContiguousWorkTime',
86
+
87
+ :'id' => :'id',
88
+
89
+ :'delete' => :'delete'
90
+
91
+ }
92
+ end
93
+
94
+ # Attribute type mapping.
95
+ def self.swagger_types
96
+ {
97
+
98
+ :'activity_code_id' => :'String',
99
+
100
+ :'description' => :'String',
101
+
102
+ :'length_minutes' => :'Integer',
103
+
104
+ :'start_time_is_relative_to_shift_start' => :'BOOLEAN',
105
+
106
+ :'flexible_start_time' => :'BOOLEAN',
107
+
108
+ :'earliest_start_time_minutes' => :'Integer',
109
+
110
+ :'latest_start_time_minutes' => :'Integer',
111
+
112
+ :'exact_start_time_minutes' => :'Integer',
113
+
114
+ :'start_time_increment_minutes' => :'Integer',
115
+
116
+ :'counts_as_paid_time' => :'BOOLEAN',
117
+
118
+ :'counts_as_contiguous_work_time' => :'BOOLEAN',
119
+
120
+ :'id' => :'String',
121
+
122
+ :'delete' => :'BOOLEAN'
123
+
124
+ }
125
+ end
126
+
127
+ # Initializes the object
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ def initialize(attributes = {})
130
+ return unless attributes.is_a?(Hash)
131
+
132
+ # convert string to symbol for hash key
133
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
134
+
135
+
136
+ if attributes.has_key?(:'activityCodeId')
137
+
138
+
139
+ self.activity_code_id = attributes[:'activityCodeId']
140
+
141
+
142
+ end
143
+
144
+
145
+ if attributes.has_key?(:'description')
146
+
147
+
148
+ self.description = attributes[:'description']
149
+
150
+
151
+ end
152
+
153
+
154
+ if attributes.has_key?(:'lengthMinutes')
155
+
156
+
157
+ self.length_minutes = attributes[:'lengthMinutes']
158
+
159
+
160
+ end
161
+
162
+
163
+ if attributes.has_key?(:'startTimeIsRelativeToShiftStart')
164
+
165
+
166
+ self.start_time_is_relative_to_shift_start = attributes[:'startTimeIsRelativeToShiftStart']
167
+
168
+
169
+ end
170
+
171
+
172
+ if attributes.has_key?(:'flexibleStartTime')
173
+
174
+
175
+ self.flexible_start_time = attributes[:'flexibleStartTime']
176
+
177
+
178
+ end
179
+
180
+
181
+ if attributes.has_key?(:'earliestStartTimeMinutes')
182
+
183
+
184
+ self.earliest_start_time_minutes = attributes[:'earliestStartTimeMinutes']
185
+
186
+
187
+ end
188
+
189
+
190
+ if attributes.has_key?(:'latestStartTimeMinutes')
191
+
192
+
193
+ self.latest_start_time_minutes = attributes[:'latestStartTimeMinutes']
194
+
195
+
196
+ end
197
+
198
+
199
+ if attributes.has_key?(:'exactStartTimeMinutes')
200
+
201
+
202
+ self.exact_start_time_minutes = attributes[:'exactStartTimeMinutes']
203
+
204
+
205
+ end
206
+
207
+
208
+ if attributes.has_key?(:'startTimeIncrementMinutes')
209
+
210
+
211
+ self.start_time_increment_minutes = attributes[:'startTimeIncrementMinutes']
212
+
213
+
214
+ end
215
+
216
+
217
+ if attributes.has_key?(:'countsAsPaidTime')
218
+
219
+
220
+ self.counts_as_paid_time = attributes[:'countsAsPaidTime']
221
+
222
+
223
+ end
224
+
225
+
226
+ if attributes.has_key?(:'countsAsContiguousWorkTime')
227
+
228
+
229
+ self.counts_as_contiguous_work_time = attributes[:'countsAsContiguousWorkTime']
230
+
231
+
232
+ end
233
+
234
+
235
+ if attributes.has_key?(:'id')
236
+
237
+
238
+ self.id = attributes[:'id']
239
+
240
+
241
+ end
242
+
243
+
244
+ if attributes.has_key?(:'delete')
245
+
246
+
247
+ self.delete = attributes[:'delete']
248
+
249
+
250
+ end
251
+
252
+
253
+ end
254
+
255
+ # Show invalid properties with the reasons. Usually used together with valid?
256
+ # @return Array for valid properies with the reasons
257
+ def list_invalid_properties
258
+ invalid_properties = Array.new
259
+
260
+
261
+ return invalid_properties
262
+ end
263
+
264
+ # Check to see if the all the properties in the model are valid
265
+ # @return true if the model is valid
266
+ def valid?
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
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
+ end
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
+
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
+ # Checks equality by comparing each attribute.
389
+ # @param [Object] Object to be compared
390
+ def ==(o)
391
+ return true if self.equal?(o)
392
+ self.class == o.class &&
393
+ activity_code_id == o.activity_code_id &&
394
+ description == o.description &&
395
+ length_minutes == o.length_minutes &&
396
+ start_time_is_relative_to_shift_start == o.start_time_is_relative_to_shift_start &&
397
+ flexible_start_time == o.flexible_start_time &&
398
+ earliest_start_time_minutes == o.earliest_start_time_minutes &&
399
+ latest_start_time_minutes == o.latest_start_time_minutes &&
400
+ exact_start_time_minutes == o.exact_start_time_minutes &&
401
+ start_time_increment_minutes == o.start_time_increment_minutes &&
402
+ counts_as_paid_time == o.counts_as_paid_time &&
403
+ counts_as_contiguous_work_time == o.counts_as_contiguous_work_time &&
404
+ id == o.id &&
405
+ delete == o.delete
406
+ end
407
+
408
+ # @see the `==` method
409
+ # @param [Object] Object to be compared
410
+ def eql?(o)
411
+ self == o
412
+ end
413
+
414
+ # Calculates hash code according to all attributes.
415
+ # @return [Fixnum] Hash code
416
+ def hash
417
+ [activity_code_id, description, length_minutes, start_time_is_relative_to_shift_start, flexible_start_time, earliest_start_time_minutes, latest_start_time_minutes, exact_start_time_minutes, start_time_increment_minutes, counts_as_paid_time, counts_as_contiguous_work_time, id, delete].hash
418
+ end
419
+
420
+ # build the object from hash
421
+ def build_from_hash(attributes)
422
+ return nil unless attributes.is_a?(Hash)
423
+ self.class.swagger_types.each_pair do |key, type|
424
+ if type =~ /^Array<(.*)>/i
425
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
426
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
427
+ else
428
+ #TODO show warning in debug mode
429
+ end
430
+ elsif !attributes[self.class.attribute_map[key]].nil?
431
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
432
+ else
433
+ # data not found in attributes(hash), not an issue as the data can be optional
434
+ end
435
+ end
436
+
437
+ self
438
+ end
439
+
440
+ def _deserialize(type, value)
441
+ case type.to_sym
442
+ when :DateTime
443
+ DateTime.parse(value)
444
+ when :Date
445
+ Date.parse(value)
446
+ when :String
447
+ value.to_s
448
+ when :Integer
449
+ value.to_i
450
+ when :Float
451
+ value.to_f
452
+ when :BOOLEAN
453
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
454
+ true
455
+ else
456
+ false
457
+ end
458
+ when :Object
459
+ # generic object (usually a Hash), return directly
460
+ value
461
+ when /\AArray<(?<inner_type>.+)>\z/
462
+ inner_type = Regexp.last_match[:inner_type]
463
+ value.map { |v| _deserialize(inner_type, v) }
464
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
465
+ k_type = Regexp.last_match[:k_type]
466
+ v_type = Regexp.last_match[:v_type]
467
+ {}.tap do |hash|
468
+ value.each do |k, v|
469
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
470
+ end
471
+ end
472
+ else # model
473
+ _model = Object.const_get("PureCloud").const_get(type).new
474
+ _model.build_from_hash(value)
475
+ end
476
+ end
477
+
478
+ def to_s
479
+ to_hash.to_s
480
+ end
481
+
482
+ # to_body is an alias to to_body (backward compatibility))
483
+ def to_body
484
+ to_hash
485
+ end
486
+
487
+ # return the object in the form of hash
488
+ def to_hash
489
+ hash = {}
490
+ self.class.attribute_map.each_pair do |attr, param|
491
+ value = self.send(attr)
492
+ next if value.nil?
493
+ hash[param] = _to_hash(value)
494
+ end
495
+ hash
496
+ end
497
+
498
+ # Method to output non-array value in the form of hash
499
+ # For object, use to_hash. Otherwise, just return the value
500
+ def _to_hash(value)
501
+ if value.is_a?(Array)
502
+ value.compact.map{ |v| _to_hash(v) }
503
+ elsif value.is_a?(Hash)
504
+ {}.tap do |hash|
505
+ value.each { |k, v| hash[k] = _to_hash(v) }
506
+ end
507
+ elsif value.respond_to? :to_hash
508
+ value.to_hash
509
+ else
510
+ value
511
+ end
512
+ end
513
+
514
+ end
515
+ end