Configuration

Explore how to configure and manage markets in Omnium, including setting language, region, currency, tax, and shipment options. This guide helps you understand the key components and considerations for setting up markets for different customer needs and regions.

Omnium market setup

All orders in Omnium require a market ID. The market contains lots of options, including:

  • Language and localization
  • Region and country
  • Currency
  • Tax configuration
  • Shipments
  • Number options
  • Email settings
  • Available connectors

There are no limitations on the number of markets. Based on the requirements, a market could be set up by country, state, or region, brand, or concept – or a combination of the above.

Considerations for market setup

Product languages and currencies

Markets are used to determine the product language and currency for placed orders. As a rule of thumb, every currency and/or product language should have its own market. Stores can be related to multiple markets, so in cases where a single store serves multiple markets (i.e., a web store that sells products in multiple countries with different currencies and/or languages), orders placed for the store in question will get its product language and price currency based on the market the order is placed in.

B2B vs B2C

Another use case for markets is separation between B2C and B2B. In market settings, it is possible to configure whether prices and orders include or exclude tax. The MarketType property can be used to distinguish between B2C and B2B markets.

Customer communication

Communication with customers is also affected by the market structure. It is possible to design custom email templates for each market to support different languages and brands/concepts. The WebsiteUrl and LogoUrl properties can be customized per market for branded communications.


Market model

Core properties

PropertyTypeDescription
MarketId *stringUnique market ID (e.g., "NOR", "SWE", "ENG"). Used as the primary identifier for the market.
MarketName *stringDisplay name of the market shown in the user interface.
IsDefaultMarketboolWhen true, this market is used as the default for new orders when no market is specified. Exactly one market must be marked as default.
IsActiveboolWhen true, the market is active and available for use. Set to false to temporarily disable a market.
MarketTypestringClassification of the market (e.g., "B2C", "B2B"). Used to distinguish between consumer and business markets.
MarketGroupIdstringReference to a market group. Can be used for grouping markets by region, brand, or business unit. Also used as CompanyId in Dynamics 365 integrations.
MarketGroupLabelstringDisplay label for market groups in the UI.
WebsiteUrlstringWebsite URL for the market. Used in customer communications such as email templates and order confirmations.
LogoUrlstringURL to the market-specific logo. Used in generated documents such as PDFs, receipts, and invoices.
DocumentFooterstringHTML content for document footers. Displayed at the bottom of generated PDFs, invoices, and receipts. Can include contact information, legal disclaimers, or branding elements.
PropertiesList<PropertyItem>Custom key-value properties for extending market configuration with tenant-specific data.

Exactly one market must have IsDefaultMarket set to true. Configuration validation will fail if zero or multiple markets are marked as default.

Localization properties

PropertyTypeDescription
LanguagestringMarket language name (e.g., "English", "Norwegian", "German"). Used for display purposes.
LanguageCodestringTwo-letter ISO 639-1 language code (e.g., "en", "no", "de").
IsoLanguageCodestringFull ISO language/region code (e.g., "en-US", "nb-NO", "de-DE"). Used for date/time formatting, number formatting, and currency display.
CountryCodestringTwo-letter ISO 3166-1 alpha-2 country code (e.g., "NO", "SE", "GB", "US").
ProductContentLanguagestringLanguage code for product content retrieval (e.g., "en", "no", "sv"). Determines which language version of product descriptions, names, and attributes are used for orders in this market.
PhoneNumberFormatstringRegular expression pattern for validating phone numbers in this market.
PhoneFormatSettingsPhoneFormatSettingsDetailed phone number formatting configuration including country code handling.

Product content language fallback

When retrieving product content, the system follows this fallback order:

  1. Market's ProductContentLanguage if set
  2. Default market's ProductContentLanguage if available
  3. Tenant's DefaultProductContentLanguageCode from product settings
  4. English ("en") if available in tenant product settings
  5. First available language from tenant product settings

Tax configuration

PropertyTypeDescription
IsTaxExcludedboolWhen true, tax is excluded from order calculations. Order line tax rates are set to 0, and prices use the ex-tax values. Typically used for B2B markets or tax-exempt scenarios.
ShowOrderLinesExTaxboolWhen true, order line prices are displayed without tax in the UI and API responses. This is a display setting and does not affect calculations. Typically used for US markets where prices are shown excluding tax.
DefaultTaxRatedecimal?Default tax rate percentage for the market (e.g., 25 for 25%). Applied when a product or price does not have a specific tax rate defined.
DefaultVatTypedecimal?Default VAT type code for accounting systems (e.g., 3, 52). Used when exporting orders to ERP systems.

