Trendsic Platform Service

<back to all web services

ScheduleStatusRequest

Requires Authentication
The following routes are available for this service:
PUT/v1/schedule/status
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class ScheduleStatusRequest
{
    open var WorkerScheduleItemID:Int? = null
    open var Status:String? = null
    open var WorkerNotes:String? = null
}

open class WorkerScheduleResponse
{
    open var Items:ArrayList<WorkerScheduleItem> = ArrayList<WorkerScheduleItem>()
    open var SchedulableJobs:ArrayList<SchedulableJob> = ArrayList<SchedulableJob>()
    open var Workers:ArrayList<ScheduleWorker> = ArrayList<ScheduleWorker>()
    open var Crews:ArrayList<Crew> = ArrayList<Crew>()
    open var BudgetedCrew:ArrayList<ScheduleWorker> = ArrayList<ScheduleWorker>()
    open var LastAssignment:ScheduleLastAssignment? = null
    open var AutoFill:ScheduleAutoFillResult? = null
    open var DatesScheduled:Int? = null
    open var WorkersScheduled:Int? = null
    open var ItemsRemoved:Int? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class WorkerScheduleItem
{
    open var WorkerScheduleItemID:Int? = null
    open var JobID:Int? = null
    open var ProjectID:Int? = null
    open var ContactID:Int? = null
    open var ScheduledDate:Date? = null
    open var SortOrder:Int? = null
    open var SourceCrewID:Int? = null
    open var Status:String? = null
    open var StartedAt:Date? = null
    open var CompletedAt:Date? = null
    open var WorkerNotes:String? = null
    open var JobName:String? = null
    open var ProjectName:String? = null
    open var FirstName:String? = null
    open var LastName:String? = null
    open var WorkerName:String? = null
    open var SourceCrewName:String? = null
    open var ProjectLocationID:Int? = null
    open var ProjectLocationName:String? = null
    open var LocationZip:String? = null
    open var LocationCity:String? = null
    open var LocationLatitude:BigDecimal? = null
    open var LocationLongitude:BigDecimal? = null
    open var JobStatusName:String? = null
    open var BranchId:UUID? = null
    open var BranchName:String? = null
    open var WorkerHomeBranchId:UUID? = null
    open var WorkerHomeBranchName:String? = null
}

open class SchedulableJob
{
    open var JobID:Int? = null
    open var JobName:String? = null
    open var ProjectID:Int? = null
    open var ProjectName:String? = null
    open var StatusID:Int? = null
    open var StatusName:String? = null
    open var ProjectLocationID:Int? = null
    open var ProjectLocationName:String? = null
    open var LocationZip:String? = null
    open var LocationCity:String? = null
    open var LocationLatitude:BigDecimal? = null
    open var LocationLongitude:BigDecimal? = null
    open var ExpectedStartDate:Date? = null
    open var ExpectedCompletionDate:Date? = null
    open var IsRecurring:Boolean? = null
    open var OccurrenceDates:ArrayList<String> = ArrayList<String>()
}

open class ScheduleWorker
{
    open var ContactId:Int? = null
    open var FirstName:String? = null
    open var LastName:String? = null
    open var Name:String? = null
    open var Initials:String? = null
    open var Rate:BigDecimal? = null
    open var ImageUrl:String? = null
    open var BranchId:UUID? = null
    open var BranchName:String? = null
}

open class Crew
{
    open var CrewID:Int? = null
    open var CrewName:String? = null
    open var CrewNumber:String? = null
    open var CrewManagerContactID:Int? = null
    open var CrewManagerContactName:String? = null
    open var CrewColor:String? = null
    open var RecordCreatedDate:Date? = null
    open var Active:Boolean? = null
    open var CreatedByUID:UUID? = null
    open var ProjectID:Int? = null
    open var CrewMemberCount:Int? = null
    open var ProjectCrewID:Int? = null
    open var ProjectName:String? = null
    open var BranchId:UUID? = null
    open var BranchName:String? = null
}

open class ScheduleLastAssignment
{
    open var JobID:Int? = null
    open var ContactIds:ArrayList<Int> = ArrayList<Int>()
    open var SourceCrewID:Int? = null
}

open class ScheduleAutoFillResult
{
    open var JobsFilled:Int? = null
    open var JobsSkipped:Int? = null
    open var VisitsScheduled:Int? = null
}

Kotlin ScheduleStatusRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /v1/schedule/status HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	WorkerScheduleItemID: 0,
	Status: String,
	WorkerNotes: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Items: 
	[
		{
			WorkerScheduleItemID: 0,
			JobID: 0,
			ProjectID: 0,
			ContactID: 0,
			ScheduledDate: 0001-01-01,
			SortOrder: 0,
			SourceCrewID: 0,
			Status: String,
			StartedAt: 0001-01-01,
			CompletedAt: 0001-01-01,
			WorkerNotes: String,
			JobName: String,
			ProjectName: String,
			FirstName: String,
			LastName: String,
			WorkerName: String,
			SourceCrewName: String,
			ProjectLocationID: 0,
			ProjectLocationName: String,
			LocationZip: String,
			LocationCity: String,
			LocationLatitude: 0,
			LocationLongitude: 0,
			JobStatusName: String,
			BranchId: 00000000000000000000000000000000,
			BranchName: String,
			WorkerHomeBranchId: 00000000000000000000000000000000,
			WorkerHomeBranchName: String
		}
	],
	SchedulableJobs: 
	[
		{
			JobID: 0,
			JobName: String,
			ProjectID: 0,
			ProjectName: String,
			StatusID: 0,
			StatusName: String,
			ProjectLocationID: 0,
			ProjectLocationName: String,
			LocationZip: String,
			LocationCity: String,
			LocationLatitude: 0,
			LocationLongitude: 0,
			ExpectedStartDate: 0001-01-01,
			ExpectedCompletionDate: 0001-01-01,
			IsRecurring: False,
			OccurrenceDates: 
			[
				String
			]
		}
	],
	Workers: 
	[
		{
			ContactId: 0,
			FirstName: String,
			LastName: String,
			Name: String,
			Initials: String,
			Rate: 0,
			ImageUrl: String,
			BranchId: 00000000000000000000000000000000,
			BranchName: String
		}
	],
	Crews: 
	[
		{
			CrewID: 0,
			CrewName: String,
			CrewNumber: String,
			CrewManagerContactID: 0,
			CrewManagerContactName: String,
			CrewColor: String,
			RecordCreatedDate: 0001-01-01,
			Active: False,
			CreatedByUID: 00000000000000000000000000000000,
			ProjectID: 0,
			CrewMemberCount: 0,
			ProjectCrewID: 0,
			ProjectName: String,
			BranchId: 00000000000000000000000000000000,
			BranchName: String
		}
	],
	BudgetedCrew: 
	[
		{
			ContactId: 0,
			FirstName: String,
			LastName: String,
			Name: String,
			Initials: String,
			Rate: 0,
			ImageUrl: String,
			BranchId: 00000000000000000000000000000000,
			BranchName: String
		}
	],
	LastAssignment: 
	{
		JobID: 0,
		ContactIds: 
		[
			0
		],
		SourceCrewID: 0
	},
	AutoFill: 
	{
		JobsFilled: 0,
		JobsSkipped: 0,
		VisitsScheduled: 0
	},
	DatesScheduled: 0,
	WorkersScheduled: 0,
	ItemsRemoved: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}