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.

export module ConsumerApi
{
    // @ts-nocheck

    export class SharingUser
    {
        public firstName: string;
        public lastName: string;
        public profilePhotoUrl?: string;

        public constructor(init?: Partial<SharingUser>) { (Object as any).assign(this, init); }
    }

    export class OpeningHour
    {
        public openAtHour?: number;
        public openAtMinute?: number;
        public closeAtHour?: number;
        public closeAtMinute?: number;

        public constructor(init?: Partial<OpeningHour>) { (Object as any).assign(this, init); }
    }

    export class WeeklyOpeningHours
    {
        public monday?: OpeningHour;
        public tuesday?: OpeningHour;
        public wednesday?: OpeningHour;
        public thursday?: OpeningHour;
        public friday?: OpeningHour;
        public saturday?: OpeningHour;
        public sunday?: OpeningHour;

        public constructor(init?: Partial<WeeklyOpeningHours>) { (Object as any).assign(this, init); }
    }

    export class OpeningHours
    {
        public weekly: WeeklyOpeningHours;

        public constructor(init?: Partial<OpeningHours>) { (Object as any).assign(this, init); }
    }

    export class CategoryTreeApiDto
    {
        public name: string;
        public slug: string;
        public absoluteSlug: string;
        public imageUrl?: string;
        public allImageUrl?: string;
        public iconImageUrl?: string;
        public position?: number;
        public children?: CategoryTreeApiDto[] = [];

        public constructor(init?: Partial<CategoryTreeApiDto>) { (Object as any).assign(this, init); }
    }

    export enum FeatureType
    {
        BarSpeciality = 'BarSpeciality',
        BarType = 'BarType',
        Cuisine = 'Cuisine',
        SaveFoodAndMoney = 'SaveFoodAndMoney',
        MealType = 'MealType',
        Menu = 'Menu',
        OutdoorSeating = 'OutdoorSeating',
        Parking = 'Parking',
        PaymentOptions = 'PaymentOptions',
        PriceMainDish = 'PriceMainDish',
        SubCategories = 'SubCategories',
        SubCategoriesAndBrands = 'SubCategoriesAndBrands',
        EatingSuitabilities = 'EatingSuitabilities',
        TakeAway = 'TakeAway',
        WearPriceProfile = 'WearPriceProfile',
        WheelChairAccessible = 'WheelChairAccessible',
        Wifi = 'Wifi',
        WebShop = 'WebShop',
        Filtering = 'Filtering',
    }

    export class IndividualFeatureDataApiDto
    {
        public slug?: FeatureType;
        public label: string;

        public constructor(init?: Partial<IndividualFeatureDataApiDto>) { (Object as any).assign(this, init); }
    }

    export class BarSpecialityEsDto
    {
        public slug: string;
        public title: string;

        public constructor(init?: Partial<BarSpecialityEsDto>) { (Object as any).assign(this, init); }
    }

    export class BarTypeEsDto
    {
        public slug: string;
        public title: string;

        public constructor(init?: Partial<BarTypeEsDto>) { (Object as any).assign(this, init); }
    }

    export class BrandApiDto
    {
        public name: string;

