Manage Schedule Edits

This use case describes the scenarios in which a user can create, update, and delete a shift.

Create a Shift on a Specific Day

In this scenario, an employee Jane Cook works Monday through Friday on the morning shift (MORN) from 9:00 AM to 12:00 PM. On Wednesday, Jane is requested to work an additional evening shift (EVENING) from 6:00 PM to 10:00 PM. The third-party scheduling sends the update for Jane Cook on Wednesday.

Oracle Fusion Time and Labor imports the schedule for Jane Cook using the POST operation on the scheduleRequests resource, with the following attribute values:
  • importMode is "UPDATE" for the scheduleEvents resource
  • shiftAction is "CREATE" for the scheduleShiftEvents resource.

The following table shows the Time and Labor configuration that applies to this scenario.

Configuration Purpose
Manage Shift Properties Define a shift code for all shifts to be imported.
Manage Layout Sets Define a shift layout to display imported time attributes on the following pages:
  • Planned and published schedules for managers and schedulers.
  • Time calendar for workers.
Manage Scheduler Profiles Define at least one scheduler profile for each worker for whom shifts must be imported.
Manage Common Lookups

Review the lookup type ORA_HWM_SHIFT_ENTRY_OWNER values. For shifts imported from a third-party scheduling application, the RequestSource field in the ScheduleRequest obejct is controlled by the Owner:

  • If you use REST just to load data, use ORA_HWM_WFM as RequestSource.
  • If you use REST as an interface with a third-party scheduling application, register your application in this lookup and use the lookup code value in the RequestSource.

The following table describes the application processing actions that occur for the imported schedule.

Schedule Request Application Processing
Third-party scheduling sends the additional Wednesday shift for Jane Cook.
  1. Imports the schedule request using the REST Web service.
  2. Runs the Process Imported Shifts process to add the imported shifts to the planned and published schedules.

Example URL

The following is the format of the resource URL.

POST

/hcmRestApi/resources/11.13.18.05/scheduleRequests/

Example Request

The following is an example of the request body in JSON format.

{
	"scheduleRequestNumber":"JANE-COOK-UPDATE01",
	"requestTime":"2017-01-09T13:25:20.010+01:00",
	"requestSource":"KRONOS",
	"scheduleEvents":
		[
			{
				"resourceReferenceType":"PERSON_NUMBER",
				"resourceReference":"955160008182079",
				"importMode":"UPDATE",
				"periodStartDate":"2017-01-11",
				"periodEndDate":"2017-01-11",
				"allowEdits":"N",
				"publish":"Y",
				"workerNotification":"Y",
				"scheduleShiftEvents":
					[
						{
							"shiftNumber":"SS002",
							"shiftAction":"CREATE",
							"referenceDay":"2017-01-11",
							"shiftStartTime":"2017-01-11T18:00:00+01:00",
							"shiftEndTime":"2017-01-11T22:00:00+01:00",
							"shiftDuration":"",
							"shiftTimeNotWorked":"60",
							"shiftCode":"EVENING",
							"shiftCategory":"WORK",
							"shiftType":"TIME",
							"allowEdits":"N",
         						"scheduleShiftAttributes": [
           						{
            							"attributeName":"PayrollTimeType",
            							"attributeValue":"WFM_PAY_REGULAR_US"
       						    },
       						    {
        						    	"attributeName":"GD_Department WFMTL_CHAR",
            							"attributeValue":"WFM_Department"
           						}
          						]
						}
					]
			}
		]
}

Update a Shift

In this scenario, an employee Sam Smith works Monday through Friday on the DAY shift from 9:00 AM to 5:00 PM. Sam requested to leave an hour early on Thursday and stops working at 4:00 PM. The third-party scheduling sends the schedule for Sam Smith during the current week.

Oracle Fusion Time and Labor imports the schedule for Sam Smith using the POST operation on the scheduleRequests resource, with the following attribute values:
  • importMode is "UPDATE" for the scheduleEvents resource.
  • shiftAction is "UPDATE" for the scheduleShiftEvents resource.

The following table shows the Time and Labor configuration that applies to this scenario:

Configuration Purpose
Manage Shift Properties Define a shift code for all shifts to be imported.
Manage Layout Sets Define a shift layout to display imported time attributes on the different pages.
Manage Scheduler Profiles Define at least one scheduler profile for each employee for whom shifts must be imported.

