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
"use strict";
/** @typedef {'AuthenticateWithVipps'|'CreatePassword'|'AcceptBusinessTermsOfService'|'Claim'|'Completed'} */
export var NextClaimStep;
(function (NextClaimStep) {
    NextClaimStep["AuthenticateWithVipps"] = "AuthenticateWithVipps"
    NextClaimStep["CreatePassword"] = "CreatePassword"
    NextClaimStep["AcceptBusinessTermsOfService"] = "AcceptBusinessTermsOfService"
    NextClaimStep["Claim"] = "Claim"
    NextClaimStep["Completed"] = "Completed"
})(NextClaimStep || (NextClaimStep = {}));
export class ClaimUserInfo {
    /** @param {{firstName?:string,lastName?:string,email?:string,legalIdentityVerified?:boolean,phoneNumber?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    firstName;
    /** @type {?string} */
    lastName;
    /** @type {string} */
    email;
    /** @type {?boolean} */
    legalIdentityVerified;
    /** @type {string} */
    phoneNumber;
}
export class OpeningHour {
    /** @param {{openAtHour?:number,openAtMinute?:number,closeAtHour?:number,closeAtMinute?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    openAtHour;
    /** @type {?number} */
    openAtMinute;
    /** @type {?number} */
    closeAtHour;
    /** @type {?number} */
    closeAtMinute;
}
export class WeeklyOpeningHours {
    /** @param {{monday?:OpeningHour,tuesday?:OpeningHour,wednesday?:OpeningHour,thursday?:OpeningHour,friday?:OpeningHour,saturday?:OpeningHour,sunday?:OpeningHour}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?OpeningHour} */
    monday;
    /** @type {?OpeningHour} */
    tuesday;
    /** @type {?OpeningHour} */
    wednesday;
    /** @type {?OpeningHour} */
    thursday;
    /** @type {?OpeningHour} */
    friday;
    /** @type {?OpeningHour} */
    saturday;
    /** @type {?OpeningHour} */
    sunday;
}
export class OpeningHours {
    /** @param {{weekly?:WeeklyOpeningHours}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {WeeklyOpeningHours} */
    weekly;
}
/** @typedef {'Mall'|'Regular'} */
export var PlaceType;
(function (PlaceType) {
    PlaceType["Mall"] = "Mall"
    PlaceType["Regular"] = "Regular"
})(PlaceType || (PlaceType = {}));
/** @typedef {'Value'|'Medium'|'High'|'FineDining'} */
export var PriceMainDish;
(function (PriceMainDish) {
    PriceMainDish["Value"] = "Value"
    PriceMainDish["Medium"] = "Medium"
    PriceMainDish["High"] = "High"
    PriceMainDish["FineDining"] = "FineDining"
})(PriceMainDish || (PriceMainDish = {}));
export class PriceMainDishApiDto {
    /** @param {{title?:string,slug?:PriceMainDish}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    title;
    /** @type {?PriceMainDish} */
    slug;
}
export class TimeZoneDto {
    /** @param {{baseUtcOffset?:string,daylightName?:string,displayName?:string,id?:string,standardName?:string,supportsDaylightSavingTime?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    baseUtcOffset;
    /** @type {string} */
    daylightName;
    /** @type {string} */
    displayName;
    /** @type {string} */
    id;
    /** @type {string} */
    standardName;
    /** @type {?boolean} */
    supportsDaylightSavingTime;
}
export class PlaceContact {
    /** @param {{phone?:string,email?:string,website?:string,webShop?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    phone;
    /** @type {?string} */
    email;
    /** @type {?string} */
    website;
    /** @type {?string} */
    webShop;
}
export class PlaceAddress {
    /** @param {{street?:string,postalCode?:string,region?:string,countryCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    street;
    /** @type {string} */
    postalCode;
    /** @type {string} */
    region;
    /** @type {string} */
    countryCode;
}
export class CategoryTreeApiDto {
    /** @param {{name?:string,slug?:string,absoluteSlug?:string,imageUrl?:string,allImageUrl?:string,iconImageUrl?:string,position?:number,children?:CategoryTreeApiDto[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    slug;
    /** @type {string} */
    absoluteSlug;
    /** @type {?string} */
    imageUrl;
    /** @type {?string} */
    allImageUrl;
    /** @type {?string} */
    iconImageUrl;
    /** @type {?number} */
    position;
    /** @type {?CategoryTreeApiDto[]} */
    children = [];
}
export class ImageUrls {
    /** @param {{preview?:string,small?:string,medium?:string,large?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    preview;
    /** @type {string} */
    small;
    /** @type {string} */
    medium;
    /** @type {string} */
    large;
}
export class WearPriceProfileEsDto {
    /** @param {{slug?:string,label?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    slug;
    /** @type {string} */
    label;
}
export class BrandApiDto {
    /** @param {{name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
}
export class PlaceCustomBrandApiDto {
    /** @param {{name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
}
export class PlaceSelectedBrandApiDto {
    /** @param {{brand?:BrandApiDto,categoryAbsoluteSlugs?:string[],placeCustomBrand?:PlaceCustomBrandApiDto}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?BrandApiDto} */
    brand;
    /** @type {?string[]} */
    categoryAbsoluteSlugs = [];
    /** @type {?PlaceCustomBrandApiDto} */
    placeCustomBrand;
}
export class PlaceBasicApiDto {
    /** @param {{id?:number,guid?:string,overview?:string,name?:string,longitude?:number,latitude?:number,claimed?:boolean,organizationNumber?:string,countryCode?:string,openingHours?:OpeningHours,wheelchairAccessible?:boolean,wifi?:boolean,outdoorSeating?:boolean,saveFoodAndMoney?:boolean,placeType?:PlaceType,priceMainDish?:PriceMainDishApiDto,timeZoneDto?:TimeZoneDto,businessId?:number,contact?:PlaceContact,address?:PlaceAddress,categories?:CategoryTreeApiDto[],logoUrl?:ImageUrls,imageUrl?:ImageUrls,wearPriceProfiles?:WearPriceProfileEsDto[],brands?:PlaceSelectedBrandApiDto[],floor?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    id;
    /** @type {?string} */
    guid;
    /** @type {?string} */
    overview;
    /** @type {string} */
    name;
    /** @type {?number} */
    longitude;
    /** @type {?number} */
    latitude;
    /** @type {?boolean} */
    claimed;
    /** @type {?string} */
    organizationNumber;
    /** @type {string} */
    countryCode;
    /** @type {?OpeningHours} */
    openingHours;
    /** @type {?boolean} */
    wheelchairAccessible;
    /** @type {?boolean} */
    wifi;
    /** @type {?boolean} */
    outdoorSeating;
    /** @type {?boolean} */
    saveFoodAndMoney;
    /** @type {?PlaceType} */
    placeType;
    /** @type {?PriceMainDishApiDto} */
    priceMainDish;
    /** @type {TimeZoneDto} */
    timeZoneDto;
    /** @type {?number} */
    businessId;
    /** @type {PlaceContact} */
    contact;
    /** @type {PlaceAddress} */
    address;
    /** @type {CategoryTreeApiDto[]} */
    categories = [];
    /** @type {?ImageUrls} */
    logoUrl;
    /** @type {?ImageUrls} */
    imageUrl;
    /** @type {WearPriceProfileEsDto[]} */
    wearPriceProfiles = [];
    /** @type {PlaceSelectedBrandApiDto[]} */
    brands = [];
    /** @type {?string} */
    floor;
}
export class NextToClaimBusinessResponse {
    /** @param {{nextStep?:NextClaimStep,user?:ClaimUserInfo,place?:PlaceBasicApiDto}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?NextClaimStep} */
    nextStep;
    /** @type {ClaimUserInfo} */
    user;
    /** @type {PlaceBasicApiDto} */
    place;
}
export class NextToClaimBusinessRequest {
    /** @param {{placeGuid?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    placeGuid;
}

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