POST | /v1/pricingdetails | Creates 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<GetPricingDetailsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.ServiceModel.Pricing">
<AdditionalInformation xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</AdditionalInformation>
<BackOrderGuid xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">00000000-0000-0000-0000-000000000000</BackOrderGuid>
<Cash xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Cash>
<Customer xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Address>
<d2p1:County>String</d2p1:County>
<d2p1:Locality>String</d2p1:Locality>
<d2p1:Postcode>String</d2p1:Postcode>
<d2p1:Property>String</d2p1:Property>
<d2p1:Street>String</d2p1:Street>
<d2p1:Town>String</d2p1:Town>
</d2p1:Address>
<d2p1:CompanyName>String</d2p1:CompanyName>
<d2p1:CustomerId>String</d2p1:CustomerId>
<d2p1:EmailAddress>String</d2p1:EmailAddress>
<d2p1:Firstname>String</d2p1:Firstname>
<d2p1:IsCiam>false</d2p1:IsCiam>
<d2p1:Mode>Private</d2p1:Mode>
<d2p1:Surname>String</d2p1:Surname>
<d2p1:Telephone>String</d2p1:Telephone>
<d2p1:Title>String</d2p1:Title>
<d2p1:Preferences>
<d2p1:OptinEmail>false</d2p1:OptinEmail>
<d2p1:OptinPost>false</d2p1:OptinPost>
<d2p1:OptinSMS>false</d2p1:OptinSMS>
<d2p1:OptinTelephone>false</d2p1:OptinTelephone>
</d2p1:Preferences>
<d2p1:ProfileId>00000000-0000-0000-0000-000000000000</d2p1:ProfileId>
</Customer>
<EstimatedHandoverDate xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</EstimatedHandoverDate>
<Finance xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Finance>
<FinanceApplicationReference xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</FinanceApplicationReference>
<FinanceCriteria xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:AdvanceRentals>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:AdvanceRentals>
<d2p1:CustomerType>String</d2p1:CustomerType>
<d2p1:Deposit>
<d2p1:Default>String</d2p1:Default>
</d2p1:Deposit>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:IsPersonalised>false</d2p1:IsPersonalised>
<d2p1:Key>String</d2p1:Key>
<d2p1:Mileage>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:Mileage>
<d2p1:Name>String</d2p1:Name>
<d2p1:PartExchange>String</d2p1:PartExchange>
<d2p1:RegularPayment>String</d2p1:RegularPayment>
<d2p1:Settlement>String</d2p1:Settlement>
<d2p1:Term>
<d2p1:Options>
<d2p1:Option>
<d2p1:IsDefault>false</d2p1:IsDefault>
<d2p1:Value>0</d2p1:Value>
</d2p1:Option>
</d2p1:Options>
</d2p1:Term>
<d2p1:Type>String</d2p1:Type>
<d2p1:VehicleType>UNASSIGNED</d2p1:VehicleType>
</FinanceCriteria>
<GasId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</GasId>
<GssnId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</GssnId>
<Motability xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Motability>
<MotabilityPricingId xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">0</MotabilityPricingId>
<MotabilityType xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">PIP</MotabilityType>
<NonOptimumReason xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</NonOptimumReason>
<OutrightPurchase xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Bm7NST>String</d2p1:Bm7NST>
<d2p1:DiscountRate>0</d2p1:DiscountRate>
<d2p1:IsBackOrder>false</d2p1:IsBackOrder>
<d2p1:IsCOPConverter>false</d2p1:IsCOPConverter>
<d2p1:IsOutrightPurchase>false</d2p1:IsOutrightPurchase>
<d2p1:Reference>String</d2p1:Reference>
</OutrightPurchase>
<PersonalisedItemOfferIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:int>0</d2p1:int>
</PersonalisedItemOfferIds>
<Source xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">OnlineShowroom</Source>
<Specialist xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">false</Specialist>
<SuggestedVin xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</SuggestedVin>
<TagUrl xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">String</TagUrl>
<Vehicle xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Business.Poco">
<d2p1:Vin>String</d2p1:Vin>
</Vehicle>
</GetPricingDetailsRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetPricingDetailsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses"> <Price xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO"> <d2p1:Description>String</d2p1:Description> <d2p1:Gross>0</d2p1:Gross> <d2p1:Id>String</d2p1:Id> <d2p1:Net>0</d2p1:Net> <d2p1:Product>LIST_PRICE</d2p1:Product> <d2p1:VAT>0</d2p1:VAT> </Price> </GetPricingDetailsResponse>