/* Options: Date: 2026-08-01 10:57:42 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: RfpSchedulePreviewRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class ResourcedPosition { public PositionTag: string; public Hours?: number; public CrewSize?: number; public Utilization?: number; public FixedDays?: number; public Headcount?: number; public SourceReference: string; public Notes: string; public IsInCatalog: boolean; public ContactID?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ResourcedEquipment { public EquipmentID: number; public EquipmentName: string; public MakeModel: string; public Quantity?: number; public DurationDays?: number; public Utilization?: number; public FixedDays?: number; public SourceReference: string; public Notes: string; public IsInCatalog: boolean; public SuggestedEquipmentID: number; public SuggestedEquipmentName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ResourcedMaterial { public MaterialID: number; public MaterialName: string; public MakeModel: string; public Quantity?: number; public QuantityPerUnit?: number; public Unit: string; public SourceReference: string; public Notes: string; public IsInCatalog: boolean; public SuggestedMaterialID: number; public SuggestedMaterialName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TaskResourcing { public Positions: ResourcedPosition[] = []; public Equipment: ResourcedEquipment[] = []; public Materials: ResourcedMaterial[] = []; public ResourcedForQuantity?: number; public ProductionRatePerDay?: number; public FixedDays?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WorkPackageSpecRef { public Section: string; public Title: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TaskWorkPackage { public Scope: string; public LimitsOfWork: string; public SpecRefs: WorkPackageSpecRef[] = []; public Constraints: string[] = []; public HoldPoints: string[] = []; public DefinitionOfDone: string[] = []; public SafetyNote: string; public RfpRef: string; public Confidence?: number; public SpecBook: string; public UserScope: string; public DodRemoved: number[] = []; public DodExtra: string[] = []; public UserEdited: boolean; public DodChecked: string[] = []; public RedraftNote: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProposedTask { public Seq: number; public Name: string; public Category: string; public Quantity?: number; public Unit: string; public SourceItemNumber: string; public SourceReference: string; public Notes: string; public Resourcing: TaskResourcing; public DurationDays?: number; public DependsOn: number[] = []; public EstimatedStartDate?: string; public EstimatedEndDate?: string; public WorkPackage: TaskWorkPackage; public CreatedJobID?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AddendaChange { public ChangeId: string; public ChangeType: string; public TargetSeq?: number; public ItemNumber: string; public ItemName: string; public Field: string; public OldValue: string; public NewValue: string; public Description: string; public Status: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AddendaChangeSet { public ChangeSetId: string; public SourceRfpDocumentID: number; public SourceFileName: string; public DocumentType: string; public ExtractedAtUtc?: string; public Summary: string; public Changes: AddendaChange[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WageClassification { public Title: string; public BaseRate?: number; public FringeRate?: number; public ParishNote: string; public SourceLine: string; public BenchmarkFringeRate?: number; public FringeCompareNote: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class WageDeterminationResult { public SourceRfpDocumentID: number; public SourceFileName: string; public WdNumber: string; public ExtractedAtUtc?: string; public Classifications: WageClassification[] = []; public Source: string; public IsTrustworthy: boolean; public ExecutiveOrderFloor?: number; public PublishedDate: string; public ProjectParish: string; public Warnings: string[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProjectProposal { public RfpDocumentID: number; public Mode: string; public ProjectID?: number; public ChangeOrderID?: number; public ProjectName: string; public ClientName: string; public ProjectType: string; public ProjectLocation: string; public Scope: string; public ProjectDescription: string; public ContractDurationDays?: number; public BidDueDate: string; public EstimatedStartDate?: string; public EstimatedEndDate?: string; public Tasks: ProposedTask[] = []; public PendingAddendaDiffs: AddendaChangeSet[] = []; public WageDeterminations: WageDeterminationResult[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CrewPlanLine { public PositionTag: string; public Needed: number; public NaiveTotal: number; public TaskAssignments: number; 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 RfpProposalResponse { public ResponseStatus: ResponseStatus; public RfpDocumentID: number; public Proposal: ProjectProposal; public CrewPlan: CrewPlanLine[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/Rfp/SchedulePreview", "POST,OPTIONS") export class RfpSchedulePreviewRequest implements IReturn { public Proposal: ProjectProposal; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'RfpSchedulePreviewRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new RfpProposalResponse(); } }