/* Options: Date: 2026-08-01 07:23:07 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: PlanningRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class OtRow { public ContactID: number; public WorkerName: string; public ClassCode: string; public Crew: string; public Job: string; public PatternLabel: string; public ProjHours: number; public OtHours: number; public DtHours: number; public OtCost?: number; public State: string; public Tone: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class OtExposureBoard { public TotalOtCost?: number; public TotalOtHours: number; public OverCount: number; public WorkerCount: number; public Rows: OtRow[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PerDiemJobRow { public Job: string; public Total: number; public NonTax: number; public Tax: number; public Days: number; public AwayCount: number; public DayRateFlag: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PerDiemBoard { public TotalCost: number; public NonTaxable: number; public Taxable: number; public AwayCount: number; public Jobs: PerDiemJobRow[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MarginJobRow { public Job: string; public BasePct: number; public ProjPct: number; public FadePts: number; public Severity: string; public OtCost?: number; public PerDiem: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MarginBoard { public JobCount: number; public TotalFade?: number; public Jobs: MarginJobRow[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UtilRow { public ContactID: number; public WorkerName: string; public Crew: string; public ProjHours: number; public BaselineHours: number; public Pct: number; public Band: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UtilizationBoard { public UnderCount: number; public OverCount: number; public Rows: UtilRow[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PlanningSuggestion { public Id: string; public Kind: string; public Title: string; public Detail: string; public SaveText: string; public Effect: string; public RuleId: string; public LegalNote: string; public ApplyLabel: string; public Severity: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PlanningSurface { public WeekLabel: string; public WeekStart: string; public WorkerCount: number; public Ot: OtExposureBoard; public PerDiem: PerDiemBoard; public Margin: MarginBoard; public Utilization: UtilizationBoard; public Suggestions: PlanningSuggestion[] = []; 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 PlanningResponse { public Surface: PlanningSurface; public CanSeePay: boolean; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/workforce/planning", "GET") export class PlanningRequest implements IReturn { public AsOf?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'PlanningRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new PlanningResponse(); } }