Mercedes.Agency.Orchestration.API

<back to all web services

MotabilityInflightPricingRequest

InFlightPricing
Requires Authentication
The following routes are available for this service:
POST/v1/motabilityinflightpricingMotability Pricing Inflight Pricing for supplied Order GuidsThis endpoint is used for fetch motability orders only for inflight pricing. The original request is being made on Agency API and a list of orders from database is passed to agency orch. This is to fetch addditional information such as the vehicles details e.g Prices and Offers data
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


@ApiResponse(Description="In Flight pricing generated", StatusCode=200)
open class MotabilityInflightPricingRequest : MotabilityInflightPricingOrderRequest(), IPost
{
}

open class MotabilityInflightPricingOrderRequest : InflightPricingOrderRequest()
{
    open var OrderVehicleWithNoMotabilityDiscount:ArrayList<UUID> = ArrayList<UUID>()
}

open class InflightPricingOrderRequest
{
    open var InvalidFormatGuids:ArrayList<String> = ArrayList<String>()
    open var OrderNotFoundGuids:ArrayList<UUID> = ArrayList<UUID>()
    open var InflightPricingOrders:ArrayList<InflightPricingOrder> = ArrayList<InflightPricingOrder>()
    open var IsMotability:Boolean? = null
}

open class InflightPricingOrder
{
    open var Guid:UUID? = null
    open var Vin:String? = null
    open var AdvanceRentalPaymentType:Int? = null
    open var Offer:ArrayList<OrderOffer> = ArrayList<OrderOffer>()
    open var OutrightPurchase:OutrightPurchase? = null
    open var MotabilityAdvancePayment:MotabilityAdvancePayment? = null
}

open class OrderOffer
{
    open var Id:Int? = null
    open var OfferTypeId:Int? = null
    open var OfferTypeDescription:String? = null
    open var OfferId:String? = null
    open var OfferDescription:String? = null
    open var Net:BigDecimal? = null
    open var VAT:BigDecimal? = null
    open var Gross:BigDecimal? = null
    open var GovernmentGrant:Boolean? = null
    open var PromoCode:String? = null
    open var Expiry:String? = null
    open var AffectsPrice:Boolean? = null
    open var Product:Int? = null
    open var ParentId:String? = null
    open var CreationDate:Date? = null
    open var ProductTypeDescription:String? = null
    open var ProductTypeNegativeDescription:String? = null
    open var CertificateRequired:Boolean? = null
}

open class OutrightPurchase
{
    open var IsOutrightPurchase:Boolean? = null
    open var Reference:String? = null
    open var DiscountRate:BigDecimal? = null
    open var Bm7NST:String? = null
    open var IsBackOrder:Boolean? = null
    open var IsCOPConverter:Boolean? = null
}

open class MotabilityAdvancePayment
{
    open var AdvancePaymentRentalType:String? = null
    open var AdvancePaymentValueGross:BigDecimal? = null
    open var AdvancePaymentValueVAT:BigDecimal? = null
    open var AdvancePaymentValueNet:BigDecimal? = null
}

open class InflightPricingResponse
{
    open var VehiclesInflightPrices:ArrayList<VehicleInflightPrice> = ArrayList<VehicleInflightPrice>()
}

open class VehicleInflightPrice
{
    open var Guid:String? = null
    open var Status:String? = null
    open var Success:Boolean? = null
    open var Prices:ArrayList<SalesforcePrice> = ArrayList<SalesforcePrice>()
    open var TotalOTRFees:SalesforceTotalPrice? = null
    open var TotalOTRPrice:SalesforceTotalPrice? = null
    open var TotalActualPrice:SalesforceTotalPrice? = null
    open var Offers:SalesforceOffers? = null
    open var OutrightPurchase:SalesforceOutrightPurchase? = null
    open var Motability:MotabilityAdvancePayment? = null
}

open class SalesforcePrice
{
    open var Id:String? = null
    open var Description:String? = null
    open var Net:BigDecimal? = null
    open var VAT:BigDecimal? = null
    open var Gross:BigDecimal? = null
    open var Product:String? = null
}

