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 PlaceApiDto
{
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 placeState:String? = null
open var followersCount:Long? = null
open var openingHours:OpeningHours? = null
open var categories:ArrayList<CategoryTreeApiDto> = ArrayList<CategoryTreeApiDto>()
open var featureData:ArrayList<IndividualFeatureDataApiDto> = ArrayList<IndividualFeatureDataApiDto>()
open var barSpecialities:ArrayList<BarSpecialityEsDto> = ArrayList<BarSpecialityEsDto>()
open var barTypes:ArrayList<BarTypeEsDto> = ArrayList<BarTypeEsDto>()
open var brands:ArrayList<PlaceSelectedBrandApiDto> = ArrayList<PlaceSelectedBrandApiDto>()
open var cuisines:ArrayList<CuisineEsDto> = ArrayList<CuisineEsDto>()
open var mealTypes:ArrayList<MealTypeApiDto> = ArrayList<MealTypeApiDto>()
open var parking:ArrayList<ParkingApiDto> = ArrayList<ParkingApiDto>()
open var paymentOptions:ArrayList<PaymentOptionApiDto> = ArrayList<PaymentOptionApiDto>()
open var eatingSuitabilities:ArrayList<EatingSuitabilityApiDto> = ArrayList<EatingSuitabilityApiDto>()
open var takeAways:ArrayList<TakeAwayApiDto> = ArrayList<TakeAwayApiDto>()
open var wearPriceProfiles:ArrayList<WearPriceProfileEsDto> = ArrayList<WearPriceProfileEsDto>()
open var menus:ArrayList<MenuEsDto> = ArrayList<MenuEsDto>()
open var logoUrl:ImageUrls? = null
open var imageUrl:ImageUrls? = 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 mall:PlaceBasicApiDto? = null
open var priceMainDish:PriceMainDishApiDto? = null
open var places:ArrayList<PlaceBasicApiDto> = ArrayList<PlaceBasicApiDto>()
open var otherServices:ArrayList<MallOtherServiceApiDto> = ArrayList<MallOtherServiceApiDto>()
open var floor:String? = null
open var timeZoneDto:TimeZoneDto? = null
open var businessId:Long? = null
open var contact:PlaceContact? = null
open var address:PlaceAddress? = 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
}
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 IndividualFeatureDataApiDto
{
open var slug:FeatureType? = null
open var label:String? = null
}
enum class FeatureType
{
BarSpeciality,
BarType,
Cuisine,
SaveFoodAndMoney,
MealType,
Menu,
OutdoorSeating,
Parking,
PaymentOptions,
PriceMainDish,
SubCategories,
SubCategoriesAndBrands,
EatingSuitabilities,
TakeAway,
WearPriceProfile,
WheelChairAccessible,
Wifi,
WebShop,
Filtering,
}
open class BarSpecialityEsDto
{
open var slug:String? = null
open var title:String? = null
}
open class BarTypeEsDto
{
open var slug:String? = null
open var title: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 CuisineEsDto
{
open var label:String? = null
open var slug:String? = null
}
open class MealTypeApiDto
{
open var label:String? = null
open var slug:String? = null
}
open class ParkingApiDto
{
open var label:String? = null
open var slug:Parking? = null
}
open class PaymentOptionApiDto
{
open var label:String? = null
open var slug:PaymentOption? = null
}
open class EatingSuitabilityApiDto
{
open var label:String? = null
open var slug:String? = null
}
open class TakeAwayApiDto
{
open var label:String? = null
open var slug:String? = null
}
open class WearPriceProfileEsDto
{
open var slug:String? = null
open var label:String? = null
}
open class MenuEsDto
{
open var name:String? = null
open var url:String? = null
open var position:Int? = null
}
open class ImageUrls
{
open var preview:String? = null
open var small:String? = null
open var medium:String? = null
open var large:String? = null
}
enum class PlaceType
{
Mall,
Regular,
}
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 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 MallOtherServiceApiDto
{
open var serviceName:String? = null
open var floor:String? = null
}
Kotlin 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: 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 } ], 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 }