Mercedes.Agency.Orchestration.API

<back to all web services

GetEligibleMotabilityPricingForBackOrderRequest

Motability
Requires Authentication
The following routes are available for this service:
POST/v1/motability/backorder/{BackOrderGuid}Gets the current and available motability pricing information for the provided back order guidGets the current and available motability pricing information for the provided back order guid
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 GetEligibleMotabilityPricingForBackOrderRequest:
    back_order_guid: Optional[str] = None


@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 GetEligibleMotabilityPricingForBackOrderResponse:
    currently_selected_motability_pricing: Optional[MotabilityPricing] = None
    available_motability_pricing: List[MotabilityPricing] = field(default_factory=list)

Python GetEligibleMotabilityPricingForBackOrderRequest 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/backorder/{BackOrderGuid} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"backOrderGuid":"00000000000000000000000000000000"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"CurrentlySelectedMotabilityPricing":{"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)\/"},"AvailableMotabilityPricing":[{"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)\/"}]}