Trendsic Platform Service

<back to all web services

ApplyAssemblyRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/{RfpDocumentUID}/Estimate/Jobs/{TaskSeq}/assembly
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 ApplyAssemblyRequest
    {
        public virtual Guid RfpDocumentUID { get; set; }
        public virtual int TaskSeq { get; set; }
        public virtual Guid TemplateUID { get; set; }
    }

    public partial class ApplyAssemblyResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual int TaskSeq { get; set; }
        public virtual Guid? TemplateUID { get; set; }
        public virtual string TemplateName { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual string Unit { get; set; }
        public virtual TaskResourcing Resourcing { get; set; }
        public virtual EstimateJobResult Job { get; set; }
        public virtual string Headline { get; set; }
    }

    public partial class EstimateCrewLineResult
    {
        public virtual string Role { get; set; }
        public virtual decimal Hours { get; set; }
        public virtual decimal StHours { get; set; }
        public virtual decimal OtHours { get; set; }
        public virtual decimal Rrop { get; set; }
        public virtual decimal StCost { get; set; }
        public virtual decimal OtCost { get; set; }
        public virtual decimal Cost { get; set; }
        public virtual decimal FringeCost { get; set; }
        public virtual bool PremiumApplied { get; set; }
        public virtual bool HasOt { get; set; }
        public virtual bool NeedsRate { get; set; }
    }

    public partial class EstimateEquipmentLineResult
    {
        public virtual string Name { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual decimal? Rate { get; set; }
        public virtual bool NeedsRate { get; set; }
        public virtual decimal MobCost { get; set; }
        public virtual decimal Cost { get; set; }
        public virtual bool IsAvailabilityTracked { get; set; }
        public virtual bool IsOwned { get; set; }
        public virtual string AvailabilityLabel { get; set; }
        public virtual string FreedFromProject { get; set; }
        public virtual DateTime? AvailableFrom { get; set; }
        public virtual string RateKey { get; set; }
        public virtual string RentalExplain { get; set; }
        public virtual decimal UsageDays { get; set; }
        public virtual decimal BilledDays { get; set; }
    }

    public partial class EstimateJobResult
    {
        public virtual int Seq { get; set; }
        public virtual List<int> DependsOn { get; set; } = [];
        public virtual string ItemNo { get; set; }
        public virtual string Name { get; set; }
        public virtual string Category { get; set; }
        public virtual string SourceRef { get; set; }
        public virtual string Unit { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual string PatternCode { get; set; }
        public virtual int Workdays { get; set; }
        public virtual decimal HoursPerDay { get; set; }
        public virtual bool IsNight { get; set; }
        public virtual decimal WeeklyHours { get; set; }
        public virtual decimal OtFraction { get; set; }
        public virtual decimal Days { get; set; }
        public virtual decimal? EffectiveProdPerDay { get; set; }
        public virtual bool CrewPremiumApplied { get; set; }
        public virtual WorkPackageView WorkPackage { get; set; }
        public virtual List<EstimateCrewLineResult> Crew { get; set; } = [];
        public virtual List<EstimateEquipmentLineResult> Equipment { get; set; } = [];
        public virtual List<EstimateMaterialLineResult> Materials { get; set; } = [];
        public virtual List<EstimateSubcontractLine> Subcontracts { get; set; } = [];
        public virtual decimal CrewCost { get; set; }
        public virtual decimal FringeCost { get; set; }
        public virtual decimal EquipmentCost { get; set; }
        public virtual decimal MaterialCost { get; set; }
        public virtual decimal SubcontractCost { get; set; }
        public virtual decimal Direct { get; set; }
        public virtual string PricingBasis { get; set; }
        public virtual string PricingRuleId { get; set; }
        public virtual decimal? PricingBandP25 { get; set; }
        public virtual decimal? PricingBandP75 { get; set; }
        public virtual int? PricingBandN { get; set; }
        public virtual string PricingBandLabel { get; set; }
        public virtual decimal? BenchmarkUnitPrice { get; set; }
        public virtual decimal? BenchmarkRateMin { get; set; }
        public virtual decimal? BenchmarkRateMax { get; set; }
        public virtual int? BenchmarkSampleSize { get; set; }
        public virtual decimal? BenchmarkP25 { get; set; }
        public virtual decimal? BenchmarkP75 { get; set; }
        public virtual string BenchmarkBasis { get; set; }
        public virtual decimal? UnitPriceOverride { get; set; }
        public virtual string OverrideBasis { get; set; }
        public virtual decimal? ReferencePrice { get; set; }
        public virtual decimal? ReferenceRangeMin { get; set; }
        public virtual decimal? ReferenceRangeMax { get; set; }
        public virtual int? ReferenceN { get; set; }
        public virtual DateTime? ReferenceDate { get; set; }
        public virtual string ReferenceBasis { get; set; }
        public virtual string ReferenceUrl { get; set; }
    }

    public partial class EstimateMaterialLineResult
    {
        public virtual string Name { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual string Unit { get; set; }
        public virtual decimal? Rate { get; set; }
        public virtual bool NeedsRate { get; set; }
        public virtual decimal Cost { get; set; }
        public virtual string RateKey { get; set; }
    }

    public partial class EstimateSubcontractLine
    {
        public virtual string Vendor { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual string Scope { get; set; }
    }

    public partial class ResourcedEquipment
    {
        public virtual int EquipmentID { get; set; }
        public virtual string EquipmentName { get; set; }
        public virtual string MakeModel { get; set; }
        public virtual double? Quantity { get; set; }
        public virtual double? DurationDays { get; set; }
        public virtual double? Utilization { get; set; }
        public virtual double? FixedDays { get; set; }
        public virtual string SourceReference { get; set; }
        public virtual string Notes { get; set; }
        public virtual bool IsInCatalog { get; set; }
        public virtual int SuggestedEquipmentID { get; set; }
        public virtual string SuggestedEquipmentName { get; set; }
    }

    public partial class ResourcedMaterial
    {
        public virtual int MaterialID { get; set; }
        public virtual string MaterialName { get; set; }
        public virtual string MakeModel { get; set; }
        public virtual double? Quantity { get; set; }
        public virtual double? QuantityPerUnit { get; set; }
        public virtual string Unit { get; set; }
        public virtual string SourceReference { get; set; }
        public virtual string Notes { get; set; }
        public virtual bool IsInCatalog { get; set; }
        public virtual int SuggestedMaterialID { get; set; }
        public virtual string SuggestedMaterialName { get; set; }
    }

    public partial class ResourcedPosition
    {
        public virtual string PositionTag { get; set; }
        public virtual double? Hours { get; set; }
        public virtual double? CrewSize { get; set; }
        public virtual double? Utilization { get; set; }
        public virtual double? FixedDays { get; set; }
        public virtual int? Headcount { get; set; }
        public virtual string SourceReference { get; set; }
        public virtual string Notes { get; set; }
        public virtual bool IsInCatalog { get; set; }
        public virtual int? ContactID { get; set; }
    }

    public partial class TaskResourcing
    {
        public virtual List<ResourcedPosition> Positions { get; set; } = [];
        public virtual List<ResourcedEquipment> Equipment { get; set; } = [];
        public virtual List<ResourcedMaterial> Materials { get; set; } = [];
        public virtual double? ResourcedForQuantity { get; set; }
        public virtual double? ProductionRatePerDay { get; set; }
        public virtual double? FixedDays { get; set; }
    }

}

C# ApplyAssemblyRequest DTOs

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

HTTP + JSV

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

POST /v1/Rfp/{RfpDocumentUID}/Estimate/Jobs/{TaskSeq}/assembly HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	RfpDocumentUID: 00000000000000000000000000000000,
	TaskSeq: 0,
	TemplateUID: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	TaskSeq: 0,
	TemplateUID: 00000000000000000000000000000000,
	TemplateName: String,
	Quantity: 0,
	Unit: String,
	Resourcing: 
	{
		Positions: 
		[
			{
				PositionTag: String,
				Hours: 0,
				CrewSize: 0,
				Utilization: 0,
				FixedDays: 0,
				Headcount: 0,
				SourceReference: String,
				Notes: String,
				IsInCatalog: False,
				ContactID: 0
			}
		],
		Equipment: 
		[
			{
				EquipmentID: 0,
				EquipmentName: String,
				MakeModel: String,
				Quantity: 0,
				DurationDays: 0,
				Utilization: 0,
				FixedDays: 0,
				SourceReference: String,
				Notes: String,
				IsInCatalog: False,
				SuggestedEquipmentID: 0,
				SuggestedEquipmentName: String
			}
		],
		Materials: 
		[
			{
				MaterialID: 0,
				MaterialName: String,
				MakeModel: String,
				Quantity: 0,
				QuantityPerUnit: 0,
				Unit: String,
				SourceReference: String,
				Notes: String,
				IsInCatalog: False,
				SuggestedMaterialID: 0,
				SuggestedMaterialName: String
			}
		],
		ResourcedForQuantity: 0,
		ProductionRatePerDay: 0,
		FixedDays: 0
	},
	Job: 
	{
		Seq: 0,
		DependsOn: 
		[
			0
		],
		ItemNo: String,
		Name: String,
		Category: String,
		SourceRef: String,
		Unit: String,
		Quantity: 0,
		PatternCode: String,
		Workdays: 0,
		HoursPerDay: 0,
		IsNight: False,
		WeeklyHours: 0,
		OtFraction: 0,
		Days: 0,
		EffectiveProdPerDay: 0,
		CrewPremiumApplied: False,
		WorkPackage: 
		{
			HasPackage: False,
			Scope: String,
			LimitsOfWork: String,
			SpecRefs: 
			[
				{
					Section: String,
					Title: String,
					Url: String
				}
			],
			Constraints: 
			[
				String
			],
			HoldPoints: 
			[
				String
			],
			Dod: 
			[
				{
					Key: String,
					Text: String,
					Checked: False,
					Source: String
				}
			],
			SafetyNote: String,
			Provenance: String,
			SpecBook: String,
			UserEdited: False,
			RedraftNote: String
		},
		Crew: 
		[
			{
				Role: String,
				Hours: 0,
				StHours: 0,
				OtHours: 0,
				Rrop: 0,
				StCost: 0,
				OtCost: 0,
				Cost: 0,
				FringeCost: 0,
				PremiumApplied: False,
				HasOt: False,
				NeedsRate: False
			}
		],
		Equipment: 
		[
			{
				Name: String,
				Quantity: 0,
				Rate: 0,
				NeedsRate: False,
				MobCost: 0,
				Cost: 0,
				IsAvailabilityTracked: False,
				IsOwned: False,
				AvailabilityLabel: String,
				FreedFromProject: String,
				AvailableFrom: 0001-01-01,
				RateKey: String,
				RentalExplain: String,
				UsageDays: 0,
				BilledDays: 0
			}
		],
		Materials: 
		[
			{
				Name: String,
				Quantity: 0,
				Unit: String,
				Rate: 0,
				NeedsRate: False,
				Cost: 0,
				RateKey: String
			}
		],
		Subcontracts: 
		[
			{
				Vendor: String,
				Amount: 0,
				Scope: String
			}
		],
		CrewCost: 0,
		FringeCost: 0,
		EquipmentCost: 0,
		MaterialCost: 0,
		SubcontractCost: 0,
		Direct: 0,
		PricingBasis: String,
		PricingRuleId: String,
		PricingBandP25: 0,
		PricingBandP75: 0,
		PricingBandN: 0,
		PricingBandLabel: String,
		BenchmarkUnitPrice: 0,
		BenchmarkRateMin: 0,
		BenchmarkRateMax: 0,
		BenchmarkSampleSize: 0,
		BenchmarkP25: 0,
		BenchmarkP75: 0,
		BenchmarkBasis: String,
		UnitPriceOverride: 0,
		OverrideBasis: String,
		ReferencePrice: 0,
		ReferenceRangeMin: 0,
		ReferenceRangeMax: 0,
		ReferenceN: 0,
		ReferenceDate: 0001-01-01,
		ReferenceBasis: String,
		ReferenceUrl: String
	},
	Headline: String
}