IsTaxExcluded vs ShowOrderLinesExTax: These settings serve different purposes. IsTaxExcluded affects order calculations by excluding tax entirely. ShowOrderLinesExTax only affects how prices are displayed while calculations remain unchanged.

Tax calculation behavior

When IsTaxExcluded is set to true:

  • Order line tax rate is set to 0
  • PlacedPrice uses the ex-tax value (PlacedPriceExclTax)
  • No tax calculations are applied to the order
  • Discounts are also adjusted to use ex-tax values

Payment configuration

PropertyTypeDescription
DefaultPaymentTypestringDefault payment type for new carts/orders in this market. Automatically applied when creating a new cart.

Market groups

Market groups allow you to organize multiple markets together for shared configuration and reporting. Groups can represent regions, brands, or business units.

Market group model

PropertyTypeDescription
GroupId *stringUnique identifier for the market group. Referenced by Market.MarketGroupId.
GroupName *stringDisplay name for the market group shown in the UI.
TemplateSettingsTemplateSettingsTemplate configuration that applies to all markets in this group.
EmailClientSettingsEmailClientSettingsEmail configuration that applies to all markets in this group.
MarketsList<Market>Collection of markets belonging to this group (populated at runtime).

Sample

{
  "MarketGroups": [
    {
      "GroupId": "nordic",
      "GroupName": "Nordic Region",
      "TemplateSettings": {
        "DefaultEmailTemplate": "nordic-template"
      }
    },
    {
      "GroupId": "central-europe",
      "GroupName": "Central Europe"
    }
  ]
}

Use cases

  • Regional grouping: Group markets by geographic region (Nordic, Central Europe, North America)
  • Brand separation: Group markets by brand identity for multi-brand retailers
  • ERP integration: Use MarketGroupId as CompanyId for Dynamics 365 or other ERP systems
  • Shared templates: Apply email templates at the group level instead of per-market

Return charges

Return charges define the default costs applied when processing returns. These settings can be configured per market and optionally overridden per shipment method.

Return charges model

PropertyTypeDefaultDescription
ReturnCostdecimal0Default amount to charge the customer for return shipments. Applied when creating a return order.
NotPickedUpCostdecimal0Default amount to charge when a customer does not pick up a shipment or return.
ReturnCostDefaultDisabledboolfalseWhen true, return cost is NOT automatically applied to returns. Staff must manually enable the charge. When false, return cost is automatically applied.

Return cost behavior

The return cost application follows this logic:

  1. Check Market.ReturnCharges.ReturnCostDefaultDisabled
  2. If false (enabled by default), the ReturnCost amount is automatically added to returns
  3. If true (disabled by default), returns are created without the charge
  4. Individual shipment methods can override this behavior via ShipmentOption.ReturnCostDefaultEnabled

Shipment-level settings override market-level settings. If ShipmentOption.ReturnCostDefaultEnabled is true for a specific shipping method, return costs will be applied even if the market has ReturnCostDefaultDisabled set to true.

Sample

{
  "ReturnCharges": {
    "ReturnCost": 49.00,
    "NotPickedUpCost": 99.00,
    "ReturnCostDefaultDisabled": false
  }
}

Number options

Number options configure how sequential identifiers are generated for orders, carts, returns, customers, and other entities. Each market can have its own numbering sequences, or share sequences across markets.

Number options model

PropertyTypeDescription
NumberType *stringType of number to generate. See supported number types below.
Key *stringUnique key for the counter. Used to track the current sequence value.
KeyPostfixstringOptional postfix appended to the key for additional uniqueness.
PrefixstringString prepended to generated numbers (e.g., "ORD-", "SE-").
SuffixstringString appended to generated numbers (e.g., "-2024").
StartSequencelongStarting value for the counter (e.g., 1000, 100000).
ServicestringNumber generation service to use. See service types below.
IsReadOnlyboolWhen true, the generated number cannot be edited in the GUI.
IsAutoCreateDisabledboolWhen true, the number must be entered manually instead of auto-generated.
MarketGroupIdstringOptional reference to a market group for shared sequences across markets.
IncrementIntervalint?Interval between increments. Default is 1. Use higher values to leave gaps for manual entries.
ValidationRegexstringOptional regex pattern for validating manually entered numbers.
TranslateKeystringTranslation key for displaying the number type in the UI.

