Mercedes.Agency.Orchestration.API

<back to all web services

GetOrderCustomerRequest

Order
Requires Authentication
The following routes are available for this service:
GET/v1/order/customer/{CustomerId}Get Order by Customer
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 Order() = 
        member val Guid:Guid = new Guid() with get,set
        member val Reference:String = null with get,set
        member val Status:Int32 = new Int32() with get,set
        member val CustomerId:String = null with get,set
        member val MulesoftReference:String = null with get,set
        member val GasId:String = null with get,set
        member val OrderDate:String = null with get,set
        member val OfferSnapShot:String = null with get,set

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

    [<AllowNullLiteral>]
    type OnlineShowroomStatus() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val Slug:String = null with get,set
        member val Current:Boolean = new Boolean() with get,set
        member val Completed:Boolean = new Boolean() with get,set
        member val OrderStatuses:ResizeArray<OrderStatus> = null with get,set

    [<AllowNullLiteral>]
    type RetailerOpeningTime() = 
        member val Day:String = null with get,set
        member val OpenFrom:String = null with get,set
        member val OpenTo:String = null with get,set
        member val Special:String = null with get,set

    [<AllowNullLiteral>]
    type RetailerOpeningTimes() = 
        member val New:ResizeArray<RetailerOpeningTime> = null with get,set
        member val Used:ResizeArray<RetailerOpeningTime> = null with get,set

    [<AllowNullLiteral>]
    type Retailer() = 
        member val Id:Int32 = new Int32() with get,set
        member val GssnId:String = null with get,set
        member val Description:String = null with get,set
        member val Street:String = null with get,set
        member val City:String = null with get,set
        member val Postcode:String = null with get,set
        member val GoogleMapPostcode:String = null with get,set
        member val Phone:String = null with get,set
        member val Fax:String = null with get,set
        member val Email:String = null with get,set
        member val Website:String = null with get,set
        member val RetailerGroupId:String = null with get,set
        member val RetailerGroupName:String = null with get,set
        member val IsOnline:Boolean = new Boolean() with get,set
        member val IsNewCarRetailer:Boolean = new Boolean() with get,set
        member val IsUsedCarRetailer:Boolean = new Boolean() with get,set
        member val IsCentralRetailer:Boolean = new Boolean() with get,set
        member val ChatEnabled:Boolean = new Boolean() with get,set
        member val TradeInEnabled:Boolean = new Boolean() with get,set
        member val smart:Boolean = new Boolean() with get,set
        member val DisplayPhoneNumberNew:String = null with get,set
        member val DisplayPhoneNumberUsed:String = null with get,set
        member val Latitude:Decimal = new Decimal() with get,set
        member val Longitude:Decimal = new Decimal() with get,set
        member val smartDescription:String = null with get,set
        member val smartWebsite:String = null with get,set
        member val smartPhone:String = null with get,set
        member val LegacyId:String = null with get,set
        member val Agent:Boolean = new Boolean() with get,set
        member val MarketAreaId:Int32 = new Int32() with get,set
        member val DigitalLoungeParentGssnId:String = null with get,set
        member val SendLeadsToDigitalLoungeParent:Boolean = new Boolean() with get,set
        member val OpeningTimes:RetailerOpeningTimes = null with get,set

    [<AllowNullLiteral>]
    type OnlineShowroomVehicle() = 
        member val Vin:String = null with get,set
        member val VehicleClass:String = null with get,set
        member val TransmissionType:String = null with get,set
        member val FuelType:String = null with get,set
        member val ImageUrl:String = null with get,set
        member val Colour:String = null with get,set
        member val Description:String = null with get,set
        member val BodyStyle:String = null with get,set
        member val UpholsteryType:String = null with get,set
        member val Retailer:Retailer = null with get,set
        member val OTR:Decimal = new Decimal() with get,set
        member val ActualPrice:Decimal = new Decimal() with get,set
        member val TotalOfferValue:Decimal = new Decimal() with get,set
        member val NetPrice:Decimal = new Decimal() with get,set
        member val VehicleType:String = null with get,set
        member val OfferExpiryDate:String = null with get,set

    [<AllowNullLiteral>]
    type PaymentDetail() = 
        member val PaymentType:String = null with get,set
        member val PaymentLink:String = null with get,set

    [<AllowNullLiteral>]
    type OnlineShowroomOrder() = 
        member val Guid:Guid = new Guid() with get,set
        member val Reference:String = null with get,set
        member val Status:ResizeArray<OnlineShowroomStatus> = null with get,set
        member val Vehicle:OnlineShowroomVehicle = null with get,set
        member val ClosedDate:String = null with get,set
        member val CustomerId:String = null with get,set
        member val HandoverDate:String = null with get,set
        member val ClosedReason:String = null with get,set
        member val OrderDate:String = null with get,set
        member val PaymentLinks:ResizeArray<PaymentDetail> = null with get,set

    [<AllowNullLiteral>]
    type GetOrderCustomerResponse() = 
        member val Orders:ResizeArray<Order> = null with get,set
        member val Completed:ResizeArray<OnlineShowroomOrder> = null with get,set
        member val Cancelled:ResizeArray<OnlineShowroomOrder> = null with get,set
        member val InProgress:ResizeArray<OnlineShowroomOrder> = null with get,set
        member val Archived:ResizeArray<OnlineShowroomOrder> = null with get,set

    [<AllowNullLiteral>]
    type GetOrderCustomerRequest() = 
        interface IGet
        member val CustomerId:String = null with get,set

