| Required role: | Consumer |
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
enum class Parking
{
StreetParking,
ParkingGarageNearby,
}
enum class PaymentOption
{
Visa,
MasterCard,
AmericanExpress,
Diners,
Vipps,
}
enum class PriceMainDish
{
Value,
Medium,
High,
FineDining,
}
open class OpenAtTimeDto
{
open var weekDay:DayOfWeek? = null
open var hour:Int? = null
open var minute:Int? = null
}
enum class DayOfWeek
{
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
}
open class AdMessageDto
{
open var id:Long? = null
open var guid:UUID? = null
open var title:String? = null
open var startAt:Date? = null
open var stopAt:Date? = null
open var publishAt:Date? = null
open var imageUrls:ArrayList<ImageUrls> = ArrayList<ImageUrls>()
open var place:PlaceBasicApiDto? = null
open var detailsUnion:AdMessageDetailsUnion? = null
open var starredCount:Long? = null
}
open class ImageUrls
{
open var preview:String? = null
open var small:String? = null
open var medium:String? = null
open var large:String? = null
}
open class PlaceBasicApiDto
{
open var id:Long? = null
open var guid:UUID? = null
open var overview:String? = null
open var name:String? = null
open var longitude:Float? = null
open var latitude:Float? = null
open var claimed:Boolean? = null
open var organizationNumber:String? = null
open var countryCode:String? = null
open var openingHours:OpeningHours? = null
open var wheelchairAccessible:Boolean? = null
open var wifi:Boolean? = null
open var outdoorSeating:Boolean? = null
open var saveFoodAndMoney:Boolean? = null
open var placeType:PlaceType? = null
open var priceMainDish:PriceMainDishApiDto? = null
open var timeZoneDto:TimeZoneDto? = null
open var businessId:Long? = null
open var contact:PlaceContact? = null
open var address:PlaceAddress? = null
open var categories:ArrayList<CategoryTreeApiDto> = ArrayList<CategoryTreeApiDto>()
open var logoUrl:ImageUrls? = null
open var imageUrl:ImageUrls? = null
open var wearPriceProfiles:ArrayList<WearPriceProfileEsDto> = ArrayList<WearPriceProfileEsDto>()
open var brands:ArrayList<PlaceSelectedBrandApiDto> = ArrayList<PlaceSelectedBrandApiDto>()
open var floor:String? = null
}
open class OpeningHours
{
open var weekly:WeeklyOpeningHours? = null
}
open class WeeklyOpeningHours
{
open var monday:OpeningHour? = null
open var tuesday:OpeningHour? = null
open var wednesday:OpeningHour? = null
open var thursday:OpeningHour? = null
open var friday:OpeningHour? = null
open var saturday:OpeningHour? = null
open var sunday:OpeningHour? = null
}
open class OpeningHour
{
open var openAtHour:Int? = null
open var openAtMinute:Int? = null
open var closeAtHour:Int? = null
open var closeAtMinute:Int? = null
}
enum class PlaceType
{
Mall,
Regular,
}
open class PriceMainDishApiDto
{
open var title:String? = null
open var slug:PriceMainDish? = null
}
open class TimeZoneDto
{
open var baseUtcOffset:TimeSpan? = null
open var daylightName:String? = null
open var displayName:String? = null
open var id:String? = null
open var standardName:String? = null
open var supportsDaylightSavingTime:Boolean? = null
}
open class PlaceContact
{
open var phone:String? = null
open var email:String? = null
open var website:String? = null
open var webShop:String? = null
}
open class PlaceAddress
{
open var street:String? = null
open var postalCode:String? = null
open var region:String? = null
open var countryCode:String? = null
}
open class CategoryTreeApiDto
{
open var name:String? = null
open var slug:String? = null
open var absoluteSlug:String? = null
open var imageUrl:String? = null
open var allImageUrl:String? = null
open var iconImageUrl:String? = null
open var position:Int? = null
open var children:ArrayList<CategoryTreeApiDto> = ArrayList<CategoryTreeApiDto>()
}
open class WearPriceProfileEsDto
{
open var slug:String? = null
open var label:String? = null
}
open class PlaceSelectedBrandApiDto
{
open var brand:BrandApiDto? = null
open var categoryAbsoluteSlugs:ArrayList<String> = ArrayList<String>()
open var placeCustomBrand:PlaceCustomBrandApiDto? = null
}
open class BrandApiDto
{
open var name:String? = null
}
open class PlaceCustomBrandApiDto
{
open var name:String? = null
}
open class AdMessageDetailsUnion
{
open var percentageOnAllMerchandise:AdMessageDetailsPercentageDiscountOnAllMerchandise? = null
open var percentageRangeOnAllMerchandise:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise? = null
open var percentageOnSelectedMerchandise:AdMessageDetailsPercentageDiscountOnSelectedMerchandise? = null
open var absoluteOnSelectedMerchandise:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise? = null
open var absoluteRangeOnAllMerchandise:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise? = null
open var totalAmountOverXgivesYdiscount:AdMessageDetailsTotalAmountOverXgivesYdiscount? = null
open var xforY:AdMessageDetailsXforYdiscount? = null
open var newArrivals:AdMessageDetailsNewArrivals? = null
open var freetext:AdMessageDetailsFreetext? = null
open var todaysBreakFastOffer:AdMessageDetailsTodaysBreakFastOffer? = null
open var todaysLunchOffer:AdMessageDetailsTodaysLunchOffer? = null
open var todaysDinnerOffer:AdMessageDetailsTodaysDinnerOffer? = null
open var saveFoodAndMoney:AdMessageDetailsSaveFoodAndMoney? = null
open var percentageOfYourFoodBill:AdMessageDetailsPercentageOffYourFoodBill? = null
open var happyHour:AdMessageDetailsHappyHour? = null
open var someFreeTablesLeftToday:AdMessageDetailsSomeFreeTablesLeftToday? = null
open var twoDishesForThePriceOfOne:AdMessageDetailsTwoDishesForThePriceOfOne? = null
}
open class AdMessageDetailsPercentageDiscountOnAllMerchandise : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsBase
{
open var description:String? = null
open var moreInformation:ArrayList<String> = ArrayList<String>()
}
open class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise : AdMessageDetailsBase()
{
open var start:Double? = null
open var stop:Double? = null
}
open class AdMessageDetailsPercentageDiscountOnSelectedMerchandise : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise : AdMessageDetailsBase()
{
open var start:Double? = null
open var stop:Double? = null
}
open class AdMessageDetailsTotalAmountOverXgivesYdiscount : AdMessageDetailsBase()
{
open var ifTotalAmountMoreThanX:Double? = null
open var thenYouGetDiscountPercentageY:Double? = null
}
open class AdMessageDetailsXforYdiscount : AdMessageDetailsBase()
{
open var ifYouBuyX:Int? = null
open var thenYouGetY:Int? = null
}
open class AdMessageDetailsNewArrivals : AdMessageDetailsBase()
{
}
open class AdMessageDetailsFreetext : AdMessageDetailsBase()
{
open var title:String? = null
}
open class AdMessageDetailsTodaysBreakFastOffer : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsTodaysLunchOffer : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsTodaysDinnerOffer : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsSaveFoodAndMoney : AdMessageDetailsBase()
{
open var value:Double? = null
}
open class AdMessageDetailsPercentageOffYourFoodBill : AdMessageDetailsBase()
{
open var percentage:Double? = null
}
open class AdMessageDetailsHappyHour : AdMessageDetailsBase()
{
}
open class AdMessageDetailsSomeFreeTablesLeftToday : AdMessageDetailsBase()
{
}
open class AdMessageDetailsTwoDishesForThePriceOfOne : AdMessageDetailsBase()
{
}
enum class FeatureType
{
BarSpeciality,
BarType,
Cuisine,
SaveFoodAndMoney,
MealType,
Menu,
OutdoorSeating,
Parking,
PaymentOptions,
PriceMainDish,
SubCategories,
SubCategoriesAndBrands,
EatingSuitabilities,
TakeAway,
WearPriceProfile,
WheelChairAccessible,
Wifi,
WebShop,
Filtering,
}
Kotlin FindBoundedMapAdMessagesRequest 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/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
}