Number service types

ServiceDescription
SequentialNumberServiceGenerates globally sequential numbers across all markets. Ensures unique numbers tenant-wide.
SequentialMarketNumberServiceGenerates sequential numbers per market. Each market maintains its own counter.
GuidNumberServiceGenerates random GUID-based identifiers. Used when sequential numbers are not required.

Supported number types

NumberTypeDescription
OrderNumberOptionsCustomer order numbers
CartNumberOptionsShopping cart identifiers
ReturnNumberOptionsReturn order numbers
RmaNumberOptionsReturn Merchandise Authorization numbers
CustomerNumberOptionsCustomer identifiers
SupplierNumberOptionsSupplier identifiers
InvoiceNumberOptionsInvoice numbers
CreditInvoiceNumberOptionsCredit note numbers
SubscriptionNumberOptionsSubscription identifiers
ProductNumberOptionsProduct/article numbers
OrderLineNumberOptionsIndividual order line identifiers

Resolution order

When determining which number options to use, the system follows this priority:

  1. Market-specific NumberOptions for the requested NumberType
  2. Tenant NumberOptions with matching MarketGroupId
  3. Tenant NumberOptions without MarketGroupId
  4. Tenant NumberOptions with matching NumberType
  5. Default: GuidNumberService (for CustomerNumberOptions and others)

Sample

{
  "NumberOptions": [
    {
      "NumberType": "OrderNumberOptions",
      "Key": "order-counter",
      "Prefix": "ORD-",
      "StartSequence": 10000,
      "Service": "SequentialMarketNumberService",
      "IsReadOnly": true
    },
    {
      "NumberType": "ReturnNumberOptions",
      "Key": "return-counter",
      "Prefix": "RET-",
      "StartSequence": 1000,
      "Service": "SequentialNumberService"
    },
    {
      "NumberType": "CustomerNumberOptions",
      "Service": "GuidNumberService"
    }
  ]
}

This configuration produces:

  • Order numbers: ORD-10000, ORD-10001, ORD-10002 (per market)
  • Return numbers: RET-1000, RET-1001, RET-1002 (global)
  • Customer IDs: Random GUIDs

Shipment options

Shipment options define the available shipping methods for a market, including provider configuration, pricing, and delivery settings.

Core shipment properties

PropertyTypeDescription
ShippingMethodId *stringUnique identifier for the shipping method.
ShippingMethodName *stringTechnical name used to identify the product with the shipping provider.
LabelstringUser-friendly display name shown in the UI and to customers.
DescriptionstringDetailed description of the shipping method.
ShipmentDeliveryTypestringDelivery type: "Delivery" for home delivery, "PickUp" for pickup points or in-store.
IsDefaultShipmentboolWhen true, this is the fallback shipping method if no other options match.
DeliveryTimestringExpected delivery time displayed to customers (e.g., "2-4 business days").
LogoUrlstringURL to the shipping provider's logo for display in the UI.
CountryCodestringTwo-letter country code this shipping method is valid for.

Provider configuration

PropertyTypeDescription
ShippingGatewaystringShipping provider gateway. Options: "Bring", "PostNordV2", "Consignor", "Unifaun", "Logistra", "Gls", "Porterbuddy", "Ingrid", "Empty".
ShipmentProductstringProduct code to book with the provider (e.g., "PICKUP_PARCEL", "SERVICEPAKKE").
ShipmentProductNamestringProduct name for providers that require it (e.g., Logistra).
ProviderServicesstringProvider-specific service codes. Used for additional services like signature, insurance, etc.
ShipmentReturnProductstringProduct code for return labels. Leave empty if returns use the same product.
ShippingCompanystringOverride shipping company name if the pickup provider differs from the main provider.

Pricing configuration

