Trendsic Platform Service

<back to all web services

EstimateRevisionGetRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/Rfp/{RfpDocumentUID}/Estimate/Revisions/{RevisionNo}
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 EstimateRevision() = 
        member val EstimateRevisionID:Int32 = new Int32() with get,set
        member val RfpDocumentID:Int32 = new Int32() with get,set
        member val RevisionNo:Int32 = new Int32() with get,set
        member val Label:String = null with get,set
        member val Reason:String = null with get,set
        member val Trigger:String = null with get,set
        member val TotalAmount:Decimal = new Decimal() with get,set
        member val LineCount:Int32 = new Int32() with get,set
        member val CreatedBy:String = null with get,set
        member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SnapshotJson:String = null with get,set

    [<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 WorkPackageSpecRef() = 
        member val Section:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type TaskWorkPackage() = 
        member val Scope:String = null with get,set
        member val LimitsOfWork:String = null with get,set
        member val SpecRefs:ResizeArray<WorkPackageSpecRef> = new ResizeArray<WorkPackageSpecRef>() 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 DefinitionOfDone:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val SafetyNote:String = null with get,set
        member val RfpRef:String = null with get,set
        member val Confidence:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SpecBook:String = null with get,set
        member val UserScope:String = null with get,set
        member val DodRemoved:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val DodExtra:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val UserEdited:Boolean = new Boolean() with get,set
        member val DodChecked:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val RedraftNote:String = null with get,set

    [<AllowNullLiteral>]
    type ProposedTask() = 
        member val Seq:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Category:String = null with get,set
        member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
        member val Unit:String = null with get,set
        member val SourceItemNumber:String = null with get,set
        member val SourceReference:String = null with get,set
        member val Notes:String = null with get,set
        member val Resourcing:TaskResourcing = null with get,set
        member val DurationDays:Nullable<Double> = new Nullable<Double>() with get,set
        member val DependsOn:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val EstimatedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val EstimatedEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val WorkPackage:TaskWorkPackage = null with get,set
        member val CreatedJobID:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type AddendaChange() = 
        member val ChangeId:String = null with get,set
        member val ChangeType:String = null with get,set
        member val TargetSeq:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ItemNumber:String = null with get,set
        member val ItemName:String = null with get,set
        member val Field:String = null with get,set
        member val OldValue:String = null with get,set
        member val NewValue:String = null with get,set
        member val Description:String = null with get,set
        member val Status:String = null with get,set

    [<AllowNullLiteral>]
    type AddendaChangeSet() = 
        member val ChangeSetId:String = null with get,set
        member val SourceRfpDocumentID:Int32 = new Int32() with get,set
        member val SourceFileName:String = null with get,set
        member val DocumentType:String = null with get,set
        member val ExtractedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Summary:String = null with get,set
        member val Changes:ResizeArray<AddendaChange> = new ResizeArray<AddendaChange>() with get,set

    [<AllowNullLiteral>]
    type WageClassification() = 
        member val Title:String = null with get,set
        member val BaseRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FringeRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ParishNote:String = null with get,set
        member val SourceLine:String = null with get,set
        member val BenchmarkFringeRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FringeCompareNote:String = null with get,set

    [<AllowNullLiteral>]
    type WageDeterminationResult() = 
        member val SourceRfpDocumentID:Int32 = new Int32() with get,set
        member val SourceFileName:String = null with get,set
        member val WdNumber:String = null with get,set
        member val ExtractedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Classifications:ResizeArray<WageClassification> = new ResizeArray<WageClassification>() with get,set
        member val Source:String = null with get,set
        member val IsTrustworthy:Boolean = new Boolean() with get,set
        member val ExecutiveOrderFloor:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PublishedDate:String = null with get,set
        member val ProjectParish:String = null with get,set
        member val Warnings:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type ProjectProposal() = 
        member val RfpDocumentID:Int32 = new Int32() with get,set
        member val Mode:String = null with get,set
        member val ProjectID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ChangeOrderID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProjectName:String = null with get,set
        member val ClientName:String = null with get,set
        member val ProjectType:String = null with get,set
        member val ProjectLocation:String = null with get,set
        member val Scope:String = null with get,set
        member val ProjectDescription:String = null with get,set
        member val ContractDurationDays:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val BidDueDate:String = null with get,set
        member val EstimatedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val EstimatedEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Tasks:ResizeArray<ProposedTask> = new ResizeArray<ProposedTask>() with get,set
        member val PendingAddendaDiffs:ResizeArray<AddendaChangeSet> = new ResizeArray<AddendaChangeSet>() with get,set
        member val WageDeterminations:ResizeArray<WageDeterminationResult> = new ResizeArray<WageDeterminationResult>() with get,set

    [<AllowNullLiteral>]
    type EstimateSettingsView() = 
        member val RfpEstimateID:Int32 = new Int32() with get,set
        member val StartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DeadlineDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val WorkdaysPerWeek:Int32 = new Int32() with get,set
        member val HoursPerDay:Decimal = new Decimal() with get,set
        member val WeatherPct:Decimal = new Decimal() with get,set
        member val OhpPct:Decimal = new Decimal() with get,set
        member val ContingencyPct:Decimal = new Decimal() with get,set
        member val BondPct:Decimal = new Decimal() with get,set
        member val Holidays:ResizeArray<DateTime> = new ResizeArray<DateTime>() with get,set
        member val AppliedStartDate:Nullable<DateTime> = new Nullable<DateTime>() 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 EstimateCrewLineView() = 
        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 HasOt:Boolean = new Boolean() with get,set
        member val PremiumApplied:Boolean = new Boolean() with get,set
        member val NeedsRate:Boolean = new Boolean() with get,set
        member val RateKey:String = null with get,set
        member val Chip:String = null with get,set
        member val Rrop:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val StCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OtCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Cost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FringeCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type EstimateEquipmentLineView() = 
        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 Chip: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 EstimateMaterialLineView() = 
        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
        member val Chip:String = null with get,set

    [<AllowNullLiteral>]
    type EstimateSubcontractView() = 
        member val EstimateSubcontractID:Int32 = new Int32() with get,set
        member val TaskSeq:Int32 = new Int32() with get,set
        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 EstimateJobView() = 
        member val Seq:Int32 = new Int32() with get,set
        member val WorkPackage:WorkPackageView = null 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 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 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
        member val Crew:ResizeArray<EstimateCrewLineView> = new ResizeArray<EstimateCrewLineView>() with get,set
        member val Equipment:ResizeArray<EstimateEquipmentLineView> = new ResizeArray<EstimateEquipmentLineView>() with get,set
        member val Materials:ResizeArray<EstimateMaterialLineView> = new ResizeArray<EstimateMaterialLineView>() with get,set
        member val Subcontracts:ResizeArray<EstimateSubcontractView> = new ResizeArray<EstimateSubcontractView>() with get,set

    [<AllowNullLiteral>]
    type BidScheduleLine() = 
        member val ItemNo:String = null with get,set
        member val Description:String = null with get,set
        member val Unit:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val UnitPrice:Decimal = new Decimal() with get,set
        member val Extension: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 BenchmarkDeltaPct:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BenchmarkFlagged:Boolean = new Boolean() with get,set
        member val BenchmarkBasis:String = null with get,set
        member val Provenance:String = null with get,set
        member val ProvenanceNote:String = null with get,set
        member val UnpricedResources:Int32 = new Int32() with get,set
        member val TotalResources:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type EstimateVarianceLine() = 
        member val Seq:Int32 = new Int32() with get,set
        member val ItemNo:String = null with get,set
        member val Name:String = null with get,set
        member val Unit:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val OurUnitPrice:Decimal = new Decimal() with get,set
        member val OurTotal:Decimal = new Decimal() with get,set
        member val BenchmarkUnitPrice:Decimal = new Decimal() with get,set
        member val MarketTotal:Decimal = new Decimal() with get,set
        member val DeltaPct:Decimal = new Decimal() with get,set
        member val RateMin:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RateMax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SampleSize:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OutsideRange:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IsFloor:Boolean = new Boolean() with get,set
        member val IsLump:Boolean = new Boolean() with get,set
        member val Severity:String = null with get,set
        member val Adopted:Boolean = new Boolean() with get,set
        member val Note:String = null with get,set

    [<AllowNullLiteral>]
    type EstimateVarianceView() = 
        member val Lines:ResizeArray<EstimateVarianceLine> = new ResizeArray<EstimateVarianceLine>() with get,set
        member val ItemsTotal:Int32 = new Int32() with get,set
        member val ItemsBenchmarked:Int32 = new Int32() with get,set
        member val CoverageValuePct:Decimal = new Decimal() with get,set
        member val OursTotal:Decimal = new Decimal() with get,set
        member val MarketTotal:Decimal = new Decimal() with get,set
        member val AggregateDeltaPct:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FlooredCount:Int32 = new Int32() with get,set
        member val LumpCount:Int32 = new Int32() with get,set
        member val WatchCount:Int32 = new Int32() with get,set
        member val OutlierCount:Int32 = new Int32() with get,set
        member val CriticalCount:Int32 = new Int32() with get,set
        member val Note:String = null with get,set

    [<AllowNullLiteral>]
    type IndicativeLine() = 
        member val Seq:Int32 = new Int32() with get,set
        member val ItemNo:String = null with get,set
        member val Name:String = null with get,set
        member val Unit:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val Source:String = null with get,set
        member val UnitPrice:Decimal = new Decimal() with get,set
        member val LineTotal:Decimal = new Decimal() with get,set
        member val PricePoint:String = null with get,set

    [<AllowNullLiteral>]
    type IndicativeBidView() = 
        member val Lines:ResizeArray<IndicativeLine> = new ResizeArray<IndicativeLine>() with get,set
        member val BottomUpCount:Int32 = new Int32() with get,set
        member val BottomUpTotal:Decimal = new Decimal() with get,set
        member val BenchmarkCount:Int32 = new Int32() with get,set
        member val BenchmarkTotal:Decimal = new Decimal() with get,set
        member val UncoveredCount:Int32 = new Int32() with get,set
        member val UncoveredFloorTotal:Decimal = new Decimal() with get,set
        member val IndicativeTotal:Decimal = new Decimal() with get,set
        member val FloorTotal:Decimal = new Decimal() with get,set
        member val Note:String = null with get,set
        member val Posture:String = null with get,set
        member val AggressiveTotal:Decimal = new Decimal() with get,set
        member val MarketTotal:Decimal = new Decimal() with get,set
        member val PremiumTotal:Decimal = new Decimal() with get,set
        member val NoDistributionCount:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BidExposureLine() = 
        member val ItemNo:String = null with get,set
        member val Description:String = null with get,set
        member val Provenance:String = null with get,set
        member val Extension:Decimal = new Decimal() with get,set
        member val CumulativePct:Decimal = new Decimal() with get,set
        member val Note:String = null with get,set

    [<AllowNullLiteral>]
    type BidOwnershipView() = 
        member val OwnTotal:Decimal = new Decimal() with get,set
        member val BorrowedTotal:Decimal = new Decimal() with get,set
        member val UnknownFloorTotal:Decimal = new Decimal() with get,set
        member val ScheduleTotal:Decimal = new Decimal() with get,set
        member val OwnCount:Int32 = new Int32() with get,set
        member val BorrowedCount:Int32 = new Int32() with get,set
        member val UnknownCount:Int32 = new Int32() with get,set
        member val OwnPct:Decimal = new Decimal() with get,set
        member val TopExposure:ResizeArray<BidExposureLine> = new ResizeArray<BidExposureLine>() with get,set

    [<AllowNullLiteral>]
    type EstimateSummaryView() = 
        member val Direct:Decimal = new Decimal() with get,set
        member val OhpPct:Decimal = new Decimal() with get,set
        member val OhpAmount:Decimal = new Decimal() with get,set
        member val BondPct:Decimal = new Decimal() with get,set
        member val BondAmount:Decimal = new Decimal() with get,set
        member val ContingencyPct:Decimal = new Decimal() with get,set
        member val ContingencyAmount:Decimal = new Decimal() with get,set
        member val BidTotal:Decimal = new Decimal() with get,set
        member val LoadFactor:Decimal = new Decimal() with get,set
        member val MarginPct:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type EstimateTimingView() = 
        member val TotalWorkdays:Decimal = new Decimal() with get,set
        member val CalendarDays:Int32 = new Int32() with get,set
        member val Finish:DateTime = new DateTime() with get,set
        member val Feasible:Boolean = new Boolean() with get,set
        member val Deadline:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type EstimateReviewItemView() = 
        member val TaskSeq:Int32 = new Int32() with get,set
        member val TaskName:String = null with get,set
        member val Reason:String = null with get,set
        member val Status:String = null with get,set

    [<AllowNullLiteral>]
    type EstimatingView() = 
        member val RfpDocumentID:Int32 = new Int32() with get,set
        member val ProjectName:String = null with get,set
        member val ClientName:String = null with get,set
        member val BidDueDate:String = null with get,set
        member val ProjectType:String = null with get,set
        member val Settings:EstimateSettingsView = null with get,set
        member val Jobs:ResizeArray<EstimateJobView> = new ResizeArray<EstimateJobView>() with get,set
        member val Schedule:ResizeArray<BidScheduleLine> = new ResizeArray<BidScheduleLine>() with get,set
        member val ScheduleTotal:Decimal = new Decimal() with get,set
        member val Variance:EstimateVarianceView = null with get,set
        member val Indicative:IndicativeBidView = null with get,set
        member val Ownership:BidOwnershipView = null with get,set
        member val Summary:EstimateSummaryView = null with get,set
        member val Timing:EstimateTimingView = null with get,set
        member val NeedsRateCount:Int32 = new Int32() with get,set
        member val NeedsRateKeys:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val ReviewItems:ResizeArray<EstimateReviewItemView> = new ResizeArray<EstimateReviewItemView>() with get,set
        member val NeedsReviewCount:Int32 = new Int32() with get,set
        member val CanApprove:Boolean = new Boolean() with get,set
        member val CanSeePay:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type EstimateSnapshot() = 
        member val TakenAtUtc:DateTime = new DateTime() with get,set
        member val Proposal:ProjectProposal = null with get,set
        member val View:EstimatingView = null with get,set

    [<AllowNullLiteral>]
    type EstimateRevisionGetResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Revision:EstimateRevision = null with get,set
        member val Snapshot:EstimateSnapshot = null with get,set

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

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

GET /v1/Rfp/{RfpDocumentUID}/Estimate/Revisions/{RevisionNo} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<EstimateRevisionGetResponse 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>
  <Revision>
    <CreatedAt>0001-01-01T00:00:00</CreatedAt>
    <CreatedBy>String</CreatedBy>
    <EstimateRevisionID>0</EstimateRevisionID>
    <Label>String</Label>
    <LineCount>0</LineCount>
    <Reason>String</Reason>
    <RevisionNo>0</RevisionNo>
    <RfpDocumentID>0</RfpDocumentID>
    <SnapshotJson>String</SnapshotJson>
    <TotalAmount>0</TotalAmount>
    <Trigger>String</Trigger>
  </Revision>
  <Snapshot>
    <Proposal>
      <BidDueDate>String</BidDueDate>
      <ChangeOrderID>0</ChangeOrderID>
      <ClientName>String</ClientName>
      <ContractDurationDays>0</ContractDurationDays>
      <EstimatedEndDate>0001-01-01T00:00:00</EstimatedEndDate>
      <EstimatedStartDate>0001-01-01T00:00:00</EstimatedStartDate>
      <Mode>String</Mode>
      <PendingAddendaDiffs>
        <AddendaChangeSet>
          <ChangeSetId>String</ChangeSetId>
          <Changes>
            <AddendaChange>
              <ChangeId>String</ChangeId>
              <ChangeType>String</ChangeType>
              <Description>String</Description>
              <Field>String</Field>
              <ItemName>String</ItemName>
              <ItemNumber>String</ItemNumber>
              <NewValue>String</NewValue>
              <OldValue>String</OldValue>
              <Status>String</Status>
              <TargetSeq>0</TargetSeq>
            </AddendaChange>
          </Changes>
          <DocumentType>String</DocumentType>
          <ExtractedAtUtc>0001-01-01T00:00:00</ExtractedAtUtc>
          <SourceFileName>String</SourceFileName>
          <SourceRfpDocumentID>0</SourceRfpDocumentID>
          <Summary>String</Summary>
        </AddendaChangeSet>
      </PendingAddendaDiffs>
      <ProjectDescription>String</ProjectDescription>
      <ProjectID>0</ProjectID>
      <ProjectLocation>String</ProjectLocation>
      <ProjectName>String</ProjectName>
      <ProjectType>String</ProjectType>
      <RfpDocumentID>0</RfpDocumentID>
      <Scope>String</Scope>
      <Tasks>
        <ProposedTask>
          <Category>String</Category>
          <CreatedJobID>0</CreatedJobID>
          <DependsOn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:int>0</d6p1:int>
          </DependsOn>
          <DurationDays>0</DurationDays>
          <EstimatedEndDate>0001-01-01T00:00:00</EstimatedEndDate>
          <EstimatedStartDate>0001-01-01T00:00:00</EstimatedStartDate>
          <Name>String</Name>
          <Notes>String</Notes>
          <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>
          <Seq>0</Seq>
          <SourceItemNumber>String</SourceItemNumber>
          <SourceReference>String</SourceReference>
          <Unit>String</Unit>
          <WorkPackage>
            <Confidence>0</Confidence>
            <Constraints xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </Constraints>
            <DefinitionOfDone xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </DefinitionOfDone>
            <DodChecked xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </DodChecked>
            <DodExtra xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </DodExtra>
            <DodRemoved xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:int>0</d7p1:int>
            </DodRemoved>
            <HoldPoints xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </HoldPoints>
            <LimitsOfWork>String</LimitsOfWork>
            <RedraftNote>String</RedraftNote>
            <RfpRef>String</RfpRef>
            <SafetyNote>String</SafetyNote>
            <Scope>String</Scope>
            <SpecBook>String</SpecBook>
            <SpecRefs>
              <WorkPackageSpecRef>
                <Section>String</Section>
                <Title>String</Title>
              </WorkPackageSpecRef>
            </SpecRefs>
            <UserEdited>false</UserEdited>
            <UserScope>String</UserScope>
          </WorkPackage>
        </ProposedTask>
      </Tasks>
      <WageDeterminations>
        <WageDeterminationResult>
          <Classifications>
            <WageClassification>
              <BaseRate>0</BaseRate>
              <BenchmarkFringeRate>0</BenchmarkFringeRate>
              <FringeCompareNote>String</FringeCompareNote>
              <FringeRate>0</FringeRate>
              <ParishNote>String</ParishNote>
              <SourceLine>String</SourceLine>
              <Title>String</Title>
            </WageClassification>
          </Classifications>
          <ExecutiveOrderFloor>0</ExecutiveOrderFloor>
          <ExtractedAtUtc>0001-01-01T00:00:00</ExtractedAtUtc>
          <IsTrustworthy>false</IsTrustworthy>
          <ProjectParish>String</ProjectParish>
          <PublishedDate>String</PublishedDate>
          <Source>String</Source>
          <SourceFileName>String</SourceFileName>
          <SourceRfpDocumentID>0</SourceRfpDocumentID>
          <Warnings xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:string>String</d6p1:string>
          </Warnings>
          <WdNumber>String</WdNumber>
        </WageDeterminationResult>
      </WageDeterminations>
    </Proposal>
    <TakenAtUtc>0001-01-01T00:00:00</TakenAtUtc>
    <View>
      <BidDueDate>String</BidDueDate>
      <CanApprove>false</CanApprove>
      <CanSeePay>false</CanSeePay>
      <ClientName>String</ClientName>
      <Indicative>
        <AggressiveTotal>0</AggressiveTotal>
        <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>
            <PricePoint>String</PricePoint>
            <Quantity>0</Quantity>
            <Seq>0</Seq>
            <Source>String</Source>
            <Unit>String</Unit>
            <UnitPrice>0</UnitPrice>
          </IndicativeLine>
        </Lines>
        <MarketTotal>0</MarketTotal>
        <NoDistributionCount>0</NoDistributionCount>
        <Note>String</Note>
        <Posture>String</Posture>
        <PremiumTotal>0</PremiumTotal>
        <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>
          <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>
            <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:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1: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:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1: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:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </NeedsRateKeys>
      <NeedsReviewCount>0</NeedsReviewCount>
      <Ownership>
        <BorrowedCount>0</BorrowedCount>
        <BorrowedTotal>0</BorrowedTotal>
        <OwnCount>0</OwnCount>
        <OwnPct>0</OwnPct>
        <OwnTotal>0</OwnTotal>
        <ScheduleTotal>0</ScheduleTotal>
        <TopExposure>
          <BidExposureLine>
            <CumulativePct>0</CumulativePct>
            <Description>String</Description>
            <Extension>0</Extension>
            <ItemNo>String</ItemNo>
            <Note>String</Note>
            <Provenance>String</Provenance>
          </BidExposureLine>
        </TopExposure>
        <UnknownCount>0</UnknownCount>
        <UnknownFloorTotal>0</UnknownFloorTotal>
      </Ownership>
      <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>
          <BenchmarkBasis>String</BenchmarkBasis>
          <BenchmarkDeltaPct>0</BenchmarkDeltaPct>
          <BenchmarkFlagged>false</BenchmarkFlagged>
          <Description>String</Description>
          <Extension>0</Extension>
          <ItemNo>String</ItemNo>
          <PricingBandLabel>String</PricingBandLabel>
          <PricingBandN>0</PricingBandN>
          <PricingBandP25>0</PricingBandP25>
          <PricingBandP75>0</PricingBandP75>
          <PricingBasis>String</PricingBasis>
          <PricingRuleId>String</PricingRuleId>
          <Provenance>String</Provenance>
          <ProvenanceNote>String</ProvenanceNote>
          <Quantity>0</Quantity>
          <TotalResources>0</TotalResources>
          <Unit>String</Unit>
          <UnitPrice>0</UnitPrice>
          <UnpricedResources>0</UnpricedResources>
        </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:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:dateTime>0001-01-01T00:00:00</d5p1: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>
            <Adopted>false</Adopted>
            <BenchmarkUnitPrice>0</BenchmarkUnitPrice>
            <DeltaPct>0</DeltaPct>
            <IsFloor>false</IsFloor>
            <IsLump>false</IsLump>
            <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>
        <LumpCount>0</LumpCount>
        <MarketTotal>0</MarketTotal>
        <Note>String</Note>
        <OursTotal>0</OursTotal>
        <OutlierCount>0</OutlierCount>
        <WatchCount>0</WatchCount>
      </Variance>
    </View>
  </Snapshot>
</EstimateRevisionGetResponse>