/* Options: Date: 2024-12-15 19:46:36 SwiftVersion: 5.0 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://staging-api.billiecart.com.au //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: SetBudgetBreakdownRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/packages/{Id}/budget-breakdown", "PUT") public class SetBudgetBreakdownRequest : PutOperationTenanted, IReturn { public typealias Return = SetBudgetBreakdownResponse public var id:String? public var leaseAmount:Double? public var administrationFee:Double? public var fuel:Double? public var servicing:Double? public var tyres:Double? public var insurance:Double? public var carWash:Double? public var registration:Double? public var roadSideAssistance:Double? public var anythingExtra:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case leaseAmount case administrationFee case fuel case servicing case tyres case insurance case carWash case registration case roadSideAssistance case anythingExtra } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(String.self, forKey: .id) leaseAmount = try container.decodeIfPresent(Double.self, forKey: .leaseAmount) administrationFee = try container.decodeIfPresent(Double.self, forKey: .administrationFee) fuel = try container.decodeIfPresent(Double.self, forKey: .fuel) servicing = try container.decodeIfPresent(Double.self, forKey: .servicing) tyres = try container.decodeIfPresent(Double.self, forKey: .tyres) insurance = try container.decodeIfPresent(Double.self, forKey: .insurance) carWash = try container.decodeIfPresent(Double.self, forKey: .carWash) registration = try container.decodeIfPresent(Double.self, forKey: .registration) roadSideAssistance = try container.decodeIfPresent(Double.self, forKey: .roadSideAssistance) anythingExtra = try container.decodeIfPresent(Double.self, forKey: .anythingExtra) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if id != nil { try container.encode(id, forKey: .id) } if leaseAmount != nil { try container.encode(leaseAmount, forKey: .leaseAmount) } if administrationFee != nil { try container.encode(administrationFee, forKey: .administrationFee) } if fuel != nil { try container.encode(fuel, forKey: .fuel) } if servicing != nil { try container.encode(servicing, forKey: .servicing) } if tyres != nil { try container.encode(tyres, forKey: .tyres) } if insurance != nil { try container.encode(insurance, forKey: .insurance) } if carWash != nil { try container.encode(carWash, forKey: .carWash) } if registration != nil { try container.encode(registration, forKey: .registration) } if roadSideAssistance != nil { try container.encode(roadSideAssistance, forKey: .roadSideAssistance) } if anythingExtra != nil { try container.encode(anythingExtra, forKey: .anythingExtra) } } } public class SetBudgetBreakdownResponse : Codable { public var responseStatus:ResponseStatus? public var salaryPackage:SalaryPackage? required public init(){} } public protocol ITenantedRequest { var organisationId:String? { get set } } public class PutOperationUnTenanted : IPut, Codable { required public init(){} } public class PutOperationTenanted : PutOperationUnTenanted, ITenantedRequest { public var organisationId:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case organisationId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) organisationId = try container.decodeIfPresent(String.self, forKey: .organisationId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if organisationId != nil { try container.encode(organisationId, forKey: .organisationId) } } } public class SalaryPackage : IIdentifiableResource, Codable { public var customerId:String? public var customerFirstName:String? public var customerLastName:String? public var status:String? public var notes:String? public var budgetBreakdown:BudgetBreakdown? public var employment:Employment? public var vehicle:Vehicle? public var leaseDetails:LeaseDetails? public var budgetBalances:BudgetBalances? public var currentBalance:Double? public var forecastedSalarySacrifices:[ForecastedSalarySacrifice] = [] public var forecastedOutgoingPayments:[ForecastedOutgoingPayment] = [] public var adjustments:[Adjustment] = [] public var transactions:[Transaction] = [] public var id:String? required public init(){} } public class SalarySacrificeBreakdown : Codable { public var leaseAmount:Double? public var administrationFee:Double? public var fuel:Double? public var servicing:Double? public var tyres:Double? public var insurance:Double? public var carWash:Double? public var registration:Double? public var roadSideAssistance:Double? public var anythingExtra:Double? required public init(){} } public protocol IIdentifiableResource { var id:String? { get set } } public class BankAccount : Codable { public var bsbNumber:String? public var accountNumber:String? required public init(){} } public class BudgetBreakdown : Codable { public var leaseAmount:Double? public var administrationFee:Double? public var fuel:Double? public var servicing:Double? public var tyres:Double? public var insurance:Double? public var carWash:Double? public var registration:Double? public var roadSideAssistance:Double? public var anythingExtra:Double? required public init(){} } public class Employment : Codable { public var payrollCycle:String? public var firstPayDate:Date? public var employerId:String? public var employerName:String? required public init(){} } public class Vehicle : Codable { public var make:String? public var model:String? public var colour:String? public var bodyShape:String? public var licensePlate:String? public var transmission:String? public var manufactureYear:Int? required public init(){} } public class LeaseDetails : Codable { public var term:Int? public var startDate:Date? public var amountFinanced:Double? public var paymentAmount:Double? public var financeProvider:String? public var residualValue:Double? public var yearlyKmsTravelled:Int? public var fringeBenefitTaxValue:Double? public var fringeBenefitTaxMethod:String? public var fringeBenefitTaxBusinessUse:Int? public var fringeBenefitTaxStartDate:Date? public var preTaxDeduction:Double? public var postTaxDeduction:Double? public var gstOnPostTaxDeduction:Double? public var luxuryVehicleCharge:Double? public var onRoadCost:Double? public var registrationDueDate:Date? public var insuranceDueDate:Date? public var leaseProviderBankAccount:BankAccount? required public init(){} } public class BudgetBalances : Codable { public var leaseAmount:Double? public var administrationFee:Double? public var fuel:Double? public var servicing:Double? public var tyres:Double? public var insurance:Double? public var carWash:Double? public var registration:Double? public var roadSideAssistance:Double? public var anythingExtra:Double? required public init(){} } public class ForecastedSalarySacrifice : Codable { public var paymentDate:Date? public var amount:Double? public var matched:SalarySacrifice? required public init(){} } public class ForecastedOutgoingPayment : Codable { public var scheduled:Date? public var amount:Double? public var budgetCategory:String? public var matched:Expense? required public init(){} } public class Adjustment : IIdentifiableResource, Codable { public var budgetCategory:String? public var amount:Double? public var gst:Double? public var Description:String? public var received:Date? public var id:String? required public init(){} } public class Transaction : Codable { public var received:Date? public var budgetCategory:String? public var amount:Double? public var gst:Double? public var Description:String? public var type:String? required public init(){} } public class SalarySacrifice : Codable { public var paymentDate:Date? public var salarySacrificeBreakdown:SalarySacrificeBreakdown? public var preTaxDeduction:Double? public var postTaxDeduction:Double? public var contributionId:String? required public init(){} } public class Expense : Codable { public var budgetCategory:String? public var amount:Double? public var gst:Double? required public init(){} }