POST | /v1/motability/pricing | Gets the motability pricing information for the current user role | Gets the motability pricing information for the current user role |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetMotabilityPricingRequest:
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MotabilityPricingCsv:
id: int = 0
criteria_b_m7_n_s_t: Optional[str] = None
vtn: Optional[str] = None
back_order_drop_down: Optional[str] = None
criteria_full_model_year_code: Optional[str] = None
criteria_valid_option_codes: Optional[str] = None
criteria_invalid_option_codes: Optional[str] = None
pip_net: Decimal = decimal.Decimal(0)
pip_vat: Decimal = decimal.Decimal(0)
pip_gross: Decimal = decimal.Decimal(0)
wpms_net: Decimal = decimal.Decimal(0)
wpms_vat: Decimal = decimal.Decimal(0)
wpms_gross: Decimal = decimal.Decimal(0)
discount_net: Decimal = decimal.Decimal(0)
discount_vat: Decimal = decimal.Decimal(0)
discount_gross: Decimal = decimal.Decimal(0)
list_price_net: Decimal = decimal.Decimal(0)
list_price_vat: Decimal = decimal.Decimal(0)
list_price_gross: Decimal = decimal.Decimal(0)
delivery_charge_net: Decimal = decimal.Decimal(0)
delivery_charge_vat: Decimal = decimal.Decimal(0)
delivery_charge_gross: Decimal = decimal.Decimal(0)
fuel_charge_net: Decimal = decimal.Decimal(0)
fuel_charge_vat: Decimal = decimal.Decimal(0)
fuel_charge_gross: Decimal = decimal.Decimal(0)
number_plate_fee_net: Decimal = decimal.Decimal(0)
number_plate_fee_vat: Decimal = decimal.Decimal(0)
number_plate_fee_gross: Decimal = decimal.Decimal(0)
first_registration_fee_net: Decimal = decimal.Decimal(0)
first_registration_fee_vat: Decimal = decimal.Decimal(0)
first_registration_fee_gross: Decimal = decimal.Decimal(0)
road_fund_licence_net: Decimal = decimal.Decimal(0)
road_fund_licence_vat: Decimal = decimal.Decimal(0)
road_fund_licence_gross: Decimal = decimal.Decimal(0)
valid_from: datetime.datetime = datetime.datetime(1, 1, 1)
valid_to: datetime.datetime = datetime.datetime(1, 1, 1)
class MotabilityPricingStatus(str, Enum):
PENDING = 'Pending'
CURRENT = 'Current'
RECENTLY_EXPIRED = 'RecentlyExpired'
EXPIRED = 'Expired'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MotabilityPricing(MotabilityPricingCsv):
motability_pricing_status: Optional[MotabilityPricingStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetMotabilityPricingResponse:
motability_pricing: List[MotabilityPricing] = field(default_factory=list)
Python GetMotabilityPricingRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
Content-Length: length
{}
HTTP/1.1 200 OK Content-Type: application/json 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)\/"}]}