| GET | /v1/schedule/jobcrew/{ProjectID}/{JobID} |
|---|
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 ScheduleJobCrewRequest
{
public ProjectID: number;
public JobID: number;
public constructor(init?: Partial<ScheduleJobCrewRequest>) { (Object as any).assign(this, init); }
}
TypeScript ScheduleJobCrewRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/schedule/jobcrew/{ProjectID}/{JobID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
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"}}}