Trendsic Platform Service

<back to all web services

PmProjectDetailRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/pm/project/{Uid}
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal

Namespace Global

    Namespace CRM.AgencyPlatform.API.Internal

        Public Partial Class PmCalendarBar
            Public Overridable Property JobID As Integer
            Public Overridable Property Name As String
            Public Overridable Property StartDate As String
            Public Overridable Property EndDate As String
            Public Overridable Property Status As String
        End Class

        Public Partial Class PmCatalogItem
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Amount As Double
        End Class

        Public Partial Class PmConflict
            Public Overridable Property ProjectName As String
            Public Overridable Property JobName As String
            Public Overridable Property StartDate As String
            Public Overridable Property EndDate As String
        End Class

        Public Partial Class PmEquipmentRow
            Public Overridable Property EquipmentID As Integer
            Public Overridable Property Name As String
            Public Overridable Property EquipmentType As String
            Public Overridable Property SerialNumber As String
            Public Overridable Property UsedByJobs As String
            Public Overridable Property Available As Boolean
            Public Overridable Property Conflicts As List(Of PmConflict) = New List(Of PmConflict)
            Public Overridable Property MaintenanceIntervalDays As Integer?
            Public Overridable Property LastServiceDate As String
            Public Overridable Property NextServiceDate As String
            Public Overridable Property MaintenanceState As String
        End Class

        Public Partial Class PmFinance
            Public Overridable Property Budget As Double
            Public Overridable Property Spent As Double
            Public Overridable Property EstimatedCost As Double
            Public Overridable Property CrewCost As Double
            Public Overridable Property EquipCost As Double
            Public Overridable Property MatCost As Double
            Public Overridable Property Variance As Double
            Public Overridable Property HealthPct As Integer
            Public Overridable Property SpentPct As Integer
            Public Overridable Property ProgressPct As Integer
        End Class

        Public Partial Class PmJob
            Public Overridable Property JobID As Integer
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property Status As String
            Public Overridable Property StartDate As String
            Public Overridable Property EndDate As String
            Public Overridable Property CrewCount As Integer
            Public Overridable Property BudgetedHours As Double
            Public Overridable Property EquipmentCount As Integer
            Public Overridable Property MaterialCount As Integer
            Public Overridable Property CrewCost As Double
            Public Overridable Property EquipCost As Double
            Public Overridable Property MatCost As Double
            Public Overridable Property Cost As Double
            Public Overridable Property NoCrew As Boolean
            Public Overridable Property EquipConflict As Boolean
            Public Overridable Property MaterialGap As Boolean
            Public Overridable Property ReadyPct As Integer
            Public Overridable Property Crew As List(Of PmJobCrew) = New List(Of PmJobCrew)
            Public Overridable Property Equipment As List(Of PmJobResource) = New List(Of PmJobResource)
            Public Overridable Property Materials As List(Of PmJobResource) = New List(Of PmJobResource)
        End Class

        Public Partial Class PmJobCrew
            Public Overridable Property ContactID As Integer
            Public Overridable Property Name As String
            Public Overridable Property Rate As Double
            Public Overridable Property BudgetedHours As Double
            Public Overridable Property IsOpen As Boolean
        End Class

        Public Partial Class PmJobResource
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Amount As Double
            Public Overridable Property Qty As Integer
        End Class

        Public Partial Class PmMaterialRow
            Public Overridable Property MaterialID As Integer
            Public Overridable Property Name As String
            Public Overridable Property MaterialType As String
            Public Overridable Property OnHand As Integer
            Public Overridable Property NeededByJobs As Integer
            Public Overridable Property QtyNeeded As Integer
            Public Overridable Property ToOrder As Integer
            Public Overridable Property UnitCost As Double
            Public Overridable Property LineCost As Double
            Public Overridable Property ProjectMaterialID As Integer
            Public Overridable Property StatusID As Integer
            Public Overridable Property Status As String
            Public Overridable Property Supplier As String
            Public Overridable Property OrderDate As String
            Public Overridable Property DeliveryDate As String
            Public Overridable Property Shortfall As Boolean
        End Class

        Public Partial Class PmProjectDetail
            Public Overridable Property ProjectID As Integer
            Public Overridable Property ProjectUID As String
            Public Overridable Property Name As String
            Public Overridable Property Client As String
            Public Overridable Property ProjectType As String
            Public Overridable Property Status As String
            Public Overridable Property Branch As String
            Public Overridable Property StartDate As String
            Public Overridable Property EndDate As String
            Public Overridable Property Description As String
            Public Overridable Property Finance As PmFinance
            Public Overridable Property Readiness As PmReadiness
            Public Overridable Property Jobs As List(Of PmJob) = New List(Of PmJob)
            Public Overridable Property Equipment As List(Of PmEquipmentRow) = New List(Of PmEquipmentRow)
            Public Overridable Property Materials As List(Of PmMaterialRow) = New List(Of PmMaterialRow)
            Public Overridable Property Calendar As List(Of PmCalendarBar) = New List(Of PmCalendarBar)
            Public Overridable Property ProjectStatuses As List(Of PmCatalogItem) = New List(Of PmCatalogItem)
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class PmProjectDetailRequest
            Public Overridable Property Uid As String
        End Class

        Public Partial Class PmReadiness
            Public Overridable Property JobsNoCrew As Integer
            Public Overridable Property OpenRoles As Integer
            Public Overridable Property EquipmentConflicts As Integer
            Public Overridable Property MaterialGaps As Integer
            Public Overridable Property TotalGaps As Integer
            Public Overridable Property ReadyPct As Integer
        End Class
    End Namespace