F# GetOrderCustomerRequest 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.

GET /v1/order/customer/{CustomerId} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Orders: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 0,
			CustomerId: String,
			MulesoftReference: String,
			GasId: String,
			OrderDate: String,
			OfferSnapShot: String
		}
	],
	Completed: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	Cancelled: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	InProgress: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	],
	Archived: 
	[
		{
			Guid: 00000000000000000000000000000000,
			Reference: String,
			Status: 
			[
				{
					Id: 0,
					Description: String,
					Slug: String,
					Current: False,
					Completed: False,
					OrderStatuses: 
					[
						{
							Id: 0,
							Description: String
						}
					]
				}
			],
			Vehicle: 
			{
				Vin: String,
				VehicleClass: String,
				TransmissionType: String,
				FuelType: String,
				ImageUrl: String,
				Colour: String,
				Description: String,
				BodyStyle: String,
				UpholsteryType: String,
				Retailer: 
				{
					Id: 0,
					GssnId: String,
					Description: String,
					Street: String,
					City: String,
					Postcode: String,
					GoogleMapPostcode: String,
					Phone: String,
					Fax: String,
					Email: String,
					Website: String,
					RetailerGroupId: String,
					RetailerGroupName: String,
					IsOnline: False,
					IsNewCarRetailer: False,
					IsUsedCarRetailer: False,
					IsCentralRetailer: False,
					ChatEnabled: False,
					TradeInEnabled: False,
					smart: False,
					DisplayPhoneNumberNew: String,
					DisplayPhoneNumberUsed: String,
					Latitude: 0,
					Longitude: 0,
					smartDescription: String,
					smartWebsite: String,
					smartPhone: String,
					LegacyId: String,
					Agent: False,
					MarketAreaId: 0,
					DigitalLoungeParentGssnId: String,
					SendLeadsToDigitalLoungeParent: False,
					OpeningTimes: 
					{
						New: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						],
						Used: 
						[
							{
								Day: String,
								OpenFrom: String,
								OpenTo: String,
								Special: String
							}
						]
					}
				},
				OTR: 0,
				ActualPrice: 0,
				TotalOfferValue: 0,
				NetPrice: 0,
				VehicleType: String,
				OfferExpiryDate: String
			},
			ClosedDate: String,
			CustomerId: String,
			HandoverDate: String,
			ClosedReason: String,
			OrderDate: String,
			PaymentLinks: 
			[
				{
					PaymentType: String,
					PaymentLink: String
				}
			]
		}
	]
}