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
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 ResourcedPosition() = 
        member val PositionTag:String = null with get,set
        member val Hours:Nullable<Double> = new Nullable<Double>() with get,set
        member val CrewSize:Nullable<Double> = new Nullable<Double>() with get,set
        member val Utilization:Nullable<Double> = new Nullable<Double>() with get,set
        member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set
        member val Headcount:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SourceReference:String = null with get,set
        member val Notes:String = null with get,set
        member val IsInCatalog:Boolean = new Boolean() with get,set
        member val ContactID:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type ResourcedEquipment() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val EquipmentName:String = null with get,set
        member val MakeModel:String = null with get,set
        member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
        member val DurationDays:Nullable<Double> = new Nullable<Double>() with get,set
        member val Utilization:Nullable<Double> = new Nullable<Double>() with get,set
        member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set
        member val SourceReference:String = null with get,set
        member val Notes:String = null with get,set
        member val IsInCatalog:Boolean = new Boolean() with get,set
        member val SuggestedEquipmentID:Int32 = new Int32() with get,set
        member val SuggestedEquipmentName:String = null with get,set

    [<AllowNullLiteral>]
    type ResourcedMaterial() = 
        member val MaterialID:Int32 = new Int32() with get,set
        member val MaterialName:String = null with get,set
        member val MakeModel:String = null with get,set
        member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
        member val QuantityPerUnit:Nullable<Double> = new Nullable<Double>() with get,set
        member val Unit:String = null with get,set
        member val SourceReference:String = null with get,set
        member val Notes:String = null with get,set
        member val IsInCatalog:Boolean = new Boolean() with get,set
        member val SuggestedMaterialID:Int32 = new Int32() with get,set
        member val SuggestedMaterialName:String = null with get,set

    [<AllowNullLiteral>]
    type TaskResourcing() = 
        member val Positions:ResizeArray<ResourcedPosition> = new ResizeArray<ResourcedPosition>() with get,set
        member val Equipment:ResizeArray<ResourcedEquipment> = new ResizeArray<ResourcedEquipment>() with get,set
        member val Materials:ResizeArray<ResourcedMaterial> = new ResizeArray<ResourcedMaterial>() with get,set
        member val ResourcedForQuantity:Nullable<Double> = new Nullable<Double>() with get,set
        member val ProductionRatePerDay:Nullable<Double> = new Nullable<Double>() with get,set
        member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set

    [<AllowNullLiteral>]
    type SpecRefView() = 
        member val Section:String = null with get,set
        member val Title:String = null with get,set
        member val Url:String = null with get,set

    [<AllowNullLiteral>]
    type DodItemView() = 
        member val Key:String = null with get,set
        member val Text:String = null with get,set
        member val Checked:Boolean = new Boolean() with get,set
        member val Source:String = null with get,set

    [<AllowNullLiteral>]
    type WorkPackageView() = 
        member val HasPackage:Boolean = new Boolean() with get,set
        member val Scope:String = null with get,set
        member val LimitsOfWork:String = null with get,set
        member val SpecRefs:ResizeArray<SpecRefView> = new ResizeArray<SpecRefView>() with get,set
        member val Constraints:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val HoldPoints:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Dod:ResizeArray<DodItemView> = new ResizeArray<DodItemView>() with get,set
        member val SafetyNote:String = null with get,set
        member val Provenance:String = null with get,set
        member val SpecBook:String = null with get,set
        member val UserEdited:Boolean = new Boolean() with get,set
        member val RedraftNote:String = null with get,set

    [<AllowNullLiteral>]
    type EstimateCrewLineResult() = 
        member val Role:String = null with get,set
        member val Hours:Decimal = new Decimal() with get,set
        member val StHours:Decimal = new Decimal() with get,set
        member val OtHours:Decimal = new Decimal() with get,set
        member val Rrop:Decimal = new Decimal() with get,set
        member val StCost:Decimal = new Decimal() with get,set
        member val OtCost:Decimal = new Decimal() with get,set
        member val Cost:Decimal = new Decimal() with get,set
        member val FringeCost:Decimal = new Decimal() with get,set
        member val PremiumApplied:Boolean = new Boolean() with get,set
        member val HasOt:Boolean = new Boolean() with get,set
        member val NeedsRate:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type EstimateEquipmentLineResult() = 
        member val Name:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val Rate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NeedsRate:Boolean = new Boolean() with get,set
        member val MobCost:Decimal = new Decimal() with get,set
        member val Cost:Decimal = new Decimal() with get,set
        member val IsAvailabilityTracked:Boolean = new Boolean() with get,set
        member val IsOwned:Boolean = new Boolean() with get,set
        member val AvailabilityLabel:String = null with get,set
        member val FreedFromProject:String = null with get,set
        member val AvailableFrom:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RateKey:String = null with get,set
        member val RentalExplain:String = null with get,set
        member val UsageDays:Decimal = new Decimal() with get,set
        member val BilledDays:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type EstimateMaterialLineResult() = 
        member val Name:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val Unit:String = null with get,set
        member val Rate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NeedsRate:Boolean = new Boolean() with get,set
        member val Cost:Decimal = new Decimal() with get,set
        member val RateKey:String = null with get,set

    [<AllowNullLiteral>]
    type EstimateSubcontractLine() = 
        member val Vendor:String = null with get,set
        member val Amount:Decimal = new Decimal() with get,set
        member val Scope:String = null with get,set

    [<AllowNullLiteral>]
    type EstimateJobResult() = 
        member val Seq:Int32 = new Int32() with get,set
        member val DependsOn:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ItemNo:String = null with get,set
        member val Name:String = null with get,set
        member val Category:String = null with get,set
        member val SourceRef:String = null with get,set
        member val Unit:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val PatternCode:String = null with get,set
        member val Workdays:Int32 = new Int32() with get,set
        member val HoursPerDay:Decimal = new Decimal() with get,set
        member val IsNight:Boolean = new Boolean() with get,set
        member val WeeklyHours:Decimal = new Decimal() with get,set
        member val OtFraction:Decimal = new Decimal() with get,set
        member val Days:Decimal = new Decimal() with get,set
        member val EffectiveProdPerDay:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CrewPremiumApplied:Boolean = new Boolean() with get,set
        member val WorkPackage:WorkPackageView = null with get,set
        member val Crew:ResizeArray<EstimateCrewLineResult> = new ResizeArray<EstimateCrewLineResult>() with get,set
        member val Equipment:ResizeArray<EstimateEquipmentLineResult> = new ResizeArray<EstimateEquipmentLineResult>() with get,set
        member val Materials:ResizeArray<EstimateMaterialLineResult> = new ResizeArray<EstimateMaterialLineResult>() with get,set
        member val Subcontracts:ResizeArray<EstimateSubcontractLine> = new ResizeArray<EstimateSubcontractLine>() with get,set
        member val CrewCost:Decimal = new Decimal() with get,set
        member val FringeCost:Decimal = new Decimal() with get,set
        member val EquipmentCost:Decimal = new Decimal() with get,set
        member val MaterialCost:Decimal = new Decimal() with get,set
        member val SubcontractCost:Decimal = new Decimal() with get,set
        member val Direct:Decimal = new Decimal() with get,set
        member val PricingBasis:String = null with get,set
        member val PricingRuleId:String = null with get,set
        member val PricingBandP25:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PricingBandP75:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PricingBandN:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PricingBandLabel:String = null with get,set
        member val BenchmarkUnitPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkRateMin:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkRateMax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkSampleSize:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val BenchmarkP25:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkP75:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkBasis:String = null with get,set
        member val UnitPriceOverride:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideBasis:String = null with get,set
        member val ReferencePrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ReferenceRangeMin:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ReferenceRangeMax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ReferenceN:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ReferenceDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ReferenceBasis:String = null with get,set
        member val ReferenceUrl:String = null with get,set

    [<AllowNullLiteral>]
    type ApplyAssemblyResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val TaskSeq:Int32 = new Int32() with get,set
        member val TemplateUID:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val TemplateName:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val Unit:String = null with get,set
        member val Resourcing:TaskResourcing = null with get,set
        member val Job:EstimateJobResult = null with get,set
        member val Headline:String = null with get,set

    [<AllowNullLiteral>]
    type ApplyAssemblyRequest() = 
        member val RfpDocumentUID:Guid = new Guid() with get,set
        member val TaskSeq:Int32 = new Int32() with get,set
        member val TemplateUID:Guid = new Guid() with get,set

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