ConsumerApi

<back to all web services

FindBoundedMapAdMessagesRequest

Consumer
Requires Authentication
Required role:Consumer

export module ConsumerApi
{
    // @ts-nocheck

    export enum Parking
    {
        StreetParking = 'StreetParking',
        ParkingGarageNearby = 'ParkingGarageNearby',
    }

    export enum PaymentOption
    {
        Visa = 'Visa',
        MasterCard = 'MasterCard',
        AmericanExpress = 'AmericanExpress',
        Diners = 'Diners',
        Vipps = 'Vipps',
    }

    export enum PriceMainDish
    {
        Value = 'Value',
        Medium = 'Medium',
        High = 'High',
        FineDining = 'FineDining',
    }

    export enum DayOfWeek
    {
        Sunday = 'Sunday',
        Monday = 'Monday',
        Tuesday = 'Tuesday',
        Wednesday = 'Wednesday',
        Thursday = 'Thursday',
        Friday = 'Friday',
        Saturday = 'Saturday',
    }

    export class OpenAtTimeDto
    {
        public weekDay?: DayOfWeek;
        public hour?: number;
        public minute?: number;

        public constructor(init?: Partial<OpenAtTimeDto>) { (Object as any).assign(this, init); }
    }

    export class ImageUrls
    {
        public preview: string;
        public small: string;
        public medium: string;
        public large: string;

        public constructor(init?: Partial<ImageUrls>) { (Object as any).assign(this, init); }
    }

    export class OpeningHour
    {
        public openAtHour?: number;
        public openAtMinute?: number;
        public closeAtHour?: number;
        public closeAtMinute?: number;

        public constructor(init?: Partial<OpeningHour>) { (Object as any).assign(this, init); }
    }

    export class WeeklyOpeningHours
    {
        public monday?: OpeningHour;
        public tuesday?: OpeningHour;
        public wednesday?: OpeningHour;
        public thursday?: OpeningHour;
        public friday?: OpeningHour;
        public saturday?: OpeningHour;
        public sunday?: OpeningHour;

        public constructor(init?: Partial<WeeklyOpeningHours>) { (Object as any).assign(this, init); }
    }

    export class OpeningHours
    {
        public weekly: WeeklyOpeningHours;

        public constructor(init?: Partial<OpeningHours>) { (Object as any).assign(this, init); }
    }

    export enum PlaceType
    {
        Mall = 'Mall',
        Regular = 'Regular',
    }

    export class PriceMainDishApiDto
    {
        public title: string;
        public slug?: PriceMainDish;

        public constructor(init?: Partial<PriceMainDishApiDto>) { (Object as any).assign(this, init); }
    }

    export class TimeZoneDto
    {
        public baseUtcOffset?: string;
        public daylightName: string;
        public displayName: string;
        public id: string;
        public standardName: string;
        public supportsDaylightSavingTime?: boolean;

