POST | /business/next-to-accept-invite |
---|
export module ConsumerApi
{
// @ts-nocheck
export enum NextInviteStep
{
Authenticate = 'Authenticate',
AuthenticateWithVipps = 'AuthenticateWithVipps',
InviteIsForAnotherUser = 'InviteIsForAnotherUser',
CreatePassword = 'CreatePassword',
AcceptBusinessTermsOfService = 'AcceptBusinessTermsOfService',
AcceptInvite = 'AcceptInvite',
}
export class ClaimUserInfo
{
public firstName?: string;
public lastName?: string;
public email: string;
public legalIdentityVerified?: boolean;
public phoneNumber: string;
public constructor(init?: Partial<ClaimUserInfo>) { (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 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 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 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 class WearPriceProfileEsDto
{
public slug: string;
public label: string;
public constructor(init?: Partial<WearPriceProfileEsDto>) { (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 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 enum BusinessRole
{
Owner = 'Owner',
Manager = 'Manager',
Sales = 'Sales',
Marketing = 'Marketing',
Other = 'Other',
}
export class BusinessInviteUserInfo
{
public firstName: string;
public lastName: string;
public constructor(init?: Partial<BusinessInviteUserInfo>) { (Object as any).assign(this, init); }
}
export class InviteInfo
{
public staffRole?: StaffRole;
public businessRole?: BusinessRole;
public invitingUser: BusinessInviteUserInfo;
public constructor(init?: Partial<InviteInfo>) { (Object as any).assign(this, init); }
}
export class NextToAcceptBusinessInviteResponse
{
public nextStep?: NextInviteStep;
public user: ClaimUserInfo;
public place: PlaceBasicApiDto;
public invite: InviteInfo;
public constructor(init?: Partial<NextToAcceptBusinessInviteResponse>) { (Object as any).assign(this, init); }
}
export class NextToAcceptBusinessInviteRequest implements IPost
{
public inviteKey: string;
public constructor(init?: Partial<NextToAcceptBusinessInviteRequest>) { (Object as any).assign(this, init); }
}
}
TypeScript NextToAcceptBusinessInviteRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /business/next-to-accept-invite HTTP/1.1
Host: unstable-consumer-api.brovs.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
inviteKey: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { nextStep: Authenticate, 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 }, invite: { staffRole: Owner, businessRole: Owner, invitingUser: { firstName: String, lastName: String } } }