| POST | /v1/motability/pricing | Gets the motability pricing information for the current user role | Gets the motability pricing information for the current user role |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
module MotabilityPricingStatus
PENDING = 'Pending'
CURRENT = 'Current'
RECENTLY_EXPIRED = 'RecentlyExpired'
EXPIRED = 'Expired'
end
class GetMotabilityPricingRequest
include ServiceStack::DTO
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
Ruby GetMotabilityPricingRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/motability/pricing HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"MotabilityPricing":[{"MotabilityPricingStatus":"Pending","Id":0,"CriteriaBM7NST":"String","VTN":"String","BackOrderDropDown":"String","CriteriaFullModelYearCode":"String","CriteriaValidOptionCodes":"String","CriteriaInvalidOptionCodes":"String","PIPNet":0,"PIPVat":0,"PIPGross":0,"WPMSNet":0,"WPMSVat":0,"WPMSGross":0,"DiscountNet":0,"DiscountVat":0,"DiscountGross":0,"ListPriceNet":0,"ListPriceVat":0,"ListPriceGross":0,"DeliveryChargeNet":0,"DeliveryChargeVat":0,"DeliveryChargeGross":0,"FuelChargeNet":0,"FuelChargeVat":0,"FuelChargeGross":0,"NumberPlateFeeNet":0,"NumberPlateFeeVat":0,"NumberPlateFeeGross":0,"FirstRegistrationFeeNet":0,"FirstRegistrationFeeVat":0,"FirstRegistrationFeeGross":0,"RoadFundLicenceNet":0,"RoadFundLicenceVat":0,"RoadFundLicenceGross":0,"ValidFrom":"\/Date(-62135596800000-0000)\/","ValidTo":"\/Date(-62135596800000-0000)\/","GovernmentGrantNet":0,"GovernmentGrantVat":0,"GovernmentGrantGross":0}]}