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
namespace ConsumerApi

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

    type NextClaimStep =
        | AuthenticateWithVipps = 0
        | CreatePassword = 1
        | AcceptBusinessTermsOfService = 2
        | Claim = 3
        | Completed = 4

    [<AllowNullLiteral>]
    type ClaimUserInfo() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Email:String = null with get,set
        member val LegalIdentityVerified:Boolean = new Boolean() with get,set
        member val PhoneNumber: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

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

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

    [<AllowNullLiteral>]
    type WearPriceProfileEsDto() = 
        member val Slug:String = null with get,set
        member val Label: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 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 NextToClaimBusinessResponse() = 
        member val NextStep:NextClaimStep = new NextClaimStep() with get,set
        member val User:ClaimUserInfo = null with get,set
        member val Place:PlaceBasicApiDto = null with get,set

    [<AllowNullLiteral>]
    type NextToClaimBusinessRequest() = 
        interface IPost
        member val PlaceGuid:Nullable<Guid> = new Nullable<Guid>() with get,set

F# 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
	}
}