| GET | /v1/schedule/range/{FromDate}/{ToDate} |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;
namespace CRM.AgencyPlatform.API.Internal
{
public partial class Crew
{
public virtual int CrewID { get; set; }
public virtual string CrewName { get; set; }
public virtual string CrewNumber { get; set; }
public virtual int CrewManagerContactID { get; set; }
public virtual string CrewManagerContactName { get; set; }
public virtual string CrewColor { get; set; }
public virtual DateTime RecordCreatedDate { get; set; }
public virtual bool Active { get; set; }
public virtual Guid CreatedByUID { get; set; }
public virtual int ProjectID { get; set; }
public virtual int CrewMemberCount { get; set; }
public virtual int ProjectCrewID { get; set; }
public virtual string ProjectName { get; set; }
public virtual Guid BranchId { get; set; }
public virtual string BranchName { get; set; }
}
public partial class SchedulableJob
{
public virtual int JobID { get; set; }
public virtual string JobName { get; set; }
public virtual int ProjectID { get; set; }
public virtual string ProjectName { get; set; }
public virtual int? StatusID { get; set; }
public virtual string StatusName { get; set; }
public virtual int? ProjectLocationID { get; set; }
public virtual string ProjectLocationName { get; set; }
public virtual string LocationZip { get; set; }
public virtual string LocationCity { get; set; }
public virtual decimal? LocationLatitude { get; set; }
public virtual decimal? LocationLongitude { get; set; }
public virtual DateTime? ExpectedStartDate { get; set; }
public virtual DateTime? ExpectedCompletionDate { get; set; }
public virtual bool IsRecurring { get; set; }
public virtual List<string> OccurrenceDates { get; set; } = [];
}
public partial class ScheduleAutoFillResult
{
public virtual int JobsFilled { get; set; }
public virtual int JobsSkipped { get; set; }
public virtual int VisitsScheduled { get; set; }
}
public partial class ScheduleLastAssignment
{
public virtual int JobID { get; set; }
public virtual List<int> ContactIds { get; set; } = [];
public virtual int? SourceCrewID { get; set; }
}
public partial class ScheduleRangeRequest
{
public virtual DateTime FromDate { get; set; }
public virtual DateTime ToDate { get; set; }
public virtual int ContactID { get; set; }
}
public partial class ScheduleWorker
{
public virtual int ContactId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string Name { get; set; }
public virtual string Initials { get; set; }
public virtual decimal? Rate { get; set; }
public virtual string ImageUrl { get; set; }
public virtual Guid? BranchId { get; set; }
public virtual string BranchName { get; set; }
}
public partial class WorkerScheduleItem
{
public virtual int WorkerScheduleItemID { get; set; }
public virtual int JobID { get; set; }
public virtual int? ProjectID { get; set; }
public virtual int ContactID { get; set; }
public virtual DateTime? ScheduledDate { get; set; }
public virtual int SortOrder { get; set; }
public virtual int? SourceCrewID { get; set; }
public virtual string Status { get; set; }
public virtual DateTime? StartedAt { get; set; }
public virtual DateTime? CompletedAt { get; set; }
public virtual string WorkerNotes { get; set; }
public virtual string JobName { get; set; }
public virtual string ProjectName { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string WorkerName { get; set; }
public virtual string SourceCrewName { get; set; }
public virtual int? ProjectLocationID { get; set; }
public virtual string ProjectLocationName { get; set; }
public virtual string LocationZip { get; set; }
public virtual string LocationCity { get; set; }
public virtual decimal? LocationLatitude { get; set; }
public virtual decimal? LocationLongitude { get; set; }
public virtual string JobStatusName { get; set; }
public virtual Guid BranchId { get; set; }
public virtual string BranchName { get; set; }
public virtual Guid? WorkerHomeBranchId { get; set; }
public virtual string WorkerHomeBranchName { get; set; }
}
public partial class WorkerScheduleResponse
{
public virtual List<WorkerScheduleItem> Items { get; set; } = [];
public virtual List<SchedulableJob> SchedulableJobs { get; set; } = [];
public virtual List<ScheduleWorker> Workers { get; set; } = [];
public virtual List<Crew> Crews { get; set; } = [];
public virtual List<ScheduleWorker> BudgetedCrew { get; set; } = [];
public virtual ScheduleLastAssignment LastAssignment { get; set; }
public virtual ScheduleAutoFillResult AutoFill { get; set; }
public virtual int? DatesScheduled { get; set; }
public virtual int? WorkersScheduled { get; set; }
public virtual int? ItemsRemoved { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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.
GET /v1/schedule/range/{FromDate}/{ToDate} 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
}
}
}