Mercedes.Agency.Orchestration.API

<back to all web services

FiltersRequest

Filters
Requires Authentication
The following routes are available for this service:
GET/v1/filters/{vehicletype}Get filters by vehicle type
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 Fuel() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set

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

    [<AllowNullLiteral>]
    type Engine() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val BrandId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Brand:String = null with get,set
        member val Badge:String = null with get,set

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

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

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

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

    [<AllowNullLiteral>]
    type Model() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val DisplayName:String = null with get,set
        member val ImageUrlSmall:String = null with get,set
        member val ImageUrlMedium:String = null with get,set
        member val ImageUrlLarge:String = null with get,set
        member val Specialist:Boolean = new Boolean() with get,set
        member val Priority:Int32 = new Int32() with get,set
        member val ExcludeFromOnlineShowroomFilters:Nullable<Boolean> = new Nullable<Boolean>() with get,set

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

    [<AllowNullLiteral>]
    type Brand() = 
        member val Id:Int32 = new Int32() with get,set
        member val Description:String = null with get,set
        member val DisplayName:String = null with get,set
        member val BodyStyles:ResizeArray<BodyStyle> = 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 AccountRetailer() = 
        member val Name:String = null with get,set
        member val Gssn:String = null with get,set
        member val IsSmart:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type RetailerGroup() = 
        member val Id:Int32 = new Int32() with get,set
        member val RetailerGroupId:String = null with get,set
        member val Description:String = null with get,set
        member val RetailerGroupName:String = null with get,set
        member val GssnIds:ResizeArray<String> = null with get,set

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

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

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

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

    [<AllowNullLiteral>]
    type Filters() = 
        member val Brands:ResizeArray<Brand> = null with get,set
        member val Fuels:ResizeArray<Fuel> = null with get,set
        member val Lines:ResizeArray<Line> = null with get,set
        member val Engines:ResizeArray<Engine> = null with get,set
        member val BodyStyles:ResizeArray<BodyStyle> = null with get,set
        member val Models:ResizeArray<Model> = null with get,set
        member val Transmissions:ResizeArray<Transmission> = null with get,set
        member val ModelHierarchy:ResizeArray<Brand> = null with get,set
        member val Retailers:ResizeArray<Retailer> = null with get,set
        member val AllLines:ResizeArray<Line> = null with get,set
        member val Colours:ResizeArray<Colour> = null with get,set
        member val Upholsteries:ResizeArray<Upholstery> = null with get,set
        member val Packages:ResizeArray<Package> = null with get,set
        member val DeliveryTime:ResizeArray<DeliveryTime> = null with get,set
        member val RetailerGroups:ResizeArray<RetailerGroup> = null with get,set
        member val MarketAreas:ResizeArray<MarketArea> = null with get,set
        member val NonOptimalReasons:ResizeArray<NonOptimalReason> = null with get,set

    [<AllowNullLiteral>]
    type FiltersResponse() = 
        member val Filters:Filters = null with get,set

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

    [<AllowNullLiteral>]
    type Filters() = 
        inherit Filters()
        member val Fuels:ResizeArray<Fuel> = null with get,set
        member val Lines:ResizeArray<Line> = null with get,set
        member val Engines:ResizeArray<Engine> = null with get,set
        member val Transmissions:ResizeArray<Transmission> = null with get,set
        member val Colours:ResizeArray<Colour> = null with get,set
        member val Upholsteries:ResizeArray<Upholstery> = null with get,set
        member val Packages:ResizeArray<Package> = null with get,set
        member val Brands:ResizeArray<Brand> = null with get,set
        member val Equipment:ResizeArray<String> = null with get,set
        member val Retailers:ResizeArray<Retailer> = null with get,set
        [<DataMember(Name="Retailers")>]
        member val AccountRetailers:ResizeArray<AccountRetailer> = null with get,set

        member val RetailerGroups:ResizeArray<RetailerGroup> = null with get,set
        member val MarketAreas:ResizeArray<MarketArea> = null with get,set
        member val CustomerLocations:ResizeArray<LookupValue> = null with get,set
        member val AssistanceProviders:ResizeArray<LookupValue> = null with get,set
        member val NonOptimalReasons:ResizeArray<NonOptimalReason> = null with get,set

F# FiltersRequest 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/filters/{vehicletype} 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

{
	Filters: 
	{
		Fuels: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Lines: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Engines: 
		[
			{
				Id: 0,
				Description: String,
				BrandId: 0,
				Brand: String,
				Badge: String
			}
		],
		Transmissions: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Colours: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Upholsteries: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Packages: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		Brands: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				BodyStyles: 
				[
					{
						Id: 0,
						Description: String,
						Models: 
						[
							{
								Id: 0,
								Description: String,
								DisplayName: String,
								ImageUrlSmall: String,
								ImageUrlMedium: String,
								ImageUrlLarge: String,
								Specialist: False,
								Priority: 0,
								ExcludeFromOnlineShowroomFilters: False
							}
						]
					}
				]
			}
		],
		Equipment: 
		[
			String
		],
		Retailers: 
		[
			{
				Gssn: String,
				Description: String,
				CampaignExcluded: False
			}
		],
		Retailers: 
		[
			{
				Name: String,
				Gssn: String,
				IsSmart: False
			}
		],
		RetailerGroups: 
		[
			{
				Id: 0,
				RetailerGroupId: String,
				Description: String,
				RetailerGroupName: String,
				GssnIds: 
				[
					String
				]
			}
		],
		MarketAreas: 
		[
			{
				Id: 0,
				MarketAreaName: String,
				Description: String,
				GssnIds: 
				[
					String
				]
			}
		],
		CustomerLocations: 
		[
			{
				
			}
		],
		AssistanceProviders: 
		[
			{
				
			}
		],
		NonOptimalReasons: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		BodyStyles: 
		[
			{
				Id: 0,
				Description: String,
				Models: 
				[
					{
						Id: 0,
						Description: String,
						DisplayName: String,
						ImageUrlSmall: String,
						ImageUrlMedium: String,
						ImageUrlLarge: String,
						Specialist: False,
						Priority: 0,
						ExcludeFromOnlineShowroomFilters: False
					}
				]
			}
		],
		Models: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				ImageUrlSmall: String,
				ImageUrlMedium: String,
				ImageUrlLarge: String,
				Specialist: False,
				Priority: 0,
				ExcludeFromOnlineShowroomFilters: False
			}
		],
		ModelHierarchy: 
		[
			{
				Id: 0,
				Description: String,
				DisplayName: String,
				BodyStyles: 
				[
					{
						Id: 0,
						Description: String,
						Models: 
						[
							{
								Id: 0,
								Description: String,
								DisplayName: String,
								ImageUrlSmall: String,
								ImageUrlMedium: String,
								ImageUrlLarge: String,
								Specialist: False,
								Priority: 0,
								ExcludeFromOnlineShowroomFilters: False
							}
						]
					}
				]
			}
		],
		AllLines: 
		[
			{
				Id: 0,
				Description: String
			}
		],
		DeliveryTime: 
		[
			{
				Id: 0,
				Description: String
			}
		]
	}
}