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 'package:servicestack/servicestack.dart';

class GetMotabilityPricingRequest implements IConvertible
{
    GetMotabilityPricingRequest();
    GetMotabilityPricingRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "GetMotabilityPricingRequest";
    TypeContext? context = _ctx;
}

class MotabilityPricingCsv implements IConvertible
{
    // @DataMember(Order=0)
    int? Id;

    // @DataMember(Order=1)
    String? CriteriaBM7NST;

    // @DataMember(Order=2)
    String? VTN;

    // @DataMember(Order=3)
    String? BackOrderDropDown;

    // @DataMember(Order=4)
    String? CriteriaFullModelYearCode;

    // @DataMember(Order=5)
    String? CriteriaValidOptionCodes;

    // @DataMember(Order=6)
    String? CriteriaInvalidOptionCodes;

    // @DataMember(Order=7)
    double? PIPNet;

    // @DataMember(Order=8)
    double? PIPVat;

    // @DataMember(Order=9)
    double? PIPGross;

    // @DataMember(Order=10)
    double? WPMSNet;

    // @DataMember(Order=11)
    double? WPMSVat;

    // @DataMember(Order=12)
    double? WPMSGross;

    // @DataMember(Order=13)
    double? DiscountNet;

    // @DataMember(Order=14)
    double? DiscountVat;

    // @DataMember(Order=15)
    double? DiscountGross;

    // @DataMember(Order=16)
    double? ListPriceNet;

    // @DataMember(Order=17)
    double? ListPriceVat;

    // @DataMember(Order=18)
    double? ListPriceGross;

    // @DataMember(Order=19)
    double? DeliveryChargeNet;

    // @DataMember(Order=20)
    double? DeliveryChargeVat;

    // @DataMember(Order=21)
    double? DeliveryChargeGross;

    // @DataMember(Order=22)
    double? FuelChargeNet;

    // @DataMember(Order=23)
    double? FuelChargeVat;

    // @DataMember(Order=24)
    double? FuelChargeGross;

    // @DataMember(Order=25)
    double? NumberPlateFeeNet;

    // @DataMember(Order=26)
    double? NumberPlateFeeVat;

    // @DataMember(Order=27)
    double? NumberPlateFeeGross;

    // @DataMember(Order=28)
    double? FirstRegistrationFeeNet;

    // @DataMember(Order=29)
    double? FirstRegistrationFeeVat;

    // @DataMember(Order=30)
    double? FirstRegistrationFeeGross;

    // @DataMember(Order=31)
    double? RoadFundLicenceNet;

    // @DataMember(Order=32)
    double? RoadFundLicenceVat;

    // @DataMember(Order=33)
    double? RoadFundLicenceGross;

    // @DataMember(Order=34)
    DateTime? ValidFrom;

    // @DataMember(Order=35)
    DateTime? ValidTo;

