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
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

HTTP + JSON

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)\/"}]}