End Namespace

VB.NET PmProjectDetailRequest 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/pm/project/{Uid} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ProjectID":0,"ProjectUID":"String","Name":"String","Client":"String","ProjectType":"String","Status":"String","Branch":"String","StartDate":"String","EndDate":"String","Description":"String","Finance":{"Budget":0,"Spent":0,"EstimatedCost":0,"CrewCost":0,"EquipCost":0,"MatCost":0,"Variance":0,"HealthPct":0,"SpentPct":0,"ProgressPct":0},"Readiness":{"JobsNoCrew":0,"OpenRoles":0,"EquipmentConflicts":0,"MaterialGaps":0,"TotalGaps":0,"ReadyPct":0},"Jobs":[{"JobID":0,"Name":"String","Description":"String","Status":"String","StartDate":"String","EndDate":"String","CrewCount":0,"BudgetedHours":0,"EquipmentCount":0,"MaterialCount":0,"CrewCost":0,"EquipCost":0,"MatCost":0,"Cost":0,"NoCrew":false,"EquipConflict":false,"MaterialGap":false,"ReadyPct":0,"Crew":[{"ContactID":0,"Name":"String","Rate":0,"BudgetedHours":0,"IsOpen":false}],"Equipment":[{"Id":0,"Name":"String","Amount":0,"Qty":0}],"Materials":[{"Id":0,"Name":"String","Amount":0,"Qty":0}]}],"Equipment":[{"EquipmentID":0,"Name":"String","EquipmentType":"String","SerialNumber":"String","UsedByJobs":"String","Available":false,"Conflicts":[{"ProjectName":"String","JobName":"String","StartDate":"String","EndDate":"String"}],"MaintenanceIntervalDays":0,"LastServiceDate":"String","NextServiceDate":"String","MaintenanceState":"String"}],"Materials":[{"MaterialID":0,"Name":"String","MaterialType":"String","OnHand":0,"NeededByJobs":0,"QtyNeeded":0,"ToOrder":0,"UnitCost":0,"LineCost":0,"ProjectMaterialID":0,"StatusID":0,"Status":"String","Supplier":"String","OrderDate":"String","DeliveryDate":"String","Shortfall":false}],"Calendar":[{"JobID":0,"Name":"String","StartDate":"String","EndDate":"String","Status":"String"}],"ProjectStatuses":[{"Id":0,"Name":"String","Amount":0}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}