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
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


open class FiltersRequest : IGet
{
    open var vehicleType:String? = null
}

open class FiltersResponse
{
    open var Filters:Filters? = null
}

open class Filters : Filters()
{
    override var Fuels:ArrayList<Fuel> = ArrayList<Fuel>()
    override var Lines:ArrayList<Line> = ArrayList<Line>()
    override var Engines:ArrayList<Engine> = ArrayList<Engine>()
    override var Transmissions:ArrayList<Transmission> = ArrayList<Transmission>()
    override var Colours:ArrayList<Colour> = ArrayList<Colour>()
    override var Upholsteries:ArrayList<Upholstery> = ArrayList<Upholstery>()
    override var Packages:ArrayList<Package> = ArrayList<Package>()
    override var Brands:ArrayList<Brand> = ArrayList<Brand>()
    open var Equipment:ArrayList<String> = ArrayList<String>()
    override var Retailers:ArrayList<Retailer> = ArrayList<Retailer>()
    @DataMember(Name="Retailers")
    @SerializedName("Retailers")
    open var AccountRetailers:ArrayList<AccountRetailer> = ArrayList<AccountRetailer>()

    override var RetailerGroups:ArrayList<RetailerGroup> = ArrayList<RetailerGroup>()
    override var MarketAreas:ArrayList<MarketArea> = ArrayList<MarketArea>()
    open var CustomerLocations:ArrayList<LookupValue> = ArrayList<LookupValue>()
    open var AssistanceProviders:ArrayList<LookupValue> = ArrayList<LookupValue>()
    override var NonOptimalReasons:ArrayList<NonOptimalReason> = ArrayList<NonOptimalReason>()
}

open class Filters
{
    open var Brands:ArrayList<Brand> = ArrayList<Brand>()
    open var Fuels:ArrayList<Fuel> = ArrayList<Fuel>()
    open var Lines:ArrayList<Line> = ArrayList<Line>()
    open var Engines:ArrayList<Engine> = ArrayList<Engine>()
    open var BodyStyles:ArrayList<BodyStyle> = ArrayList<BodyStyle>()
    open var Models:ArrayList<Model> = ArrayList<Model>()
    open var Transmissions:ArrayList<Transmission> = ArrayList<Transmission>()
    open var ModelHierarchy:ArrayList<Brand> = ArrayList<Brand>()
    open var Retailers:ArrayList<Retailer> = ArrayList<Retailer>()
    open var AllLines:ArrayList<Line> = ArrayList<Line>()
    open var Colours:ArrayList<Colour> = ArrayList<Colour>()
    open var Upholsteries:ArrayList<Upholstery> = ArrayList<Upholstery>()
    open var Packages:ArrayList<Package> = ArrayList<Package>()
    open var DeliveryTime:ArrayList<DeliveryTime>? = null
    open var RetailerGroups:ArrayList<RetailerGroup> = ArrayList<RetailerGroup>()
    open var MarketAreas:ArrayList<MarketArea> = ArrayList<MarketArea>()
    open var NonOptimalReasons:ArrayList<NonOptimalReason> = ArrayList<NonOptimalReason>()
}

open class Brand
{
    open var Id:Int? = null
    open var Description:String? = null
    open var DisplayName:String? = null
    open var BodyStyles:ArrayList<BodyStyle>? = null
}

open class BodyStyle
{
    open var Id:Int? = null
    open var Description:String? = null
    open var Models:ArrayList<Model>? = null
}

open class Model
{
    open var Id:Int? = null
    open var Description:String? = null
    open var DisplayName:String? = null
    open var ImageUrlSmall:String? = null
    open var ImageUrlMedium:String? = null
    open var ImageUrlLarge:String? = null
    open var Specialist:Boolean? = null
    open var Priority:Int? = null
    open var ExcludeFromOnlineShowroomFilters:Boolean? = null
}

open class Fuel
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class Line
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class Engine
{
    open var Id:Int? = null
    open var Description:String? = null
    open var BrandId:Int? = null
    open var Brand:String? = null
    open var Badge:String? = null
}

open class Transmission
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class Retailer
{
    open var Id:Int? = null
    open var GssnId:String? = null
    open var Description:String? = null
    open var Street:String? = null
    open var City:String? = null
    open var Postcode:String? = null
    open var GoogleMapPostcode:String? = null
    open var Phone:String? = null
    open var Fax:String? = null
    open var Email:String? = null
    open var Website:String? = null
    open var RetailerGroupId:String? = null
    open var RetailerGroupName:String? = null
    open var IsOnline:Boolean? = null
    open var IsNewCarRetailer:Boolean? = null
    open var IsUsedCarRetailer:Boolean? = null
    open var IsCentralRetailer:Boolean? = null
    open var ChatEnabled:Boolean? = null
    open var TradeInEnabled:Boolean? = null
    open var smart:Boolean? = null
    open var DisplayPhoneNumberNew:String? = null
    open var DisplayPhoneNumberUsed:String? = null
    open var Latitude:BigDecimal? = null
    open var Longitude:BigDecimal? = null
    open var smartDescription:String? = null
    open var smartWebsite:String? = null
    open var smartPhone:String? = null
    open var LegacyId:String? = null
    open var Agent:Boolean? = null
    open var MarketAreaId:Int? = null
    open var DigitalLoungeParentGssnId:String? = null
    open var SendLeadsToDigitalLoungeParent:Boolean? = null
    open var OpeningTimes:RetailerOpeningTimes? = null
}

open class RetailerOpeningTimes
{
    open var New:ArrayList<RetailerOpeningTime> = ArrayList<RetailerOpeningTime>()
    open var Used:ArrayList<RetailerOpeningTime> = ArrayList<RetailerOpeningTime>()
}

open class RetailerOpeningTime
{
    open var Day:String? = null
    open var OpenFrom:String? = null
    open var OpenTo:String? = null
    open var Special:String? = null
}

open class Colour
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class Upholstery
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class Package
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class DeliveryTime
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class RetailerGroup
{
    open var Id:Int? = null
    open var RetailerGroupId:String? = null
    open var Description:String? = null
    open var RetailerGroupName:String? = null
    open var GssnIds:ArrayList<String>? = null
}

open class MarketArea
{
    open var Id:Int? = null
    open var MarketAreaName:String? = null
    open var Description:String? = null
    open var GssnIds:ArrayList<String>? = null
}

open class NonOptimalReason
{
    open var Id:Int? = null
    open var Description:String? = null
}

open class AccountRetailer
{
    open var Name:String? = null
    open var Gssn:String? = null
    open var IsSmart:Boolean? = null
}

open class LookupValue
{
    open var Id:Int? = null
    open var Label:String? = null
}

Kotlin 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
			}
		]
	}
}