/* Options: Date: 2026-08-01 07:13:06 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: EstimateSubcontractAddRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class EstimateSettingsView { public RfpEstimateID: number; public StartDate?: string; public DeadlineDate?: string; public WorkdaysPerWeek: number; public HoursPerDay: number; public WeatherPct: number; public OhpPct: number; public ContingencyPct: number; public BondPct: number; public Holidays: string[] = []; public AppliedStartDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SpecRefView { public Section: string; public Title: string; public Url: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DodItemView { public Key: string; public Text: string; public Checked: boolean; public Source: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WorkPackageView { public HasPackage: boolean; public Scope: string; public LimitsOfWork: string; public SpecRefs: SpecRefView[] = []; public Constraints: string[] = []; public HoldPoints: string[] = []; public Dod: DodItemView[] = []; public SafetyNote: string; public Provenance: string; public SpecBook: string; public UserEdited: boolean; public RedraftNote: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateCrewLineView { public Role: string; public Hours: number; public StHours: number; public OtHours: number; public HasOt: boolean; public PremiumApplied: boolean; public NeedsRate: boolean; public RateKey: string; public Chip: string; public Rrop?: number; public StCost?: number; public OtCost?: number; public Cost?: number; public FringeCost?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateEquipmentLineView { public Name: string; public Quantity: number; public Rate?: number; public NeedsRate: boolean; public MobCost: number; public Cost: number; public IsAvailabilityTracked: boolean; public IsOwned: boolean; public AvailabilityLabel: string; public FreedFromProject: string; public AvailableFrom?: string; public RateKey: string; public Chip: string; public RentalExplain: string; public UsageDays: number; public BilledDays: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateMaterialLineView { public Name: string; public Quantity: number; public Unit: string; public Rate?: number; public NeedsRate: boolean; public Cost: number; public RateKey: string; public Chip: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateSubcontractView { public EstimateSubcontractID: number; public TaskSeq: number; public Vendor: string; public Amount: number; public Scope: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateJobView { public Seq: number; public WorkPackage: WorkPackageView; public ItemNo: string; public Name: string; public Category: string; public SourceRef: string; public Unit: string; public Quantity: number; public PatternCode: string; public Workdays: number; public HoursPerDay: number; public IsNight: boolean; public WeeklyHours: number; public OtFraction: number; public Days: number; public EffectiveProdPerDay?: number; public CrewPremiumApplied: boolean; public CrewCost: number; public FringeCost: number; public EquipmentCost: number; public MaterialCost: number; public SubcontractCost: number; public Direct: number; public PricingBasis: string; public BenchmarkUnitPrice?: number; public Crew: EstimateCrewLineView[] = []; public Equipment: EstimateEquipmentLineView[] = []; public Materials: EstimateMaterialLineView[] = []; public Subcontracts: EstimateSubcontractView[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BidScheduleLine { public ItemNo: string; public Description: string; public Unit: string; public Quantity: number; public UnitPrice: number; public Extension: number; public PricingBasis: string; public BenchmarkDeltaPct?: number; public BenchmarkFlagged: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateVarianceLine { public Seq: number; public ItemNo: string; public Name: string; public Unit: string; public Quantity: number; public OurUnitPrice: number; public OurTotal: number; public BenchmarkUnitPrice: number; public MarketTotal: number; public DeltaPct: number; public RateMin?: number; public RateMax?: number; public SampleSize?: number; public OutsideRange?: boolean; public IsFloor: boolean; public Severity: string; public Note: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateVarianceView { public Lines: EstimateVarianceLine[] = []; public ItemsTotal: number; public ItemsBenchmarked: number; public CoverageValuePct: number; public OursTotal: number; public MarketTotal: number; public AggregateDeltaPct?: number; public FlooredCount: number; public WatchCount: number; public OutlierCount: number; public CriticalCount: number; public Note: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class IndicativeLine { public Seq: number; public ItemNo: string; public Name: string; public Unit: string; public Quantity: number; public Source: string; public UnitPrice: number; public LineTotal: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class IndicativeBidView { public Lines: IndicativeLine[] = []; public BottomUpCount: number; public BottomUpTotal: number; public BenchmarkCount: number; public BenchmarkTotal: number; public UncoveredCount: number; public UncoveredFloorTotal: number; public IndicativeTotal: number; public FloorTotal: number; public Note: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateSummaryView { public Direct: number; public OhpPct: number; public OhpAmount: number; public BondPct: number; public BondAmount: number; public ContingencyPct: number; public ContingencyAmount: number; public BidTotal: number; public LoadFactor: number; public MarginPct: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateTimingView { public TotalWorkdays: number; public CalendarDays: number; public Finish: string; public Feasible: boolean; public Deadline?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateReviewItemView { public TaskSeq: number; public TaskName: string; public Reason: string; public Status: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimatingView { public RfpDocumentID: number; public ProjectName: string; public ClientName: string; public BidDueDate: string; public ProjectType: string; public Settings: EstimateSettingsView; public Jobs: EstimateJobView[] = []; public Schedule: BidScheduleLine[] = []; public ScheduleTotal: number; public Variance: EstimateVarianceView; public Indicative: IndicativeBidView; public Summary: EstimateSummaryView; public Timing: EstimateTimingView; public NeedsRateCount: number; public NeedsRateKeys: string[] = []; public ReviewItems: EstimateReviewItemView[] = []; public NeedsReviewCount: number; public CanApprove: boolean; public CanSeePay: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[] = []; // @DataMember(Order=5) public Meta: { [index:string]: string; } = {}; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EstimateResponse { public ResponseStatus: ResponseStatus; public View: EstimatingView; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/Rfp/{RfpDocumentUID}/Estimate/Subcontracts", "POST,OPTIONS") export class EstimateSubcontractAddRequest implements IReturn { public RfpDocumentUID: string; public TaskSeq: number; public Vendor: string; public Amount: number; public Scope: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'EstimateSubcontractAddRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new EstimateResponse(); } }