Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide
GitHubNuGetDev CommunityOptimizely AcademySubmit a ticket

Optimizely developer documentation

How can we help you?

Try our conversational search powered by Generative AI!

AI OnAI Off

PriceType examples

Describes how to use Optimizely Customized Commerce APIs to work with PriceType features.

Add custom price types

To add a new PriceType, add a new line within the SalePriceTypes of CatalogOptions in appsettings.json file.

"EPiServer": { "Commerce": { "CatalogOptions": { "SalePriceTypes": [ { "Key": "NewCustomPriceType", "Value": "3", "Description": "New Custom Price Type" }, { "Key": "JurisdictionGroup", "Value": "4", "Description": "Jurisdiction Group" } ] } } }

📘

Note

The value must be unique and 3 or greater.

Get all price types enumum and configuration

PriceTypeConfiguration.PriceTypeDefinitions returns all price types, including predefined price types and price types defined in the configuration.

namespace CodeSamples.Mediachase.Commerce.Pricing { public class PriceTypeConfigurationSample { #region GetPriceTypeFromEnumAndConfiguration public IDictionary<CustomerPricing.PriceType, PriceTypeDefinition> GetAllPriceTypeDefinitions() { // Get all price types - included predefined and price types from configuration file. var priceTypeDefinitions = PriceTypeConfiguration.Instance.PriceTypeDefinitions; return priceTypeDefinitions; } #endregion } }

Add customer price group

Customer Price Group is a predefined price type that should be matched with a specific sale code. Options available to marketers are predefined as: Customer, Partner, and Distributor.

As a developer, you can add items to that list, to make your own customer price group available in the drop-down.

800

Populate the list by adding the code in the example below, and call that from your initialization module.

private void AddVIPCustomerPriceGroup() { var metaFieldType = DataContext.Current.MetaModel.RegisteredTypes["ContactGroup"]; var metaEnumItems = MetaEnum.GetItems(metaFieldType); var hasVIPGroup = metaEnumItems.Any(item => string.Equals(item.Name, "VIP", StringComparison.InvariantCultureIgnoreCase)); if (!hasVIPGroup) { var lastIndex = metaEnumItems.Count(); MetaEnum.AddItem(metaFieldType, "VIP", ++lastIndex); } }

Did this page help you?