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

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