| POST | /v1/schedule/reorder |
|---|
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 ScheduleReorderRequest
{
public ContactID: number;
public ScheduledDate: string;
public OrderedIds: number[] = [];
public constructor(init?: Partial<ScheduleReorderRequest>) { (Object as any).assign(this, init); }
}
TypeScript ScheduleReorderRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/schedule/reorder HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ContactID: 0,
ScheduledDate: 0001-01-01,
OrderedIds:
[
0
]
}
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
}
}
}