PropertyTypeDescription
ShippingSubTotaldecimalShipping cost including tax (displayed to customer).
ShippingSubTotalExclTaxdecimalShipping cost excluding tax.
TaxRatedecimalTax rate for shipping. If not specified, uses the market's DefaultTaxRate.
DiscountedPricedecimalDiscounted shipping price including tax.
DiscountedPriceExclTaxdecimalDiscounted shipping price excluding tax.
DiscountLabelstringLabel describing the discount (e.g., "Free shipping on orders over $50").
ShippingProfitPercentdecimal?Profit margin percentage on shipping.
GetPriceFromProviderboolWhen true, fetch real-time shipping prices from the provider API instead of using fixed prices.
AddTaxOnProviderPriceboolWhen true, add tax to prices received from the provider.
AdditionalCustomerPricePercentagedecimalSurcharge percentage added to shipping costs.
ReturnCostDefaultEnabledboolWhen true, return costs are applied by default for this shipping method, overriding market settings.

Service point configuration

PropertyTypeDescription
GetServicePointsboolWhen true, search for available pickup points/service points from the provider.
ServicePointRequiredboolWhen true, customers must select a pickup/service point.
ServicePointProviderstringAlternate provider for service point lookup if different from the shipping gateway.
PickUpPointsList<PickUpPoint>Pre-configured list of pickup points (alternative to dynamic lookup).

Visibility and behavior

PropertyTypeDescription
HideInOmsboolWhen true, this shipping method is not visible in the Omnium backoffice UI.
HideFromApiboolWhen true, this shipping method is not exposed in public API responses.
VueTemplatestringUI template for the checkout: "Standard", "PickUp point", "PickUp in store".
ProviderNotificationboolWhen true, the shipping provider sends SMS/email notifications to customers.
ValidOnMarketsList<string>List of market IDs where this shipment option is valid. Empty means all markets.
IncludeGoodsDescriptionboolWhen true, include product descriptions on shipping labels.

Default package dimensions

PropertyTypeDescription
DefaultPackage.WeightInKgdoubleDefault package weight in kilograms.
DefaultPackage.DefaultDimensions.LengthInCmintDefault package length in centimeters.
DefaultPackage.DefaultDimensions.WidthInCmintDefault package width in centimeters.
DefaultPackage.DefaultDimensions.HeightInCmintDefault package height in centimeters.
DefaultPackage.GoodsDescriptionstringDefault goods description for customs/shipping.

Sample

{
  "ShipmentOptions": [
    {
      "ShippingMethodId": "bring-servicepakke",
      "ShippingMethodName": "SERVICEPAKKE",
      "Label": "Pickup at Post Office",
      "Description": "Delivered to your nearest post office within 2-4 days",
      "ShipmentDeliveryType": "PickUp",
      "ShippingGateway": "Bring",
      "ShipmentProduct": "SERVICEPAKKE",
      "ShippingSubTotal": 79.00,
      "ShippingSubTotalExclTax": 63.20,
      "TaxRate": 25,
      "GetServicePoints": true,
      "ServicePointRequired": true,
      "DeliveryTime": "2-4 business days",
      "IsDefaultShipment": false,
      "HideInOms": false,
      "HideFromApi": false,
      "DefaultPackage": {
        "WeightInKg": 1.0,
        "DefaultDimensions": {
          "LengthInCm": 30,
          "WidthInCm": 20,
          "HeightInCm": 15
        }
      }
    },
    {
      "ShippingMethodId": "home-delivery",
      "ShippingMethodName": "HOME_DELIVERY",
      "Label": "Home Delivery",
      "Description": "Delivered to your doorstep",
      "ShipmentDeliveryType": "Delivery",
      "ShippingGateway": "Bring",
      "ShipmentProduct": "PA_DANSEN",
      "ShippingSubTotal": 149.00,
      "TaxRate": 25,
      "DeliveryTime": "1-3 business days",
      "IsDefaultShipment": true,
      "ProviderNotification": true
    }
  ]
}

Email client settings

Email client settings configure how emails are sent for a market, including SMTP settings, sender addresses, and template references.

Email client settings model

PropertyTypeDescription
TypestringEmail provider type (e.g., "SMTP", "SendGrid").
HoststringEmail server hostname or URL.
PortintEmail server port number (e.g., 587 for TLS, 465 for SSL).
UserNamestringAuthentication username for the email server.
PasswordstringAuthentication password for the email server.
KeyNamestringAPI key name for email services like SendGrid.
StandardEmailAddressstringDefault sender email address (e.g., "orders@company.com").
InBoundEmailAddressstringEmail address for receiving inbound emails/replies.
InBoundEmailFromNamestringDisplay name for inbound email communications.
EmailTemplateContainerstringAzure blob storage container name for email templates.
EmailTemplateContentFilestringFile path/name for email template content.
IsProductIdDisplayedInsteadOfSkubool?When true, display product ID instead of SKU in order confirmation emails.
LanguageCodestringLanguage code for email content. Controls the language of standard text elements like "Please reply above this line".

