ConsumerApi

<back to all web services

SharePlaceLinkUsedRequest

Consumer
The following routes are available for this service:
POST/share/share-place-link-usedA share place link was usedValidates the JWT token with the identity of the sharing user and the shared place and returns relevant information.
namespace ConsumerApi

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

    [<AllowNullLiteral>]
    type SharingUser() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val ProfilePhotoUrl:String = null 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

    type Parking =
        | StreetParking = 0
        | ParkingGarageNearby = 1

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

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

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

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

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

    type SharingState =
        | Teaser = 0
        | Awarded = 1
        | SelfShare = 2
        | Expired = 3

    [<AllowNullLiteral>]
    type SharePlaceLinkUsedResponse() = 
        member val SharingUser:SharingUser = null with get,set
        member val Place:PlaceApiDto = null with get,set
        member val State:SharingState = new SharingState() with get,set

    type Locale =
        | EnUs = 0
        | NbNo = 1

    [<AllowNullLiteral>]
    type SharePlaceLinkUsedRequest() = 
        interface IPost
        member val SharePlaceToken:String = null with get,set
        member val Locale:Nullable<Locale> = new Nullable<Locale>() with get,set

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

POST /share/share-place-link-used HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	sharePlaceToken: String,
	locale: EnUs
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	sharingUser: 
	{
		firstName: String,
		lastName: String,
		profilePhotoUrl: String
	},
	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
		}
	},
	state: Teaser
}