/* Options: Date: 2026-08-01 03:14:44 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: CostCalcRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class CostInput { public Base: number; public BillRate: number; public FringeCash: number; public FringePlan: number; public IsNight: boolean; public HoursPerDay: number; public OnDays: number; public OnDaysExact?: number; public HasTravel: boolean; public PerDiemEligible: boolean; public PrevailingWage: boolean; public Jurisdiction: string; public Unit: string; public PriorHours: number; public BurdenClass: string; public WcRateOverride?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CostLine { public Label: string; public Detail: string; public Amount: number; public RuleId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CostBreakdown { public Rrop: number; public St: number; public Ot: number; public Dt: number; public TotalHours: number; public Straight: number; public DiffPay: number; public OtPremium: number; public DtPremium: number; public CashWages: number; public FringeCashPay: number; public FringePlanPay: number; public BurdenPct: number; public BurdenAmount: number; public PerDiemApplies: boolean; public PerDiemCost: number; public PerDiemTaxable: number; public PerDiemNonTax: number; public Loaded: number; public Revenue: number; public Margin: number; public MarginPct: number; public OtMultiplier: number; public DtMultiplier: number; public PerDiemDaily: number; public Lines: CostLine[] = []; public Notes: 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 CostCalcResponse { public Result: CostBreakdown; public ResolvedInput: CostInput; public CanSeePay: boolean; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/workforce/calc", "POST") export class CostCalcRequest implements IReturn { public Input: CostInput; public ContactID?: number; public ProjectID?: number; public ShiftPatternID?: number; public Unit: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CostCalcRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new CostCalcResponse(); } }