/* Options: Date: 2026-08-01 03:15:57 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CostCalcRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/workforce/calc", "POST") public class CostCalcRequest : IReturn, Codable { public typealias Return = CostCalcResponse public var input:CostInput? public var contactID:Int? public var projectID:Int? public var shiftPatternID:Int? public var unit:String? required public init(){} } public class CostCalcResponse : Codable { public var result:CostBreakdown? public var resolvedInput:CostInput? public var canSeePay:Bool? public var responseStatus:ResponseStatus? required public init(){} } public class CostInput : Codable { public var base:Double? public var billRate:Double? public var fringeCash:Double? public var fringePlan:Double? public var isNight:Bool? public var hoursPerDay:Double? public var onDays:Int? public var onDaysExact:Double? public var hasTravel:Bool? public var perDiemEligible:Bool? public var prevailingWage:Bool? public var jurisdiction:String? public var unit:String? public var priorHours:Double? public var burdenClass:String? public var wcRateOverride:Double? required public init(){} } public class CostBreakdown : Codable { public var rrop:Double? public var st:Double? public var ot:Double? public var dt:Double? public var totalHours:Double? public var straight:Double? public var diffPay:Double? public var otPremium:Double? public var dtPremium:Double? public var cashWages:Double? public var fringeCashPay:Double? public var fringePlanPay:Double? public var burdenPct:Double? public var burdenAmount:Double? public var perDiemApplies:Bool? public var perDiemCost:Double? public var perDiemTaxable:Double? public var perDiemNonTax:Double? public var loaded:Double? public var revenue:Double? public var margin:Double? public var marginPct:Double? public var otMultiplier:Double? public var dtMultiplier:Double? public var perDiemDaily:Double? public var lines:[CostLine] = [] public var notes:[String] = [] required public init(){} } public class CostLine : Codable { public var label:String? public var detail:String? public var amount:Double? public var ruleId:String? required public init(){} }