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
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.ServiceModel.Motability.Requests;
using Mercedes.Agency.API.Shared.POCO.Motability.Responses;
using Mercedes.Agency.API.Shared.POCO.Motability;
using Mercedes.Agency.API.Shared.Enums;

namespace Mercedes.Agency.API.Shared.Enums
{
    public enum MotabilityPricingStatus
    {
        Pending,
        Current,
        RecentlyExpired,
        Expired,
    }

}

namespace Mercedes.Agency.API.Shared.POCO.Motability
{
    public partial class MotabilityPricing
        : MotabilityPricingCsv
    {
        public virtual MotabilityPricingStatus MotabilityPricingStatus { get; set; }
    }

    public partial class MotabilityPricingCsv
    {
        [DataMember(Order=0)]
        public virtual int Id { get; set; }

        [DataMember(Order=1)]
        public virtual string CriteriaBM7NST { get; set; }

        [DataMember(Order=2)]
        public virtual string VTN { get; set; }

        [DataMember(Order=3)]
        public virtual string BackOrderDropDown { get; set; }

        [DataMember(Order=4)]
        public virtual string CriteriaFullModelYearCode { get; set; }

        [DataMember(Order=5)]
        public virtual string CriteriaValidOptionCodes { get; set; }

        [DataMember(Order=6)]
        public virtual string CriteriaInvalidOptionCodes { get; set; }

        [DataMember(Order=7)]
        public virtual decimal PIPNet { get; set; }

        [DataMember(Order=8)]
        public virtual decimal PIPVat { get; set; }

        [DataMember(Order=9)]
        public virtual decimal PIPGross { get; set; }

        [DataMember(Order=10)]
        public virtual decimal WPMSNet { get; set; }

        [DataMember(Order=11)]
        public virtual decimal WPMSVat { get; set; }

        [DataMember(Order=12)]
        public virtual decimal WPMSGross { get; set; }

        [DataMember(Order=13)]
        public virtual decimal DiscountNet { get; set; }

        [DataMember(Order=14)]
        public virtual decimal DiscountVat { get; set; }

        [DataMember(Order=15)]
        public virtual decimal DiscountGross { get; set; }

        [DataMember(Order=16)]
        public virtual decimal ListPriceNet { get; set; }

        [DataMember(Order=17)]
        public virtual decimal ListPriceVat { get; set; }

        [DataMember(Order=18)]
        public virtual decimal ListPriceGross { get; set; }

        [DataMember(Order=19)]
        public virtual decimal DeliveryChargeNet { get; set; }

        [DataMember(Order=20)]
        public virtual decimal DeliveryChargeVat { get; set; }

        [DataMember(Order=21)]
        public virtual decimal DeliveryChargeGross { get; set; }

        [DataMember(Order=22)]
        public virtual decimal FuelChargeNet { get; set; }

        [DataMember(Order=23)]
        public virtual decimal FuelChargeVat { get; set; }

        [DataMember(Order=24)]
        public virtual decimal FuelChargeGross { get; set; }

        [DataMember(Order=25)]
        public virtual decimal NumberPlateFeeNet { get; set; }

        [DataMember(Order=26)]
        public virtual decimal NumberPlateFeeVat { get; set; }

        [DataMember(Order=27)]
        public virtual decimal NumberPlateFeeGross { get; set; }

        [DataMember(Order=28)]
        public virtual decimal FirstRegistrationFeeNet { get; set; }

        [DataMember(Order=29)]
        public virtual decimal FirstRegistrationFeeVat { get; set; }

        [DataMember(Order=30)]
        public virtual decimal FirstRegistrationFeeGross { get; set; }

        [DataMember(Order=31)]
        public virtual decimal RoadFundLicenceNet { get; set; }

        [DataMember(Order=32)]
        public virtual decimal RoadFundLicenceVat { get; set; }

        [DataMember(Order=33)]
        public virtual decimal RoadFundLicenceGross { get; set; }

        [DataMember(Order=34)]
        public virtual DateTime ValidFrom { get; set; }

        [DataMember(Order=35)]
        public virtual DateTime ValidTo { get; set; }

        [DataMember(Order=36)]
        public virtual decimal GovernmentGrantNet { get; set; }

        [DataMember(Order=37)]
        public virtual decimal GovernmentGrantVat { get; set; }

        [DataMember(Order=38)]
        public virtual decimal GovernmentGrantGross { get; set; }
    }

}

namespace Mercedes.Agency.API.Shared.POCO.Motability.Responses
{
    public partial class GetEligibleMotabilityPricingForBackOrderResponse
    {
        public virtual MotabilityPricing CurrentlySelectedMotabilityPricing { get; set; }
        public virtual List<MotabilityPricing> AvailableMotabilityPricing { get; set; } = [];
    }

}

namespace Mercedes.Agency.Orchestration.API.ServiceModel.Motability.Requests
{
    public partial class GetEligibleMotabilityPricingForBackOrderRequest
    {
        public virtual Guid backOrderGuid { get; set; }
    }

}

C# GetEligibleMotabilityPricingForBackOrderRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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

{
	backOrderGuid: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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: 0001-01-01,
		ValidTo: 0001-01-01,
		GovernmentGrantNet: 0,
		GovernmentGrantVat: 0,
		GovernmentGrantGross: 0
	},
	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: 0001-01-01,
			ValidTo: 0001-01-01,
			GovernmentGrantNet: 0,
			GovernmentGrantVat: 0,
			GovernmentGrantGross: 0
		}
	]
}