        public constructor(init?: Partial<BrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceCustomBrandApiDto
    {
        public name: string;

        public constructor(init?: Partial<PlaceCustomBrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceSelectedBrandApiDto
    {
        public brand?: BrandApiDto;
        public categoryAbsoluteSlugs?: string[] = [];
        public placeCustomBrand?: PlaceCustomBrandApiDto;

        public constructor(init?: Partial<PlaceSelectedBrandApiDto>) { (Object as any).assign(this, init); }
    }

    export class CuisineEsDto
    {
        public label: string;
        public slug: string;

        public constructor(init?: Partial<CuisineEsDto>) { (Object as any).assign(this, init); }
    }

    export class MealTypeApiDto
    {
        public label: string;
        public slug: string;

        public constructor(init?: Partial<MealTypeApiDto>) { (Object as any).assign(this, init); }
    }

    export enum Parking
    {
        StreetParking = 'StreetParking',
        ParkingGarageNearby = 'ParkingGarageNearby',
    }

    export class ParkingApiDto
    {
        public label: string;
        public slug?: Parking;

        public constructor(init?: Partial<ParkingApiDto>) { (Object as any).assign(this, init); }
    }

    export enum PaymentOption
    {
        Visa = 'Visa',
        MasterCard = 'MasterCard',
        AmericanExpress = 'AmericanExpress',
        Diners = 'Diners',
        Vipps = 'Vipps',
    }

    export class PaymentOptionApiDto
    {
        public label: string;
        public slug?: PaymentOption;

        public constructor(init?: Partial<PaymentOptionApiDto>) { (Object as any).assign(this, init); }
    }

    export class EatingSuitabilityApiDto
    {
        public label: string;
        public slug: string;

        public constructor(init?: Partial<EatingSuitabilityApiDto>) { (Object as any).assign(this, init); }
    }

    export class TakeAwayApiDto
    {
        public label: string;
        public slug: string;

        public constructor(init?: Partial<TakeAwayApiDto>) { (Object as any).assign(this, init); }
    }

    export class WearPriceProfileEsDto
    {
        public slug: string;
        public label: string;

        public constructor(init?: Partial<WearPriceProfileEsDto>) { (Object as any).assign(this, init); }
    }

    export class MenuEsDto
    {
        public name: string;
        public url: string;
        public position?: number;

        public constructor(init?: Partial<MenuEsDto>) { (Object as any).assign(this, init); }
    }

    export class ImageUrls
    {
        public preview: string;
        public small: string;
        public medium: string;
        public large: string;

        public constructor(init?: Partial<ImageUrls>) { (Object as any).assign(this, init); }
    }

    export enum PlaceType
    {
        Mall = 'Mall',
        Regular = 'Regular',
    }

    export enum PriceMainDish
    {
        Value = 'Value',
        Medium = 'Medium',
        High = 'High',
        FineDining = 'FineDining',
    }

    export class PriceMainDishApiDto
    {
        public title: string;
        public slug?: PriceMainDish;

        public constructor(init?: Partial<PriceMainDishApiDto>) { (Object as any).assign(this, init); }
    }

    export class TimeZoneDto
    {
        public baseUtcOffset?: string;
        public daylightName: string;
        public displayName: string;
        public id: string;
        public standardName: string;
        public supportsDaylightSavingTime?: boolean;

        public constructor(init?: Partial<TimeZoneDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceContact
    {
        public phone?: string;
        public email?: string;
        public website?: string;
        public webShop?: string;

        public constructor(init?: Partial<PlaceContact>) { (Object as any).assign(this, init); }
    }

    export class PlaceAddress
    {
        public street: string;
        public postalCode: string;
        public region: string;
        public countryCode: string;

        public constructor(init?: Partial<PlaceAddress>) { (Object as any).assign(this, init); }
    }

    export class PlaceBasicApiDto
    {
        public id?: number;
        public guid?: string;
        public overview?: string;
        public name: string;
        public longitude?: number;
        public latitude?: number;
        public claimed?: boolean;
        public organizationNumber?: string;
        public countryCode: string;
        public openingHours?: OpeningHours;
        public wheelchairAccessible?: boolean;
        public wifi?: boolean;
        public outdoorSeating?: boolean;
        public saveFoodAndMoney?: boolean;
        public placeType?: PlaceType;
        public priceMainDish?: PriceMainDishApiDto;
        public timeZoneDto: TimeZoneDto;
        public businessId?: number;
        public contact: PlaceContact;
        public address: PlaceAddress;
        public categories: CategoryTreeApiDto[] = [];
        public logoUrl?: ImageUrls;
        public imageUrl?: ImageUrls;
        public wearPriceProfiles: WearPriceProfileEsDto[] = [];
        public brands: PlaceSelectedBrandApiDto[] = [];
        public floor?: string;

        public constructor(init?: Partial<PlaceBasicApiDto>) { (Object as any).assign(this, init); }
    }

    export class MallOtherServiceApiDto
    {
        public serviceName: string;
        public floor: string;

        public constructor(init?: Partial<MallOtherServiceApiDto>) { (Object as any).assign(this, init); }
    }

    export class PlaceApiDto
    {
        public id?: number;
        public guid?: string;
        public overview?: string;
        public name: string;
        public longitude?: number;
        public latitude?: number;
        public claimed?: boolean;
        public organizationNumber?: string;
        public countryCode: string;
        public placeState: string;
        public followersCount?: number;
        public openingHours?: OpeningHours;
        public categories: CategoryTreeApiDto[] = [];
        public featureData: IndividualFeatureDataApiDto[] = [];
        public barSpecialities: BarSpecialityEsDto[] = [];
        public barTypes: BarTypeEsDto[] = [];
        public brands: PlaceSelectedBrandApiDto[] = [];
        public cuisines: CuisineEsDto[] = [];
        public mealTypes: MealTypeApiDto[] = [];
        public parking: ParkingApiDto[] = [];
        public paymentOptions: PaymentOptionApiDto[] = [];
        public eatingSuitabilities: EatingSuitabilityApiDto[] = [];
        public takeAways: TakeAwayApiDto[] = [];
        public wearPriceProfiles: WearPriceProfileEsDto[] = [];
        public menus: MenuEsDto[] = [];
        public logoUrl?: ImageUrls;
        public imageUrl?: ImageUrls;
        public wheelchairAccessible?: boolean;
        public wifi?: boolean;
        public outdoorSeating?: boolean;
        public saveFoodAndMoney?: boolean;
        public placeType?: PlaceType;
        public mall?: PlaceBasicApiDto;
        public priceMainDish?: PriceMainDishApiDto;
        public places?: PlaceBasicApiDto[] = [];
        public otherServices?: MallOtherServiceApiDto[] = [];
        public floor?: string;
        public timeZoneDto: TimeZoneDto;
        public businessId?: number;
        public contact: PlaceContact;
        public address: PlaceAddress;

        public constructor(init?: Partial<PlaceApiDto>) { (Object as any).assign(this, init); }
    }

    export enum SharingState
    {
        Teaser = 'Teaser',
        Awarded = 'Awarded',
        SelfShare = 'SelfShare',
        Expired = 'Expired',
    }

    export class SharePlaceLinkUsedResponse
    {
        public sharingUser?: SharingUser;
        public place?: PlaceApiDto;
        public state?: SharingState;

        public constructor(init?: Partial<SharePlaceLinkUsedResponse>) { (Object as any).assign(this, init); }
    }

    export enum Locale
    {
        EnUs = 'EnUs',
        NbNo = 'NbNo',
    }

    export class SharePlaceLinkUsedRequest implements IPost
    {
        public sharePlaceToken: string;
        public locale?: Locale;

        public constructor(init?: Partial<SharePlaceLinkUsedRequest>) { (Object as any).assign(this, init); }
    }

}

TypeScript 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
}