The following table describes the application processing actions that occur for the imported schedule:

Schedule Request Application Processing
Third-party scheduling sends the modified Thursday schedule for Sam Smith.
  1. Imports the schedule request using the REST web service.
  2. Runs the Process Imported Shifts process to add the imported shifts to the planned and published schedules.

Example URL

The following is the format of the resource URL.

PATCH

/hcmRestApi/resources/11.13.18.05/scheduleRequests/

Example Request

The following is an example of the request body in JSON format.

{
	"scheduleRequestNumber":"Import002",
	"requestTime":"2017-01-09T13:25:20.010+01:00",
	"requestSource":"KRONOS",
	"scheduleEvents":
		[
			{
				"resourceReferenceType":"PERSON_NUMBER",
				"resourceReference":"955160008182079",
				"importMode":"UPDATE",
				"periodStartDate":"2017-01-12",
				"periodEndDate":"2017-01-12",
				"allowEdits":"N",
				"publish":"Y",
				"workerNotification":"Y",
				"scheduleShiftEvents":
					[
						{
							"shiftNumber":"SS002",
							"shiftAction":"UPDATE",
							"referenceDay":"2017-01-12",
							"shiftStartTime":"2017-01-12T09:00:00+01:00",
							"shiftEndTime":"2017-01-12T16:00:00+01:00",
							"shiftDuration":"",
							"shiftTimeNotWorked":"60",
							"shiftCode":"DAY",
							"shiftCategory":"WORK",
							"shiftType":"TIME",
							"allowEdits":"N",
         						"scheduleShiftAttributes": [
           						{
            							"attributeName":"PayrollTimeType",
            							"attributeValue":"WFM_PAY_REGULAR_US"
       						    },
       						    {
        						    	"attributeName":"GD_Department WFMTL_CHAR",
            							"attributeValue":"WFM_Department"
           						}
          						]
						}
					]
			}
		]
}

Delete a Shift

In this scenario, an employee Richard Edwards works Monday through Friday on the Evening shift (EVENING) from 6:00 PM to 10:00 PM. Richard requested to not work on Friday. The third-party scheduling sends the update deleting Richard Edwards's shift on Friday.

Oracle Fusion Time and Labor imports the schedule for Richard Edwards using the POST operation on the scheduleRequests resource, with the following attribute values:
  • importMode is "UPDATE" for the scheduleEvents resource.
  • shiftAction is "DELETE" for the scheduleShiftEvents resource.

The following table shows the Time and Labor configuration that applies to this scenario.

Configuration Purpose
Manage Shift Properties Define a shift code for all shifts to be imported.
Manage Layout Sets Define a shift layout to display imported time attributes on the different pages.
Manage Scheduler Profiles Define at least one scheduler profile for each employee for whom shifts must be imported.

The following table describes the application processing actions that occur for the imported schedule:

Schedule Request Application Processing
Third-party scheduling sends the deletion of the Friday shift for Richard Edwards.
  1. Imports the schedule request using the REST Web service.
  2. Runs the Process Imported Shifts process to add the imported shifts to the planned and published schedules.

Sample URL

The following is the format of the resource URL.

DELETE

/hcmRestApi/resources/11.13.18.05/scheduleRequests/

Example Request

The following is an example of the request body in JSON format.

{
	"scheduleRequestNumber":"RICHARD-EDWARDS-UPDATE01",
	"requestTime":"2017-01-09T13:25:20.010+01:00",
	"requestSource":"KRONOS",
	"scheduleEvents":
		[
			{
				"resourceReferenceType":"PERSON_NUMBER",
				"resourceReference":"955160008182079",
				"importMode":"UPDATE",
				"periodStartDate":"2017-01-13",
				"periodEndDate":"2017-01-13",
				"allowEdits":"N",
				"publish":"Y",
				"workerNotification":"Y",
				"scheduleShiftEvents":
					[
						{
							"shiftNumber":"RE005",
							"shiftAction":"DELETE",
							"referenceDay":"2017-01-13",
							"shiftStartTime":"",
							"shiftEndTime":"",
							"shiftDuration":"",
							"shiftTimeNotWorked":"60",
							"shiftCode":"EVENING",
							"shiftCategory":"WORK",
							"shiftType":"TIME",
							"allowEdits":"N"
						}
					]
			}
		]
}