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

export class ResourcedPosition
{
    public PositionTag: string;
    public Hours?: number;
    public CrewSize?: number;
    public Utilization?: number;
    public FixedDays?: number;
    public Headcount?: number;
    public SourceReference: string;
    public Notes: string;
    public IsInCatalog: boolean;
    public ContactID?: number;

    public constructor(init?: Partial<ResourcedPosition>) { (Object as any).assign(this, init); }
}

export class ResourcedEquipment
{
    public EquipmentID: number;
    public EquipmentName: string;
    public MakeModel: string;
    public Quantity?: number;
    public DurationDays?: number;
    public Utilization?: number;
    public FixedDays?: number;
    public SourceReference: string;
    public Notes: string;
    public IsInCatalog: boolean;
    public SuggestedEquipmentID: number;
    public SuggestedEquipmentName: string;

    public constructor(init?: Partial<ResourcedEquipment>) { (Object as any).assign(this, init); }
}

export class ResourcedMaterial
{
    public MaterialID: number;
    public MaterialName: string;
    public MakeModel: string;
    public Quantity?: number;
    public QuantityPerUnit?: number;
    public Unit: string;
    public SourceReference: string;
    public Notes: string;
    public IsInCatalog: boolean;
    public SuggestedMaterialID: number;
    public SuggestedMaterialName: string;

    public constructor(init?: Partial<ResourcedMaterial>) { (Object as any).assign(this, init); }
}

export class TaskResourcing
{
    public Positions: ResourcedPosition[] = [];
    public Equipment: ResourcedEquipment[] = [];
    public Materials: ResourcedMaterial[] = [];
    public ResourcedForQuantity?: number;
    public ProductionRatePerDay?: number;
    public FixedDays?: number;

    public constructor(init?: Partial<TaskResourcing>) { (Object as any).assign(this, init); }
}

export class SpecRefView
{
    public Section: string;
    public Title: string;
    public Url: string;

    public constructor(init?: Partial<SpecRefView>) { (Object as any).assign(this, init); }
}

export class DodItemView
{
    public Key: string;
    public Text: string;
    public Checked: boolean;
    public Source: string;

    public constructor(init?: Partial<DodItemView>) { (Object as any).assign(this, init); }
}

export class WorkPackageView
{
    public HasPackage: boolean;
    public Scope: string;
    public LimitsOfWork: string;
    public SpecRefs: SpecRefView[] = [];
    public Constraints: string[] = [];
    public HoldPoints: string[] = [];
    public Dod: DodItemView[] = [];
    public SafetyNote: string;
    public Provenance: string;
    public SpecBook: string;
    public UserEdited: boolean;
    public RedraftNote: string;

    public constructor(init?: Partial<WorkPackageView>) { (Object as any).assign(this, init); }
}

export class EstimateCrewLineResult
{
    public Role: string;
    public Hours: number;
    public StHours: number;
    public OtHours: number;
    public Rrop: number;
    public StCost: number;
    public OtCost: number;
    public Cost: number;
    public FringeCost: number;
    public PremiumApplied: boolean;
    public HasOt: boolean;
    public NeedsRate: boolean;

    public constructor(init?: Partial<EstimateCrewLineResult>) { (Object as any).assign(this, init); }
}

export class EstimateEquipmentLineResult
{
    public Name: string;
    public Quantity: number;
    public Rate?: number;
    public NeedsRate: boolean;
    public MobCost: number;
    public Cost: number;
    public IsAvailabilityTracked: boolean;
    public IsOwned: boolean;
    public AvailabilityLabel: string;
    public FreedFromProject: string;
    public AvailableFrom?: string;
    public RateKey: string;
    public RentalExplain: string;
    public UsageDays: number;
    public BilledDays: number;

    public constructor(init?: Partial<EstimateEquipmentLineResult>) { (Object as any).assign(this, init); }
}

export class EstimateMaterialLineResult
{
    public Name: string;
    public Quantity: number;
    public Unit: string;
    public Rate?: number;
    public NeedsRate: boolean;
    public Cost: number;
    public RateKey: string;

    public constructor(init?: Partial<EstimateMaterialLineResult>) { (Object as any).assign(this, init); }
}

export class EstimateSubcontractLine
{
    public Vendor: string;
    public Amount: number;
    public Scope: string;

    public constructor(init?: Partial<EstimateSubcontractLine>) { (Object as any).assign(this, init); }
}

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

    public constructor(init?: Partial<EstimateJobResult>) { (Object as any).assign(this, init); }
}

