/* Options: Date: 2026-07-08 19:46: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: MaterialShortfallsRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class MaterialShortfall { public MaterialID: number; public Name: string; public MaterialType: string; public OnHand: number; public QtyNeeded: number; public ShortQty: number; public Unit: string; public UnitPrice: number; public EstUSD: number; public Vendor: string; public JobStartDate?: string; 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 MaterialShortfallsResponse { public ResponseStatus: ResponseStatus; public ProjectID: number; public Shortfalls: MaterialShortfall[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/projects/{ProjectID}/material-shortfalls", "GET,OPTIONS") export class MaterialShortfallsRequest implements IReturn { public ProjectID: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'MaterialShortfallsRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new MaterialShortfallsResponse(); } }