Mercedes.Agency.Orchestration.API

<back to all web services

CreateBackOrderRequest

BackOrder
Requires Authentication
The following routes are available for this service:
POST/v1/backorderCreate Back Order (Online Showroom)
namespace Mercedes.Agency.API.Shared.Enums

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

    [<AllowNullLiteral>]
    type CreateBackOrderResponse() = 
        member val Guid:String = null with get,set
        member val Reference:String = null with get,set

    type Source =
        | OnlineShowroom = 1
        | OneAdmin = 2

    [<AllowNullLiteral>]
    type Address() = 
        member val Property:String = null with get,set
        member val Street:String = null with get,set
        member val Town:String = null with get,set
        member val County:String = null with get,set
        member val Locality:String = null with get,set
        member val Postcode:String = null with get,set

    type CustomerMode =
        | Private = 1
        | Business = 2
        | Motability = 3

    [<AllowNullLiteral>]
    type SalesforceCustomer() = 
        member val CustomerId:String = null with get,set
        member val IsCiam:Boolean = new Boolean() with get,set
        member val CompanyName:String = null with get,set
        member val Title:String = null with get,set
        member val Firstname:String = null with get,set
        member val Surname:String = null with get,set
        member val EmailAddress:String = null with get,set
        member val Telephone:String = null with get,set
        member val Address:Address = null with get,set
        member val Mode:CustomerMode = new CustomerMode() with get,set

    [<AllowNullLiteral>]
    type Preferences() = 
        member val OptinEmail:Boolean = new Boolean() with get,set
        member val OptinPost:Boolean = new Boolean() with get,set
        member val OptinSMS:Boolean = new Boolean() with get,set
        member val OptinTelephone:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type Customer() = 
        inherit SalesforceCustomer()
        member val ProfileId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Preferences:Preferences = null with get,set

    [<AllowNullLiteral>]
    type JsonVersion() = 
        member val Version:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CriteriaModel() = 
        member val Description:String = null with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CriteriaDifference() = 
        member val Model:Boolean = new Boolean() with get,set
        member val Transmission:Boolean = new Boolean() with get,set
        member val Fuel:Boolean = new Boolean() with get,set
        member val Upholstery:Boolean = new Boolean() with get,set
        member val Equipment:Boolean = new Boolean() with get,set
        member val Line:Boolean = new Boolean() with get,set
        member val BodyStyle:Boolean = new Boolean() with get,set
        member val ColourGroup:Boolean = new Boolean() with get,set
        member val Packages:Boolean = new Boolean() with get,set
        member val Engine:Boolean = new Boolean() with get,set
        member val AdditionalInformation:Boolean = new Boolean() with get,set
        member val UrlReferrer:Boolean = new Boolean() with get,set
        member val PreferredDeliveryDate:Boolean = new Boolean() with get,set
        member val IsSmart:Boolean = new Boolean() with get,set
        member val IsSpecialised:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CriteriaBase() = 
        inherit JsonVersion()
        member val Transmission:String[] = null with get,set
        member val Fuel:String[] = null with get,set
        member val Upholstery:String[] = null with get,set
        member val Equipment:String[] = null with get,set
        member val Line:String[] = null with get,set
        member val BodyStyle:String[] = null with get,set
        member val ColourGroup:String[] = null with get,set
        member val Packages:String[] = null with get,set
        member val Model:ResizeArray<CriteriaModel> = null with get,set
        member val UrlReferrer:String = null with get,set
        member val PreferredDeliveryDate:String = null with get,set
        [<ApiMember(ExcludeInSchema=true)>]
        member val IsNewModel:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val IsSmart:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val IsSpecialised:Boolean = new Boolean() with get,set

        [<ApiMember(ExcludeInSchema=true)>]
        member val CriteriaDifference:CriteriaDifference = null with get,set

    [<AllowNullLiteral>]
    type Criteria() = 
        inherit CriteriaBase()
        member val Engine:String[] = null with get,set

    [<AllowNullLiteral>]
    type V2EngineCriteria() = 
        member val Badge:String = null with get,set
        member val Brand:String = null with get,set

    [<AllowNullLiteral>]
    type V2Criteria() = 
        inherit CriteriaBase()
        member val Engine:ResizeArray<V2EngineCriteria> = null 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 CreateBackOrderBase() = 
        member val GssnId:String = null with get,set
        member val AdditionalInformation:String = null with get,set
        member val ConfigCode:String = null with get,set
        member val Source:Source = new Source() with get,set
        member val TagUrl:String = null with get,set
        member val Customer:Customer = null with get,set
        member val CustomerCriteria:Criteria = null with get,set
        member val AgentCriteria:V2Criteria = null with get,set
        member val OutrightPurchase:OutrightPurchase = null with get,set
        member val GasId:String = null with get,set
        member val Motability:Boolean = new Boolean() with get,set
        member val MotabilityPricingId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AssistanceProviderId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AssistanceDetail:String = null with get,set
        member val ConfiguratorCode:String = null with get,set

    [<AllowNullLiteral>]
    type CreateBackOrderRequest() = 
        inherit CreateBackOrderBase()
        interface IPost

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

