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 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
[<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
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
[<AllowNullLiteral>]
type IndividualFeatureDataApiDto() =
member val Slug:FeatureType = new FeatureType() with get,set
member val Label:String = null with get,set
[<AllowNullLiteral>]
type BarSpecialityEsDto() =
member val Slug:String = null with get,set
member val Title:String = null with get,set
[<AllowNullLiteral>]
type BarTypeEsDto() =
member val Slug:String = null with get,set
member val Title: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 CuisineEsDto() =
member val Label:String = null with get,set
member val Slug:String = null with get,set
[<AllowNullLiteral>]
type MealTypeApiDto() =
member val Label:String = null with get,set
member val Slug:String = null with get,set
[<AllowNullLiteral>]
type ParkingApiDto() =
member val Label:String = null with get,set
member val Slug:Parking = new Parking() with get,set
[<AllowNullLiteral>]
type PaymentOptionApiDto() =
member val Label:String = null with get,set
member val Slug:PaymentOption = new PaymentOption() with get,set
[<AllowNullLiteral>]
type EatingSuitabilityApiDto() =
member val Label:String = null with get,set
member val Slug:String = null with get,set
[<AllowNullLiteral>]
type TakeAwayApiDto() =
member val Label:String = null with get,set
member val Slug:String = null with get,set
[<AllowNullLiteral>]
type WearPriceProfileEsDto() =
member val Slug:String = null with get,set
member val Label:String = null with get,set
[<AllowNullLiteral>]
type MenuEsDto() =
member val Name:String = null with get,set
member val Url:String = null with get,set
member val Position: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
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 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 MallOtherServiceApiDto() =
member val ServiceName:String = null with get,set
member val Floor:String = null with get,set
[<AllowNullLiteral>]
type PlaceApiDto() =
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 PlaceState:String = null with get,set
member val FollowersCount:Int64 = new Int64() with get,set
member val OpeningHours:OpeningHours = null with get,set
member val Categories:ResizeArray<CategoryTreeApiDto> = new ResizeArray<CategoryTreeApiDto>() with get,set
member val FeatureData:ResizeArray<IndividualFeatureDataApiDto> = new ResizeArray<IndividualFeatureDataApiDto>() with get,set
member val BarSpecialities:ResizeArray<BarSpecialityEsDto> = new ResizeArray<BarSpecialityEsDto>() with get,set
member val BarTypes:ResizeArray<BarTypeEsDto> = new ResizeArray<BarTypeEsDto>() with get,set
member val Brands:ResizeArray<PlaceSelectedBrandApiDto> = new ResizeArray<PlaceSelectedBrandApiDto>() with get,set
member val Cuisines:ResizeArray<CuisineEsDto> = new ResizeArray<CuisineEsDto>() with get,set
member val MealTypes:ResizeArray<MealTypeApiDto> = new ResizeArray<MealTypeApiDto>() with get,set
member val Parking:ResizeArray<ParkingApiDto> = new ResizeArray<ParkingApiDto>() with get,set
member val PaymentOptions:ResizeArray<PaymentOptionApiDto> = new ResizeArray<PaymentOptionApiDto>() with get,set
member val EatingSuitabilities:ResizeArray<EatingSuitabilityApiDto> = new ResizeArray<EatingSuitabilityApiDto>() with get,set
member val TakeAways:ResizeArray<TakeAwayApiDto> = new ResizeArray<TakeAwayApiDto>() with get,set
member val WearPriceProfiles:ResizeArray<WearPriceProfileEsDto> = new ResizeArray<WearPriceProfileEsDto>() with get,set
member val Menus:ResizeArray<MenuEsDto> = new ResizeArray<MenuEsDto>() with get,set
member val LogoUrl:ImageUrls = null with get,set
member val ImageUrl:ImageUrls = 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 Mall:PlaceBasicApiDto = null with get,set
member val PriceMainDish:PriceMainDishApiDto = null with get,set
member val Places:ResizeArray<PlaceBasicApiDto> = new ResizeArray<PlaceBasicApiDto>() with get,set
member val OtherServices:ResizeArray<MallOtherServiceApiDto> = new ResizeArray<MallOtherServiceApiDto>() with get,set
member val Floor:String = 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
F# 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 }