ConsumerApi

<back to all web services

FindAdMessageRequest

Consumer
Requires Authentication
Required role:Consumer
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ConsumerApi;

namespace ConsumerApi
{
    public partial class AdMessageDto
    {
        public long Id { get; set; }
        public Guid Guid { get; set; }
        public string Title { get; set; }
        public DateTimeOffset StartAt { get; set; }
        public DateTimeOffset StopAt { get; set; }
        public DateTimeOffset PublishAt { get; set; }
        public List<ImageUrls> ImageUrls { get; set; } = [];
        public PlaceBasicApiDto Place { get; set; }
        public AdMessageDetailsUnion DetailsUnion { get; set; }
        public long StarredCount { get; set; }
    }

    public partial class BrandApiDto
    {
        public string Name { get; set; }
    }

    public partial class CategoryTreeApiDto
    {
        public string Name { get; set; }
        public string Slug { get; set; }
        public string AbsoluteSlug { get; set; }
        public string? ImageUrl { get; set; }
        public string? AllImageUrl { get; set; }
        public string? IconImageUrl { get; set; }
        public int Position { get; set; }
        public List<CategoryTreeApiDto>? Children { get; set; } = [];
    }

    public partial class PlaceBasicApiDto
    {
        public long Id { get; set; }
        public Guid Guid { get; set; }
        public string? Overview { get; set; }
        public string Name { get; set; }
        public float Longitude { get; set; }
        public float Latitude { get; set; }
        public bool Claimed { get; set; }
        public string? OrganizationNumber { get; set; }
        public string CountryCode { get; set; }
        public OpeningHours? OpeningHours { get; set; }
        public bool? WheelchairAccessible { get; set; }
        public bool? Wifi { get; set; }
        public bool? OutdoorSeating { get; set; }
        public bool? SaveFoodAndMoney { get; set; }
        public PlaceType PlaceType { get; set; }
        public PriceMainDishApiDto? PriceMainDish { get; set; }
        public TimeZoneDto TimeZoneDto { get; set; }
        public long? BusinessId { get; set; }
        public PlaceContact Contact { get; set; }
        public PlaceAddress Address { get; set; }
        public List<CategoryTreeApiDto> Categories { get; set; } = [];
        public ImageUrls? LogoUrl { get; set; }
        public ImageUrls? ImageUrl { get; set; }
        public List<WearPriceProfileEsDto> WearPriceProfiles { get; set; } = [];
        public List<PlaceSelectedBrandApiDto> Brands { get; set; } = [];
        public string? Floor { get; set; }
    }

    public partial class PlaceCustomBrandApiDto
    {
        public string Name { get; set; }
    }

    public partial class PlaceSelectedBrandApiDto
    {
        public BrandApiDto? Brand { get; set; }
        public string[]? CategoryAbsoluteSlugs { get; set; } = [];
        public PlaceCustomBrandApiDto? PlaceCustomBrand { get; set; }
    }

    public partial class PriceMainDishApiDto
    {
        public string Title { get; set; }
        public PriceMainDish Slug { get; set; }
    }

    public partial class WearPriceProfileEsDto
    {
        public string Slug { get; set; }
        public string Label { get; set; }
    }

    public partial class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise
        : AdMessageDetailsBase
    {
        public double Start { get; set; }
        public double Stop { get; set; }
    }

    public partial class AdMessageDetailsBase
    {
        public string? Description { get; set; }
        public List<string>? MoreInformation { get; set; } = [];
    }

    public partial class AdMessageDetailsFreetext
        : AdMessageDetailsBase
    {
        public string Title { get; set; }
    }

    public partial class AdMessageDetailsHappyHour
        : AdMessageDetailsBase
    {
    }

    public partial class AdMessageDetailsNewArrivals
        : AdMessageDetailsBase
    {
    }

    public partial class AdMessageDetailsPercentageDiscountOnAllMerchandise
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsPercentageDiscountOnSelectedMerchandise
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise
        : AdMessageDetailsBase
    {
        public double Start { get; set; }
        public double Stop { get; set; }
    }

    public partial class AdMessageDetailsPercentageOffYourFoodBill
        : AdMessageDetailsBase
    {
        public double Percentage { get; set; }
    }

    public partial class AdMessageDetailsSaveFoodAndMoney
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsSomeFreeTablesLeftToday
        : AdMessageDetailsBase
    {
    }

    public partial class AdMessageDetailsTodaysBreakFastOffer
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsTodaysDinnerOffer
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsTodaysLunchOffer
        : AdMessageDetailsBase
    {
        public double Value { get; set; }
    }

