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
namespace Mercedes.Agency.API.Shared.POCO

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type SalesforcePrice() = 
        member val Id:String = null with get,set
        member val Description:String = null with get,set
        member val Net:Decimal = new Decimal() with get,set
        member val VAT:Decimal = new Decimal() with get,set
        member val Gross:Decimal = new Decimal() with get,set
        member val Product:String = null with get,set

    [<AllowNullLiteral>]
    type SalesforceTotalPrice() = 
        member val Net:Decimal = new Decimal() with get,set
        member val VAT:Decimal = new Decimal() with get,set
        member val Gross:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type SalesforceOffer() = 
        member val Id:String = null with get,set
        member val Description:String = null with get,set
        member val Net:Decimal = new Decimal() with get,set
        member val VAT:Decimal = new Decimal() with get,set
        member val Gross:Decimal = new Decimal() with get,set
        member val Expiry:String = null with get,set
        member val Product:String = null with get,set
        member val RequiresCertification:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type SalesforceOffers() = 
        member val Personalised:ResizeArray<SalesforceOffer> = null with get,set
        member val NonDiscretionary:ResizeArray<SalesforceOffer> = null with get,set
        member val NonCampaign:ResizeArray<SalesforceOffer> = null with get,set
        member val OutrightPurchaseDiscount:ResizeArray<SalesforceOffer> = null with get,set
        member val MotabilityDiscount:ResizeArray<SalesforceOffer> = null with get,set
        member val IntegratedProducts:ResizeArray<SalesforceOffer> = null with get,set

    [<AllowNullLiteral>]
    type SalesforceOutrightPurchase() = 
        member val IsOutrightPurchase:Boolean = new Boolean() with get,set
        member val Reference:String = null with get,set
        member val DiscountPercentage:Decimal = new Decimal() with get,set
        member val ModelId:String = null with get,set

    [<AllowNullLiteral>]
    type MotabilityAdvancePayment() = 
        member val AdvancePaymentRentalType:String = null with get,set
        member val AdvancePaymentValueGross:Decimal = new Decimal() with get,set
        member val AdvancePaymentValueVAT:Decimal = new Decimal() with get,set
        member val AdvancePaymentValueNet:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type VehicleInflightPrice() = 
        member val Guid:String = null with get,set
        member val Status:String = null with get,set
        member val Success:Boolean = new Boolean() with get,set
        member val Prices:ResizeArray<SalesforcePrice> = null with get,set
        member val TotalOTRFees:SalesforceTotalPrice = null with get,set
        member val TotalOTRPrice:SalesforceTotalPrice = null with get,set
        member val TotalActualPrice:SalesforceTotalPrice = null with get,set
        member val Offers:SalesforceOffers = null with get,set
        member val OutrightPurchase:SalesforceOutrightPurchase = null with get,set
        member val Motability:MotabilityAdvancePayment = null with get,set

    [<AllowNullLiteral>]
    type InflightPricingResponse() = 
        member val VehiclesInflightPrices:ResizeArray<VehicleInflightPrice> = null with get,set

    [<AllowNullLiteral>]
    type OrderOffer() = 
        member val Id:Int32 = new Int32() with get,set
        member val OfferTypeId:Int32 = new Int32() with get,set
        member val OfferTypeDescription:String = null with get,set
        member val OfferId:String = null with get,set
        member val OfferDescription:String = null with get,set
        member val Net:Decimal = new Decimal() with get,set
        member val VAT:Decimal = new Decimal() with get,set
        member val Gross:Decimal = new Decimal() with get,set
        member val GovernmentGrant:Boolean = new Boolean() with get,set
        member val PromoCode:String = null with get,set
        member val Expiry:String = null with get,set
        member val AffectsPrice:Boolean = new Boolean() with get,set
        member val Product:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ParentId:String = null with get,set
        member val CreationDate:DateTime = new DateTime() with get,set
        member val ProductTypeDescription:String = null with get,set
        member val ProductTypeNegativeDescription:String = null with get,set
        member val CertificateRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type OutrightPurchase() = 
        member val IsOutrightPurchase:Boolean = new Boolean() with get,set
        member val Reference:String = null with get,set
        member val DiscountRate:Decimal = new Decimal() with get,set
        member val Bm7NST:String = null with get,set
        member val IsBackOrder:Boolean = new Boolean() with get,set
        member val IsCOPConverter:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type InflightPricingOrder() = 
        member val Guid:Guid = new Guid() with get,set
        member val Vin:String = null with get,set
        member val AdvanceRentalPaymentType:Int32 = new Int32() with get,set
        member val Offer:ResizeArray<OrderOffer> = null with get,set
        member val OutrightPurchase:OutrightPurchase = null with get,set
        member val MotabilityAdvancePayment:MotabilityAdvancePayment = null with get,set

    [<AllowNullLiteral>]
    type InflightPricingOrderRequest() = 
        member val InvalidFormatGuids:ResizeArray<String> = null with get,set
        member val OrderNotFoundGuids:ResizeArray<Guid> = null with get,set
        member val InflightPricingOrders:ResizeArray<InflightPricingOrder> = null with get,set
        member val IsMotability:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type MotabilityInflightPricingOrderRequest() = 
        inherit InflightPricingOrderRequest()
        member val OrderVehicleWithNoMotabilityDiscount:ResizeArray<Guid> = null with get,set

    [<ApiResponse(Description="In Flight pricing generated", StatusCode=200)>]
    [<AllowNullLiteral>]
    type MotabilityInflightPricingRequest() = 
        inherit MotabilityInflightPricingOrderRequest()
        interface IPost

F# MotabilityInflightPricingRequest 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/motabilityinflightpricing HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
Content-Type: text/jsonl
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":"\/Date(-62135596800000-0000)\/","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/jsonl
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}}]}