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.
import Foundation
import ServiceStack

public class SharePlaceLinkUsedRequest : IPost, Codable
{
    public var sharePlaceToken:String
    public var locale:Locale?

    required public init(){}
}

public enum Locale : String, Codable
{
    case EnUs
    case NbNo
}

public class SharePlaceLinkUsedResponse : Codable
{
    public var sharingUser:SharingUser
    public var place:PlaceApiDto
    public var state:SharingState

    required public init(){}
}

public class SharingUser : Codable
{
    public var firstName:String
    public var lastName:String
    public var profilePhotoUrl:String

    required public init(){}
}

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

    required public init(){}
}

public class OpeningHours : Codable
{
    public var weekly:WeeklyOpeningHours

    required public init(){}
}

public class WeeklyOpeningHours : Codable
{
    public var monday:OpeningHour
    public var tuesday:OpeningHour
    public var wednesday:OpeningHour
    public var thursday:OpeningHour
    public var friday:OpeningHour
    public var saturday:OpeningHour
    public var sunday:OpeningHour

    required public init(){}
}

public class OpeningHour : Codable
{
    public var openAtHour:Int
    public var openAtMinute:Int
    public var closeAtHour:Int
    public var closeAtMinute:Int

    required public init(){}
}

public class CategoryTreeApiDto : Codable
{
    public var name:String
    public var slug:String
    public var absoluteSlug:String
    public var imageUrl:String
    public var allImageUrl:String
    public var iconImageUrl:String
    public var position:Int
    public var children:[CategoryTreeApiDto] = []

    required public init(){}
}

public class IndividualFeatureDataApiDto : Codable
{
    public var slug:FeatureType
    public var label:String

    required public init(){}
}

public enum FeatureType : String, Codable
{
    case BarSpeciality
    case BarType
    case Cuisine
    case SaveFoodAndMoney
    case MealType
    case Menu
    case OutdoorSeating
    case Parking
    case PaymentOptions
    case PriceMainDish
    case SubCategories
    case SubCategoriesAndBrands
    case EatingSuitabilities
    case TakeAway
    case WearPriceProfile
    case WheelChairAccessible
    case Wifi
    case WebShop
    case Filtering
}

public class BarSpecialityEsDto : Codable
{
    public var slug:String
    public var title:String

    required public init(){}
}

public class BarTypeEsDto : Codable
{
    public var slug:String
    public var title:String

    required public init(){}
}

public class PlaceSelectedBrandApiDto : Codable
{
    public var brand:BrandApiDto
    public var categoryAbsoluteSlugs:[String] = []
    public var placeCustomBrand:PlaceCustomBrandApiDto

    required public init(){}
}

public class BrandApiDto : Codable
{
    public var name:String

    required public init(){}
}

public class PlaceCustomBrandApiDto : Codable
{
    public var name:String

    required public init(){}
}

public class CuisineEsDto : Codable
{
    public var label:String
    public var slug:String

    required public init(){}
}

public class MealTypeApiDto : Codable
{
    public var label:String
    public var slug:String

    required public init(){}
}

public class ParkingApiDto : Codable
{
    public var label:String
    public var slug:Parking

    required public init(){}
}

public enum Parking : String, Codable
{
    case StreetParking
    case ParkingGarageNearby
}

public class PaymentOptionApiDto : Codable
{
    public var label:String
    public var slug:PaymentOption

    required public init(){}
}

public enum PaymentOption : String, Codable
{
    case Visa
    case MasterCard
    case AmericanExpress
    case Diners
    case Vipps
}

public class EatingSuitabilityApiDto : Codable
{
    public var label:String
    public var slug:String

    required public init(){}
}

public class TakeAwayApiDto : Codable
{
    public var label:String
    public var slug:String

    required public init(){}
}

public class WearPriceProfileEsDto : Codable
{
    public var slug:String
    public var label:String

    required public init(){}
}

public class MenuEsDto : Codable
{
    public var name:String
    public var url:String
    public var position:Int

    required public init(){}
}

public class ImageUrls : Codable
{
    public var preview:String
    public var small:String
    public var medium:String
    public var large:String

    required public init(){}
}

public enum PlaceType : String, Codable
{
    case Mall
    case Regular
}

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

    required public init(){}
}

public class PriceMainDishApiDto : Codable
{
    public var title:String
    public var slug:PriceMainDish

    required public init(){}
}

public enum PriceMainDish : String, Codable
{
    case Value
    case Medium
    case High
    case FineDining
}

public class TimeZoneDto : Codable
{
    @TimeSpan public var baseUtcOffset:TimeInterval
    public var daylightName:String
    public var displayName:String
    public var id:String
    public var standardName:String
    public var supportsDaylightSavingTime:Bool

    required public init(){}
}

public class PlaceContact : Codable
{
    public var phone:String
    public var email:String
    public var website:String
    public var webShop:String

    required public init(){}
}

public class PlaceAddress : Codable
{
    public var street:String
    public var postalCode:String
    public var region:String
    public var countryCode:String

    required public init(){}
}

public class MallOtherServiceApiDto : Codable
{
    public var serviceName:String
    public var floor:String

    required public init(){}
}

public enum SharingState : String, Codable
{
    case Teaser
    case Awarded
    case SelfShare
    case Expired
}


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