ConsumerApi

<back to all web services

FindBoundedMapAdMessagesRequest

Consumer
Requires Authentication
Required role:Consumer
namespace ConsumerApi

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type Parking =
        | StreetParking = 0
        | ParkingGarageNearby = 1

    type PaymentOption =
        | Visa = 0
        | MasterCard = 1
        | AmericanExpress = 2
        | Diners = 3
        | Vipps = 4

    type PriceMainDish =
        | Value = 0
        | Medium = 1
        | High = 2
        | FineDining = 3

    type DayOfWeek =
        | Sunday = 0
        | Monday = 1
        | Tuesday = 2
        | Wednesday = 3
        | Thursday = 4
        | Friday = 5
        | Saturday = 6

    [<AllowNullLiteral>]
    type OpenAtTimeDto() = 
        member val WeekDay:DayOfWeek = new DayOfWeek() with get,set
        member val Hour:Int32 = new Int32() with get,set
        member val Minute:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type ImageUrls() = 
        member val Preview:String = null with get,set
        member val Small:String = null with get,set
        member val Medium:String = null with get,set
        member val Large:String = null with get,set

    [<AllowNullLiteral>]
    type OpeningHour() = 
        member val OpenAtHour:Int32 = new Int32() with get,set
        member val OpenAtMinute:Int32 = new Int32() with get,set
        member val CloseAtHour:Int32 = new Int32() with get,set
        member val CloseAtMinute:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WeeklyOpeningHours() = 
        member val Monday:OpeningHour = null with get,set
        member val Tuesday:OpeningHour = null with get,set
        member val Wednesday:OpeningHour = null with get,set
        member val Thursday:OpeningHour = null with get,set
        member val Friday:OpeningHour = null with get,set
        member val Saturday:OpeningHour = null with get,set
        member val Sunday:OpeningHour = null with get,set

    [<AllowNullLiteral>]
    type OpeningHours() = 
        member val Weekly:WeeklyOpeningHours = null with get,set

    type PlaceType =
        | Mall = 0
        | Regular = 1

    [<AllowNullLiteral>]
    type PriceMainDishApiDto() = 
        member val Title:String = null with get,set
        member val Slug:PriceMainDish = new PriceMainDish() with get,set

    [<AllowNullLiteral>]
    type TimeZoneDto() = 
        member val BaseUtcOffset:TimeSpan = new TimeSpan() with get,set
        member val DaylightName:String = null with get,set
        member val DisplayName:String = null with get,set
        member val Id:String = null with get,set
        member val StandardName:String = null with get,set
        member val SupportsDaylightSavingTime:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type PlaceContact() = 
        member val Phone:String = null with get,set
        member val Email:String = null with get,set
        member val Website:String = null with get,set
        member val WebShop:String = null with get,set

    [<AllowNullLiteral>]
    type PlaceAddress() = 
        member val Street:String = null with get,set
        member val PostalCode:String = null with get,set
        member val Region:String = null with get,set
        member val CountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type CategoryTreeApiDto() = 
        member val Name:String = null with get,set
        member val Slug:String = null with get,set
        member val AbsoluteSlug:String = null with get,set
        member val ImageUrl:String = null with get,set
        member val AllImageUrl:String = null with get,set
        member val IconImageUrl:String = null with get,set
        member val Position:Int32 = new Int32() with get,set
        member val Children:ResizeArray<CategoryTreeApiDto> = new ResizeArray<CategoryTreeApiDto>() with get,set

    [<AllowNullLiteral>]
    type WearPriceProfileEsDto() = 
        member val Slug:String = null with get,set
        member val Label:String = null with get,set

    [<AllowNullLiteral>]
    type BrandApiDto() = 
        member val Name:String = null with get,set

    [<AllowNullLiteral>]
    type PlaceCustomBrandApiDto() = 
        member val Name:String = null with get,set

    [<AllowNullLiteral>]
    type PlaceSelectedBrandApiDto() = 
        member val Brand:BrandApiDto = null with get,set
        member val CategoryAbsoluteSlugs:String[] = [||] with get,set
        member val PlaceCustomBrand:PlaceCustomBrandApiDto = null with get,set

    [<AllowNullLiteral>]
    type PlaceBasicApiDto() = 
        member val Id:Int64 = new Int64() with get,set
        member val Guid:Guid = new Guid() with get,set
        member val Overview:String = null with get,set
        member val Name:String = null with get,set
        member val Longitude:Single = new Single() with get,set
        member val Latitude:Single = new Single() with get,set
        member val Claimed:Boolean = new Boolean() with get,set
        member val OrganizationNumber:String = null with get,set
        member val CountryCode:String = null with get,set
        member val OpeningHours:OpeningHours = null with get,set
        member val WheelchairAccessible:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val Wifi:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val OutdoorSeating:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SaveFoodAndMoney:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PlaceType:PlaceType = new PlaceType() with get,set
        member val PriceMainDish:PriceMainDishApiDto = null with get,set
        member val TimeZoneDto:TimeZoneDto = null with get,set
        member val BusinessId:Nullable<Int64> = new Nullable<Int64>() with get,set
        member val Contact:PlaceContact = null with get,set
        member val Address:PlaceAddress = null with get,set
        member val Categories:ResizeArray<CategoryTreeApiDto> = new ResizeArray<CategoryTreeApiDto>() with get,set
        member val LogoUrl:ImageUrls = null with get,set
        member val ImageUrl:ImageUrls = null with get,set
        member val WearPriceProfiles:ResizeArray<WearPriceProfileEsDto> = new ResizeArray<WearPriceProfileEsDto>() with get,set
        member val Brands:ResizeArray<PlaceSelectedBrandApiDto> = new ResizeArray<PlaceSelectedBrandApiDto>() with get,set
        member val Floor:String = null with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsBase() = 
        member val Description:String = null with get,set
        member val MoreInformation:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsPercentageDiscountOnAllMerchandise() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsPercentageDiscountRangeOnAllMerchandise() = 
        inherit AdMessageDetailsBase()
        member val Start:Double = new Double() with get,set
        member val Stop:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsPercentageDiscountOnSelectedMerchandise() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise() = 
        inherit AdMessageDetailsBase()
        member val Start:Double = new Double() with get,set
        member val Stop:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsTotalAmountOverXgivesYdiscount() = 
        inherit AdMessageDetailsBase()
        member val IfTotalAmountMoreThanX:Double = new Double() with get,set
        member val ThenYouGetDiscountPercentageY:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsXforYdiscount() = 
        inherit AdMessageDetailsBase()
        member val IfYouBuyX:Int32 = new Int32() with get,set
        member val ThenYouGetY:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsNewArrivals() = 
        inherit AdMessageDetailsBase()

    [<AllowNullLiteral>]
    type AdMessageDetailsFreetext() = 
        inherit AdMessageDetailsBase()
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsTodaysBreakFastOffer() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsTodaysLunchOffer() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsTodaysDinnerOffer() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsSaveFoodAndMoney() = 
        inherit AdMessageDetailsBase()
        member val Value:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsPercentageOffYourFoodBill() = 
        inherit AdMessageDetailsBase()
        member val Percentage:Double = new Double() with get,set

    [<AllowNullLiteral>]
    type AdMessageDetailsHappyHour() = 
        inherit AdMessageDetailsBase()

    [<AllowNullLiteral>]
    type AdMessageDetailsSomeFreeTablesLeftToday() = 
        inherit AdMessageDetailsBase()

    [<AllowNullLiteral>]
    type AdMessageDetailsTwoDishesForThePriceOfOne() = 
        inherit AdMessageDetailsBase()

    [<AllowNullLiteral>]
    type AdMessageDetailsUnion() = 
        member val PercentageOnAllMerchandise:AdMessageDetailsPercentageDiscountOnAllMerchandise = null with get,set
        member val PercentageRangeOnAllMerchandise:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise = null with get,set
        member val PercentageOnSelectedMerchandise:AdMessageDetailsPercentageDiscountOnSelectedMerchandise = null with get,set
        member val AbsoluteOnSelectedMerchandise:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise = null with get,set
        member val AbsoluteRangeOnAllMerchandise:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise = null with get,set
        member val TotalAmountOverXgivesYdiscount:AdMessageDetailsTotalAmountOverXgivesYdiscount = null with get,set
        member val XforY:AdMessageDetailsXforYdiscount = null with get,set
        member val NewArrivals:AdMessageDetailsNewArrivals = null with get,set
        member val Freetext:AdMessageDetailsFreetext = null with get,set
        member val TodaysBreakFastOffer:AdMessageDetailsTodaysBreakFastOffer = null with get,set
        member val TodaysLunchOffer:AdMessageDetailsTodaysLunchOffer = null with get,set
        member val TodaysDinnerOffer:AdMessageDetailsTodaysDinnerOffer = null with get,set
        member val SaveFoodAndMoney:AdMessageDetailsSaveFoodAndMoney = null with get,set
        member val PercentageOfYourFoodBill:AdMessageDetailsPercentageOffYourFoodBill = null with get,set
        member val HappyHour:AdMessageDetailsHappyHour = null with get,set
        member val SomeFreeTablesLeftToday:AdMessageDetailsSomeFreeTablesLeftToday = null with get,set
        member val TwoDishesForThePriceOfOne:AdMessageDetailsTwoDishesForThePriceOfOne = null with get,set

    [<AllowNullLiteral>]
    type AdMessageDto() = 
        member val Id:Int64 = new Int64() with get,set
        member val Guid:Guid = new Guid() with get,set
        member val Title:String = null with get,set
        member val StartAt:DateTimeOffset = new DateTimeOffset() with get,set
        member val StopAt:DateTimeOffset = new DateTimeOffset() with get,set
        member val PublishAt:DateTimeOffset = new DateTimeOffset() with get,set
        member val ImageUrls:ResizeArray<ImageUrls> = new ResizeArray<ImageUrls>() with get,set
        member val Place:PlaceBasicApiDto = null with get,set
        member val DetailsUnion:AdMessageDetailsUnion = null with get,set
        member val StarredCount:Int64 = new Int64() with get,set

    type FeatureType =
        | BarSpeciality = 0
        | BarType = 1
        | Cuisine = 2
        | SaveFoodAndMoney = 3
        | MealType = 4
        | Menu = 5
        | OutdoorSeating = 6
        | Parking = 7
        | PaymentOptions = 8
        | PriceMainDish = 9
        | SubCategories = 10
        | SubCategoriesAndBrands = 11
        | EatingSuitabilities = 12
        | TakeAway = 13
        | WearPriceProfile = 14
        | WheelChairAccessible = 15
        | Wifi = 16
        | WebShop = 17
        | Filtering = 18

F# 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
}