Trendsic Platform Service

<back to all web services

ScheduleJobsRequest

Requires Authentication
The following routes are available for this service:
GET/v1/schedule/jobs

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 ScheduleJobsRequest
{
    public ProjectID: number;
    public FromDate: string;
    public ToDate: string;
    public ShowAll: boolean;
    public ShowCompleted: boolean;

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

TypeScript ScheduleJobsRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /v1/schedule/jobs HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Items":[{"WorkerScheduleItemID":0,"JobID":0,"ProjectID":0,"ContactID":0,"ScheduledDate":"0001-01-01T00:00:00.0000000","SortOrder":0,"SourceCrewID":0,"Status":"String","StartedAt":"0001-01-01T00:00:00.0000000","CompletedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","ExpectedCompletionDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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"}}}