Skip to content

Segmentation

Overview of the main segmentation classes

classDiagram
  direction RL
  class Segmentation {
    Id
    Name
    ContentSegmentation
    PimSegmentation
    PrimaryHost
    PrimaryPath
    Hostnames
  }
  class Language {
    Id
    CultureCode
  }
  class Business {
    Id
    Name
  }
  class BusinessUnit {
    Id
    Name
    IsDefault
    VatEnabled
    VatPercentage
  }
  class Account {
    Id
    Name
  }
  class Address {
    Name
    AddressOne
    AddressTwo
    City
    ZipCode
    Country
  }
  class WebsiteUser {
    Id
    Name
    Email
    UserName
    PhoneNumber
    LoginStatus
    EmailConfirmed
  }
  Segmentation --> Language
  Segmentation --o Business
  Business --o "1..n" BusinessUnit
  Account "0..n" --> BusinessUnit
  WebsiteUser "1..n" --> Account
  Address <-- Account

Segmentation

The website data is divided into one or more segmentations. The segmentation controls:

  1. The current PIM segmentation.
  2. The current CMS segmentation.
  3. The current DAM segmentation.
  4. Which search index is used to fetch product data.
  5. What translations we use.
  6. How the urls we generate look.
  7. And more...

Normally you create one segmentation per domain / language you need in the solution. Say for instance you create a webshop that is going to be hosted on two domains www.foo.dk and www.foo.se then you need one segmentation for each.

You can also have two languages on the same domain but different paths. Then you make two segmentations with different PrimaryPath www.foo.com/da and www.foo.com/se.

Most API endpoints in the webshop backend take a SegmentationId as one of the parameters, so that it knows from which segmentation to return data.

Currently, segmentations can not be created from the UI. It is done in the database.

Business and BusinessUnit

The segmentation points to a Business. This could for instance be "Foo Denmark" or "Foo Sweeden".

The Business is the further divided into BusinessUnits. This could for instance be "Foo Denmark B2C" and "Foo Denmark B2B".

On the BusinessUnit you can set the VAT settings. These settings then apply to all accounts related to the BusinessUnit.

Feel free to add more settings on these classes if you need it.

Account

Each account in the shop is related to one BusinessUnit. The account is typically integrated with the customers ERP system (sometimes called a debitor).

Each account can have a number of WebsiteUser's associated. Think of a WebsiteUser as someone who can log in to the webshop.

In a B2C scenario there will be one WebsiteUser per account, but in a B2B shop it is normal to have multiple per account. For instance a number of employees at one particular company that has an account in the shop.

Read more about users here.

Admin UI

In the administration site you can create/edit/delete Businesses, BusinessUnits, Accounts and WebsiteUsers under Website > Business and Website > Logins.