ConsumerApi

<back to all web services

FindAdMessageRequest

Consumer
Requires Authentication
Required role:Consumer
"use strict";
/** @typedef {'StreetParking'|'ParkingGarageNearby'} */
export var Parking;
(function (Parking) {
    Parking["StreetParking"] = "StreetParking"
    Parking["ParkingGarageNearby"] = "ParkingGarageNearby"
})(Parking || (Parking = {}));
/** @typedef {'Visa'|'MasterCard'|'AmericanExpress'|'Diners'|'Vipps'} */
export var PaymentOption;
(function (PaymentOption) {
    PaymentOption["Visa"] = "Visa"
    PaymentOption["MasterCard"] = "MasterCard"
    PaymentOption["AmericanExpress"] = "AmericanExpress"
    PaymentOption["Diners"] = "Diners"
    PaymentOption["Vipps"] = "Vipps"
})(PaymentOption || (PaymentOption = {}));
/** @typedef {'Value'|'Medium'|'High'|'FineDining'} */
export var PriceMainDish;
(function (PriceMainDish) {
    PriceMainDish["Value"] = "Value"
    PriceMainDish["Medium"] = "Medium"
    PriceMainDish["High"] = "High"
    PriceMainDish["FineDining"] = "FineDining"
})(PriceMainDish || (PriceMainDish = {}));
/** @typedef {'Sunday'|'Monday'|'Tuesday'|'Wednesday'|'Thursday'|'Friday'|'Saturday'} */
export var DayOfWeek;
(function (DayOfWeek) {
    DayOfWeek["Sunday"] = "Sunday"
    DayOfWeek["Monday"] = "Monday"
    DayOfWeek["Tuesday"] = "Tuesday"
    DayOfWeek["Wednesday"] = "Wednesday"
    DayOfWeek["Thursday"] = "Thursday"
    DayOfWeek["Friday"] = "Friday"
    DayOfWeek["Saturday"] = "Saturday"
})(DayOfWeek || (DayOfWeek = {}));
export class OpenAtTimeDto {
    /** @param {{weekDay?:DayOfWeek,hour?:number,minute?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?DayOfWeek} */
    weekDay;
    /** @type {?number} */
    hour;
    /** @type {?number} */
    minute;
}
export class ImageUrls {
    /** @param {{preview?:string,small?:string,medium?:string,large?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    preview;
    /** @type {string} */
    small;
    /** @type {string} */
    medium;
    /** @type {string} */
    large;
}
export class OpeningHour {
    /** @param {{openAtHour?:number,openAtMinute?:number,closeAtHour?:number,closeAtMinute?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    openAtHour;
    /** @type {?number} */
    openAtMinute;
    /** @type {?number} */
    closeAtHour;
    /** @type {?number} */
    closeAtMinute;
}
export class WeeklyOpeningHours {
    /** @param {{monday?:OpeningHour,tuesday?:OpeningHour,wednesday?:OpeningHour,thursday?:OpeningHour,friday?:OpeningHour,saturday?:OpeningHour,sunday?:OpeningHour}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?OpeningHour} */
    monday;
    /** @type {?OpeningHour} */
    tuesday;
    /** @type {?OpeningHour} */
    wednesday;
    /** @type {?OpeningHour} */
    thursday;
    /** @type {?OpeningHour} */
    friday;
    /** @type {?OpeningHour} */
    saturday;
    /** @type {?OpeningHour} */
    sunday;
}
export class OpeningHours {
    /** @param {{weekly?:WeeklyOpeningHours}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {WeeklyOpeningHours} */
    weekly;
}
/** @typedef {'Mall'|'Regular'} */
export var PlaceType;
(function (PlaceType) {
    PlaceType["Mall"] = "Mall"
    PlaceType["Regular"] = "Regular"
})(PlaceType || (PlaceType = {}));
export class PriceMainDishApiDto {
    /** @param {{title?:string,slug?:PriceMainDish}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    title;
    /** @type {?PriceMainDish} */
    slug;
}
export class TimeZoneDto {
    /** @param {{baseUtcOffset?:string,daylightName?:string,displayName?:string,id?:string,standardName?:string,supportsDaylightSavingTime?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    baseUtcOffset;
    /** @type {string} */
    daylightName;
    /** @type {string} */
    displayName;
    /** @type {string} */
    id;
    /** @type {string} */
    standardName;
    /** @type {?boolean} */
    supportsDaylightSavingTime;
}
export class PlaceContact {
    /** @param {{phone?:string,email?:string,website?:string,webShop?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    phone;
    /** @type {?string} */
    email;
    /** @type {?string} */
    website;
    /** @type {?string} */
    webShop;
}
export class PlaceAddress {
    /** @param {{street?:string,postalCode?:string,region?:string,countryCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    street;
    /** @type {string} */
    postalCode;
    /** @type {string} */
    region;
    /** @type {string} */
    countryCode;
}
export class CategoryTreeApiDto {
    /** @param {{name?:string,slug?:string,absoluteSlug?:string,imageUrl?:string,allImageUrl?:string,iconImageUrl?:string,position?:number,children?:CategoryTreeApiDto[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    slug;
    /** @type {string} */
    absoluteSlug;
    /** @type {?string} */
    imageUrl;
    /** @type {?string} */
    allImageUrl;
    /** @type {?string} */
    iconImageUrl;
    /** @type {?number} */
    position;
    /** @type {?CategoryTreeApiDto[]} */
    children = [];
}
export class WearPriceProfileEsDto {
    /** @param {{slug?:string,label?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    slug;
    /** @type {string} */
    label;
}
export class BrandApiDto {
    /** @param {{name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
}
export class PlaceCustomBrandApiDto {
    /** @param {{name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
}
export class PlaceSelectedBrandApiDto {
    /** @param {{brand?:BrandApiDto,categoryAbsoluteSlugs?:string[],placeCustomBrand?:PlaceCustomBrandApiDto}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?BrandApiDto} */
    brand;
    /** @type {?string[]} */
    categoryAbsoluteSlugs = [];
    /** @type {?PlaceCustomBrandApiDto} */
    placeCustomBrand;
}
export class PlaceBasicApiDto {
    /** @param {{id?:number,guid?:string,overview?:string,name?:string,longitude?:number,latitude?:number,claimed?:boolean,organizationNumber?:string,countryCode?:string,openingHours?:OpeningHours,wheelchairAccessible?:boolean,wifi?:boolean,outdoorSeating?:boolean,saveFoodAndMoney?:boolean,placeType?:PlaceType,priceMainDish?:PriceMainDishApiDto,timeZoneDto?:TimeZoneDto,businessId?:number,contact?:PlaceContact,address?:PlaceAddress,categories?:CategoryTreeApiDto[],logoUrl?:ImageUrls,imageUrl?:ImageUrls,wearPriceProfiles?:WearPriceProfileEsDto[],brands?:PlaceSelectedBrandApiDto[],floor?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    id;
    /** @type {?string} */
    guid;
    /** @type {?string} */
    overview;
    /** @type {string} */
    name;
    /** @type {?number} */
    longitude;
    /** @type {?number} */
    latitude;
    /** @type {?boolean} */
    claimed;
    /** @type {?string} */
    organizationNumber;
    /** @type {string} */
    countryCode;
    /** @type {?OpeningHours} */
    openingHours;
    /** @type {?boolean} */
    wheelchairAccessible;
    /** @type {?boolean} */
    wifi;
    /** @type {?boolean} */
    outdoorSeating;
    /** @type {?boolean} */
    saveFoodAndMoney;
    /** @type {?PlaceType} */
    placeType;
    /** @type {?PriceMainDishApiDto} */
    priceMainDish;
    /** @type {TimeZoneDto} */
    timeZoneDto;
    /** @type {?number} */
    businessId;
    /** @type {PlaceContact} */
    contact;
    /** @type {PlaceAddress} */
    address;
    /** @type {CategoryTreeApiDto[]} */
    categories = [];
    /** @type {?ImageUrls} */
    logoUrl;
    /** @type {?ImageUrls} */
    imageUrl;
    /** @type {WearPriceProfileEsDto[]} */
    wearPriceProfiles = [];
    /** @type {PlaceSelectedBrandApiDto[]} */
    brands = [];
    /** @type {?string} */
    floor;
}
export class AdMessageDetailsBase {
    /** @param {{description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    description;
    /** @type {?string[]} */
    moreInformation = [];
}
export class AdMessageDetailsPercentageDiscountOnAllMerchandise extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise extends AdMessageDetailsBase {
    /** @param {{start?:number,stop?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    start;
    /** @type {?number} */
    stop;
}
export class AdMessageDetailsPercentageDiscountOnSelectedMerchandise extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise extends AdMessageDetailsBase {
    /** @param {{start?:number,stop?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    start;
    /** @type {?number} */
    stop;
}
export class AdMessageDetailsTotalAmountOverXgivesYdiscount extends AdMessageDetailsBase {
    /** @param {{ifTotalAmountMoreThanX?:number,thenYouGetDiscountPercentageY?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    ifTotalAmountMoreThanX;
    /** @type {?number} */
    thenYouGetDiscountPercentageY;
}
export class AdMessageDetailsXforYdiscount extends AdMessageDetailsBase {
    /** @param {{ifYouBuyX?:number,thenYouGetY?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    ifYouBuyX;
    /** @type {?number} */
    thenYouGetY;
}
export class AdMessageDetailsNewArrivals extends AdMessageDetailsBase {
    /** @param {{description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}
export class AdMessageDetailsFreetext extends AdMessageDetailsBase {
    /** @param {{title?:string,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    title;
}
export class AdMessageDetailsTodaysBreakFastOffer extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsTodaysLunchOffer extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsTodaysDinnerOffer extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsSaveFoodAndMoney extends AdMessageDetailsBase {
    /** @param {{value?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    value;
}
export class AdMessageDetailsPercentageOffYourFoodBill extends AdMessageDetailsBase {
    /** @param {{percentage?:number,description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    percentage;
}
export class AdMessageDetailsHappyHour extends AdMessageDetailsBase {
    /** @param {{description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}
export class AdMessageDetailsSomeFreeTablesLeftToday extends AdMessageDetailsBase {
    /** @param {{description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}
export class AdMessageDetailsTwoDishesForThePriceOfOne extends AdMessageDetailsBase {
    /** @param {{description?:string,moreInformation?:string[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}
export class AdMessageDetailsUnion {
    /** @param {{percentageOnAllMerchandise?:AdMessageDetailsPercentageDiscountOnAllMerchandise,percentageRangeOnAllMerchandise?:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise,percentageOnSelectedMerchandise?:AdMessageDetailsPercentageDiscountOnSelectedMerchandise,absoluteOnSelectedMerchandise?:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise,absoluteRangeOnAllMerchandise?:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise,totalAmountOverXgivesYdiscount?:AdMessageDetailsTotalAmountOverXgivesYdiscount,xforY?:AdMessageDetailsXforYdiscount,newArrivals?:AdMessageDetailsNewArrivals,freetext?:AdMessageDetailsFreetext,todaysBreakFastOffer?:AdMessageDetailsTodaysBreakFastOffer,todaysLunchOffer?:AdMessageDetailsTodaysLunchOffer,todaysDinnerOffer?:AdMessageDetailsTodaysDinnerOffer,saveFoodAndMoney?:AdMessageDetailsSaveFoodAndMoney,percentageOfYourFoodBill?:AdMessageDetailsPercentageOffYourFoodBill,happyHour?:AdMessageDetailsHappyHour,someFreeTablesLeftToday?:AdMessageDetailsSomeFreeTablesLeftToday,twoDishesForThePriceOfOne?:AdMessageDetailsTwoDishesForThePriceOfOne}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?AdMessageDetailsPercentageDiscountOnAllMerchandise} */
    percentageOnAllMerchandise;
    /** @type {?AdMessageDetailsPercentageDiscountRangeOnAllMerchandise} */
    percentageRangeOnAllMerchandise;
    /** @type {?AdMessageDetailsPercentageDiscountOnSelectedMerchandise} */
    percentageOnSelectedMerchandise;
    /** @type {?AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise} */
    absoluteOnSelectedMerchandise;
    /** @type {?AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise} */
    absoluteRangeOnAllMerchandise;
    /** @type {?AdMessageDetailsTotalAmountOverXgivesYdiscount} */
    totalAmountOverXgivesYdiscount;
    /** @type {?AdMessageDetailsXforYdiscount} */
    xforY;
    /** @type {?AdMessageDetailsNewArrivals} */
    newArrivals;
    /** @type {?AdMessageDetailsFreetext} */
    freetext;
    /** @type {?AdMessageDetailsTodaysBreakFastOffer} */
    todaysBreakFastOffer;
    /** @type {?AdMessageDetailsTodaysLunchOffer} */
    todaysLunchOffer;
    /** @type {?AdMessageDetailsTodaysDinnerOffer} */
    todaysDinnerOffer;
    /** @type {?AdMessageDetailsSaveFoodAndMoney} */
    saveFoodAndMoney;
    /** @type {?AdMessageDetailsPercentageOffYourFoodBill} */
    percentageOfYourFoodBill;
    /** @type {?AdMessageDetailsHappyHour} */
    happyHour;
    /** @type {?AdMessageDetailsSomeFreeTablesLeftToday} */
    someFreeTablesLeftToday;
    /** @type {?AdMessageDetailsTwoDishesForThePriceOfOne} */
    twoDishesForThePriceOfOne;
}
export class AdMessageDto {
    /** @param {{id?:number,guid?:string,title?:string,startAt?:string,stopAt?:string,publishAt?:string,imageUrls?:ImageUrls[],place?:PlaceBasicApiDto,detailsUnion?:AdMessageDetailsUnion,starredCount?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    id;
    /** @type {?string} */
    guid;
    /** @type {string} */
    title;
    /** @type {?string} */
    startAt;
    /** @type {?string} */
    stopAt;
    /** @type {?string} */
    publishAt;
    /** @type {ImageUrls[]} */
    imageUrls = [];
    /** @type {PlaceBasicApiDto} */
    place;
    /** @type {AdMessageDetailsUnion} */
    detailsUnion;
    /** @type {?number} */
    starredCount;
}
/** @typedef {'BarSpeciality'|'BarType'|'Cuisine'|'SaveFoodAndMoney'|'MealType'|'Menu'|'OutdoorSeating'|'Parking'|'PaymentOptions'|'PriceMainDish'|'SubCategories'|'SubCategoriesAndBrands'|'EatingSuitabilities'|'TakeAway'|'WearPriceProfile'|'WheelChairAccessible'|'Wifi'|'WebShop'|'Filtering'} */
export var FeatureType;
(function (FeatureType) {
    FeatureType["BarSpeciality"] = "BarSpeciality"
    FeatureType["BarType"] = "BarType"
    FeatureType["Cuisine"] = "Cuisine"
    FeatureType["SaveFoodAndMoney"] = "SaveFoodAndMoney"
    FeatureType["MealType"] = "MealType"
    FeatureType["Menu"] = "Menu"
    FeatureType["OutdoorSeating"] = "OutdoorSeating"
    FeatureType["Parking"] = "Parking"
    FeatureType["PaymentOptions"] = "PaymentOptions"
    FeatureType["PriceMainDish"] = "PriceMainDish"
    FeatureType["SubCategories"] = "SubCategories"
    FeatureType["SubCategoriesAndBrands"] = "SubCategoriesAndBrands"
    FeatureType["EatingSuitabilities"] = "EatingSuitabilities"
    FeatureType["TakeAway"] = "TakeAway"
    FeatureType["WearPriceProfile"] = "WearPriceProfile"
    FeatureType["WheelChairAccessible"] = "WheelChairAccessible"
    FeatureType["Wifi"] = "Wifi"
    FeatureType["WebShop"] = "WebShop"
    FeatureType["Filtering"] = "Filtering"
})(FeatureType || (FeatureType = {}));

