# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-11-12 17:50:07 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://prod-api-agency-orch-mb-dhc.rapp-customers.co.uk #MakePartial: True #MakeVirtual: True #MakeInternal: False #MakeDataContractsExtensible: False #AddReturnMarker: True #AddDescriptionAsComments: True #AddDataContractAttributes: False #AddIndexesToDataMembers: False #AddGeneratedCodeAttributes: False #AddResponseStatus: False #AddImplicitVersion: #InitializeCollections: False #ExportValueTypes: False IncludeTypes: GetMotabilityPricingRequest.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module MotabilityPricingStatus PENDING = 'Pending' CURRENT = 'Current' RECENTLY_EXPIRED = 'RecentlyExpired' EXPIRED = 'Expired' end class MotabilityPricingCsv include ServiceStack::DTO # @DataMember(Order=0) # @return [Integer] attr_accessor :id # @DataMember(Order=1) # @return [String] attr_accessor :criteria_b_m7_n_s_t # @DataMember(Order=2) # @return [String] attr_accessor :vtn # @DataMember(Order=3) # @return [String] attr_accessor :back_order_drop_down # @DataMember(Order=4) # @return [String] attr_accessor :criteria_full_model_year_code # @DataMember(Order=5) # @return [String] attr_accessor :criteria_valid_option_codes # @DataMember(Order=6) # @return [String] attr_accessor :criteria_invalid_option_codes # @DataMember(Order=7) # @return [BigDecimal] attr_accessor :pip_net # @DataMember(Order=8) # @return [BigDecimal] attr_accessor :pip_vat # @DataMember(Order=9) # @return [BigDecimal] attr_accessor :pip_gross # @DataMember(Order=10) # @return [BigDecimal] attr_accessor :wpms_net # @DataMember(Order=11) # @return [BigDecimal] attr_accessor :wpms_vat # @DataMember(Order=12) # @return [BigDecimal] attr_accessor :wpms_gross # @DataMember(Order=13) # @return [BigDecimal] attr_accessor :discount_net # @DataMember(Order=14) # @return [BigDecimal] attr_accessor :discount_vat # @DataMember(Order=15) # @return [BigDecimal] attr_accessor :discount_gross # @DataMember(Order=16) # @return [BigDecimal] attr_accessor :list_price_net # @DataMember(Order=17) # @return [BigDecimal] attr_accessor :list_price_vat # @DataMember(Order=18) # @return [BigDecimal] attr_accessor :list_price_gross # @DataMember(Order=19) # @return [BigDecimal] attr_accessor :delivery_charge_net # @DataMember(Order=20) # @return [BigDecimal] attr_accessor :delivery_charge_vat # @DataMember(Order=21) # @return [BigDecimal] attr_accessor :delivery_charge_gross # @DataMember(Order=22) # @return [BigDecimal] attr_accessor :fuel_charge_net # @DataMember(Order=23) # @return [BigDecimal] attr_accessor :fuel_charge_vat # @DataMember(Order=24) # @return [BigDecimal] attr_accessor :fuel_charge_gross # @DataMember(Order=25) # @return [BigDecimal] attr_accessor :number_plate_fee_net # @DataMember(Order=26) # @return [BigDecimal] attr_accessor :number_plate_fee_vat # @DataMember(Order=27) # @return [BigDecimal] attr_accessor :number_plate_fee_gross # @DataMember(Order=28) # @return [BigDecimal] attr_accessor :first_registration_fee_net # @DataMember(Order=29) # @return [BigDecimal] attr_accessor :first_registration_fee_vat # @DataMember(Order=30) # @return [BigDecimal] attr_accessor :first_registration_fee_gross # @DataMember(Order=31) # @return [BigDecimal] attr_accessor :road_fund_licence_net # @DataMember(Order=32) # @return [BigDecimal] attr_accessor :road_fund_licence_vat # @DataMember(Order=33) # @return [BigDecimal] attr_accessor :road_fund_licence_gross # @DataMember(Order=34) # @return [DateTime] attr_accessor :valid_from # @DataMember(Order=35) # @return [DateTime] attr_accessor :valid_to # @DataMember(Order=36) # @return [BigDecimal] attr_accessor :government_grant_net # @DataMember(Order=37) # @return [BigDecimal] attr_accessor :government_grant_vat # @DataMember(Order=38) # @return [BigDecimal] attr_accessor :government_grant_gross def self.properties { id: { name: 'id' }, criteria_b_m7_n_s_t: { name: 'criteriaBM7NST' }, vtn: { name: 'vtn' }, back_order_drop_down: { name: 'backOrderDropDown' }, criteria_full_model_year_code: { name: 'criteriaFullModelYearCode' }, criteria_valid_option_codes: { name: 'criteriaValidOptionCodes' }, criteria_invalid_option_codes: { name: 'criteriaInvalidOptionCodes' }, pip_net: { name: 'pipNet' }, pip_vat: { name: 'pipVat' }, pip_gross: { name: 'pipGross' }, wpms_net: { name: 'wpmsNet' }, wpms_vat: { name: 'wpmsVat' }, wpms_gross: { name: 'wpmsGross' }, discount_net: { name: 'discountNet' }, discount_vat: { name: 'discountVat' }, discount_gross: { name: 'discountGross' }, list_price_net: { name: 'listPriceNet' }, list_price_vat: { name: 'listPriceVat' }, list_price_gross: { name: 'listPriceGross' }, delivery_charge_net: { name: 'deliveryChargeNet' }, delivery_charge_vat: { name: 'deliveryChargeVat' }, delivery_charge_gross: { name: 'deliveryChargeGross' }, fuel_charge_net: { name: 'fuelChargeNet' }, fuel_charge_vat: { name: 'fuelChargeVat' }, fuel_charge_gross: { name: 'fuelChargeGross' }, number_plate_fee_net: { name: 'numberPlateFeeNet' }, number_plate_fee_vat: { name: 'numberPlateFeeVat' }, number_plate_fee_gross: { name: 'numberPlateFeeGross' }, first_registration_fee_net: { name: 'firstRegistrationFeeNet' }, first_registration_fee_vat: { name: 'firstRegistrationFeeVat' }, first_registration_fee_gross: { name: 'firstRegistrationFeeGross' }, road_fund_licence_net: { name: 'roadFundLicenceNet' }, road_fund_licence_vat: { name: 'roadFundLicenceVat' }, road_fund_licence_gross: { name: 'roadFundLicenceGross' }, valid_from: { name: 'validFrom', type: DateTime }, valid_to: { name: 'validTo', type: DateTime }, government_grant_net: { name: 'governmentGrantNet' }, government_grant_vat: { name: 'governmentGrantVat' }, government_grant_gross: { name: 'governmentGrantGross' }, } end end class MotabilityPricing < MotabilityPricingCsv # @return [MotabilityPricingStatus] attr_accessor :motability_pricing_status def self.properties { motability_pricing_status: { name: 'motabilityPricingStatus' }, } end end class GetMotabilityPricingResponse include ServiceStack::DTO # @return [List] attr_accessor :motability_pricing def self.properties { motability_pricing: { name: 'motabilityPricing', type: [MotabilityPricing] }, } end end # @Route("/v1/motability/pricing", "POST") class GetMotabilityPricingRequest include ServiceStack::DTO def response_type() = GetMotabilityPricingResponse def get_type_name() = 'GetMotabilityPricingRequest' def get_method() = 'POST' end