ConsumerApi

<back to all web services

NextToClaimBusinessRequest

ConsumerBusiness
Requires Authentication
Required role:Consumer
The following routes are available for this service:
POST/business/next-to-claim
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class NextToClaimBusinessRequest : IPost
{
    open var placeGuid:UUID? = null
}

open class NextToClaimBusinessResponse
{
    open var nextStep:NextClaimStep? = null
    open var user:ClaimUserInfo? = null
    open var place:PlaceBasicApiDto? = null
}

enum class NextClaimStep
{
    AuthenticateWithVipps,
    CreatePassword,
    AcceptBusinessTermsOfService,
    Claim,
    Completed,
}

open class ClaimUserInfo
{
    open var firstName:String? = null
    open var lastName:String? = null
    open var email:String? = null
    open var legalIdentityVerified:Boolean? = null
    open var phoneNumber:String? = null
}

open class PlaceBasicApiDto
{
    open var id:Long? = null
    open var guid:UUID? = null
    open var overview:String? = null
    open var name:String? = null
    open var longitude:Float? = null
    open var latitude:Float? = null
    open var claimed:Boolean? = null
    open var organizationNumber:String? = null
    open var countryCode:String? = null
    open var openingHours:OpeningHours? = null
    open var wheelchairAccessible:Boolean? = null
    open var wifi:Boolean? = null
    open var outdoorSeating:Boolean? = null
    open var saveFoodAndMoney:Boolean? = null
    open var placeType:PlaceType? = null
    open var priceMainDish:PriceMainDishApiDto? = null
    open var timeZoneDto:TimeZoneDto? = null
    open var businessId:Long? = null
    open var contact:PlaceContact? = null
    open var address:PlaceAddress? = null
    open var categories:ArrayList<CategoryTreeApiDto> = ArrayList<CategoryTreeApiDto>()
    open var logoUrl:ImageUrls? = null
    open var imageUrl:ImageUrls? = null
    open var wearPriceProfiles:ArrayList<WearPriceProfileEsDto> = ArrayList<WearPriceProfileEsDto>()
    open var brands:ArrayList<PlaceSelectedBrandApiDto> = ArrayList<PlaceSelectedBrandApiDto>()
    open var floor:String? = null
}

open class OpeningHours
{
    open var weekly:WeeklyOpeningHours? = null
}

open class WeeklyOpeningHours
{
    open var monday:OpeningHour? = null
    open var tuesday:OpeningHour? = null
    open var wednesday:OpeningHour? = null
    open var thursday:OpeningHour? = null
    open var friday:OpeningHour? = null
    open var saturday:OpeningHour? = null
    open var sunday:OpeningHour? = null
}

open class OpeningHour
{
    open var openAtHour:Int? = null
    open var openAtMinute:Int? = null
    open var closeAtHour:Int? = null
    open var closeAtMinute:Int? = null
}

enum class PlaceType
{
    Mall,
    Regular,
}

open class PriceMainDishApiDto
{
    open var title:String? = null
    open var slug:PriceMainDish? = null
}

enum class PriceMainDish
{
    Value,
    Medium,
    High,
    FineDining,
}

open class TimeZoneDto
{
    open var baseUtcOffset:TimeSpan? = null
    open var daylightName:String? = null
    open var displayName:String? = null
    open var id:String? = null
    open var standardName:String? = null
    open var supportsDaylightSavingTime:Boolean? = null
}

open class PlaceContact
{
    open var phone:String? = null
    open var email:String? = null
    open var website:String? = null
    open var webShop:String? = null
}

open class PlaceAddress
{
    open var street:String? = null
    open var postalCode:String? = null
    open var region:String? = null
    open var countryCode:String? = null
}

open class CategoryTreeApiDto
{
    open var name:String? = null
    open var slug:String? = null
    open var absoluteSlug:String? = null
    open var imageUrl:String? = null
    open var allImageUrl:String? = null
    open var iconImageUrl:String? = null
    open var position:Int? = null
    open var children:ArrayList<CategoryTreeApiDto> = ArrayList<CategoryTreeApiDto>()
}

open class ImageUrls
{
    open var preview:String? = null
    open var small:String? = null
    open var medium:String? = null
    open var large:String? = null
}

open class WearPriceProfileEsDto
{
    open var slug:String? = null
    open var label:String? = null
}

open class PlaceSelectedBrandApiDto
{
    open var brand:BrandApiDto? = null
    open var categoryAbsoluteSlugs:ArrayList<String> = ArrayList<String>()
    open var placeCustomBrand:PlaceCustomBrandApiDto? = null
}

open class BrandApiDto
{
    open var name:String? = null
}

open class PlaceCustomBrandApiDto
{
    open var name:String? = null
}

Kotlin NextToClaimBusinessRequest 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 /business/next-to-claim HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	placeGuid: 00000000-0000-0000-0000-000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	nextStep: AuthenticateWithVipps,
	user: 
	{
		firstName: String,
		lastName: String,
		email: String,
		legalIdentityVerified: False,
		phoneNumber: String
	},
	place: 
	{
		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
	}
}