Trendsic Platform Service

<back to all web services

EstimateReviewActionRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/{RfpDocumentUID}/Review/{TaskSeq}/{ReviewAction}
"use strict";
export class EstimateSettingsView {
    /** @param {{RfpEstimateID?:number,StartDate?:string,DeadlineDate?:string,WorkdaysPerWeek?:number,HoursPerDay?:number,WeatherPct?:number,OhpPct?:number,ContingencyPct?:number,BondPct?:number,Holidays?:string[],AppliedStartDate?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    RfpEstimateID;
    /** @type {?string} */
    StartDate;
    /** @type {?string} */
    DeadlineDate;
    /** @type {number} */
    WorkdaysPerWeek;
    /** @type {number} */
    HoursPerDay;
    /** @type {number} */
    WeatherPct;
    /** @type {number} */
    OhpPct;
    /** @type {number} */
    ContingencyPct;
    /** @type {number} */
    BondPct;
    /** @type {string[]} */
    Holidays = [];
    /** @type {?string} */
    AppliedStartDate;
}
export class SpecRefView {
    /** @param {{Section?:string,Title?:string,Url?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Section;
    /** @type {string} */
    Title;
    /** @type {string} */
    Url;
}
export class DodItemView {
    /** @param {{Key?:string,Text?:string,Checked?:boolean,Source?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Key;
    /** @type {string} */
    Text;
    /** @type {boolean} */
    Checked;
    /** @type {string} */
    Source;
}
export class WorkPackageView {
    /** @param {{HasPackage?:boolean,Scope?:string,LimitsOfWork?:string,SpecRefs?:SpecRefView[],Constraints?:string[],HoldPoints?:string[],Dod?:DodItemView[],SafetyNote?:string,Provenance?:string,SpecBook?:string,UserEdited?:boolean,RedraftNote?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    HasPackage;
    /** @type {string} */
    Scope;
    /** @type {string} */
    LimitsOfWork;
    /** @type {SpecRefView[]} */
    SpecRefs = [];
    /** @type {string[]} */
    Constraints = [];
    /** @type {string[]} */
    HoldPoints = [];
    /** @type {DodItemView[]} */
    Dod = [];
    /** @type {string} */
    SafetyNote;
    /** @type {string} */
    Provenance;
    /** @type {string} */
    SpecBook;
    /** @type {boolean} */
    UserEdited;
    /** @type {string} */
    RedraftNote;
}
export class EstimateCrewLineView {
    /** @param {{Role?:string,Hours?:number,StHours?:number,OtHours?:number,HasOt?:boolean,PremiumApplied?:boolean,NeedsRate?:boolean,RateKey?:string,Chip?:string,Rrop?:number,StCost?:number,OtCost?:number,Cost?:number,FringeCost?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Role;
    /** @type {number} */
    Hours;
    /** @type {number} */
    StHours;
    /** @type {number} */
    OtHours;
    /** @type {boolean} */
    HasOt;
    /** @type {boolean} */
    PremiumApplied;
    /** @type {boolean} */
    NeedsRate;
    /** @type {string} */
    RateKey;
    /** @type {string} */
    Chip;
    /** @type {?number} */
    Rrop;
    /** @type {?number} */
    StCost;
    /** @type {?number} */
    OtCost;
    /** @type {?number} */
    Cost;
    /** @type {?number} */
    FringeCost;
}
export class EstimateEquipmentLineView {
    /** @param {{Name?:string,Quantity?:number,Rate?:number,NeedsRate?:boolean,MobCost?:number,Cost?:number,IsAvailabilityTracked?:boolean,IsOwned?:boolean,AvailabilityLabel?:string,FreedFromProject?:string,AvailableFrom?:string,RateKey?:string,Chip?:string,RentalExplain?:string,UsageDays?:number,BilledDays?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {number} */
    Quantity;
    /** @type {?number} */
    Rate;
    /** @type {boolean} */
    NeedsRate;
    /** @type {number} */
    MobCost;
    /** @type {number} */
    Cost;
    /** @type {boolean} */
    IsAvailabilityTracked;
    /** @type {boolean} */
    IsOwned;
    /** @type {string} */
    AvailabilityLabel;
    /** @type {string} */
    FreedFromProject;
    /** @type {?string} */
    AvailableFrom;
    /** @type {string} */
    RateKey;
    /** @type {string} */
    Chip;
    /** @type {string} */
    RentalExplain;
    /** @type {number} */
    UsageDays;
    /** @type {number} */
    BilledDays;
}
export class EstimateMaterialLineView {
    /** @param {{Name?:string,Quantity?:number,Unit?:string,Rate?:number,NeedsRate?:boolean,Cost?:number,RateKey?:string,Chip?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {number} */
    Quantity;
    /** @type {string} */
    Unit;
    /** @type {?number} */
    Rate;
    /** @type {boolean} */
    NeedsRate;
    /** @type {number} */
    Cost;
    /** @type {string} */
    RateKey;
    /** @type {string} */
    Chip;
}
export class EstimateSubcontractView {
    /** @param {{EstimateSubcontractID?:number,TaskSeq?:number,Vendor?:string,Amount?:number,Scope?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    EstimateSubcontractID;
    /** @type {number} */
    TaskSeq;
    /** @type {string} */
    Vendor;
    /** @type {number} */
    Amount;
    /** @type {string} */
    Scope;
}
export class EstimateJobView {
    /** @param {{Seq?:number,WorkPackage?:WorkPackageView,ItemNo?:string,Name?:string,Category?:string,SourceRef?:string,Unit?:string,Quantity?:number,PatternCode?:string,Workdays?:number,HoursPerDay?:number,IsNight?:boolean,WeeklyHours?:number,OtFraction?:number,Days?:number,EffectiveProdPerDay?:number,CrewPremiumApplied?:boolean,CrewCost?:number,FringeCost?:number,EquipmentCost?:number,MaterialCost?:number,SubcontractCost?:number,Direct?:number,PricingBasis?:string,BenchmarkUnitPrice?:number,Crew?:EstimateCrewLineView[],Equipment?:EstimateEquipmentLineView[],Materials?:EstimateMaterialLineView[],Subcontracts?:EstimateSubcontractView[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Seq;
    /** @type {WorkPackageView} */
    WorkPackage;
    /** @type {string} */
    ItemNo;
    /** @type {string} */
    Name;
    /** @type {string} */
    Category;
    /** @type {string} */
    SourceRef;
    /** @type {string} */
    Unit;
    /** @type {number} */
    Quantity;
    /** @type {string} */
    PatternCode;
    /** @type {number} */
    Workdays;
    /** @type {number} */
    HoursPerDay;
    /** @type {boolean} */
    IsNight;
    /** @type {number} */
    WeeklyHours;
    /** @type {number} */
    OtFraction;
    /** @type {number} */
    Days;
    /** @type {?number} */
    EffectiveProdPerDay;
    /** @type {boolean} */
    CrewPremiumApplied;
    /** @type {number} */
    CrewCost;
    /** @type {number} */
    FringeCost;
    /** @type {number} */
    EquipmentCost;
    /** @type {number} */
    MaterialCost;
    /** @type {number} */
    SubcontractCost;
    /** @type {number} */
    Direct;
    /** @type {string} */
    PricingBasis;
    /** @type {?number} */
    BenchmarkUnitPrice;
    /** @type {EstimateCrewLineView[]} */
    Crew = [];
    /** @type {EstimateEquipmentLineView[]} */
    Equipment = [];
    /** @type {EstimateMaterialLineView[]} */
    Materials = [];
    /** @type {EstimateSubcontractView[]} */
    Subcontracts = [];
}
export class BidScheduleLine {
    /** @param {{ItemNo?:string,Description?:string,Unit?:string,Quantity?:number,UnitPrice?:number,Extension?:number,PricingBasis?:string,BenchmarkDeltaPct?:number,BenchmarkFlagged?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    ItemNo;
    /** @type {string} */
    Description;
    /** @type {string} */
    Unit;
    /** @type {number} */
    Quantity;
    /** @type {number} */
    UnitPrice;
    /** @type {number} */
    Extension;
    /** @type {string} */
    PricingBasis;
    /** @type {?number} */
    BenchmarkDeltaPct;
    /** @type {boolean} */
    BenchmarkFlagged;
}
export class EstimateVarianceLine {
    /** @param {{Seq?:number,ItemNo?:string,Name?:string,Unit?:string,Quantity?:number,OurUnitPrice?:number,OurTotal?:number,BenchmarkUnitPrice?:number,MarketTotal?:number,DeltaPct?:number,RateMin?:number,RateMax?:number,SampleSize?:number,OutsideRange?:boolean,IsFloor?:boolean,Severity?:string,Note?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Seq;
    /** @type {string} */
    ItemNo;
    /** @type {string} */
    Name;
    /** @type {string} */
    Unit;
    /** @type {number} */
    Quantity;
    /** @type {number} */
    OurUnitPrice;
    /** @type {number} */
    OurTotal;
    /** @type {number} */
    BenchmarkUnitPrice;
    /** @type {number} */
    MarketTotal;
    /** @type {number} */
    DeltaPct;
    /** @type {?number} */
    RateMin;
    /** @type {?number} */
    RateMax;
    /** @type {?number} */
    SampleSize;
    /** @type {?boolean} */
    OutsideRange;
    /** @type {boolean} */
    IsFloor;
    /** @type {string} */
    Severity;
    /** @type {string} */
    Note;
}
export class EstimateVarianceView {
    /** @param {{Lines?:EstimateVarianceLine[],ItemsTotal?:number,ItemsBenchmarked?:number,CoverageValuePct?:number,OursTotal?:number,MarketTotal?:number,AggregateDeltaPct?:number,FlooredCount?:number,WatchCount?:number,OutlierCount?:number,CriticalCount?:number,Note?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {EstimateVarianceLine[]} */
    Lines = [];
    /** @type {number} */
    ItemsTotal;
    /** @type {number} */
    ItemsBenchmarked;
    /** @type {number} */
    CoverageValuePct;
    /** @type {number} */
    OursTotal;
    /** @type {number} */
    MarketTotal;
    /** @type {?number} */
    AggregateDeltaPct;
    /** @type {number} */
    FlooredCount;
    /** @type {number} */
    WatchCount;
    /** @type {number} */
    OutlierCount;
    /** @type {number} */
    CriticalCount;
    /** @type {string} */
    Note;
}
export class IndicativeLine {
    /** @param {{Seq?:number,ItemNo?:string,Name?:string,Unit?:string,Quantity?:number,Source?:string,UnitPrice?:number,LineTotal?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Seq;
    /** @type {string} */
    ItemNo;
    /** @type {string} */
    Name;
    /** @type {string} */
    Unit;
    /** @type {number} */
    Quantity;
    /** @type {string} */
    Source;
    /** @type {number} */
    UnitPrice;
    /** @type {number} */
    LineTotal;
}
export class IndicativeBidView {
    /** @param {{Lines?:IndicativeLine[],BottomUpCount?:number,BottomUpTotal?:number,BenchmarkCount?:number,BenchmarkTotal?:number,UncoveredCount?:number,UncoveredFloorTotal?:number,IndicativeTotal?:number,FloorTotal?:number,Note?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {IndicativeLine[]} */
    Lines = [];
    /** @type {number} */
    BottomUpCount;
    /** @type {number} */
    BottomUpTotal;
    /** @type {number} */
    BenchmarkCount;
    /** @type {number} */
    BenchmarkTotal;
    /** @type {number} */
    UncoveredCount;
    /** @type {number} */
    UncoveredFloorTotal;
    /** @type {number} */
    IndicativeTotal;
    /** @type {number} */
    FloorTotal;
    /** @type {string} */
    Note;
}
export class EstimateSummaryView {
    /** @param {{Direct?:number,OhpPct?:number,OhpAmount?:number,BondPct?:number,BondAmount?:number,ContingencyPct?:number,ContingencyAmount?:number,BidTotal?:number,LoadFactor?:number,MarginPct?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Direct;
    /** @type {number} */
    OhpPct;
    /** @type {number} */
    OhpAmount;
    /** @type {number} */
    BondPct;
    /** @type {number} */
    BondAmount;
    /** @type {number} */
    ContingencyPct;
    /** @type {number} */
    ContingencyAmount;
    /** @type {number} */
    BidTotal;
    /** @type {number} */
    LoadFactor;
    /** @type {number} */
    MarginPct;
}
export class EstimateTimingView {
    /** @param {{TotalWorkdays?:number,CalendarDays?:number,Finish?:string,Feasible?:boolean,Deadline?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    TotalWorkdays;
    /** @type {number} */
    CalendarDays;
    /** @type {string} */
    Finish;
    /** @type {boolean} */
    Feasible;
    /** @type {?string} */
    Deadline;
}
export class EstimateReviewItemView {
    /** @param {{TaskSeq?:number,TaskName?:string,Reason?:string,Status?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    TaskSeq;
    /** @type {string} */
    TaskName;
    /** @type {string} */
    Reason;
    /** @type {string} */
    Status;
}
export class EstimatingView {
    /** @param {{RfpDocumentID?:number,ProjectName?:string,ClientName?:string,BidDueDate?:string,ProjectType?:string,Settings?:EstimateSettingsView,Jobs?:EstimateJobView[],Schedule?:BidScheduleLine[],ScheduleTotal?:number,Variance?:EstimateVarianceView,Indicative?:IndicativeBidView,Summary?:EstimateSummaryView,Timing?:EstimateTimingView,NeedsRateCount?:number,NeedsRateKeys?:string[],ReviewItems?:EstimateReviewItemView[],NeedsReviewCount?:number,CanApprove?:boolean,CanSeePay?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    RfpDocumentID;
    /** @type {string} */
    ProjectName;
    /** @type {string} */
    ClientName;
    /** @type {string} */
    BidDueDate;
    /** @type {string} */
    ProjectType;
    /** @type {EstimateSettingsView} */
    Settings;
    /** @type {EstimateJobView[]} */
    Jobs = [];
    /** @type {BidScheduleLine[]} */
    Schedule = [];
    /** @type {number} */
    ScheduleTotal;
    /** @type {EstimateVarianceView} */
    Variance;
    /** @type {IndicativeBidView} */
    Indicative;
    /** @type {EstimateSummaryView} */
    Summary;
    /** @type {EstimateTimingView} */
    Timing;
    /** @type {number} */
    NeedsRateCount;
    /** @type {string[]} */
    NeedsRateKeys = [];
    /** @type {EstimateReviewItemView[]} */
    ReviewItems = [];
    /** @type {number} */
    NeedsReviewCount;
    /** @type {boolean} */
    CanApprove;
    /** @type {boolean} */
    CanSeePay;
}
export class EstimateResponse {
    /** @param {{ResponseStatus?:ResponseStatus,View?:EstimatingView}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {EstimatingView} */
    View;
}
export class EstimateReviewActionRequest {
    /** @param {{RfpDocumentUID?:string,TaskSeq?:number,ReviewAction?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    RfpDocumentUID;
    /** @type {number} */
    TaskSeq;
    /** @type {string} */
    ReviewAction;
}

JavaScript EstimateReviewActionRequest 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}/Review/{TaskSeq}/{ReviewAction} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<EstimateReviewActionRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ReviewAction>String</ReviewAction>
  <RfpDocumentUID>00000000-0000-0000-0000-000000000000</RfpDocumentUID>
  <TaskSeq>0</TaskSeq>
</EstimateReviewActionRequest>
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>