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}
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class EstimateReviewActionRequest
{
    open var RfpDocumentUID:UUID? = null
    open var TaskSeq:Int? = null
    open var ReviewAction:String? = null
}

open class EstimateResponse
{
    open var ResponseStatus:ResponseStatus? = null
    open var View:EstimatingView? = null
}

open class EstimatingView
{
    open var RfpDocumentID:Int? = null
    open var ProjectName:String? = null
    open var ClientName:String? = null
    open var BidDueDate:String? = null
    open var ProjectType:String? = null
    open var Settings:EstimateSettingsView? = null
    open var Jobs:ArrayList<EstimateJobView> = ArrayList<EstimateJobView>()
    open var Schedule:ArrayList<BidScheduleLine> = ArrayList<BidScheduleLine>()
    open var ScheduleTotal:BigDecimal? = null
    open var Variance:EstimateVarianceView? = null
    open var Indicative:IndicativeBidView? = null
    open var Summary:EstimateSummaryView? = null
    open var Timing:EstimateTimingView? = null
    open var NeedsRateCount:Int? = null
    open var NeedsRateKeys:ArrayList<String> = ArrayList<String>()
    open var ReviewItems:ArrayList<EstimateReviewItemView> = ArrayList<EstimateReviewItemView>()
    open var NeedsReviewCount:Int? = null
    open var CanApprove:Boolean? = null
    open var CanSeePay:Boolean? = null
}

open class EstimateSettingsView
{
    open var RfpEstimateID:Int? = null
    open var StartDate:Date? = null
    open var DeadlineDate:Date? = null
    open var WorkdaysPerWeek:Int? = null
    open var HoursPerDay:BigDecimal? = null
    open var WeatherPct:BigDecimal? = null
    open var OhpPct:BigDecimal? = null
    open var ContingencyPct:BigDecimal? = null
    open var BondPct:BigDecimal? = null
    open var Holidays:ArrayList<Date> = ArrayList<Date>()
    open var AppliedStartDate:Date? = null
}

open class EstimateJobView
{
    open var Seq:Int? = null
    open var WorkPackage:WorkPackageView? = null
    open var ItemNo:String? = null
    open var Name:String? = null
    open var Category:String? = null
    open var SourceRef:String? = null
    open var Unit:String? = null
    open var Quantity:BigDecimal? = null
    open var PatternCode:String? = null
    open var Workdays:Int? = null
    open var HoursPerDay:BigDecimal? = null
    open var IsNight:Boolean? = null
    open var WeeklyHours:BigDecimal? = null
    open var OtFraction:BigDecimal? = null
    open var Days:BigDecimal? = null
    open var EffectiveProdPerDay:BigDecimal? = null
    open var CrewPremiumApplied:Boolean? = null
    open var CrewCost:BigDecimal? = null
    open var FringeCost:BigDecimal? = null
    open var EquipmentCost:BigDecimal? = null
    open var MaterialCost:BigDecimal? = null
    open var SubcontractCost:BigDecimal? = null
    open var Direct:BigDecimal? = null
    open var PricingBasis:String? = null
    open var BenchmarkUnitPrice:BigDecimal? = null
    open var Crew:ArrayList<EstimateCrewLineView> = ArrayList<EstimateCrewLineView>()
    open var Equipment:ArrayList<EstimateEquipmentLineView> = ArrayList<EstimateEquipmentLineView>()
    open var Materials:ArrayList<EstimateMaterialLineView> = ArrayList<EstimateMaterialLineView>()
    open var Subcontracts:ArrayList<EstimateSubcontractView> = ArrayList<EstimateSubcontractView>()
}

open class WorkPackageView
{
    open var HasPackage:Boolean? = null
    open var Scope:String? = null
    open var LimitsOfWork:String? = null
    open var SpecRefs:ArrayList<SpecRefView> = ArrayList<SpecRefView>()
    open var Constraints:ArrayList<String> = ArrayList<String>()
    open var HoldPoints:ArrayList<String> = ArrayList<String>()
    open var Dod:ArrayList<DodItemView> = ArrayList<DodItemView>()
    open var SafetyNote:String? = null
    open var Provenance:String? = null
    open var SpecBook:String? = null
    open var UserEdited:Boolean? = null
    open var RedraftNote:String? = null
}

open class SpecRefView
{
    open var Section:String? = null
    open var Title:String? = null
    open var Url:String? = null
}

open class DodItemView
{
    open var Key:String? = null
    open var Text:String? = null
    open var Checked:Boolean? = null
    open var Source:String? = null
}

open class EstimateCrewLineView
{
    open var Role:String? = null
    open var Hours:BigDecimal? = null
    open var StHours:BigDecimal? = null
    open var OtHours:BigDecimal? = null
    open var HasOt:Boolean? = null
    open var PremiumApplied:Boolean? = null
    open var NeedsRate:Boolean? = null
    open var RateKey:String? = null
    open var Chip:String? = null
    open var Rrop:BigDecimal? = null
    open var StCost:BigDecimal? = null
    open var OtCost:BigDecimal? = null
    open var Cost:BigDecimal? = null
    open var FringeCost:BigDecimal? = null
}