open class SalesforceTotalPrice
{
    open var Net:BigDecimal? = null
    open var VAT:BigDecimal? = null
    open var Gross:BigDecimal? = null
}

open class SalesforceOffers
{
    open var Personalised:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
    open var NonDiscretionary:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
    open var NonCampaign:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
    open var OutrightPurchaseDiscount:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
    open var MotabilityDiscount:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
    open var IntegratedProducts:ArrayList<SalesforceOffer> = ArrayList<SalesforceOffer>()
}

open class SalesforceOffer
{
    open var Id:String? = null
    open var Description:String? = null
    open var Net:BigDecimal? = null
    open var VAT:BigDecimal? = null
    open var Gross:BigDecimal? = null
    open var Expiry:String? = null
    open var Product:String? = null
    open var RequiresCertification:Boolean? = null
}

open class SalesforceOutrightPurchase
{
    open var IsOutrightPurchase:Boolean? = null
    open var Reference:String? = null
    open var DiscountPercentage:BigDecimal? = null
    open var ModelId:String? = null
}

Kotlin MotabilityInflightPricingRequest 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/motabilityinflightpricing HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	OrderVehicleWithNoMotabilityDiscount: 
	[
		00000000000000000000000000000000
	],
	InvalidFormatGuids: 
	[
		String
	],
	OrderNotFoundGuids: 
	[
		00000000000000000000000000000000
	],
	InflightPricingOrders: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Vin: String,
			AdvanceRentalPaymentType: 0,
			Offer: 
			[
				{
					Id: 0,
					OfferTypeId: 0,
					OfferTypeDescription: String,
					OfferId: String,
					OfferDescription: String,
					Net: 0,
					VAT: 0,
					Gross: 0,
					GovernmentGrant: False,
					PromoCode: String,
					Expiry: String,
					AffectsPrice: False,
					Product: 0,
					ParentId: String,
					CreationDate: 0001-01-01,
					ProductTypeDescription: String,
					ProductTypeNegativeDescription: String,
					CertificateRequired: False
				}
			],
			OutrightPurchase: 
			{
				IsOutrightPurchase: False,
				Reference: String,
				DiscountRate: 0,
				Bm7NST: String,
				IsBackOrder: False,
				IsCOPConverter: False
			},
			MotabilityAdvancePayment: 
			{
				AdvancePaymentRentalType: String,
				AdvancePaymentValueGross: 0,
				AdvancePaymentValueVAT: 0,
				AdvancePaymentValueNet: 0
			}
		}
	],
	IsMotability: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	VehiclesInflightPrices: 
	[
		{
			Guid: String,
			Status: String,
			Success: False,
			Prices: 
			[
				{
					Id: String,
					Description: String,
					Net: 0,
					VAT: 0,
					Gross: 0,
					Product: String
				}
			],
			TotalOTRFees: 
			{
				Net: 0,
				VAT: 0,
				Gross: 0
			},
			TotalOTRPrice: 
			{
				Net: 0,
				VAT: 0,
				Gross: 0
			},
			TotalActualPrice: 
			{
				Net: 0,
				VAT: 0,
				Gross: 0
			},
			Offers: 
			{
				Personalised: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				],
				NonDiscretionary: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				],
				NonCampaign: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				],
				OutrightPurchaseDiscount: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				],
				MotabilityDiscount: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				],
				IntegratedProducts: 
				[
					{
						Id: String,
						Description: String,
						Net: 0,
						VAT: 0,
						Gross: 0,
						Expiry: String,
						Product: String,
						RequiresCertification: False
					}
				]
			},
			OutrightPurchase: 
			{
				IsOutrightPurchase: False,
				Reference: String,
				DiscountPercentage: 0,
				ModelId: String
			},
			Motability: 
			{
				AdvancePaymentRentalType: String,
				AdvancePaymentValueGross: 0,
				AdvancePaymentValueVAT: 0,
				AdvancePaymentValueNet: 0
			}
		}
	]
}