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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum

# module ConsumerApi


class NextClaimStep(str, Enum):
    AUTHENTICATE_WITH_VIPPS = 'AuthenticateWithVipps'
    CREATE_PASSWORD = 'CreatePassword'
    ACCEPT_BUSINESS_TERMS_OF_SERVICE = 'AcceptBusinessTermsOfService'
    CLAIM = 'Claim'
    COMPLETED = 'Completed'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ClaimUserInfo:
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    email: Optional[str] = None
    legal_identity_verified: bool = False
    phone_number: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OpeningHour:
    open_at_hour: int = 0
    open_at_minute: int = 0
    close_at_hour: int = 0
    close_at_minute: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WeeklyOpeningHours:
    monday: Optional[OpeningHour] = None
    tuesday: Optional[OpeningHour] = None
    wednesday: Optional[OpeningHour] = None
    thursday: Optional[OpeningHour] = None
    friday: Optional[OpeningHour] = None
    saturday: Optional[OpeningHour] = None
    sunday: Optional[OpeningHour] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OpeningHours:
    weekly: Optional[WeeklyOpeningHours] = None


class PlaceType(str, Enum):
    MALL = 'Mall'
    REGULAR = 'Regular'


class PriceMainDish(str, Enum):
    VALUE = 'Value'
    MEDIUM = 'Medium'
    HIGH = 'High'
    FINE_DINING = 'FineDining'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceMainDishApiDto:
    title: Optional[str] = None
    slug: Optional[PriceMainDish] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TimeZoneDto:
    base_utc_offset: datetime.timedelta = datetime.timedelta()
    daylight_name: Optional[str] = None
    display_name: Optional[str] = None
    id: Optional[str] = None
    standard_name: Optional[str] = None
    supports_daylight_saving_time: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlaceContact:
    phone: Optional[str] = None
    email: Optional[str] = None
    website: Optional[str] = None
    web_shop: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlaceAddress:
    street: Optional[str] = None
    postal_code: Optional[str] = None
    region: Optional[str] = None
    country_code: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CategoryTreeApiDto:
    name: Optional[str] = None
    slug: Optional[str] = None
    absolute_slug: Optional[str] = None
    image_url: Optional[str] = None
    all_image_url: Optional[str] = None
    icon_image_url: Optional[str] = None
    position: int = 0
    children: List[CategoryTreeApiDto] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ImageUrls:
    preview: Optional[str] = None
    small: Optional[str] = None
    medium: Optional[str] = None
    large: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WearPriceProfileEsDto:
    slug: Optional[str] = None
    label: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrandApiDto:
    name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlaceCustomBrandApiDto:
    name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlaceSelectedBrandApiDto:
    brand: Optional[BrandApiDto] = None
    category_absolute_slugs: List[str] = field(default_factory=list)
    place_custom_brand: Optional[PlaceCustomBrandApiDto] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PlaceBasicApiDto:
    id: int = 0
    guid: Optional[str] = None
    overview: Optional[str] = None
    name: Optional[str] = None
    longitude: float = 0.0
    latitude: float = 0.0
    claimed: bool = False
    organization_number: Optional[str] = None
    country_code: Optional[str] = None
    opening_hours: Optional[OpeningHours] = None
    wheelchair_accessible: Optional[bool] = None
    wifi: Optional[bool] = None
    outdoor_seating: Optional[bool] = None
    save_food_and_money: Optional[bool] = None
    place_type: Optional[PlaceType] = None
    price_main_dish: Optional[PriceMainDishApiDto] = None
    time_zone_dto: Optional[TimeZoneDto] = None
    business_id: Optional[int] = None
    contact: Optional[PlaceContact] = None
    address: Optional[PlaceAddress] = None
    categories: List[CategoryTreeApiDto] = field(default_factory=list)
    logo_url: Optional[ImageUrls] = None
    image_url: Optional[ImageUrls] = None
    wear_price_profiles: List[WearPriceProfileEsDto] = field(default_factory=list)
    brands: List[PlaceSelectedBrandApiDto] = field(default_factory=list)
    floor: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NextToClaimBusinessResponse:
    next_step: Optional[NextClaimStep] = None
    user: Optional[ClaimUserInfo] = None
    place: Optional[PlaceBasicApiDto] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NextToClaimBusinessRequest(IPost):
    place_guid: Optional[str] = None


Python NextToClaimBusinessRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<NextToClaimBusinessRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Api.Dto">
  <PlaceGuid>00000000-0000-0000-0000-000000000000</PlaceGuid>
</NextToClaimBusinessRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<NextToClaimBusinessResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Api.Dto">
  <NextStep>AuthenticateWithVipps</NextStep>
  <Place>
    <Address xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:CountryCode>String</d3p1:CountryCode>
      <d3p1:PostalCode>String</d3p1:PostalCode>
      <d3p1:Region>String</d3p1:Region>
      <d3p1:Street>String</d3p1:Street>
    </Address>
    <Brands>
      <PlaceSelectedBrandApiDto>
        <Brand>
          <Name>String</Name>
        </Brand>
        <CategoryAbsoluteSlugs xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </CategoryAbsoluteSlugs>
        <PlaceCustomBrand>
          <Name>String</Name>
        </PlaceCustomBrand>
      </PlaceSelectedBrandApiDto>
    </Brands>
    <BusinessId>0</BusinessId>
    <Categories>
      <CategoryTreeApiDto>
        <AbsoluteSlug>String</AbsoluteSlug>
        <AllImageUrl>String</AllImageUrl>
        <Children>
          <CategoryTreeApiDto>
            <AbsoluteSlug>String</AbsoluteSlug>
            <AllImageUrl>String</AllImageUrl>
            <Children>
              <CategoryTreeApiDto>
                <AbsoluteSlug>String</AbsoluteSlug>
                <AllImageUrl>String</AllImageUrl>
                <Children i:nil="true" />
                <IconImageUrl>String</IconImageUrl>
                <ImageUrl>String</ImageUrl>
                <Name>String</Name>
                <Position>0</Position>
                <Slug>String</Slug>
              </CategoryTreeApiDto>
            </Children>
            <IconImageUrl>String</IconImageUrl>
            <ImageUrl>String</ImageUrl>
            <Name>String</Name>
            <Position>0</Position>
            <Slug>String</Slug>
          </CategoryTreeApiDto>
        </Children>
        <IconImageUrl>String</IconImageUrl>
        <ImageUrl>String</ImageUrl>
        <Name>String</Name>
        <Position>0</Position>
        <Slug>String</Slug>
      </CategoryTreeApiDto>
    </Categories>
    <Claimed>false</Claimed>
    <Contact xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:Email>String</d3p1:Email>
      <d3p1:Phone>String</d3p1:Phone>
      <d3p1:WebShop>String</d3p1:WebShop>
      <d3p1:Website>String</d3p1:Website>
    </Contact>
    <CountryCode>String</CountryCode>
    <Floor>String</Floor>
    <Guid>00000000-0000-0000-0000-000000000000</Guid>
    <Id>0</Id>
    <ImageUrl xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:Large>String</d3p1:Large>
      <d3p1:Medium>String</d3p1:Medium>
      <d3p1:Preview>String</d3p1:Preview>
      <d3p1:Small>String</d3p1:Small>
    </ImageUrl>
    <Latitude>0</Latitude>
    <LogoUrl xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:Large>String</d3p1:Large>
      <d3p1:Medium>String</d3p1:Medium>
      <d3p1:Preview>String</d3p1:Preview>
      <d3p1:Small>String</d3p1:Small>
    </LogoUrl>
    <Longitude>0</Longitude>
    <Name>String</Name>
    <OpeningHours xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:Weekly>
        <d3p1:Friday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Friday>
        <d3p1:Monday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Monday>
        <d3p1:Saturday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Saturday>
        <d3p1:Sunday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Sunday>
        <d3p1:Thursday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Thursday>
        <d3p1:Tuesday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Tuesday>
        <d3p1:Wednesday>
          <d3p1:CloseAtHour>0</d3p1:CloseAtHour>
          <d3p1:CloseAtMinute>0</d3p1:CloseAtMinute>
          <d3p1:OpenAtHour>0</d3p1:OpenAtHour>
          <d3p1:OpenAtMinute>0</d3p1:OpenAtMinute>
        </d3p1:Wednesday>
      </d3p1:Weekly>
    </OpeningHours>
    <OrganizationNumber>String</OrganizationNumber>
    <OutdoorSeating>false</OutdoorSeating>
    <Overview>String</Overview>
    <PlaceType>Mall</PlaceType>
    <PriceMainDish>
      <Slug>Value</Slug>
      <Title>String</Title>
    </PriceMainDish>
    <SaveFoodAndMoney>false</SaveFoodAndMoney>
    <TimeZoneDto xmlns:d3p1="http://schemas.datacontract.org/2004/07/Entities.Common">
      <d3p1:BaseUtcOffset>PT0S</d3p1:BaseUtcOffset>
      <d3p1:DaylightName>String</d3p1:DaylightName>
      <d3p1:DisplayName>String</d3p1:DisplayName>
      <d3p1:Id>String</d3p1:Id>
      <d3p1:StandardName>String</d3p1:StandardName>
      <d3p1:SupportsDaylightSavingTime>false</d3p1:SupportsDaylightSavingTime>
    </TimeZoneDto>
    <WearPriceProfiles>
      <WearPriceProfileEsDto>
        <Label>String</Label>
        <Slug>String</Slug>
      </WearPriceProfileEsDto>
    </WearPriceProfiles>
    <WheelchairAccessible>false</WheelchairAccessible>
    <Wifi>false</Wifi>
  </Place>
  <User>
    <Email>String</Email>
    <FirstName>String</FirstName>
    <LastName>String</LastName>
    <LegalIdentityVerified>false</LegalIdentityVerified>
    <PhoneNumber>String</PhoneNumber>
  </User>
</NextToClaimBusinessResponse>