    public partial class AdMessageDetailsTotalAmountOverXgivesYdiscount
        : AdMessageDetailsBase
    {
        public double IfTotalAmountMoreThanX { get; set; }
        public double ThenYouGetDiscountPercentageY { get; set; }
    }

    public partial class AdMessageDetailsTwoDishesForThePriceOfOne
        : AdMessageDetailsBase
    {
    }

    public partial class AdMessageDetailsUnion
    {
        public AdMessageDetailsPercentageDiscountOnAllMerchandise? PercentageOnAllMerchandise { get; set; }
        public AdMessageDetailsPercentageDiscountRangeOnAllMerchandise? PercentageRangeOnAllMerchandise { get; set; }
        public AdMessageDetailsPercentageDiscountOnSelectedMerchandise? PercentageOnSelectedMerchandise { get; set; }
        public AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise? AbsoluteOnSelectedMerchandise { get; set; }
        public AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise? AbsoluteRangeOnAllMerchandise { get; set; }
        public AdMessageDetailsTotalAmountOverXgivesYdiscount? TotalAmountOverXgivesYdiscount { get; set; }
        public AdMessageDetailsXforYdiscount? XforY { get; set; }
        public AdMessageDetailsNewArrivals? NewArrivals { get; set; }
        public AdMessageDetailsFreetext? Freetext { get; set; }
        public AdMessageDetailsTodaysBreakFastOffer? TodaysBreakFastOffer { get; set; }
        public AdMessageDetailsTodaysLunchOffer? TodaysLunchOffer { get; set; }
        public AdMessageDetailsTodaysDinnerOffer? TodaysDinnerOffer { get; set; }
        public AdMessageDetailsSaveFoodAndMoney? SaveFoodAndMoney { get; set; }
        public AdMessageDetailsPercentageOffYourFoodBill? PercentageOfYourFoodBill { get; set; }
        public AdMessageDetailsHappyHour? HappyHour { get; set; }
        public AdMessageDetailsSomeFreeTablesLeftToday? SomeFreeTablesLeftToday { get; set; }
        public AdMessageDetailsTwoDishesForThePriceOfOne? TwoDishesForThePriceOfOne { get; set; }
    }

    public partial class AdMessageDetailsXforYdiscount
        : AdMessageDetailsBase
    {
        public int IfYouBuyX { get; set; }
        public int ThenYouGetY { get; set; }
    }

    public enum DayOfWeek
    {
        Sunday,
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
    }

    public partial class ImageUrls
    {
        public string Preview { get; set; }
        public string Small { get; set; }
        public string Medium { get; set; }
        public string Large { get; set; }
    }

    public partial class OpenAtTimeDto
    {
        public DayOfWeek WeekDay { get; set; }
        public int Hour { get; set; }
        public int Minute { get; set; }
    }

    public partial class OpeningHour
    {
        public int OpenAtHour { get; set; }
        public int OpenAtMinute { get; set; }
        public int CloseAtHour { get; set; }
        public int CloseAtMinute { get; set; }
    }

    public partial class OpeningHours
    {
        public WeeklyOpeningHours Weekly { get; set; }
    }

    public partial class PlaceAddress
    {
        public string Street { get; set; }
        public string PostalCode { get; set; }
        public string Region { get; set; }
        public string CountryCode { get; set; }
    }

    public partial class PlaceContact
    {
        public string? Phone { get; set; }
        public string? Email { get; set; }
        public string? Website { get; set; }
        public string? WebShop { get; set; }
    }

    public enum PlaceType
    {
        Mall,
        Regular,
    }

    public partial class TimeZoneDto
    {
        public TimeSpan BaseUtcOffset { get; set; }
        public string DaylightName { get; set; }
        public string DisplayName { get; set; }
        public string Id { get; set; }
        public string StandardName { get; set; }
        public bool SupportsDaylightSavingTime { get; set; }
    }

    public partial class WeeklyOpeningHours
    {
        public OpeningHour? Monday { get; set; }
        public OpeningHour? Tuesday { get; set; }
        public OpeningHour? Wednesday { get; set; }
        public OpeningHour? Thursday { get; set; }
        public OpeningHour? Friday { get; set; }
        public OpeningHour? Saturday { get; set; }
        public OpeningHour? Sunday { get; set; }
    }

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

    public enum Parking
    {
        StreetParking,
        ParkingGarageNearby,
    }

    public enum PaymentOption
    {
        Visa,
        MasterCard,
        AmericanExpress,
        Diners,
        Vipps,
    }

    public enum PriceMainDish
    {
        Value,
        Medium,
        High,
        FineDining,
    }

}

C# 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
						}
					]
				}
			]
		}
	]
}