Sample

{
  "EmailClientSettings": {
    "Type": "SendGrid",
    "KeyName": "sendgrid-api-key",
    "StandardEmailAddress": "orders@mystore.com",
    "InBoundEmailAddress": "support@mystore.com",
    "InBoundEmailFromName": "My Store Support",
    "LanguageCode": "en"
  }
}

Template settings

Template settings configure which email and document templates are used for various entities like orders, carts, and projects.

Template settings model

PropertyTypeDescription
DefaultEmailTemplatestringReference to the default email template.
CustomerNoteTemplatestringTemplate for customer notes and messages.
CartTemplatesList<TemplateReferenceSettings>Available templates for shopping carts.
OrderTemplatesList<TemplateReferenceSettings>Available templates for orders.
PurchaseOrderTemplatesList<TemplateReferenceSettings>Available templates for purchase orders.
ProjectTemplatesList<TemplateReferenceSettings>Available templates for projects.
ProductTemplatesList<TemplateReferenceSettings>Available templates for products.
ProjectTemplateReferencesProjectTemplateReferencesSpecific template references for project comments.

Template reference settings

PropertyTypeDescription
TemplateReferencestringIdentifier/reference for the template.
DisplayNamestringUser-friendly name shown in the UI.
TranslateKeystringTranslation key for localization.

Project template references

PropertyTypeDescription
CustomerCommentTemplatestringTemplate for customer-facing comments on projects.
PartnerCommentTemplatestringTemplate for partner/supplier comments on projects.
InternalCommentTemplatestringTemplate for internal staff comments on projects.

Sample

{
  "TemplateSettings": {
    "DefaultEmailTemplate": "standard-order-confirmation",
    "OrderTemplates": [
      {
        "TemplateReference": "standard-order",
        "DisplayName": "Standard Order",
        "TranslateKey": "Template_StandardOrder"
      },
      {
        "TemplateReference": "gift-order",
        "DisplayName": "Gift Order",
        "TranslateKey": "Template_GiftOrder"
      }
    ],
    "ProjectTemplateReferences": {
      "CustomerCommentTemplate": "customer-project-comment",
      "InternalCommentTemplate": "internal-project-comment"
    }
  }
}

Phone format settings

Phone format settings control how phone numbers are validated and formatted for a market.

Phone format settings model

PropertyTypeDescription
RequireCountryCodebool?When true, phone numbers must include a country code.
RemoveCountryCodebool?When true, remove the country code from stored phone numbers.
UsePlusInCountryCodebool?When true, format country code with + prefix (e.g., +47).
UseZeroZeroInCountryCodebool?When true, format country code with 00 prefix (e.g., 0047).
DefaultCountryCodestringDefault country code to apply (e.g., "47" for Norway, "46" for Sweden).
ExpectedPhoneNumberFormatsList<PhoneFormat>List of allowed phone number formats by country.

Phone format

PropertyTypeDescription
CountryCodestringCountry code (e.g., "47", "46").
MinExpectedNumberLengthint?Minimum number of digits excluding country code.
MaxExpectedNumberLengthint?Maximum number of digits excluding country code.

Sample

{
  "PhoneFormatSettings": {
    "RequireCountryCode": true,
    "UsePlusInCountryCode": true,
    "DefaultCountryCode": "47",
    "ExpectedPhoneNumberFormats": [
      {
        "CountryCode": "47",
        "MinExpectedNumberLength": 8,
        "MaxExpectedNumberLength": 8
      },
      {
        "CountryCode": "46",
        "MinExpectedNumberLength": 9,
        "MaxExpectedNumberLength": 10
      }
    ]
  }
}

Connectors

Markets can have market-specific connector configurations for integrating with external systems. Connectors can be restricted to specific markets or market groups.

For full connector configuration details, see the Integrations documentation.

Market restriction properties

