Mercedes.Agency.Orchestration.API

<back to all web services

GetMotabilityPricingRequest

Motability
Requires Authentication
The following routes are available for this service:
POST/v1/motability/pricingGets the motability pricing information for the current user roleGets 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

HTTP + 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}]}