Trendsic Platform Service

<back to all web services

ScheduleRemoveRequest

Requires Authentication
The following routes are available for this service:
DELETE/v1/schedule/{WorkerScheduleItemID}

export class WorkerScheduleItem
{
    public WorkerScheduleItemID: number;
    public JobID: number;
    public ProjectID?: number;
    public ContactID: number;
    public ScheduledDate?: string;
    public SortOrder: number;
    public SourceCrewID?: number;
    public Status: string;
    public StartedAt?: string;
    public CompletedAt?: string;
    public WorkerNotes: string;
    public JobName: string;
    public ProjectName: string;
    public FirstName: string;
    public LastName: string;
    public WorkerName: string;
    public SourceCrewName: string;
    public ProjectLocationID?: number;
    public ProjectLocationName: string;
    public LocationZip: string;
    public LocationCity: string;
    public LocationLatitude?: number;
    public LocationLongitude?: number;
    public JobStatusName: string;
    public BranchId: string;
    public BranchName: string;
    public WorkerHomeBranchId?: string;
    public WorkerHomeBranchName: string;

    public constructor(init?: Partial<WorkerScheduleItem>) { (Object as any).assign(this, init); }
}

export class SchedulableJob
{
    public JobID: number;
    public JobName: string;
    public ProjectID: number;
    public ProjectName: string;
    public StatusID?: number;
    public StatusName: string;
    public ProjectLocationID?: number;
    public ProjectLocationName: string;
    public LocationZip: string;
    public LocationCity: string;
    public LocationLatitude?: number;
    public LocationLongitude?: number;
    public ExpectedStartDate?: string;
    public ExpectedCompletionDate?: string;
    public IsRecurring: boolean;
    public OccurrenceDates: string[] = [];

    public constructor(init?: Partial<SchedulableJob>) { (Object as any).assign(this, init); }
}

export class ScheduleWorker
{
    public ContactId: number;
    public FirstName: string;
    public LastName: string;
    public Name: string;
    public Initials: string;
    public Rate?: number;
    public ImageUrl: string;
    public BranchId?: string;
    public BranchName: string;

    public constructor(init?: Partial<ScheduleWorker>) { (Object as any).assign(this, init); }
}

export class Crew
{
    public CrewID: number;
    public CrewName: string;
    public CrewNumber: string;
    public CrewManagerContactID: number;
    public CrewManagerContactName: string;
    public CrewColor: string;
    public RecordCreatedDate: string;
    public Active: boolean;
    public CreatedByUID: string;
    public ProjectID: number;
    public CrewMemberCount: number;
    public ProjectCrewID: number;
    public ProjectName: string;
    public BranchId: string;
    public BranchName: string;

    public constructor(init?: Partial<Crew>) { (Object as any).assign(this, init); }
}

export class ScheduleLastAssignment
{
    public JobID: number;
    public ContactIds: number[] = [];
    public SourceCrewID?: number;

    public constructor(init?: Partial<ScheduleLastAssignment>) { (Object as any).assign(this, init); }
}

export class ScheduleAutoFillResult
{
    public JobsFilled: number;
    public JobsSkipped: number;
    public VisitsScheduled: number;

    public constructor(init?: Partial<ScheduleAutoFillResult>) { (Object as any).assign(this, init); }
}

export class WorkerScheduleResponse
{
    public Items: WorkerScheduleItem[] = [];
    public SchedulableJobs: SchedulableJob[] = [];
    public Workers: ScheduleWorker[] = [];
    public Crews: Crew[] = [];
    public BudgetedCrew: ScheduleWorker[] = [];
    public LastAssignment: ScheduleLastAssignment;
    public AutoFill: ScheduleAutoFillResult;
    public DatesScheduled?: number;
    public WorkersScheduled?: number;
    public ItemsRemoved?: number;
    public ResponseStatus: ResponseStatus;

    public constructor(init?: Partial<WorkerScheduleResponse>) { (Object as any).assign(this, init); }
}

export class ScheduleRemoveRequest
{
    public WorkerScheduleItemID: number;

    public constructor(init?: Partial<ScheduleRemoveRequest>) { (Object as any).assign(this, init); }
}

TypeScript ScheduleRemoveRequest 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.

DELETE /v1/schedule/{WorkerScheduleItemID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
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
		}
	}
}