        public constructor(init?: Partial<TimeZoneDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceContact
    {
        public phone?: string;
        public email?: string;
        public website?: string;
        public webShop?: string;

        public constructor(init?: Partial<PlaceContact>) { (Object as any).assign(this, init); }
    }

    export class PlaceAddress
    {
        public street: string;
        public postalCode: string;
        public region: string;
        public countryCode: string;

        public constructor(init?: Partial<PlaceAddress>) { (Object as any).assign(this, init); }
    }

    export class CategoryTreeApiDto
    {
        public name: string;
        public slug: string;
        public absoluteSlug: string;
        public imageUrl?: string;
        public allImageUrl?: string;
        public iconImageUrl?: string;
        public position?: number;
        public children?: CategoryTreeApiDto[] = [];

        public constructor(init?: Partial<CategoryTreeApiDto>) { (Object as any).assign(this, init); }
    }

    export class WearPriceProfileEsDto
    {
        public slug: string;
        public label: string;

        public constructor(init?: Partial<WearPriceProfileEsDto>) { (Object as any).assign(this, init); }
    }

    export class BrandApiDto
    {
        public name: string;

        public constructor(init?: Partial<BrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceCustomBrandApiDto
    {
        public name: string;

        public constructor(init?: Partial<PlaceCustomBrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceSelectedBrandApiDto
    {
        public brand?: BrandApiDto;
        public categoryAbsoluteSlugs?: string[] = [];
        public placeCustomBrand?: PlaceCustomBrandApiDto;

        public constructor(init?: Partial<PlaceSelectedBrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceBasicApiDto
    {
        public id?: number;
        public guid?: string;
        public overview?: string;
        public name: string;
        public longitude?: number;
        public latitude?: number;
        public claimed?: boolean;
        public organizationNumber?: string;
        public countryCode: string;
        public openingHours?: OpeningHours;
        public wheelchairAccessible?: boolean;
        public wifi?: boolean;
        public outdoorSeating?: boolean;
        public saveFoodAndMoney?: boolean;
        public placeType?: PlaceType;
        public priceMainDish?: PriceMainDishApiDto;
        public timeZoneDto: TimeZoneDto;
        public businessId?: number;
        public contact: PlaceContact;
        public address: PlaceAddress;
        public categories: CategoryTreeApiDto[] = [];
        public logoUrl?: ImageUrls;
        public imageUrl?: ImageUrls;
        public wearPriceProfiles: WearPriceProfileEsDto[] = [];
        public brands: PlaceSelectedBrandApiDto[] = [];
        public floor?: string;

        public constructor(init?: Partial<PlaceBasicApiDto>) { (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsBase
    {
        public description?: string;
        public moreInformation?: string[] = [];

        public constructor(init?: Partial<AdMessageDetailsBase>) { (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsPercentageDiscountOnAllMerchandise extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsPercentageDiscountOnAllMerchandise>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise extends AdMessageDetailsBase
    {
        public start?: number;
        public stop?: number;

        public constructor(init?: Partial<AdMessageDetailsPercentageDiscountRangeOnAllMerchandise>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsPercentageDiscountOnSelectedMerchandise extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsPercentageDiscountOnSelectedMerchandise>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise extends AdMessageDetailsBase
    {
        public start?: number;
        public stop?: number;

        public constructor(init?: Partial<AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsTotalAmountOverXgivesYdiscount extends AdMessageDetailsBase
    {
        public ifTotalAmountMoreThanX?: number;
        public thenYouGetDiscountPercentageY?: number;

        public constructor(init?: Partial<AdMessageDetailsTotalAmountOverXgivesYdiscount>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsXforYdiscount extends AdMessageDetailsBase
    {
        public ifYouBuyX?: number;
        public thenYouGetY?: number;

        public constructor(init?: Partial<AdMessageDetailsXforYdiscount>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsNewArrivals extends AdMessageDetailsBase
    {

        public constructor(init?: Partial<AdMessageDetailsNewArrivals>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsFreetext extends AdMessageDetailsBase
    {
        public title: string;

        public constructor(init?: Partial<AdMessageDetailsFreetext>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsTodaysBreakFastOffer extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsTodaysBreakFastOffer>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsTodaysLunchOffer extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsTodaysLunchOffer>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsTodaysDinnerOffer extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsTodaysDinnerOffer>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsSaveFoodAndMoney extends AdMessageDetailsBase
    {
        public value?: number;

        public constructor(init?: Partial<AdMessageDetailsSaveFoodAndMoney>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsPercentageOffYourFoodBill extends AdMessageDetailsBase
    {
        public percentage?: number;

        public constructor(init?: Partial<AdMessageDetailsPercentageOffYourFoodBill>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsHappyHour extends AdMessageDetailsBase
    {

        public constructor(init?: Partial<AdMessageDetailsHappyHour>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsSomeFreeTablesLeftToday extends AdMessageDetailsBase
    {

        public constructor(init?: Partial<AdMessageDetailsSomeFreeTablesLeftToday>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsTwoDishesForThePriceOfOne extends AdMessageDetailsBase
    {

        public constructor(init?: Partial<AdMessageDetailsTwoDishesForThePriceOfOne>) { super(init); (Object as any).assign(this, init); }
    }

    export class AdMessageDetailsUnion
    {
        public percentageOnAllMerchandise?: AdMessageDetailsPercentageDiscountOnAllMerchandise;
        public percentageRangeOnAllMerchandise?: AdMessageDetailsPercentageDiscountRangeOnAllMerchandise;
        public percentageOnSelectedMerchandise?: AdMessageDetailsPercentageDiscountOnSelectedMerchandise;
        public absoluteOnSelectedMerchandise?: AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise;
        public absoluteRangeOnAllMerchandise?: AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise;
        public totalAmountOverXgivesYdiscount?: AdMessageDetailsTotalAmountOverXgivesYdiscount;
        public xforY?: AdMessageDetailsXforYdiscount;
        public newArrivals?: AdMessageDetailsNewArrivals;
        public freetext?: AdMessageDetailsFreetext;
        public todaysBreakFastOffer?: AdMessageDetailsTodaysBreakFastOffer;
        public todaysLunchOffer?: AdMessageDetailsTodaysLunchOffer;
        public todaysDinnerOffer?: AdMessageDetailsTodaysDinnerOffer;
        public saveFoodAndMoney?: AdMessageDetailsSaveFoodAndMoney;
        public percentageOfYourFoodBill?: AdMessageDetailsPercentageOffYourFoodBill;
        public happyHour?: AdMessageDetailsHappyHour;
        public someFreeTablesLeftToday?: AdMessageDetailsSomeFreeTablesLeftToday;
        public twoDishesForThePriceOfOne?: AdMessageDetailsTwoDishesForThePriceOfOne;

        public constructor(init?: Partial<AdMessageDetailsUnion>) { (Object as any).assign(this, init); }
    }

    export class AdMessageDto
    {
        public id?: number;
        public guid?: string;
        public title: string;
        public startAt?: string;
        public stopAt?: string;
        public publishAt?: string;
        public imageUrls: ImageUrls[] = [];
        public place: PlaceBasicApiDto;
        public detailsUnion: AdMessageDetailsUnion;
        public starredCount?: number;

        public constructor(init?: Partial<AdMessageDto>) { (Object as any).assign(this, init); }
    }

    export enum FeatureType
    {
        BarSpeciality = 'BarSpeciality',
        BarType = 'BarType',
        Cuisine = 'Cuisine',
        SaveFoodAndMoney = 'SaveFoodAndMoney',
        MealType = 'MealType',
        Menu = 'Menu',
        OutdoorSeating = 'OutdoorSeating',
        Parking = 'Parking',
        PaymentOptions = 'PaymentOptions',
        PriceMainDish = 'PriceMainDish',
        SubCategories = 'SubCategories',
        SubCategoriesAndBrands = 'SubCategoriesAndBrands',
        EatingSuitabilities = 'EatingSuitabilities',
        TakeAway = 'TakeAway',
        WearPriceProfile = 'WearPriceProfile',
        WheelChairAccessible = 'WheelChairAccessible',
        Wifi = 'Wifi',
        WebShop = 'WebShop',
        Filtering = 'Filtering',
    }

}

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

{
	cacheVersion: 0,
	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
		}
	},
	bounds: 
	{
		north: 0,
		south: 0,
		east: 0,
		west: 0,
		clusterZoomLevel: 0
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	clusters: 
	[
		{
			count: 0,
			latitude: 0,
			longitude: 0
		}
	],
	adMessagesWithDisplayLocation: 
	[
		{
			adMessage: 
			{
				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
			},
			crowdedMapDisplayLocation: 
			{
				longitude: 0,
				latitude: 0
			}
		}
	],
	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
						}
					]
				}
			]
		}
	],
	placeCount: 0,
	adMessageSaveFoodAndMoneyCount: 0
}