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}
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 PmCalendarBar
    {
        public virtual int JobID { get; set; }
        public virtual string Name { get; set; }
        public virtual string StartDate { get; set; }
        public virtual string EndDate { get; set; }
        public virtual string Status { get; set; }
    }

    public partial class PmCatalogItem
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual double Amount { get; set; }
    }

    public partial class PmConflict
    {
        public virtual string ProjectName { get; set; }
        public virtual string JobName { get; set; }
        public virtual string StartDate { get; set; }
        public virtual string EndDate { get; set; }
    }

    public partial class PmEquipmentRow
    {
        public virtual int EquipmentID { get; set; }
        public virtual string Name { get; set; }
        public virtual string EquipmentType { get; set; }
        public virtual string SerialNumber { get; set; }
        public virtual string UsedByJobs { get; set; }
        public virtual bool Available { get; set; }
        public virtual List<PmConflict> Conflicts { get; set; } = [];
        public virtual int? MaintenanceIntervalDays { get; set; }
        public virtual string LastServiceDate { get; set; }
        public virtual string NextServiceDate { get; set; }
        public virtual string MaintenanceState { get; set; }
    }

    public partial class PmFinance
    {
        public virtual double Budget { get; set; }
        public virtual double Spent { get; set; }
        public virtual double EstimatedCost { get; set; }
        public virtual double CrewCost { get; set; }
        public virtual double EquipCost { get; set; }
        public virtual double MatCost { get; set; }
        public virtual double Variance { get; set; }
        public virtual int HealthPct { get; set; }
        public virtual int SpentPct { get; set; }
        public virtual int ProgressPct { get; set; }
    }

    public partial class PmJob
    {
        public virtual int JobID { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Status { get; set; }
        public virtual string StartDate { get; set; }
        public virtual string EndDate { get; set; }
        public virtual int CrewCount { get; set; }
        public virtual double BudgetedHours { get; set; }
        public virtual int EquipmentCount { get; set; }
        public virtual int MaterialCount { get; set; }
        public virtual double CrewCost { get; set; }
        public virtual double EquipCost { get; set; }
        public virtual double MatCost { get; set; }
        public virtual double Cost { get; set; }
        public virtual bool NoCrew { get; set; }
        public virtual bool EquipConflict { get; set; }
        public virtual bool MaterialGap { get; set; }
        public virtual int ReadyPct { get; set; }
        public virtual List<PmJobCrew> Crew { get; set; } = [];
        public virtual List<PmJobResource> Equipment { get; set; } = [];
        public virtual List<PmJobResource> Materials { get; set; } = [];
    }

    public partial class PmJobCrew
    {
        public virtual int ContactID { get; set; }
        public virtual string Name { get; set; }
        public virtual double Rate { get; set; }
        public virtual double BudgetedHours { get; set; }
        public virtual bool IsOpen { get; set; }
    }

    public partial class PmJobResource
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual double Amount { get; set; }
        public virtual int Qty { get; set; }
    }

    public partial class PmMaterialRow
    {
        public virtual int MaterialID { get; set; }
        public virtual string Name { get; set; }
        public virtual string MaterialType { get; set; }
        public virtual int OnHand { get; set; }
        public virtual int NeededByJobs { get; set; }
        public virtual int QtyNeeded { get; set; }
        public virtual int ToOrder { get; set; }
        public virtual double UnitCost { get; set; }
        public virtual double LineCost { get; set; }
        public virtual int ProjectMaterialID { get; set; }
        public virtual int StatusID { get; set; }
        public virtual string Status { get; set; }
        public virtual string Supplier { get; set; }
        public virtual string OrderDate { get; set; }
        public virtual string DeliveryDate { get; set; }
        public virtual bool Shortfall { get; set; }
    }

    public partial class PmProjectDetail
    {
        public virtual int ProjectID { get; set; }
        public virtual string ProjectUID { get; set; }
        public virtual string Name { get; set; }
        public virtual string Client { get; set; }
        public virtual string ProjectType { get; set; }
        public virtual string Status { get; set; }
        public virtual string Branch { get; set; }
        public virtual string StartDate { get; set; }
        public virtual string EndDate { get; set; }
        public virtual string Description { get; set; }
        public virtual PmFinance Finance { get; set; }
        public virtual PmReadiness Readiness { get; set; }
        public virtual List<PmJob> Jobs { get; set; } = [];
        public virtual List<PmEquipmentRow> Equipment { get; set; } = [];
        public virtual List<PmMaterialRow> Materials { get; set; } = [];
        public virtual List<PmCalendarBar> Calendar { get; set; } = [];
        public virtual List<PmCatalogItem> ProjectStatuses { get; set; } = [];
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class PmProjectDetailRequest
    {
        public virtual string Uid { get; set; }
    }

    public partial class PmReadiness
    {
        public virtual int JobsNoCrew { get; set; }
        public virtual int OpenRoles { get; set; }
        public virtual int EquipmentConflicts { get; set; }
        public virtual int MaterialGaps { get; set; }
        public virtual int TotalGaps { get; set; }
        public virtual int ReadyPct { get; set; }
    }

}

C# PmProjectDetailRequest DTOs

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

HTTP + OTHER

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: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
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"}}}