PropertyTypeDescription
EnabledForMarketsList<string>Markets where the connector is available. Empty/null means all markets.
DisabledForMarketsList<string>Markets where the connector is explicitly disabled. Overrides EnabledForMarkets.
EnabledForMarketGroupsList<string>Market groups where the connector is available.
DisabledForMarketGroupsList<string>Market groups where the connector is disabled.

Complete market configuration example

{
  "Markets": [
    {
      "MarketId": "NOR",
      "MarketName": "Norway",
      "IsDefaultMarket": true,
      "IsActive": true,
      "MarketType": "B2C",
      "MarketGroupId": "nordic",
 
      "Language": "Norwegian",
      "LanguageCode": "no",
      "IsoLanguageCode": "nb-NO",
      "CountryCode": "NO",
      "Currency": "NOK",
      "ProductContentLanguage": "no",
 
      "IsTaxExcluded": false,
      "ShowOrderLinesExTax": false,
      "DefaultTaxRate": 25,
      "DefaultVatType": 3,
      "DefaultPaymentType": "Card",
 
      "WebsiteUrl": "https://www.mystore.no",
      "LogoUrl": "https://cdn.mystore.com/logos/norway.png",
      "DocumentFooter": "<p>My Store AS | Org.nr: 123456789 | support@mystore.no</p>",
 
      "ReturnCharges": {
        "ReturnCost": 49.00,
        "NotPickedUpCost": 99.00,
        "ReturnCostDefaultDisabled": false
      },
 
      "NumberOptions": [
        {
          "NumberType": "OrderNumberOptions",
          "Key": "nor-orders",
          "Prefix": "NO-",
          "StartSequence": 10000,
          "Service": "SequentialMarketNumberService"
        }
      ],
 
      "ShipmentOptions": [
        {
          "ShippingMethodId": "bring-servicepakke",
          "ShippingMethodName": "SERVICEPAKKE",
          "Label": "Hent i Posten",
          "ShipmentDeliveryType": "PickUp",
          "ShippingGateway": "Bring",
          "ShipmentProduct": "SERVICEPAKKE",
          "ShippingSubTotal": 79.00,
          "TaxRate": 25,
          "GetServicePoints": true,
          "IsDefaultShipment": true
        }
      ],
 
      "EmailClientSettings": {
        "StandardEmailAddress": "ordre@mystore.no",
        "LanguageCode": "no"
      },
 
      "PhoneFormatSettings": {
        "RequireCountryCode": true,
        "UsePlusInCountryCode": true,
        "DefaultCountryCode": "47",
        "ExpectedPhoneNumberFormats": [
          {
            "CountryCode": "47",
            "MinExpectedNumberLength": 8,
            "MaxExpectedNumberLength": 8
          }
        ]
      }
    },
    {
      "MarketId": "SWE",
      "MarketName": "Sweden",
      "IsDefaultMarket": false,
      "IsActive": true,
      "MarketType": "B2C",
      "MarketGroupId": "nordic",
 
      "Language": "Swedish",
      "LanguageCode": "sv",
      "IsoLanguageCode": "sv-SE",
      "CountryCode": "SE",
      "Currency": "SEK",
      "ProductContentLanguage": "sv",
 
      "IsTaxExcluded": false,
      "DefaultTaxRate": 25,
 
      "WebsiteUrl": "https://www.mystore.se",
 
      "ReturnCharges": {
        "ReturnCost": 49.00,
        "ReturnCostDefaultDisabled": false
      },
 
      "NumberOptions": [
        {
          "NumberType": "OrderNumberOptions",
          "Key": "swe-orders",
          "Prefix": "SE-",
          "StartSequence": 10000,
          "Service": "SequentialMarketNumberService"
        }
      ]
    },
    {
      "MarketId": "B2B-NOR",
      "MarketName": "Norway B2B",
      "IsDefaultMarket": false,
      "IsActive": true,
      "MarketType": "B2B",
 
      "Language": "Norwegian",
      "LanguageCode": "no",
      "IsoLanguageCode": "nb-NO",
      "CountryCode": "NO",
      "Currency": "NOK",
 
      "IsTaxExcluded": true,
      "ShowOrderLinesExTax": true,
      "DefaultTaxRate": 25
    }
  ],
 
  "MarketGroups": [
    {
      "GroupId": "nordic",
      "GroupName": "Nordic Region"
    }
  ]
}