/* Options: Date: 2026-06-13 03:55:13 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: RfpApproveRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class ResourcedPosition { public PositionTag: string; public Hours?: 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 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 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 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 constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProjectProposal { public RfpDocumentID: 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 constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TaskDiff { public TaskName: string; public PositionsAdded: string[] = []; public PositionsRemoved: string[] = []; public PositionsStaffed: string[] = []; public EquipmentAdded: number[] = []; public EquipmentRemoved: number[] = []; public MaterialsAdded: number[] = []; public MaterialsRemoved: number[] = []; public HasChanges: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProposalDiff { public TasksAdded: string[] = []; public TasksRemoved: string[] = []; public Tasks: TaskDiff[] = []; public HasChanges: 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 RfpApproveResponse { public ResponseStatus: ResponseStatus; public RfpDocumentID: number; public ProjectID: number; public ProjectUID: string; public RfpApprovalID: number; public JobIDs: number[] = []; public OpenPositionCount: number; public Diff: ProposalDiff; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/Rfp/{RfpDocumentUID}/Approve", "POST,OPTIONS") export class RfpApproveRequest implements IReturn { public RfpDocumentUID: string; public Proposal: ProjectProposal; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'RfpApproveRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new RfpApproveResponse(); } }