/* Options: Date: 2026-07-09 00:40:24 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: ProjectTimelineRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class JobDependency { public JobDependencyID: number; public TenantId: string; public ProjectID: number; public PredecessorJobID: number; public SuccessorJobID: number; public DependencyType: string; public LagDays: number; public CreatedBy: string; public CreatedAt?: string; public UpdatedAt?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TimelineCrew { public ProjectJobCrewMemberID: number; public ContactID: number; public ContactName: string; public BudgetedHours?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TimelineEquipment { public ProjectJobEquipmentID: number; public EquipmentID: number; public EquipmentName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TimelineJob { public JobID: number; public JobName: string; public ExpectedStartDate?: string; public ExpectedCompletionDate?: string; public ActualStartDate?: string; public ActualEndDate?: string; public PercentComplete: number; public StatusID?: number; public JobCategory: string; public IsAgreementVisit: boolean; public OccurrenceDate?: string; public Crew: TimelineCrew[] = []; public Equipment: TimelineEquipment[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProjectTimeline { public ProjectID: number; public Jobs: TimelineJob[] = []; public Dependencies: JobDependency[] = []; 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 ProjectTimelineResponse { public ResponseStatus: ResponseStatus; public Timeline: ProjectTimeline; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/project/{ProjectID}/timeline", "GET,OPTIONS") export class ProjectTimelineRequest implements IReturn { public ProjectID: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ProjectTimelineRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new ProjectTimelineResponse(); } }