{
	GssnId: String,
	AdditionalInformation: String,
	ConfigCode: String,
	Source: OnlineShowroom,
	TagUrl: String,
	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
	},
	CustomerCriteria: 
	{
		Engine: 
		[
			String
		],
		Transmission: 
		[
			String
		],
		Fuel: 
		[
			String
		],
		Upholstery: 
		[
			String
		],
		Equipment: 
		[
			String
		],
		Line: 
		[
			String
		],
		BodyStyle: 
		[
			String
		],
		ColourGroup: 
		[
			String
		],
		Packages: 
		[
			String
		],
		Model: 
		[
			{
				Description: String,
				Id: 0
			}
		],
		UrlReferrer: String,
		PreferredDeliveryDate: String,
		IsNewModel: False,
		IsSmart: False,
		IsSpecialised: False,
		CriteriaDifference: 
		{
			Model: False,
			Transmission: False,
			Fuel: False,
			Upholstery: False,
			Equipment: False,
			Line: False,
			BodyStyle: False,
			ColourGroup: False,
			Packages: False,
			Engine: False,
			AdditionalInformation: False,
			UrlReferrer: False,
			PreferredDeliveryDate: False,
			IsSmart: False,
			IsSpecialised: False
		},
		Version: 0
	},
	AgentCriteria: 
	{
		Engine: 
		[
			{
				Badge: String,
				Brand: String
			}
		],
		Transmission: 
		[
			String
		],
		Fuel: 
		[
			String
		],
		Upholstery: 
		[
			String
		],
		Equipment: 
		[
			String
		],
		Line: 
		[
			String
		],
		BodyStyle: 
		[
			String
		],
		ColourGroup: 
		[
			String
		],
		Packages: 
		[
			String
		],
		Model: 
		[
			{
				Description: String,
				Id: 0
			}
		],
		UrlReferrer: String,
		PreferredDeliveryDate: String,
		IsNewModel: False,
		IsSmart: False,
		IsSpecialised: False,
		CriteriaDifference: 
		{
			Model: False,
			Transmission: False,
			Fuel: False,
			Upholstery: False,
			Equipment: False,
			Line: False,
			BodyStyle: False,
			ColourGroup: False,
			Packages: False,
			Engine: False,
			AdditionalInformation: False,
			UrlReferrer: False,
			PreferredDeliveryDate: False,
			IsSmart: False,
			IsSpecialised: False
		},
		Version: 0
	},
	OutrightPurchase: 
	{
		IsOutrightPurchase: False,
		Reference: String,
		DiscountRate: 0,
		Bm7NST: String,
		IsBackOrder: False,
		IsCOPConverter: False
	},
	GasId: String,
	Motability: False,
	MotabilityPricingId: 0,
	AssistanceProviderId: 0,
	AssistanceDetail: String,
	ConfiguratorCode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Guid: String,
	Reference: String
}