Schedules or reschedules a work order identified by its uuid (time window and field resources), so it appears in the planning and on the mobile application.
Rate limit range : Standard
Body
Required
-
How strictly the scheduling request is evaluated. When absent, every control is enforced.
Additional properties are NOT allowed.
-
Technicians and equipments to assign. Every code must belong to the office hierarchy of the OAuth2 application. An equipment cannot be scheduled without a technician.
Additional properties are NOT allowed.
Responses
-
Work order scheduled for the first time.
-
Scheduling of an already scheduled work order updated.
-
Bad Request - validation or business rule error. Errors listed under "Control conflicts" can be bypassed with
schedulerRequirements.skipControls. -
Unauthorized - authentication issue.
-
Forbidden - not enough rights.
-
Too Many Requests.
-
Internal server error.
curl \
--request PUT 'https://ws-eu1.praxedo.com/eTech/rest/ws/scheduling/v1/workOrders/uuid:550e8400-e29b-41d4-a716-446655440000/schedule' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"schedulerRequirements": {
"notificationSent": true
},
"timeWindow": {
"scheduleMode": "TIME_RANGE",
"startDate": "2026-04-10 10:00:00 +0200",
"endDate": "2026-04-10 12:00:00 +0200"
},
"fieldResources": {
"reportFillerCode": "tech-55",
"mainResourceCode": "tech-55",
"technicianCrewCodes": [
"tech-88",
"tech-98"
],
"equipmentCrewCodes": [
"truck-04"
]
}
}'
{
"schedulerRequirements": {
"notificationSent": true
},
"timeWindow": {
"scheduleMode": "TIME_RANGE",
"startDate": "2026-04-10 10:00:00 +0200",
"endDate": "2026-04-10 12:00:00 +0200"
},
"fieldResources": {
"reportFillerCode": "tech-55",
"mainResourceCode": "tech-55",
"technicianCrewCodes": [
"tech-88",
"tech-98"
],
"equipmentCrewCodes": [
"truck-04"
]
}
}
{
"schedulerRequirements": {
"notificationSent": false
},
"timeWindow": {
"scheduleMode": "DAY_RANGE",
"timezone": "Europe/Paris",
"startDay": "2026-04-10",
"endDay": "2026-04-11"
},
"fieldResources": {
"reportFillerCode": "tech-55",
"mainResourceCode": "tech-55",
"technicianCrewCodes": [
"tech-88",
"tech-98"
],
"equipmentCrewCodes": [
"truck-04"
]
}
}
{
"timeWindow": {
"scheduleMode": "DAY_RANGE",
"timezone": "Europe/Paris",
"startDay": "2026-04-10",
"endDay": "2026-04-10"
},
"fieldResources": {
"reportFillerCode": "tech-55"
}
}
{
"timeWindow": {
"scheduleMode": "TIME_RANGE",
"startDate": "2026-04-10 08:00:00 UTC",
"endDate": "2026-04-10 10:00:00 UTC"
},
"fieldResources": {
"reportFillerCode": "tech-55"
}
}
{
"schedulerRequirements": {
"skipControls": [
"inProgressStatus",
"workOrderOverlap",
"appointmentRespect"
],
"notificationSent": true
},
"timeWindow": {
"scheduleMode": "TIME_RANGE",
"startDate": "2026-04-10 14:00:00 +0200",
"endDate": "2026-04-10 16:00:00 +0200"
},
"fieldResources": {
"reportFillerCode": "tech-55",
"mainResourceCode": "tech-55"
}
}
{
"fieldResources": {
"mainResourceCode": "tech-42"
}
}
{}
{
"errors": [
{
"code": "scheduling.workorders.code.unknown",
"message": "The work order [WO-2026-00123] is unknown. It doesn't exist or it is outside the authorized hierarchy"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldResources.technicianCrew.unknown",
"message": "The technician [tech-88] is unknown or outside the authorized hierarchy"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldResources.equipmentCrew.unknown",
"message": "The equipment [truck-04] is unknown or outside the authorized hierarchy"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldResources.mainResource.unknown",
"message": "The field resource [tech-42] is neither a known technician nor a known equipment, or is outside the authorized hierarchy"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.code.mandatory",
"message": "Missing code in path."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorder.uuid.invalid",
"message": "Invalid work order UUID format"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.invalid.json",
"message": "Invalid Json format."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.mandatory",
"message": "A time window is required to schedule a qualified work order"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldResources.reportFiller.mandatory",
"message": "A report filler is required to schedule a qualified work order"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldResources.technicianCrew.mandatory",
"message": "Equipment cannot be scheduled without a technician"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.scheduleMode.mandatory",
"message": "Property timeWindow.scheduleMode must be TIME_RANGE or DAY_RANGE."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.schedulerRequirements.skipControls.unknown",
"message": "Unknown skipControls value [ignoreSkills]."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.dates.format",
"message": "Date [10/04/2026] don't respect expected format."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.dates.order",
"message": "The end of the time window must be strictly after its start"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.duration.negative",
"message": "The computed duration is negative"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.duration.exceeded",
"message": "The requested slot exceeds the maximum allowed scheduling duration"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.start.exceeded",
"message": "The requested start date is beyond the maximum allowed horizon"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.workinghours.violation",
"message": "The requested time window falls outside the technician's working hours"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timewindow.workinghours.violation",
"message": "The resulting tour exceeds the technician's working day"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.subscription.invalid",
"message": "An assigned field resource subscription is missing or terminated"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.office.mismatch",
"message": "An assigned field resource does not belong to the expected office hierarchy"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.skill.missing",
"message": "The assigned crew does not hold a skill required by the work order"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.characteristics.missing",
"message": "The assigned equipment does not hold a characteristic required by the work order"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.status.invalid",
"message": "The work order [WO-2026-00123] cannot be scheduled in its current status"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.rejected",
"message": "Message raised by the scheduling engine for a rule not listed above."
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.techniciancrew.workorderoverlap",
"message": "Another work order is already scheduled on this time window"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.equipmentcrew.workOrderoverlap",
"message": "A machine is already scheduled on another work order for this time window"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.techniciancrew.timeoverlap",
"message": "A technician is unavailable for this time window"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.fieldresources.equipmentcrew.timeoverlap",
"message": "A machine is unavailable for this time window"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timeWindow.slas.violation",
"message": "The requested time window falls outside the work order's SLA hours"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "scheduling.workorders.schedule.timeWindow.appointment.violation",
"message": "The requested time window falls outside the work order's appointment hours"
}
],
"errorReference": "723e4567-e89b-12d3-a456-426614174000"
}
{
"errors": [
{
"code": "unauthorized.nocredentials",
"message": "No credentials."
}
],
"errorReference": "f939c6b8c15045c9a70f500fdb570555"
}
{
"errors": [
{
"code": "unauthorized.badcredentials",
"message": "Bad Credentials."
}
],
"errorReference": "f1028f99811b422eb21f5ff176664069"
}
{
"errors": [
{
"code": "access.forbiden",
"message": "You don't have the rights to access this resource."
}
],
"errorReference": "a745dc4c5a2b473aaf8ce94c9260aa8f"
}
{
"errors": [
{
"code": "ratelimiter.toomanyrequest",
"message": "Rejected because of the rate limit definition."
}
],
"errorReference": "973326230a3f44daba6cc34a5939b4fb"
}
{
"errors": [
{
"code": "internal.server.error",
"message": "Something went wrong."
}
],
"errorReference": "6377010431314bf6b0b95ec4d32ddae0"
}