Trendsic Platform Service

<back to all web services

EstimateQtyPutRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
PUT,OPTIONS/v1/Rfp/{RfpDocumentUID}/Estimate/Qty
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 BidScheduleLine
    {
        public virtual string ItemNo { get; set; }
        public virtual string Description { get; set; }
        public virtual string Unit { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual decimal UnitPrice { get; set; }
        public virtual decimal Extension { get; set; }
        public virtual string PricingBasis { get; set; }
        public virtual decimal? BenchmarkDeltaPct { get; set; }
        public virtual bool BenchmarkFlagged { get; set; }
    }

    public partial class EstimateCrewLineView
    {
        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 bool HasOt { get; set; }
        public virtual bool PremiumApplied { get; set; }
        public virtual bool NeedsRate { get; set; }
        public virtual string RateKey { get; set; }
        public virtual string Chip { 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 partial class EstimateEquipmentLineView
    {
        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 Chip { get; set; }
        public virtual string RentalExplain { get; set; }
        public virtual decimal UsageDays { get; set; }
        public virtual decimal BilledDays { get; set; }
    }

    public partial class EstimateJobView
    {
        public virtual int Seq { get; set; }
        public virtual WorkPackageView WorkPackage { 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 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 decimal? BenchmarkUnitPrice { get; set; }
        public virtual List<EstimateCrewLineView> Crew { get; set; } = [];
        public virtual List<EstimateEquipmentLineView> Equipment { get; set; } = [];
        public virtual List<EstimateMaterialLineView> Materials { get; set; } = [];
        public virtual List<EstimateSubcontractView> Subcontracts { get; set; } = [];
    }

    public partial class EstimateMaterialLineView
    {
        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 virtual string Chip { get; set; }
    }

    public partial class EstimateQtyPutRequest
    {
        public virtual Guid RfpDocumentUID { get; set; }
        public virtual int TaskSeq { get; set; }
        public virtual decimal Quantity { get; set; }
    }

    public partial class EstimateResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual EstimatingView View { get; set; }
    }

    public partial class EstimateReviewItemView
    {
        public virtual int TaskSeq { get; set; }
        public virtual string TaskName { get; set; }
        public virtual string Reason { get; set; }
        public virtual string Status { get; set; }
    }

    public partial class EstimateSettingsView
    {
        public virtual int RfpEstimateID { get; set; }
        public virtual DateTime? StartDate { get; set; }
        public virtual DateTime? DeadlineDate { get; set; }
        public virtual int WorkdaysPerWeek { get; set; }
        public virtual decimal HoursPerDay { get; set; }
        public virtual decimal WeatherPct { get; set; }
        public virtual decimal OhpPct { get; set; }
        public virtual decimal ContingencyPct { get; set; }
        public virtual decimal BondPct { get; set; }
        public virtual List<DateTime> Holidays { get; set; } = [];
        public virtual DateTime? AppliedStartDate { get; set; }
    }

    public partial class EstimateSubcontractView
    {
        public virtual int EstimateSubcontractID { get; set; }
        public virtual int TaskSeq { get; set; }
        public virtual string Vendor { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual string Scope { get; set; }
    }

    public partial class EstimateSummaryView
    {
        public virtual decimal Direct { get; set; }
        public virtual decimal OhpPct { get; set; }
        public virtual decimal OhpAmount { get; set; }
        public virtual decimal BondPct { get; set; }
        public virtual decimal BondAmount { get; set; }
        public virtual decimal ContingencyPct { get; set; }
        public virtual decimal ContingencyAmount { get; set; }
        public virtual decimal BidTotal { get; set; }
        public virtual decimal LoadFactor { get; set; }
        public virtual decimal MarginPct { get; set; }
    }

    public partial class EstimateTimingView
    {
        public virtual decimal TotalWorkdays { get; set; }
        public virtual int CalendarDays { get; set; }
        public virtual DateTime Finish { get; set; }
        public virtual bool Feasible { get; set; }
        public virtual DateTime? Deadline { get; set; }
    }

    public partial class EstimateVarianceLine
    {
        public virtual int Seq { get; set; }
        public virtual string ItemNo { get; set; }
        public virtual string Name { get; set; }
        public virtual string Unit { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual decimal OurUnitPrice { get; set; }
        public virtual decimal OurTotal { get; set; }
        public virtual decimal BenchmarkUnitPrice { get; set; }
        public virtual decimal MarketTotal { get; set; }
        public virtual decimal DeltaPct { get; set; }
        public virtual decimal? RateMin { get; set; }
        public virtual decimal? RateMax { get; set; }
        public virtual int? SampleSize { get; set; }
        public virtual bool? OutsideRange { get; set; }
        public virtual bool IsFloor { get; set; }
        public virtual string Severity { get; set; }
        public virtual string Note { get; set; }
    }

    public partial class EstimateVarianceView
    {
        public virtual List<EstimateVarianceLine> Lines { get; set; } = [];
        public virtual int ItemsTotal { get; set; }
        public virtual int ItemsBenchmarked { get; set; }
        public virtual decimal CoverageValuePct { get; set; }
        public virtual decimal OursTotal { get; set; }
        public virtual decimal MarketTotal { get; set; }
        public virtual decimal? AggregateDeltaPct { get; set; }
        public virtual int FlooredCount { get; set; }
        public virtual int WatchCount { get; set; }
        public virtual int OutlierCount { get; set; }
        public virtual int CriticalCount { get; set; }
        public virtual string Note { get; set; }
    }

    public partial class EstimatingView
    {
        public virtual int RfpDocumentID { get; set; }
        public virtual string ProjectName { get; set; }
        public virtual string ClientName { get; set; }
        public virtual string BidDueDate { get; set; }
        public virtual string ProjectType { get; set; }
        public virtual EstimateSettingsView Settings { get; set; }
        public virtual List<EstimateJobView> Jobs { get; set; } = [];
        public virtual List<BidScheduleLine> Schedule { get; set; } = [];
        public virtual decimal ScheduleTotal { get; set; }
        public virtual EstimateVarianceView Variance { get; set; }
        public virtual IndicativeBidView Indicative { get; set; }
        public virtual EstimateSummaryView Summary { get; set; }
        public virtual EstimateTimingView Timing { get; set; }
        public virtual int NeedsRateCount { get; set; }
        public virtual List<string> NeedsRateKeys { get; set; } = [];
        public virtual List<EstimateReviewItemView> ReviewItems { get; set; } = [];
        public virtual int NeedsReviewCount { get; set; }
        public virtual bool CanApprove { get; set; }
        public virtual bool CanSeePay { get; set; }
    }

    public partial class IndicativeBidView
    {
        public virtual List<IndicativeLine> Lines { get; set; } = [];
        public virtual int BottomUpCount { get; set; }
        public virtual decimal BottomUpTotal { get; set; }
        public virtual int BenchmarkCount { get; set; }
        public virtual decimal BenchmarkTotal { get; set; }
        public virtual int UncoveredCount { get; set; }
        public virtual decimal UncoveredFloorTotal { get; set; }
        public virtual decimal IndicativeTotal { get; set; }
        public virtual decimal FloorTotal { get; set; }
        public virtual string Note { get; set; }
    }

    public partial class IndicativeLine
    {
        public virtual int Seq { get; set; }
        public virtual string ItemNo { get; set; }
        public virtual string Name { get; set; }
        public virtual string Unit { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual string Source { get; set; }
        public virtual decimal UnitPrice { get; set; }
        public virtual decimal LineTotal { get; set; }
    }

}

C# EstimateQtyPutRequest 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.

PUT /v1/Rfp/{RfpDocumentUID}/Estimate/Qty HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

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

<EstimateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <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>
  <View>
    <BidDueDate>String</BidDueDate>
    <CanApprove>false</CanApprove>
    <CanSeePay>false</CanSeePay>
    <ClientName>String</ClientName>
    <Indicative>
      <BenchmarkCount>0</BenchmarkCount>
      <BenchmarkTotal>0</BenchmarkTotal>
      <BottomUpCount>0</BottomUpCount>
      <BottomUpTotal>0</BottomUpTotal>
      <FloorTotal>0</FloorTotal>
      <IndicativeTotal>0</IndicativeTotal>
      <Lines>
        <IndicativeLine>
          <ItemNo>String</ItemNo>
          <LineTotal>0</LineTotal>
          <Name>String</Name>
          <Quantity>0</Quantity>
          <Seq>0</Seq>
          <Source>String</Source>
          <Unit>String</Unit>
          <UnitPrice>0</UnitPrice>
        </IndicativeLine>
      </Lines>
      <Note>String</Note>
      <UncoveredCount>0</UncoveredCount>
      <UncoveredFloorTotal>0</UncoveredFloorTotal>
    </Indicative>
    <Jobs>
      <EstimateJobView>
        <BenchmarkUnitPrice>0</BenchmarkUnitPrice>
        <Category>String</Category>
        <Crew>
          <EstimateCrewLineView>
            <Chip>String</Chip>
            <Cost>0</Cost>
            <FringeCost>0</FringeCost>
            <HasOt>false</HasOt>
            <Hours>0</Hours>
            <NeedsRate>false</NeedsRate>
            <OtCost>0</OtCost>
            <OtHours>0</OtHours>
            <PremiumApplied>false</PremiumApplied>
            <RateKey>String</RateKey>
            <Role>String</Role>
            <Rrop>0</Rrop>
            <StCost>0</StCost>
            <StHours>0</StHours>
          </EstimateCrewLineView>
        </Crew>
        <CrewCost>0</CrewCost>
        <CrewPremiumApplied>false</CrewPremiumApplied>
        <Days>0</Days>
        <Direct>0</Direct>
        <EffectiveProdPerDay>0</EffectiveProdPerDay>
        <Equipment>
          <EstimateEquipmentLineView>
            <AvailabilityLabel>String</AvailabilityLabel>
            <AvailableFrom>0001-01-01T00:00:00</AvailableFrom>
            <BilledDays>0</BilledDays>
            <Chip>String</Chip>
            <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>
          </EstimateEquipmentLineView>
        </Equipment>
        <EquipmentCost>0</EquipmentCost>
        <FringeCost>0</FringeCost>
        <HoursPerDay>0</HoursPerDay>
        <IsNight>false</IsNight>
        <ItemNo>String</ItemNo>
        <MaterialCost>0</MaterialCost>
        <Materials>
          <EstimateMaterialLineView>
            <Chip>String</Chip>
            <Cost>0</Cost>
            <Name>String</Name>
            <NeedsRate>false</NeedsRate>
            <Quantity>0</Quantity>
            <Rate>0</Rate>
            <RateKey>String</RateKey>
            <Unit>String</Unit>
          </EstimateMaterialLineView>
        </Materials>
        <Name>String</Name>
        <OtFraction>0</OtFraction>
        <PatternCode>String</PatternCode>
        <PricingBasis>String</PricingBasis>
        <Quantity>0</Quantity>
        <Seq>0</Seq>
        <SourceRef>String</SourceRef>
        <SubcontractCost>0</SubcontractCost>
        <Subcontracts>
          <EstimateSubcontractView>
            <Amount>0</Amount>
            <EstimateSubcontractID>0</EstimateSubcontractID>
            <Scope>String</Scope>
            <TaskSeq>0</TaskSeq>
            <Vendor>String</Vendor>
          </EstimateSubcontractView>
        </Subcontracts>
        <Unit>String</Unit>
        <WeeklyHours>0</WeeklyHours>
        <WorkPackage>
          <Constraints xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:string>String</d6p1: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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:string>String</d6p1: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>
      </EstimateJobView>
    </Jobs>
    <NeedsRateCount>0</NeedsRateCount>
    <NeedsRateKeys xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </NeedsRateKeys>
    <NeedsReviewCount>0</NeedsReviewCount>
    <ProjectName>String</ProjectName>
    <ProjectType>String</ProjectType>
    <ReviewItems>
      <EstimateReviewItemView>
        <Reason>String</Reason>
        <Status>String</Status>
        <TaskName>String</TaskName>
        <TaskSeq>0</TaskSeq>
      </EstimateReviewItemView>
    </ReviewItems>
    <RfpDocumentID>0</RfpDocumentID>
    <Schedule>
      <BidScheduleLine>
        <BenchmarkDeltaPct>0</BenchmarkDeltaPct>
        <BenchmarkFlagged>false</BenchmarkFlagged>
        <Description>String</Description>
        <Extension>0</Extension>
        <ItemNo>String</ItemNo>
        <PricingBasis>String</PricingBasis>
        <Quantity>0</Quantity>
        <Unit>String</Unit>
        <UnitPrice>0</UnitPrice>
      </BidScheduleLine>
    </Schedule>
    <ScheduleTotal>0</ScheduleTotal>
    <Settings>
      <AppliedStartDate>0001-01-01T00:00:00</AppliedStartDate>
      <BondPct>0</BondPct>
      <ContingencyPct>0</ContingencyPct>
      <DeadlineDate>0001-01-01T00:00:00</DeadlineDate>
      <Holidays xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:dateTime>0001-01-01T00:00:00</d4p1:dateTime>
      </Holidays>
      <HoursPerDay>0</HoursPerDay>
      <OhpPct>0</OhpPct>
      <RfpEstimateID>0</RfpEstimateID>
      <StartDate>0001-01-01T00:00:00</StartDate>
      <WeatherPct>0</WeatherPct>
      <WorkdaysPerWeek>0</WorkdaysPerWeek>
    </Settings>
    <Summary>
      <BidTotal>0</BidTotal>
      <BondAmount>0</BondAmount>
      <BondPct>0</BondPct>
      <ContingencyAmount>0</ContingencyAmount>
      <ContingencyPct>0</ContingencyPct>
      <Direct>0</Direct>
      <LoadFactor>0</LoadFactor>
      <MarginPct>0</MarginPct>
      <OhpAmount>0</OhpAmount>
      <OhpPct>0</OhpPct>
    </Summary>
    <Timing>
      <CalendarDays>0</CalendarDays>
      <Deadline>0001-01-01T00:00:00</Deadline>
      <Feasible>false</Feasible>
      <Finish>0001-01-01T00:00:00</Finish>
      <TotalWorkdays>0</TotalWorkdays>
    </Timing>
    <Variance>
      <AggregateDeltaPct>0</AggregateDeltaPct>
      <CoverageValuePct>0</CoverageValuePct>
      <CriticalCount>0</CriticalCount>
      <FlooredCount>0</FlooredCount>
      <ItemsBenchmarked>0</ItemsBenchmarked>
      <ItemsTotal>0</ItemsTotal>
      <Lines>
        <EstimateVarianceLine>
          <BenchmarkUnitPrice>0</BenchmarkUnitPrice>
          <DeltaPct>0</DeltaPct>
          <IsFloor>false</IsFloor>
          <ItemNo>String</ItemNo>
          <MarketTotal>0</MarketTotal>
          <Name>String</Name>
          <Note>String</Note>
          <OurTotal>0</OurTotal>
          <OurUnitPrice>0</OurUnitPrice>
          <OutsideRange>false</OutsideRange>
          <Quantity>0</Quantity>
          <RateMax>0</RateMax>
          <RateMin>0</RateMin>
          <SampleSize>0</SampleSize>
          <Seq>0</Seq>
          <Severity>String</Severity>
          <Unit>String</Unit>
        </EstimateVarianceLine>
      </Lines>
      <MarketTotal>0</MarketTotal>
      <Note>String</Note>
      <OursTotal>0</OursTotal>
      <OutlierCount>0</OutlierCount>
      <WatchCount>0</WatchCount>
    </Variance>
  </View>
</EstimateResponse>