Trendsic Platform Service

<back to all web services

ScheduleLastAssignmentRequest

Requires Authentication
The following routes are available for this service:
GET/v1/schedule/lastassignment/{JobID}
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type WorkerScheduleItem() = 
        member val WorkerScheduleItemID:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val ProjectID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ContactID:Int32 = new Int32() with get,set
        member val ScheduledDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SortOrder:Int32 = new Int32() with get,set
        member val SourceCrewID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Status:String = null with get,set
        member val StartedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CompletedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val WorkerNotes:String = null with get,set
        member val JobName:String = null with get,set
        member val ProjectName:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val WorkerName:String = null with get,set
        member val SourceCrewName:String = null with get,set
        member val ProjectLocationID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProjectLocationName:String = null with get,set
        member val LocationZip:String = null with get,set
        member val LocationCity:String = null with get,set
        member val LocationLatitude:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val LocationLongitude:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val JobStatusName:String = null with get,set
        member val BranchId:Guid = new Guid() with get,set
        member val BranchName:String = null with get,set
        member val WorkerHomeBranchId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val WorkerHomeBranchName:String = null with get,set

    [<AllowNullLiteral>]
    type SchedulableJob() = 
        member val JobID:Int32 = new Int32() with get,set
        member val JobName:String = null with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val ProjectName:String = null with get,set
        member val StatusID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StatusName:String = null with get,set
        member val ProjectLocationID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProjectLocationName:String = null with get,set
        member val LocationZip:String = null with get,set
        member val LocationCity:String = null with get,set
        member val LocationLatitude:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val LocationLongitude:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExpectedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ExpectedCompletionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val IsRecurring:Boolean = new Boolean() with get,set
        member val OccurrenceDates:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type ScheduleWorker() = 
        member val ContactId:Int32 = new Int32() with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Name:String = null with get,set
        member val Initials:String = null with get,set
        member val Rate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ImageUrl:String = null with get,set
        member val BranchId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val BranchName:String = null with get,set

    [<AllowNullLiteral>]
    type Crew() = 
        member val CrewID:Int32 = new Int32() with get,set
        member val CrewName:String = null with get,set
        member val CrewNumber:String = null with get,set
        member val CrewManagerContactID:Int32 = new Int32() with get,set
        member val CrewManagerContactName:String = null with get,set
        member val CrewColor:String = null with get,set
        member val RecordCreatedDate:DateTime = new DateTime() with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val CreatedByUID:Guid = new Guid() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val CrewMemberCount:Int32 = new Int32() with get,set
        member val ProjectCrewID:Int32 = new Int32() with get,set
        member val ProjectName:String = null with get,set
        member val BranchId:Guid = new Guid() with get,set
        member val BranchName:String = null with get,set

    [<AllowNullLiteral>]
    type ScheduleLastAssignment() = 
        member val JobID:Int32 = new Int32() with get,set
        member val ContactIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val SourceCrewID:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type ScheduleAutoFillResult() = 
        member val JobsFilled:Int32 = new Int32() with get,set
        member val JobsSkipped:Int32 = new Int32() with get,set
        member val VisitsScheduled:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WorkerScheduleResponse() = 
        member val Items:ResizeArray<WorkerScheduleItem> = new ResizeArray<WorkerScheduleItem>() with get,set
        member val SchedulableJobs:ResizeArray<SchedulableJob> = new ResizeArray<SchedulableJob>() with get,set
        member val Workers:ResizeArray<ScheduleWorker> = new ResizeArray<ScheduleWorker>() with get,set
        member val Crews:ResizeArray<Crew> = new ResizeArray<Crew>() with get,set
        member val BudgetedCrew:ResizeArray<ScheduleWorker> = new ResizeArray<ScheduleWorker>() with get,set
        member val LastAssignment:ScheduleLastAssignment = null with get,set
        member val AutoFill:ScheduleAutoFillResult = null with get,set
        member val DatesScheduled:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val WorkersScheduled:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ItemsRemoved:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type ScheduleLastAssignmentRequest() = 
        member val JobID:Int32 = new Int32() with get,set

F# ScheduleLastAssignmentRequest DTOs

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

HTTP + CSV

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

GET /v1/schedule/lastassignment/{JobID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}