Trendsic Platform Service

<back to all web services

VisitBoardRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/visits/board
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 VisitCard() = 
        member val VisitKey:String = null with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val ProjectUID:String = null with get,set
        member val AgreementJobID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ScheduledDate:String = null with get,set
        member val CustomerName:String = null with get,set
        member val JobName:String = null with get,set
        member val LocationName:String = null with get,set
        member val City:String = null with get,set
        member val Zip:String = null with get,set
        member val Lat:Nullable<Double> = new Nullable<Double>() with get,set
        member val Lng:Nullable<Double> = new Nullable<Double>() with get,set
        member val CrewID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CrewName:String = null with get,set
        member val SortOrder:Int32 = new Int32() with get,set
        member val Status:String = null with get,set
        member val DurationMinutes:Int32 = new Int32() with get,set
        member val EtaWindow:String = null with get,set
        member val IsCommercial:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CrewColumn() = 
        member val CrewID:Int32 = new Int32() with get,set
        member val CrewName:String = null with get,set
        member val CrewColor:String = null with get,set
        member val MemberCount:Int32 = new Int32() with get,set
        member val Visits:ResizeArray<VisitCard> = new ResizeArray<VisitCard>() with get,set
        member val DriveMiles:Double = new Double() with get,set
        member val DriveMinutes:Int32 = new Int32() with get,set
        member val OnSiteMinutes:Int32 = new Int32() with get,set
        member val BillablePct:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BoardReadiness() = 
        member val TotalVisits:Int32 = new Int32() with get,set
        member val Assigned:Int32 = new Int32() with get,set
        member val Unassigned:Int32 = new Int32() with get,set
        member val Conflicts:Int32 = new Int32() with get,set
        member val AssignedPct:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type VisitBoardResponse() = 
        member val Date:String = null with get,set
        member val Crews:ResizeArray<CrewColumn> = new ResizeArray<CrewColumn>() with get,set
        member val Unassigned:ResizeArray<VisitCard> = new ResizeArray<VisitCard>() with get,set
        member val Readiness:BoardReadiness = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type VisitBoardRequest() = 
        member val Date:String = null with get,set

F# VisitBoardRequest 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

HTTP + JSON

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

GET /v1/visits/board HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Date":"String","Crews":[{"CrewID":0,"CrewName":"String","CrewColor":"String","MemberCount":0,"Visits":[{"VisitKey":"String","JobID":0,"ProjectID":0,"ProjectUID":"String","AgreementJobID":0,"ScheduledDate":"String","CustomerName":"String","JobName":"String","LocationName":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"CrewID":0,"CrewName":"String","SortOrder":0,"Status":"String","DurationMinutes":0,"EtaWindow":"String","IsCommercial":false}],"DriveMiles":0,"DriveMinutes":0,"OnSiteMinutes":0,"BillablePct":0}],"Unassigned":[{"VisitKey":"String","JobID":0,"ProjectID":0,"ProjectUID":"String","AgreementJobID":0,"ScheduledDate":"String","CustomerName":"String","JobName":"String","LocationName":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"CrewID":0,"CrewName":"String","SortOrder":0,"Status":"String","DurationMinutes":0,"EtaWindow":"String","IsCommercial":false}],"Readiness":{"TotalVisits":0,"Assigned":0,"Unassigned":0,"Conflicts":0,"AssignedPct":0},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}