BusinessApi

<back to all web services

GetPlaceBootstrapRequest

Business
Requires Authentication
Required role:Business
The following routes are available for this service:
GET/place/getbootstrap
namespace BusinessApi

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<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

    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 BarSpecialityDto() = 
        member val Id:Int64 = new Int64() with get,set
        member val Slug:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type BarTypeDto() = 
        member val Id:Int64 = new Int64() with get,set
        member val Slug:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type CuisineDto() = 
        member val Id:Int64 = new Int64() with get,set
        member val Label:String = null with get,set
        member val Slug:String = null with get,set

    type Parking =
        | StreetParking = 0
        | ParkingGarageNearby = 1

    type PaymentOption =
        | Visa = 0
        | MasterCard = 1
        | AmericanExpress = 2
        | Diners = 3
        | Vipps = 4

    [<AllowNullLiteral>]
    type EatingSuitability() = 
        member val Id:Int64 = new Int64() with get,set
        member val Label:String = null with get,set
        member val Slug:String = null with get,set
        member val Position:Int32 = new Int32() with get,set
        member val CreatedAt:DateTimeOffset = new DateTimeOffset() with get,set
        member val UpdatedAt:DateTimeOffset = new DateTimeOffset() with get,set

    type PlaceType =
        | Mall = 0
        | Regular = 1

    [<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 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

    type PriceMainDish =
        | Value = 0
        | Medium = 1
        | High = 2
        | FineDining = 3

    [<AllowNullLiteral>]
    type PriceMainDishDto() = 
        member val Title:String = null with get,set
        member val Slug:PriceMainDish = new PriceMainDish() with get,set

    type BusinessRole =
        | Owner = 0
        | Manager = 1
        | Sales = 2
        | Marketing = 3
        | Other = 4

F# GetPlaceBootstrapRequest 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.

GET /place/getbootstrap HTTP/1.1 
Host: business-api.brovs.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	getPlaceResponse: 
	{
		place: 
		{
			id: 0,
			name: String,
			longitude: 0,
			latitude: 0,
			claimed: False,
			organizationNumber: String,
			countryCode: String,
			overview: 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
					}
				}
			},
			featureData: 
			[
				{
					slug: BarSpeciality,
					label: String
				}
			],
			categories: 
			[
				{
					id: 0,
					slug: String,
					absoluteSlug: String,
					name: String,
					children: 
					[
						{
							id: 0,
							slug: String,
							absoluteSlug: String,
							name: String,
							children: 
							[
								{
									id: 0,
									slug: String,
									absoluteSlug: String,
									name: String,
									featureTypes: 
									[
										{
											slug: BarSpeciality,
											label: String
										}
									]
								}
							],
							featureTypes: 
							[
								{
									slug: BarSpeciality,
									label: String
								}
							]
						}
					],
					featureTypes: 
					[
						{
							slug: BarSpeciality,
							label: String
						}
					]
				}
			],
			rootCategory: 
			{
				id: 0,
				slug: String,
				absoluteSlug: String,
				name: String,
				parentId: 0
			},
			menus: 
			[
				{
					id: 0,
					name: String,
					url: String,
					position: 0
				}
			],
			barSpecialities: 
			[
				{
					id: 0,
					slug: String,
					title: String
				}
			],
			barTypes: 
			[
				{
					id: 0,
					slug: String,
					title: String
				}
			],
			brands: 
			[
				{
					id: 0,
					brand: 
					{
						id: 0,
						definedByRootCategoryId: 0,
						name: String
					},
					category: 
					{
						id: 0,
						slug: String,
						absoluteSlug: String,
						name: String,
						parentId: 0
					},
					placeCustomBrand: 
					{
						id: 0,
						definedByPlaceId: 0,
						name: String
					}
				}
			],
			cuisines: 
			[
				{
					id: 0,
					label: String,
					slug: String
				}
			],
			mealTypes: 
			[
				{
					id: 0,
					label: String,
					slug: String,
					position: 0
				}
			],
			parking: 
			[
				{
					label: String,
					slug: StreetParking
				}
			],
			paymentOptions: 
			[
				{
					label: String,
					slug: Visa
				}
			],
			eatingSuitabilities: 
			[
				{
					label: String,
					slug: 
					{
						id: 0,
						label: String,
						slug: String,
						position: 0,
						createdAt: 0001-01-01T00:00:00.0000000+00:00,
						updatedAt: 0001-01-01T00:00:00.0000000+00:00
					}
				}
			],
			takeAways: 
			[
				{
					id: 0,
					label: String,
					slug: String,
					position: 0
				}
			],
			wearPriceProfiles: 
			[
				{
					id: 0,
					label: String,
					slug: String
				}
			],
			wheelChairAccessible: False,
			wifi: False,
			outdoorSeating: False,
			saveFoodAndMoney: False,
			logoUrl: String,
			customImageUrl: String,
			categoryImageUrl: String,
			placeType: Mall,
			places: 
			[
				{
					id: 0,
					name: String,
					businessId: 0,
					longitude: 0,
					latitude: 0,
					claimed: False,
					organizationNumber: String,
					countryCode: String,
					overview: 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
							}
						}
					},
					placeType: Mall,
					contact: 
					{
						phone: String,
						email: String,
						website: String,
						webShop: String
					},
					address: 
					{
						street: String,
						postalCode: String,
						region: String,
						countryCode: String
					},
					wheelChairAccessible: False,
					wifi: False,
					outdoorSeating: False,
					saveFoodAndMoney: False,
					timeZoneDto: 
					{
						baseUtcOffset: PT0S,
						daylightName: String,
						displayName: String,
						id: String,
						standardName: String,
						supportsDaylightSavingTime: False
					},
					priceMainDish: 
					{
						title: String,
						slug: Value
					},
					otherServices: 
					[
						{
							id: 0,
							serviceName: String,
							floor: String
						}
					],
					floor: String
				}
			],
			otherServices: 
			[
				{
					id: 0,
					serviceName: String,
					floor: String
				}
			],
			mall: 
			{
				id: 0,
				name: String,
				businessId: 0,
				longitude: 0,
				latitude: 0,
				claimed: False,
				organizationNumber: String,
				countryCode: String,
				overview: 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
						}
					}
				},
				placeType: Mall,
				contact: 
				{
					phone: String,
					email: String,
					website: String,
					webShop: String
				},
				address: 
				{
					street: String,
					postalCode: String,
					region: String,
					countryCode: String
				},
				wheelChairAccessible: False,
				wifi: False,
				outdoorSeating: False,
				saveFoodAndMoney: False,
				timeZoneDto: 
				{
					baseUtcOffset: PT0S,
					daylightName: String,
					displayName: String,
					id: String,
					standardName: String,
					supportsDaylightSavingTime: False
				},
				priceMainDish: 
				{
					title: String,
					slug: Value
				},
				otherServices: 
				[
					{
						id: 0,
						serviceName: String,
						floor: 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
			},
			priceMainDish: 
			{
				title: String,
				slug: Value
			}
		}
	},
	getStaffUserResponse: 
	{
		staffDto: 
		{
			id: 0,
			firstName: String,
			lastName: String,
			email: String,
			role: Owner,
			placeId: 0,
			businessId: 0,
			userId: 0,
			placeName: String,
			businessName: String,
			mobileNumber: String,
			businessRole: Owner,
			lastActiveOn: 0001-01-01T00:00:00.0000000+00:00
		}
	},
	getPlaceCountersResponse: 
	{
		adMessagesDraftCount: 0,
		adMessagesUpcomingCount: 0,
		adMessagesRunningCount: 0
	},
	thisIsTheLastOwnerAndDeleteWillUnclaimThePlace: False
}