| POST | /v1/schedule/autofill |
|---|
import Foundation
import ServiceStack
public class ScheduleAutoFillRequest : Codable
{
public var fromDate:Date
public var toDate:Date
public var projectID:Int
required public init(){}
}
public class WorkerScheduleResponse : Codable
{
public var items:[WorkerScheduleItem] = []
public var schedulableJobs:[SchedulableJob] = []
public var workers:[ScheduleWorker] = []
public var crews:[Crew] = []
public var budgetedCrew:[ScheduleWorker] = []
public var lastAssignment:ScheduleLastAssignment
public var autoFill:ScheduleAutoFillResult
public var datesScheduled:Int?
public var workersScheduled:Int?
public var itemsRemoved:Int?
public var responseStatus:ResponseStatus
required public init(){}
}
public class WorkerScheduleItem : Codable
{
public var workerScheduleItemID:Int
public var jobID:Int
public var projectID:Int?
public var contactID:Int
public var scheduledDate:Date?
public var sortOrder:Int
public var sourceCrewID:Int?
public var status:String
public var startedAt:Date?
public var completedAt:Date?
public var workerNotes:String
public var jobName:String
public var projectName:String
public var firstName:String
public var lastName:String
public var workerName:String
public var sourceCrewName:String
public var projectLocationID:Int?
public var projectLocationName:String
public var locationZip:String
public var locationCity:String
public var locationLatitude:Double?
public var locationLongitude:Double?
public var jobStatusName:String
public var branchId:String
public var branchName:String
public var workerHomeBranchId:String?
public var workerHomeBranchName:String
required public init(){}
}
public class SchedulableJob : Codable
{
public var jobID:Int
public var jobName:String
public var projectID:Int
public var projectName:String
public var statusID:Int?
public var statusName:String
public var projectLocationID:Int?
public var projectLocationName:String
public var locationZip:String
public var locationCity:String
public var locationLatitude:Double?
public var locationLongitude:Double?
public var expectedStartDate:Date?
public var expectedCompletionDate:Date?
public var isRecurring:Bool
public var occurrenceDates:[String] = []
required public init(){}
}
public class ScheduleWorker : Codable
{
public var contactId:Int
public var firstName:String
public var lastName:String
public var name:String
public var initials:String
public var rate:Double?
public var imageUrl:String
public var branchId:String?
public var branchName:String
required public init(){}
}
public class Crew : Codable
{
public var crewID:Int
public var crewName:String
public var crewNumber:String
public var crewManagerContactID:Int
public var crewManagerContactName:String
public var crewColor:String
public var recordCreatedDate:Date
public var active:Bool
public var createdByUID:String
public var projectID:Int
public var crewMemberCount:Int
public var projectCrewID:Int
public var projectName:String
public var branchId:String
public var branchName:String
required public init(){}
}
public class ScheduleLastAssignment : Codable
{
public var jobID:Int
public var contactIds:[Int] = []
public var sourceCrewID:Int?
required public init(){}
}
public class ScheduleAutoFillResult : Codable
{
public var jobsFilled:Int
public var jobsSkipped:Int
public var visitsScheduled:Int
required public init(){}
}
Swift ScheduleAutoFillRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/schedule/autofill HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","ProjectID":0}
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"}}}