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 .other suffix or ?format=other

HTTP + OTHER

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: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'GetEligibleMotabilityPricingForBackOrderRequest' using the custom 'other' filter}Cannot dynamically create an instance of type 'Mercedes.Agency.Orchestration.API.ServiceModel.Motability.Requests.GetEligibleMotabilityPricingForBackOrderRequest'. Reason: No parameterless constructor defined.
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'GetEligibleMotabilityPricingForBackOrderResponse' using the custom 'other' filter}Cannot dynamically create an instance of type 'Mercedes.Agency.API.Shared.POCO.Motability.Responses.GetEligibleMotabilityPricingForBackOrderResponse'. Reason: No parameterless constructor defined.