Mercedes.Agency.Orchestration.API

<back to all web services

GetPricingDetailsRequest

Pricing
The following routes are available for this service:
POST/v1/pricingdetailsCreates a detailed pricing of a vehicle
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.Pricing;
using Mercedes.Agency.Orchestration.API.Business.Poco;
using Mercedes.Agency.API.Shared.Enums;
using Mercedes.Agency.API.Shared.POCO;
using Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses;

namespace Mercedes.Agency.API.Shared.POCO
{
    public partial class Address
    {
        public virtual string Property { get; set; }
        public virtual string Street { get; set; }
        public virtual string Town { get; set; }
        public virtual string County { get; set; }
        public virtual string Locality { get; set; }
        public virtual string Postcode { get; set; }
    }

    public partial class AdvanceRentals
    {
        public virtual List<Option> Options { get; set; } = [];
    }

    public partial class Customer
        : SalesforceCustomer
    {
        public virtual Guid? ProfileId { get; set; }
        public virtual Preferences Preferences { get; set; }
    }

    public partial class Deposit
    {
        public virtual string Default { get; set; }
    }

    public partial class FinanceCriteria
    {
        public virtual string Key { get; set; }
        public virtual string Name { get; set; }
        public virtual string Type { get; set; }
        public virtual bool IsDefault { get; set; }
        public virtual Term Term { get; set; }
        public virtual Deposit Deposit { get; set; }
        public virtual Mileage Mileage { get; set; }
        public virtual AdvanceRentals AdvanceRentals { get; set; }
        public virtual bool IsPersonalised { get; set; }
        public virtual string RegularPayment { get; set; }
        public virtual string PartExchange { get; set; }
        public virtual string Settlement { get; set; }
        public virtual string CustomerType { get; set; }
        public virtual VehicleType VehicleType { get; set; }
    }

    public partial class Mileage
    {
        public virtual List<Option> Options { get; set; } = [];
    }

    public partial class Option
    {
        public virtual bool IsDefault { get; set; }
        public virtual int Value { get; set; }
    }

    public partial class OutrightPurchase
    {
        public virtual bool IsOutrightPurchase { get; set; }
        public virtual string Reference { get; set; }
        public virtual decimal DiscountRate { get; set; }
        public virtual string Bm7NST { get; set; }
        public virtual bool IsBackOrder { get; set; }
        public virtual bool IsCOPConverter { get; set; }
    }

    public partial class Preferences
    {
        public virtual bool OptinEmail { get; set; }
        public virtual bool OptinPost { get; set; }
        public virtual bool OptinSMS { get; set; }
        public virtual bool OptinTelephone { get; set; }
    }

    public partial class Price
    {
        public virtual string Id { get; set; }
        public virtual string Description { get; set; }
        public virtual decimal Net { get; set; }
        public virtual decimal VAT { get; set; }
        public virtual decimal Gross { get; set; }
        public virtual OfferPriceProductType Product { get; set; }
    }

    public partial class SalesforceCustomer
        : ICustomer
    {
        public virtual string CustomerId { get; set; }
        public virtual bool IsCiam { get; set; }
        public virtual string CompanyName { get; set; }
        public virtual string Title { get; set; }
        public virtual string Firstname { get; set; }
        public virtual string Surname { get; set; }
        public virtual string EmailAddress { get; set; }
        public virtual string Telephone { get; set; }
        public virtual Address Address { get; set; }
        public virtual CustomerMode Mode { get; set; }
    }

    public partial class Term
    {
        public virtual List<Option> Options { get; set; } = [];
    }

    public partial class Vehicle
    {
        public virtual string Vin { get; set; }
    }

}

namespace Mercedes.Agency.Orchestration.API.Business.Poco
{
    public partial class CreateOrderBase
    {
        public virtual Source Source { get; set; }
        public virtual string GssnId { get; set; }
        public virtual string AdditionalInformation { get; set; }
        public virtual bool Cash { get; set; }
        public virtual bool Finance { get; set; }
        public virtual Customer Customer { get; set; }
        public virtual Vehicle Vehicle { get; set; }
        public virtual FinanceCriteria FinanceCriteria { get; set; }
        public virtual Guid? BackOrderGuid { get; set; }
        public virtual string TagUrl { get; set; }
        public virtual OutrightPurchase OutrightPurchase { get; set; }
        public virtual bool Motability { get; set; }
        public virtual int? MotabilityPricingId { get; set; }
        public virtual string FinanceApplicationReference { get; set; }
        public virtual bool Specialist { get; set; }
        public virtual string GasId { get; set; }
        public virtual int[] PersonalisedItemOfferIds { get; set; }
        public virtual string SuggestedVin { get; set; }
        public virtual string NonOptimumReason { get; set; }
        public virtual MotabilityType MotabilityType { get; set; }
        public virtual string EstimatedHandoverDate { get; set; }
    }

}

namespace Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses
{
    public partial class GetPricingDetailsResponse
    {
        public virtual Price Price { get; set; }
    }

}

namespace Mercedes.Agency.Orchestration.API.ServiceModel.Pricing
{
    public partial class GetPricingDetailsRequest
        : CreateOrderBase, IPost
    {
    }

}

C# GetPricingDetailsRequest 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/pricingdetails HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Source":"OnlineShowroom","GssnId":"String","AdditionalInformation":"String","Cash":false,"Finance":false,"Customer":{"ProfileId":"00000000000000000000000000000000","Preferences":{"OptinEmail":false,"OptinPost":false,"OptinSMS":false,"OptinTelephone":false},"CustomerId":"String","IsCiam":false,"CompanyName":"String","Title":"String","Firstname":"String","Surname":"String","EmailAddress":"String","Telephone":"String","Address":{"Property":"String","Street":"String","Town":"String","County":"String","Locality":"String","Postcode":"String"},"Mode":"Private"},"Vehicle":{"Vin":"String"},"FinanceCriteria":{"Key":"String","Name":"String","Type":"String","IsDefault":false,"Term":{"Options":[{"IsDefault":false,"Value":0}]},"Deposit":{"Default":"String"},"Mileage":{"Options":[{"IsDefault":false,"Value":0}]},"AdvanceRentals":{"Options":[{"IsDefault":false,"Value":0}]},"IsPersonalised":false,"RegularPayment":"String","PartExchange":"String","Settlement":"String","CustomerType":"String","VehicleType":"UNASSIGNED"},"BackOrderGuid":"00000000000000000000000000000000","TagUrl":"String","OutrightPurchase":{"IsOutrightPurchase":false,"Reference":"String","DiscountRate":0,"Bm7NST":"String","IsBackOrder":false,"IsCOPConverter":false},"Motability":false,"MotabilityPricingId":0,"FinanceApplicationReference":"String","Specialist":false,"GasId":"String","PersonalisedItemOfferIds":[0],"SuggestedVin":"String","NonOptimumReason":"String","MotabilityType":"PIP","EstimatedHandoverDate":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Price":{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"LIST_PRICE"}}