export class ApplyAssemblyResponse
{
    public ResponseStatus: ResponseStatus;
    public TaskSeq: number;
    public TemplateUID?: string;
    public TemplateName: string;
    public Quantity: number;
    public Unit: string;
    public Resourcing: TaskResourcing;
    public Job: EstimateJobResult;
    public Headline: string;

    public constructor(init?: Partial<ApplyAssemblyResponse>) { (Object as any).assign(this, init); }
}

export class ApplyAssemblyRequest
{
    public RfpDocumentUID: string;
    public TaskSeq: number;
    public TemplateUID: string;

    public constructor(init?: Partial<ApplyAssemblyRequest>) { (Object as any).assign(this, init); }
}

TypeScript ApplyAssemblyRequest DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<ApplyAssemblyRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <RfpDocumentUID>00000000-0000-0000-0000-000000000000</RfpDocumentUID>
  <TaskSeq>0</TaskSeq>
  <TemplateUID>00000000-0000-0000-0000-000000000000</TemplateUID>
</ApplyAssemblyRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ApplyAssemblyResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Headline>String</Headline>
  <Job>
    <BenchmarkBasis>String</BenchmarkBasis>
    <BenchmarkP25>0</BenchmarkP25>
    <BenchmarkP75>0</BenchmarkP75>
    <BenchmarkRateMax>0</BenchmarkRateMax>
    <BenchmarkRateMin>0</BenchmarkRateMin>
    <BenchmarkSampleSize>0</BenchmarkSampleSize>
    <BenchmarkUnitPrice>0</BenchmarkUnitPrice>
    <Category>String</Category>
    <Crew>
      <EstimateCrewLineResult>
        <Cost>0</Cost>
        <FringeCost>0</FringeCost>
        <HasOt>false</HasOt>
        <Hours>0</Hours>
        <NeedsRate>false</NeedsRate>
        <OtCost>0</OtCost>
        <OtHours>0</OtHours>
        <PremiumApplied>false</PremiumApplied>
        <Role>String</Role>
        <Rrop>0</Rrop>
        <StCost>0</StCost>
        <StHours>0</StHours>
      </EstimateCrewLineResult>
    </Crew>
    <CrewCost>0</CrewCost>
    <CrewPremiumApplied>false</CrewPremiumApplied>
    <Days>0</Days>
    <DependsOn xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:int>0</d3p1:int>
    </DependsOn>
    <Direct>0</Direct>
    <EffectiveProdPerDay>0</EffectiveProdPerDay>
    <Equipment>
      <EstimateEquipmentLineResult>
        <AvailabilityLabel>String</AvailabilityLabel>
        <AvailableFrom>0001-01-01T00:00:00</AvailableFrom>
        <BilledDays>0</BilledDays>
        <Cost>0</Cost>
        <FreedFromProject>String</FreedFromProject>
        <IsAvailabilityTracked>false</IsAvailabilityTracked>
        <IsOwned>false</IsOwned>
        <MobCost>0</MobCost>
        <Name>String</Name>
        <NeedsRate>false</NeedsRate>
        <Quantity>0</Quantity>
        <Rate>0</Rate>
        <RateKey>String</RateKey>
        <RentalExplain>String</RentalExplain>
        <UsageDays>0</UsageDays>
      </EstimateEquipmentLineResult>
    </Equipment>
    <EquipmentCost>0</EquipmentCost>
    <FringeCost>0</FringeCost>
    <HoursPerDay>0</HoursPerDay>
    <IsNight>false</IsNight>
    <ItemNo>String</ItemNo>
    <MaterialCost>0</MaterialCost>
    <Materials>
      <EstimateMaterialLineResult>
        <Cost>0</Cost>
        <Name>String</Name>
        <NeedsRate>false</NeedsRate>
        <Quantity>0</Quantity>
        <Rate>0</Rate>
        <RateKey>String</RateKey>
        <Unit>String</Unit>
      </EstimateMaterialLineResult>
    </Materials>
    <Name>String</Name>
    <OtFraction>0</OtFraction>
    <OverrideBasis>String</OverrideBasis>
    <PatternCode>String</PatternCode>
    <PricingBandLabel>String</PricingBandLabel>
    <PricingBandN>0</PricingBandN>
    <PricingBandP25>0</PricingBandP25>
    <PricingBandP75>0</PricingBandP75>
    <PricingBasis>String</PricingBasis>
    <PricingRuleId>String</PricingRuleId>
    <Quantity>0</Quantity>
    <ReferenceBasis>String</ReferenceBasis>
    <ReferenceDate>0001-01-01T00:00:00</ReferenceDate>
    <ReferenceN>0</ReferenceN>
    <ReferencePrice>0</ReferencePrice>
    <ReferenceRangeMax>0</ReferenceRangeMax>
    <ReferenceRangeMin>0</ReferenceRangeMin>
    <ReferenceUrl>String</ReferenceUrl>
    <Seq>0</Seq>
    <SourceRef>String</SourceRef>
    <SubcontractCost>0</SubcontractCost>
    <Subcontracts>
      <EstimateSubcontractLine>
        <Amount>0</Amount>
        <Scope>String</Scope>
        <Vendor>String</Vendor>
      </EstimateSubcontractLine>
    </Subcontracts>
    <Unit>String</Unit>
    <UnitPriceOverride>0</UnitPriceOverride>
    <WeeklyHours>0</WeeklyHours>
    <WorkPackage>
      <Constraints xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Constraints>
      <Dod>
        <RfpWorkPackageService.DodItemView>
          <Checked>false</Checked>
          <Key>String</Key>
          <Source>String</Source>
          <Text>String</Text>
        </RfpWorkPackageService.DodItemView>
      </Dod>
      <HasPackage>false</HasPackage>
      <HoldPoints xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </HoldPoints>
      <LimitsOfWork>String</LimitsOfWork>
      <Provenance>String</Provenance>
      <RedraftNote>String</RedraftNote>
      <SafetyNote>String</SafetyNote>
      <Scope>String</Scope>
      <SpecBook>String</SpecBook>
      <SpecRefs>
        <RfpWorkPackageService.SpecRefView>
          <Section>String</Section>
          <Title>String</Title>
          <Url>String</Url>
        </RfpWorkPackageService.SpecRefView>
      </SpecRefs>
      <UserEdited>false</UserEdited>
    </WorkPackage>
    <Workdays>0</Workdays>
  </Job>
  <Quantity>0</Quantity>
  <Resourcing>
    <Equipment>
      <ResourcedEquipment>
        <DurationDays>0</DurationDays>
        <EquipmentID>0</EquipmentID>
        <EquipmentName>String</EquipmentName>
        <FixedDays>0</FixedDays>
        <IsInCatalog>false</IsInCatalog>
        <MakeModel>String</MakeModel>
        <Notes>String</Notes>
        <Quantity>0</Quantity>
        <SourceReference>String</SourceReference>
        <SuggestedEquipmentID>0</SuggestedEquipmentID>
        <SuggestedEquipmentName>String</SuggestedEquipmentName>
        <Utilization>0</Utilization>
      </ResourcedEquipment>
    </Equipment>
    <FixedDays>0</FixedDays>
    <Materials>
      <ResourcedMaterial>
        <IsInCatalog>false</IsInCatalog>
        <MakeModel>String</MakeModel>
        <MaterialID>0</MaterialID>
        <MaterialName>String</MaterialName>
        <Notes>String</Notes>
        <Quantity>0</Quantity>
        <QuantityPerUnit>0</QuantityPerUnit>
        <SourceReference>String</SourceReference>
        <SuggestedMaterialID>0</SuggestedMaterialID>
        <SuggestedMaterialName>String</SuggestedMaterialName>
        <Unit>String</Unit>
      </ResourcedMaterial>
    </Materials>
    <Positions>
      <ResourcedPosition>
        <ContactID>0</ContactID>
        <CrewSize>0</CrewSize>
        <FixedDays>0</FixedDays>
        <Headcount>0</Headcount>
        <Hours>0</Hours>
        <IsInCatalog>false</IsInCatalog>
        <Notes>String</Notes>
        <PositionTag>String</PositionTag>
        <SourceReference>String</SourceReference>
        <Utilization>0</Utilization>
      </ResourcedPosition>
    </Positions>
    <ProductionRatePerDay>0</ProductionRatePerDay>
    <ResourcedForQuantity>0</ResourcedForQuantity>
  </Resourcing>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <TaskSeq>0</TaskSeq>
  <TemplateName>String</TemplateName>
  <TemplateUID>00000000-0000-0000-0000-000000000000</TemplateUID>
  <Unit>String</Unit>
</ApplyAssemblyResponse>