JavaScript FindAdMessageRequest 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 /jsv/reply/FindAdMessageRequest HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	offset: 0,
	size: 0,
	resultAt: 0001-01-01,
	filter: 
	{
		term: String,
		placeGuid: 00000000-0000-0000-0000-000000000000,
		adMessageGuid: 00000000-0000-0000-0000-000000000000,
		categoryAbsoluteSlugs: 
		[
			String
		],
		barSpecialitySlugs: 
		[
			String
		],
		barTypeSlugs: 
		[
			String
		],
		brandNames: 
		[
			String
		],
		cuisineSlugs: 
		[
			String
		],
		mealTypeSlugs: 
		[
			String
		],
		parking: 
		[
			StreetParking
		],
		paymentOptions: 
		[
			Visa
		],
		priceMainDishes: 
		[
			Value
		],
		eatingSuitabilitySlugs: 
		[
			String
		],
		takeAwaySlugs: 
		[
			String
		],
		wearPriceProfileSlugs: 
		[
			String
		],
		wheelChairAccessible: False,
		wifi: False,
		outdoorSeating: False,
		saveFoodAndMoney: False,
		openAt: 
		{
			weekDay: Sunday,
			hour: 0,
			minute: 0
		}
	},
	location: 
	{
		longitude: 0,
		latitude: 0,
		searchRadiusInKm: 0
	},
	cacheVersion: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	adMessages: 
	[
		{
			id: 0,
			title: String,
			startAt: 0001-01-01T00:00:00.0000000+00:00,
			stopAt: 0001-01-01T00:00:00.0000000+00:00,
			publishAt: 0001-01-01T00:00:00.0000000+00:00,
			imageUrls: 
			[
				{
					preview: String,
					small: String,
					medium: String,
					large: String
				}
			],
			place: 
			{
				id: 0,
				overview: String,
				name: String,
				longitude: 0,
				latitude: 0,
				claimed: False,
				organizationNumber: String,
				countryCode: String,
				openingHours: 
				{
					weekly: 
					{
						monday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						tuesday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						wednesday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						thursday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						friday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						saturday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						},
						sunday: 
						{
							openAtHour: 0,
							openAtMinute: 0,
							closeAtHour: 0,
							closeAtMinute: 0
						}
					}
				},
				wheelchairAccessible: False,
				wifi: False,
				outdoorSeating: False,
				saveFoodAndMoney: False,
				placeType: Mall,
				priceMainDish: 
				{
					title: String,
					slug: Value
				},
				timeZoneDto: 
				{
					baseUtcOffset: PT0S,
					daylightName: String,
					displayName: String,
					id: String,
					standardName: String,
					supportsDaylightSavingTime: False
				},
				businessId: 0,
				contact: 
				{
					phone: String,
					email: String,
					website: String,
					webShop: String
				},
				address: 
				{
					street: String,
					postalCode: String,
					region: String,
					countryCode: String
				},
				categories: 
				[
					{
						name: String,
						slug: String,
						absoluteSlug: String,
						imageUrl: String,
						allImageUrl: String,
						iconImageUrl: String,
						position: 0,
						children: 
						[
							{
								name: String,
								slug: String,
								absoluteSlug: String,
								imageUrl: String,
								allImageUrl: String,
								iconImageUrl: String,
								position: 0,
								children: 
								[
									{
										name: String,
										slug: String,
										absoluteSlug: String,
										imageUrl: String,
										allImageUrl: String,
										iconImageUrl: String,
										position: 0
									}
								]
							}
						]
					}
				],
				logoUrl: 
				{
					preview: String,
					small: String,
					medium: String,
					large: String
				},
				imageUrl: 
				{
					preview: String,
					small: String,
					medium: String,
					large: String
				},
				wearPriceProfiles: 
				[
					{
						slug: String,
						label: String
					}
				],
				brands: 
				[
					{
						brand: 
						{
							name: String
						},
						categoryAbsoluteSlugs: 
						[
							String
						],
						placeCustomBrand: 
						{
							name: String
						}
					}
				],
				floor: String
			},
			detailsUnion: 
			{
				percentageOnAllMerchandise: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				percentageRangeOnAllMerchandise: 
				{
					start: 0,
					stop: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				percentageOnSelectedMerchandise: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				absoluteOnSelectedMerchandise: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				absoluteRangeOnAllMerchandise: 
				{
					start: 0,
					stop: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				totalAmountOverXgivesYdiscount: 
				{
					ifTotalAmountMoreThanX: 0,
					thenYouGetDiscountPercentageY: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				xforY: 
				{
					ifYouBuyX: 0,
					thenYouGetY: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				newArrivals: 
				{
					description: String,
					moreInformation: 
					[
						String
					]
				},
				freetext: 
				{
					title: String,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				todaysBreakFastOffer: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				todaysLunchOffer: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				todaysDinnerOffer: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				saveFoodAndMoney: 
				{
					value: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				percentageOfYourFoodBill: 
				{
					percentage: 0,
					description: String,
					moreInformation: 
					[
						String
					]
				},
				happyHour: 
				{
					description: String,
					moreInformation: 
					[
						String
					]
				},
				someFreeTablesLeftToday: 
				{
					description: String,
					moreInformation: 
					[
						String
					]
				},
				twoDishesForThePriceOfOne: 
				{
					description: String,
					moreInformation: 
					[
						String
					]
				}
			},
			starredCount: 0
		}
	],
	adMessageCount: 0,
	adMessageSaveFoodAndMoneyCount: 0,
	resultAt: 0001-01-01,
	categoryFacetTrees: 
	[
		{
			name: String,
			slug: String,
			absoluteSlug: String,
			featureTypes: 
			[
				BarSpeciality
			],
			type: Parent,
			count: 0,
			imageUrl: String,
			allImageUrl: String,
			iconImageUrl: String,
			position: 0,
			children: 
			[
				{
					name: String,
					slug: String,
					absoluteSlug: String,
					featureTypes: 
					[
						BarSpeciality
					],
					type: Parent,
					count: 0,
					imageUrl: String,
					allImageUrl: String,
					iconImageUrl: String,
					position: 0,
					children: 
					[
						{
							name: String,
							slug: String,
							absoluteSlug: String,
							featureTypes: 
							[
								BarSpeciality
							],
							type: Parent,
							count: 0,
							imageUrl: String,
							allImageUrl: String,
							iconImageUrl: String,
							position: 0
						}
					]
				}
			]
		}
	]
}