Required role: | Consumer |
POST | /business/next-to-claim |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ConsumerApi;
namespace ConsumerApi
{
public partial class BrandApiDto
{
public string Name { get; set; }
}
public partial class CategoryTreeApiDto
{
public string Name { get; set; }
public string Slug { get; set; }
public string AbsoluteSlug { get; set; }
public string? ImageUrl { get; set; }
public string? AllImageUrl { get; set; }
public string? IconImageUrl { get; set; }
public int Position { get; set; }
public List<CategoryTreeApiDto>? Children { get; set; } = [];
}
public partial class ClaimUserInfo
{
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string Email { get; set; }
public bool LegalIdentityVerified { get; set; }
public string PhoneNumber { get; set; }
}
public enum NextClaimStep
{
AuthenticateWithVipps,
CreatePassword,
AcceptBusinessTermsOfService,
Claim,
Completed,
}
public partial class NextToClaimBusinessRequest
: IPost
{
public Guid? PlaceGuid { get; set; }
}
public partial class NextToClaimBusinessResponse
{
public NextClaimStep NextStep { get; set; }
public ClaimUserInfo User { get; set; }
public PlaceBasicApiDto Place { get; set; }
}
public partial class PlaceBasicApiDto
{
public long Id { get; set; }
public Guid Guid { get; set; }
public string? Overview { get; set; }
public string Name { get; set; }
public float Longitude { get; set; }
public float Latitude { get; set; }
public bool Claimed { get; set; }
public string? OrganizationNumber { get; set; }
public string CountryCode { get; set; }
public OpeningHours? OpeningHours { get; set; }
public bool? WheelchairAccessible { get; set; }
public bool? Wifi { get; set; }
public bool? OutdoorSeating { get; set; }
public bool? SaveFoodAndMoney { get; set; }
public PlaceType PlaceType { get; set; }
public PriceMainDishApiDto? PriceMainDish { get; set; }
public TimeZoneDto TimeZoneDto { get; set; }
public long? BusinessId { get; set; }
public PlaceContact Contact { get; set; }
public PlaceAddress Address { get; set; }
public List<CategoryTreeApiDto> Categories { get; set; } = [];
public ImageUrls? LogoUrl { get; set; }
public ImageUrls? ImageUrl { get; set; }
public List<WearPriceProfileEsDto> WearPriceProfiles { get; set; } = [];
public List<PlaceSelectedBrandApiDto> Brands { get; set; } = [];
public string? Floor { get; set; }
}
public partial class PlaceCustomBrandApiDto
{
public string Name { get; set; }
}
public partial class PlaceSelectedBrandApiDto
{
public BrandApiDto? Brand { get; set; }
public string[]? CategoryAbsoluteSlugs { get; set; } = [];
public PlaceCustomBrandApiDto? PlaceCustomBrand { get; set; }
}
public partial class PriceMainDishApiDto
{
public string Title { get; set; }
public PriceMainDish Slug { get; set; }
}
public partial class WearPriceProfileEsDto
{
public string Slug { get; set; }
public string Label { get; set; }
}
public partial class ImageUrls
{
public string Preview { get; set; }
public string Small { get; set; }
public string Medium { get; set; }
public string Large { get; set; }
}
public partial class OpeningHour
{
public int OpenAtHour { get; set; }
public int OpenAtMinute { get; set; }
public int CloseAtHour { get; set; }
public int CloseAtMinute { get; set; }
}
public partial class OpeningHours
{
public WeeklyOpeningHours Weekly { get; set; }
}
public partial class PlaceAddress
{
public string Street { get; set; }
public string PostalCode { get; set; }
public string Region { get; set; }
public string CountryCode { get; set; }
}
public partial class PlaceContact
{
public string? Phone { get; set; }
public string? Email { get; set; }
public string? Website { get; set; }
public string? WebShop { get; set; }
}
public enum PlaceType
{
Mall,
Regular,
}
public partial class TimeZoneDto
{
public TimeSpan BaseUtcOffset { get; set; }
public string DaylightName { get; set; }
public string DisplayName { get; set; }
public string Id { get; set; }
public string StandardName { get; set; }
public bool SupportsDaylightSavingTime { get; set; }
}
public partial class WeeklyOpeningHours
{
public OpeningHour? Monday { get; set; }
public OpeningHour? Tuesday { get; set; }
public OpeningHour? Wednesday { get; set; }
public OpeningHour? Thursday { get; set; }
public OpeningHour? Friday { get; set; }
public OpeningHour? Saturday { get; set; }
public OpeningHour? Sunday { get; set; }
}
public enum PriceMainDish
{
Value,
Medium,
High,
FineDining,
}
}
C# NextToClaimBusinessRequest 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-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 } }