open class EstimateEquipmentLineView
{
    open var Name:String? = null
    open var Quantity:BigDecimal? = null
    open var Rate:BigDecimal? = null
    open var NeedsRate:Boolean? = null
    open var MobCost:BigDecimal? = null
    open var Cost:BigDecimal? = null
    open var IsAvailabilityTracked:Boolean? = null
    open var IsOwned:Boolean? = null
    open var AvailabilityLabel:String? = null
    open var FreedFromProject:String? = null
    open var AvailableFrom:Date? = null
    open var RateKey:String? = null
    open var Chip:String? = null
    open var RentalExplain:String? = null
    open var UsageDays:BigDecimal? = null
    open var BilledDays:BigDecimal? = null
}

open class EstimateMaterialLineView
{
    open var Name:String? = null
    open var Quantity:BigDecimal? = null
    open var Unit:String? = null
    open var Rate:BigDecimal? = null
    open var NeedsRate:Boolean? = null
    open var Cost:BigDecimal? = null
    open var RateKey:String? = null
    open var Chip:String? = null
}

open class EstimateSubcontractView
{
    open var EstimateSubcontractID:Int? = null
    open var TaskSeq:Int? = null
    open var Vendor:String? = null
    open var Amount:BigDecimal? = null
    open var Scope:String? = null
}

open class BidScheduleLine
{
    open var ItemNo:String? = null
    open var Description:String? = null
    open var Unit:String? = null
    open var Quantity:BigDecimal? = null
    open var UnitPrice:BigDecimal? = null
    open var Extension:BigDecimal? = null
    open var PricingBasis:String? = null
    open var BenchmarkDeltaPct:BigDecimal? = null
    open var BenchmarkFlagged:Boolean? = null
}

open class EstimateVarianceView
{
    open var Lines:ArrayList<EstimateVarianceLine> = ArrayList<EstimateVarianceLine>()
    open var ItemsTotal:Int? = null
    open var ItemsBenchmarked:Int? = null
    open var CoverageValuePct:BigDecimal? = null
    open var OursTotal:BigDecimal? = null
    open var MarketTotal:BigDecimal? = null
    open var AggregateDeltaPct:BigDecimal? = null
    open var FlooredCount:Int? = null
    open var WatchCount:Int? = null
    open var OutlierCount:Int? = null
    open var CriticalCount:Int? = null
    open var Note:String? = null
}

open class EstimateVarianceLine
{
    open var Seq:Int? = null
    open var ItemNo:String? = null
    open var Name:String? = null
    open var Unit:String? = null
    open var Quantity:BigDecimal? = null
    open var OurUnitPrice:BigDecimal? = null
    open var OurTotal:BigDecimal? = null
    open var BenchmarkUnitPrice:BigDecimal? = null
    open var MarketTotal:BigDecimal? = null
    open var DeltaPct:BigDecimal? = null
    open var RateMin:BigDecimal? = null
    open var RateMax:BigDecimal? = null
    open var SampleSize:Int? = null
    open var OutsideRange:Boolean? = null
    open var IsFloor:Boolean? = null
    open var Severity:String? = null
    open var Note:String? = null
}

open class IndicativeBidView
{
    open var Lines:ArrayList<IndicativeLine> = ArrayList<IndicativeLine>()
    open var BottomUpCount:Int? = null
    open var BottomUpTotal:BigDecimal? = null
    open var BenchmarkCount:Int? = null
    open var BenchmarkTotal:BigDecimal? = null
    open var UncoveredCount:Int? = null
    open var UncoveredFloorTotal:BigDecimal? = null
    open var IndicativeTotal:BigDecimal? = null
    open var FloorTotal:BigDecimal? = null
    open var Note:String? = null
}

open class IndicativeLine
{
    open var Seq:Int? = null
    open var ItemNo:String? = null
    open var Name:String? = null
    open var Unit:String? = null
    open var Quantity:BigDecimal? = null
    open var Source:String? = null
    open var UnitPrice:BigDecimal? = null
    open var LineTotal:BigDecimal? = null
}

open class EstimateSummaryView
{
    open var Direct:BigDecimal? = null
    open var OhpPct:BigDecimal? = null
    open var OhpAmount:BigDecimal? = null
    open var BondPct:BigDecimal? = null
    open var BondAmount:BigDecimal? = null
    open var ContingencyPct:BigDecimal? = null
    open var ContingencyAmount:BigDecimal? = null
    open var BidTotal:BigDecimal? = null
    open var LoadFactor:BigDecimal? = null
    open var MarginPct:BigDecimal? = null
}

open class EstimateTimingView
{
    open var TotalWorkdays:BigDecimal? = null
    open var CalendarDays:Int? = null
    open var Finish:Date? = null
    open var Feasible:Boolean? = null
    open var Deadline:Date? = null
}

open class EstimateReviewItemView
{
    open var TaskSeq:Int? = null
    open var TaskName:String? = null
    open var Reason:String? = null
    open var Status:String? = null
}

Kotlin 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>