/* Options: Date: 2025-05-05 18:50:43 SwiftVersion: 6.0 Version: 8.61 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://prod-api-agency-orch-mb-dhc.rapp-customers.co.uk //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetMotabilityPricingRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/motability/pricing", "POST") public class GetMotabilityPricingRequest : IReturn, Codable { public typealias Return = GetMotabilityPricingResponse required public init(){} } public class GetMotabilityPricingResponse : Codable { public var motabilityPricing:[MotabilityPricing] = [] required public init(){} } public class MotabilityPricing : MotabilityPricingCsv { public var motabilityPricingStatus:MotabilityPricingStatus? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case motabilityPricingStatus } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) motabilityPricingStatus = try container.decodeIfPresent(MotabilityPricingStatus.self, forKey: .motabilityPricingStatus) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if motabilityPricingStatus != nil { try container.encode(motabilityPricingStatus, forKey: .motabilityPricingStatus) } } } public enum MotabilityPricingStatus : String, Codable { case Pending case Current case RecentlyExpired case Expired } public class MotabilityPricingCsv : Codable { // @DataMember(Order=0) public var id:Int? // @DataMember(Order=1) public var criteriaBM7NST:String? // @DataMember(Order=2) public var vtn:String? // @DataMember(Order=3) public var backOrderDropDown:String? // @DataMember(Order=4) public var criteriaFullModelYearCode:String? // @DataMember(Order=5) public var criteriaValidOptionCodes:String? // @DataMember(Order=6) public var criteriaInvalidOptionCodes:String? // @DataMember(Order=7) public var pipNet:Double? // @DataMember(Order=8) public var pipVat:Double? // @DataMember(Order=9) public var pipGross:Double? // @DataMember(Order=10) public var wpmsNet:Double? // @DataMember(Order=11) public var wpmsVat:Double? // @DataMember(Order=12) public var wpmsGross:Double? // @DataMember(Order=13) public var discountNet:Double? // @DataMember(Order=14) public var discountVat:Double? // @DataMember(Order=15) public var discountGross:Double? // @DataMember(Order=16) public var listPriceNet:Double? // @DataMember(Order=17) public var listPriceVat:Double? // @DataMember(Order=18) public var listPriceGross:Double? // @DataMember(Order=19) public var deliveryChargeNet:Double? // @DataMember(Order=20) public var deliveryChargeVat:Double? // @DataMember(Order=21) public var deliveryChargeGross:Double? // @DataMember(Order=22) public var fuelChargeNet:Double? // @DataMember(Order=23) public var fuelChargeVat:Double? // @DataMember(Order=24) public var fuelChargeGross:Double? // @DataMember(Order=25) public var numberPlateFeeNet:Double? // @DataMember(Order=26) public var numberPlateFeeVat:Double? // @DataMember(Order=27) public var numberPlateFeeGross:Double? // @DataMember(Order=28) public var firstRegistrationFeeNet:Double? // @DataMember(Order=29) public var firstRegistrationFeeVat:Double? // @DataMember(Order=30) public var firstRegistrationFeeGross:Double? // @DataMember(Order=31) public var roadFundLicenceNet:Double? // @DataMember(Order=32) public var roadFundLicenceVat:Double? // @DataMember(Order=33) public var roadFundLicenceGross:Double? // @DataMember(Order=34) public var validFrom:Date? // @DataMember(Order=35) public var validTo:Date? required public init(){} }