    MotabilityPricingCsv({this.Id,this.CriteriaBM7NST,this.VTN,this.BackOrderDropDown,this.CriteriaFullModelYearCode,this.CriteriaValidOptionCodes,this.CriteriaInvalidOptionCodes,this.PIPNet,this.PIPVat,this.PIPGross,this.WPMSNet,this.WPMSVat,this.WPMSGross,this.DiscountNet,this.DiscountVat,this.DiscountGross,this.ListPriceNet,this.ListPriceVat,this.ListPriceGross,this.DeliveryChargeNet,this.DeliveryChargeVat,this.DeliveryChargeGross,this.FuelChargeNet,this.FuelChargeVat,this.FuelChargeGross,this.NumberPlateFeeNet,this.NumberPlateFeeVat,this.NumberPlateFeeGross,this.FirstRegistrationFeeNet,this.FirstRegistrationFeeVat,this.FirstRegistrationFeeGross,this.RoadFundLicenceNet,this.RoadFundLicenceVat,this.RoadFundLicenceGross,this.ValidFrom,this.ValidTo});
    MotabilityPricingCsv.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CriteriaBM7NST = json['CriteriaBM7NST'];
        VTN = json['VTN'];
        BackOrderDropDown = json['BackOrderDropDown'];
        CriteriaFullModelYearCode = json['CriteriaFullModelYearCode'];
        CriteriaValidOptionCodes = json['CriteriaValidOptionCodes'];
        CriteriaInvalidOptionCodes = json['CriteriaInvalidOptionCodes'];
        PIPNet = JsonConverters.toDouble(json['PIPNet']);
        PIPVat = JsonConverters.toDouble(json['PIPVat']);
        PIPGross = JsonConverters.toDouble(json['PIPGross']);
        WPMSNet = JsonConverters.toDouble(json['WPMSNet']);
        WPMSVat = JsonConverters.toDouble(json['WPMSVat']);
        WPMSGross = JsonConverters.toDouble(json['WPMSGross']);
        DiscountNet = JsonConverters.toDouble(json['DiscountNet']);
        DiscountVat = JsonConverters.toDouble(json['DiscountVat']);
        DiscountGross = JsonConverters.toDouble(json['DiscountGross']);
        ListPriceNet = JsonConverters.toDouble(json['ListPriceNet']);
        ListPriceVat = JsonConverters.toDouble(json['ListPriceVat']);
        ListPriceGross = JsonConverters.toDouble(json['ListPriceGross']);
        DeliveryChargeNet = JsonConverters.toDouble(json['DeliveryChargeNet']);
        DeliveryChargeVat = JsonConverters.toDouble(json['DeliveryChargeVat']);
        DeliveryChargeGross = JsonConverters.toDouble(json['DeliveryChargeGross']);
        FuelChargeNet = JsonConverters.toDouble(json['FuelChargeNet']);
        FuelChargeVat = JsonConverters.toDouble(json['FuelChargeVat']);
        FuelChargeGross = JsonConverters.toDouble(json['FuelChargeGross']);
        NumberPlateFeeNet = JsonConverters.toDouble(json['NumberPlateFeeNet']);
        NumberPlateFeeVat = JsonConverters.toDouble(json['NumberPlateFeeVat']);
        NumberPlateFeeGross = JsonConverters.toDouble(json['NumberPlateFeeGross']);
        FirstRegistrationFeeNet = JsonConverters.toDouble(json['FirstRegistrationFeeNet']);
        FirstRegistrationFeeVat = JsonConverters.toDouble(json['FirstRegistrationFeeVat']);
        FirstRegistrationFeeGross = JsonConverters.toDouble(json['FirstRegistrationFeeGross']);
        RoadFundLicenceNet = JsonConverters.toDouble(json['RoadFundLicenceNet']);
        RoadFundLicenceVat = JsonConverters.toDouble(json['RoadFundLicenceVat']);
        RoadFundLicenceGross = JsonConverters.toDouble(json['RoadFundLicenceGross']);
        ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!);
        ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CriteriaBM7NST': CriteriaBM7NST,
        'VTN': VTN,
        'BackOrderDropDown': BackOrderDropDown,
        'CriteriaFullModelYearCode': CriteriaFullModelYearCode,
        'CriteriaValidOptionCodes': CriteriaValidOptionCodes,
        'CriteriaInvalidOptionCodes': CriteriaInvalidOptionCodes,
        'PIPNet': PIPNet,
        'PIPVat': PIPVat,
        'PIPGross': PIPGross,
        'WPMSNet': WPMSNet,
        'WPMSVat': WPMSVat,
        'WPMSGross': WPMSGross,
        'DiscountNet': DiscountNet,
        'DiscountVat': DiscountVat,
        'DiscountGross': DiscountGross,
        'ListPriceNet': ListPriceNet,
        'ListPriceVat': ListPriceVat,
        'ListPriceGross': ListPriceGross,
        'DeliveryChargeNet': DeliveryChargeNet,
        'DeliveryChargeVat': DeliveryChargeVat,
        'DeliveryChargeGross': DeliveryChargeGross,
        'FuelChargeNet': FuelChargeNet,
        'FuelChargeVat': FuelChargeVat,
        'FuelChargeGross': FuelChargeGross,
        'NumberPlateFeeNet': NumberPlateFeeNet,
        'NumberPlateFeeVat': NumberPlateFeeVat,
        'NumberPlateFeeGross': NumberPlateFeeGross,
        'FirstRegistrationFeeNet': FirstRegistrationFeeNet,
        'FirstRegistrationFeeVat': FirstRegistrationFeeVat,
        'FirstRegistrationFeeGross': FirstRegistrationFeeGross,
        'RoadFundLicenceNet': RoadFundLicenceNet,
        'RoadFundLicenceVat': RoadFundLicenceVat,
        'RoadFundLicenceGross': RoadFundLicenceGross,
        'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!),
        'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!)
    };

    getTypeName() => "MotabilityPricingCsv";
    TypeContext? context = _ctx;
}

enum MotabilityPricingStatus
{
    Pending,
    Current,
    RecentlyExpired,
    Expired,
}

class MotabilityPricing extends MotabilityPricingCsv implements IConvertible
{
    MotabilityPricingStatus? MotabilityPricingStatus;

    MotabilityPricing({this.MotabilityPricingStatus});
    MotabilityPricing.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        MotabilityPricingStatus = JsonConverters.fromJson(json['MotabilityPricingStatus'],'MotabilityPricingStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'MotabilityPricingStatus': JsonConverters.toJson(MotabilityPricingStatus,'MotabilityPricingStatus',context!)
    });

    getTypeName() => "MotabilityPricing";
    TypeContext? context = _ctx;
}

class GetMotabilityPricingResponse implements IConvertible
{
    List<MotabilityPricing>? MotabilityPricing = [];

    GetMotabilityPricingResponse({this.MotabilityPricing});
    GetMotabilityPricingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MotabilityPricing = JsonConverters.fromJson(json['MotabilityPricing'],'List<MotabilityPricing>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MotabilityPricing': JsonConverters.toJson(MotabilityPricing,'List<MotabilityPricing>',context!)
    };

    getTypeName() => "GetMotabilityPricingResponse";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'GetMotabilityPricingRequest': TypeInfo(TypeOf.Class, create:() => GetMotabilityPricingRequest()),
    'MotabilityPricingCsv': TypeInfo(TypeOf.Class, create:() => MotabilityPricingCsv()),
    'MotabilityPricingStatus': TypeInfo(TypeOf.Enum, enumValues:MotabilityPricingStatus.values),
    'MotabilityPricing': TypeInfo(TypeOf.Class, create:() => MotabilityPricing()),
    'GetMotabilityPricingResponse': TypeInfo(TypeOf.Class, create:() => GetMotabilityPricingResponse()),
    'List<MotabilityPricing>': TypeInfo(TypeOf.Class, create:() => <MotabilityPricing>[]),
});

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