| 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 BarSpecialityEsDto
{
public string Slug { get; set; }
public string Title { get; set; }
}
public partial class BarTypeEsDto
{
public string Slug { get; set; }
public string Title { 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 CuisineEsDto
{
public string Label { get; set; }
public string Slug { get; set; }
}
public partial class EatingSuitabilityApiDto
{
public string Label { get; set; }
public string Slug { get; set; }
}
public partial class IndividualFeatureDataApiDto
{
public FeatureType Slug { get; set; }
public string Label { get; set; }
}
public partial class MallOtherServiceApiDto
{
public string ServiceName { get; set; }
public string Floor { get; set; }
}
public partial class MealTypeApiDto
{
public string Label { get; set; }
public string Slug { get; set; }
}
public partial class MenuEsDto
{
public string Name { get; set; }
public string Url { get; set; }
public int Position { get; set; }
}
public partial class ParkingApiDto
{
public string Label { get; set; }
public Parking Slug { get; set; }
}
public partial class PaymentOptionApiDto
{
public string Label { get; set; }
public PaymentOption Slug { get; set; }
}
public partial class PlaceApiDto
{
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 string PlaceState { get; set; }
public long FollowersCount { get; set; }
public OpeningHours? OpeningHours { get; set; }
public List<CategoryTreeApiDto> Categories { get; set; } = [];
public List<IndividualFeatureDataApiDto> FeatureData { get; set; } = [];
public List<BarSpecialityEsDto> BarSpecialities { get; set; } = [];
public List<BarTypeEsDto> BarTypes { get; set; } = [];
public List<PlaceSelectedBrandApiDto> Brands { get; set; } = [];
public List<CuisineEsDto> Cuisines { get; set; } = [];
public List<MealTypeApiDto> MealTypes { get; set; } = [];
public List<ParkingApiDto> Parking { get; set; } = [];
public List<PaymentOptionApiDto> PaymentOptions { get; set; } = [];
public List<EatingSuitabilityApiDto> EatingSuitabilities { get; set; } = [];
public List<TakeAwayApiDto> TakeAways { get; set; } = [];
public List<WearPriceProfileEsDto> WearPriceProfiles { get; set; } = [];
public List<MenuEsDto> Menus { get; set; } = [];
public ImageUrls? LogoUrl { get; set; }
public ImageUrls? ImageUrl { 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 PlaceBasicApiDto? Mall { get; set; }
public PriceMainDishApiDto? PriceMainDish { get; set; }
public List<PlaceBasicApiDto>? Places { get; set; } = [];
public List<MallOtherServiceApiDto>? OtherServices { get; set; } = [];
public string? Floor { get; set; }
public TimeZoneDto TimeZoneDto { get; set; }
public long? BusinessId { get; set; }
public PlaceContact Contact { get; set; }
public PlaceAddress Address { 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 TakeAwayApiDto
{
public string Label { get; set; }
public string Slug { get; set; }
}
public partial class WearPriceProfileEsDto
{
public string Slug { get; set; }
public string Label { 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# FindBoundedMapPlacesRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/FindBoundedMapPlacesRequest HTTP/1.1
Host: 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
}
],
placesWithDisplayLocation:
[
{
place:
{
id: 0,
overview: String,
name: String,
longitude: 0,
latitude: 0,
claimed: False,
organizationNumber: String,
countryCode: String,
placeState: String,
followersCount: 0,
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
}
}
},
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
}
]
}
]
}
],
featureData:
[
{
slug: BarSpeciality,
label: String
}
],
barSpecialities:
[
{
slug: String,
title: String
}
],
barTypes:
[
{
slug: String,
title: String
}
],
brands:
[
{
brand:
{
name: String
},
categoryAbsoluteSlugs:
[
String
],
placeCustomBrand:
{
name: String
}
}
],
cuisines:
[
{
label: String,
slug: String
}
],
mealTypes:
[
{
label: String,
slug: String
}
],
parking:
[
{
label: String,
slug: StreetParking
}
],
paymentOptions:
[
{
label: String,
slug: Visa
}
],
eatingSuitabilities:
[
{
label: String,
slug: String
}
],
takeAways:
[
{
label: String,
slug: String
}
],
wearPriceProfiles:
[
{
slug: String,
label: String
}
],
menus:
[
{
name: String,
url: String,
position: 0
}
],
logoUrl:
{
preview: String,
small: String,
medium: String,
large: String
},
imageUrl:
{
preview: String,
small: String,
medium: String,
large: String
},
wheelchairAccessible: False,
wifi: False,
outdoorSeating: False,
saveFoodAndMoney: False,
placeType: Mall,
mall:
{
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
},
priceMainDish:
{
title: String,
slug: Value
},
places:
[
{
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
}
],
otherServices:
[
{
serviceName: String,
floor: String
}
],
floor: String,
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
}
},
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
}
]
}
]
}
],
adMessageCount: 0,
adMessageSaveFoodAndMoneyCount: 0
}