Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Database definitions

Provides the database definitions for Commerce (SaaS).

You should understand the database definitions for Commerce (SaaS).

📘

Note

Terms of the schema item are in bold and [its context] is in brackets – followed by its definition.

AppDict schema

  • AdminActionConfiguration [Security/Configuration] – Stores configurations for actions available in the Admin Console, which require specific permissions by role. For example, only users with the ISC_Admin, ISC_ContentAdmin, ISC_ContentApprover, or ISC_System role can approve and publish content revisions.
  • AdminActionPermission [Security/Configuration] – Indicates which roles are allowed or disallowed to take the actions in the [dbo].[AdminActionConfiguration] – table.
  • EntityConfiguration [Security/Configuration] – The Application Dictionary controls field names, field labels, language options, field length, and security access based on assigned User Roles. Only make changes in this area if you are confident and understand the implications of the change.
  • EntityPermission [Security/Configuration] – Entities are the top-level data constructs in the system and loosely relate to a SQL table. This permission table is used override the default entity permissions established by Insite.
  • PropertyAttributeConfiguration [Security/Configuration] – This table allows implementers to override specific behaviors or constraints on properties available in the Admin Console forms. For example, you can change the default value, display width, or maximum value of a form field.
  • PropertyConfiguration [Security/Configuration] – Properties are the fields within a given entity. This table holds property configurations that override the default configurations provided by Insite.
  • PropertyPermission [Security/Configuration] – Permissions may be overridden by the implementer by role so that a given field (entity property) may be set as read-only or hidden.

dbo schema

  • __MigrationHistory [Entity Framework Migrations] – This is a .NET table for handling Entity Framework migrations. This table is not managed by the Commerce (SaaS) application.
  • AdminUserProfile [Security] – Users have roles assigned to them and are able to interact with the Admin Console.
  • AdminUserProfilePassword [Security] – This is used for keeping track of the last several passwords used for PCI compliance.
  • AdminUserProfilePreference [System] – This table is used to store various user preferences within the Admin Console, such as column order on a grid.
  • Affiliate [Marketing] – Affiliates are used to connect with third-party affiliate online marketing programs. Custom development is required to leverage this feature.
  • ApplicationDictionary [Application] – OBSOLETE - These configurations have been moved to the [AppDict].[EntityConfiguration], [AppDict].[PropertyConfiguration], and other related tables in the [AppDict] – schema.
  • ApplicationLog [Application] – The Application Logs are used to research application issues. When errors arise in the application, they are generally persisted to this log.
  • ApplicationMessage [Application] – Application Messages allow you to view existing site messages and/or create new messages, which are used to communicate with all or a specific set of customers. The messages can be delivered on all websites or a specific website. Messages are configured to be sent automatically when an action is required.
  • AspNetRoles [Security] – Part of ASP.NET Identity services which is used for all of our authentication. The roles table holds the specific roles defined in the application, both system-defined (e.g. ISC_Admin, ISC_Integration) and user-defined. These roles can be used in either the website through extension or the Admin Console through security configuration in the Application Dictionary.
  • AspNetUserClaims [Security] – Part of ASP.NET Identity used for SSO/login through another provider, such as Facebook.
  • AspNetUserLogins [Security] – Part of ASP.NET Identity used for SSO/login through another provider, such as Facebook.
  • AspNetUserRoles [Security] – Part of ASP.NET Identity used to associate users to their assigned roles.
  • AspNetUsers [Security] – Part of ASP.NET Identity used to identify users in the system. This table holds information associated with their login name, password, and email. Additional information that is ISC-specific is contained in the [dbo.UserProfile] – and [dbo.AdminUserProfile] – tables.
  • AttributeType [Products] – Attributes are used to assign search, facet, and comparison values for products. The attribute type is the category of the attribute, such as "Color" or "Size", where the attribute values are the specific values available within an attribute type.
  • AttributeValue [Products] – The list of possible values is for an Attribute Type, such as "Red", "Green", and "Blue" for the "Color" attribute.
  • Audit [System] – This table is used to capture certain events on the Storefront and Admin Console for auditing and PCI-compliance. It will contain successful and failed login information, application settings being changed, password change requests, integration job definition changes, role assignment, and user creation.
  • BudgetCalendar [Budget] – Budget calendars are periods defined by a customer within which the budgets are enforced and on which budget reporting is based.
  • CacheKeySuffix [Cache] – This table is used as part of the caching strategy and is shared by web servers in a farm so that caching can be easily invalidated and reloaded. This is primarily used for Content Management System (CMS) caching.
  • CacheState [Cache] – This table is used as part of the caching strategy and is used to implement e-tag caching.
  • Carrier [Shipping] – These records are shipping carriers available within the website, such as FedEx, UPS, or company truck. Carriers contain information like shipping services or package information used to calculate shipping charges for an order.
  • CarrierPackage [Shipping] – This is a set of predefined packages for parcel shipping calculations which are used by the OrderPackager plugin. The standard packager uses maximum weight to "pack up the order" and emulate the packages to send into a parcel carrier to obtain shipping rates.
  • CarrierZone [Shipping] – For carriers where the rate table will be entered directly into Commerce (SaaS), the CarrierZone* tables are used to define delivery zones by postal code range and rates by zone and weight. This can be used for truck/LTL carriers or local parcel services that do no use an API to calculate the rates.
  • CarrierZonePostalCodeRange [Shipping] – Used by the system to determine which zone a given postal code range is in from the source shipping location to help calculate rates.
  • CarrierZoneRate [Shipping] – Used by the system to determine the rates by zone and weight for carriers, where Commerce (SaaS) is calculating the shipping charges.
  • Category [Categories] – Categories are a site-specific product classification and grouping mechanism that drives a website's navigation. As products are created, they need to be assigned to a Category. Dynamic Categories allow for the same types of classification and grouping, but they automatically add products to a category based on a set of criteria and rules specified by the user.
  • CategoryAttributeType [Categories] – By assigning AttributeTypes to a category, it will expose the attributes to products in those categories. For those attribute types that are filterable, the filters for that category will be presented when you navigate to that category.
  • CategoryAttributeValue [Categories] – This construct is a hook that requires custom development to utilize and is not guaranteed to be in future releases. The intent is to allow the user to assign specific values to a given category for faceting.
  • CategoryProduct [Categories] – This table defines the products that are assigned to a given category.
  • CategoryRelatedProduct [Categories] – This table is used to establish category cross sells, but is more flexible. The data contains the category and any products related to it in addition to the type of relationship, as defined in the System List named "ProductRelationship".
  • CategoryTaxExemption [Categories] – Used to define entire categories of product which are tax exempt while using the internal Commerce (SaaS) tax engine.
  • Configuration [Advanced Configuration] – Initial table that defines an advanced, rules-based configuration for products.
  • ConfigurationConditionFilter [Advanced Configuration] – This table is not currently used by the application and should not be used.
  • ConfigurationOption [Advanced Configuration] – Defines the specific input values (options) for an advanced configuration.
  • ConfigurationOptionCondition [Advanced Configuration] – Defines a specific condition for which different values will be available for a given option.
  • ConfigurationPage [Advanced Configuration] – Defines a page of inputs (options) for an advanced configuration.
  • ConfigurationQueryResult [Advanced Configuration] – Query results are currently only accessible through integration and are used to store a table/spreadsheet of values from which selections may be conditioned and filtered.
  • ConfigurationQueryResultField [Advanced Configuration] – This table defines the different fields in a query, analogous to the columns in a spreadsheet.
  • ConfigurationQueryResultValue [Advanced Configuration] – This table stores the actual values for each row of a query result, in XML format.
  • Content [Content Management] – Content stores the embedded content entries for Products, Categories, Specifications, etc. This content is anchored to a parent entity through a ContentManager.
  • ContentItem [Content Management] – This is the primary CMS entry for a content item managed through the CMS. This describes on which page the item lives, where on the page the item lives, and workflow information.
  • ContentItemField [Content Management] – ContentItemField stores the actual content or content item property for CMS.
  • ContentManager [Content Management] – The content managers associate the parent of the content to all of the current and pending content revisions and variations for the parent. For example, the Product Content control will display all of the Content items that have the same ContentManager.
  • ContentPageState [Content Management] – Used by CMS to know the current state of a given content-managed page. This table also helps manage future published content.
  • Country [System] – A list of valid countries that are used for address validation, state/province management for a country and which countries are available on a given website.
  • CreditCardTransaction [Orders] – When a credit card is processed, a transaction is recorded for audit and history purposes.
  • Currency [Multi-Currency] – Currencies provide the flexibility of having different currencies that can be assigned to websites.
  • CurrencyRate [Multi-Currency] – Used by the pricing system to determine the current exchange rate to the base currency to allow for price conversions.
  • Customer [Customers] – Records that represent the customer Bill To and Ship To instances for a given customer. Users are assigned to the customer records and purchase on their behalf.
  • CustomerBudget [Customers] – Allows for capturing the specific budget by period for a customer, Ship To, or user, which is then applied to budget restrictions and workflow.
  • CustomerCarrier [Customers] – Allows assigning customers to specific carriers. This is not currently used by the system in a standard way and we do not advise using it.
  • CustomerCostCode [Customers] – Used by the order system to allow for a customer to establish specific cost codes to be assigned to individual order lines for tracking purposes. These can often represent a project or department and is available to the order submission process to capture the data in the ERP order.
  • CustomerOrder [Orders] – The primary order/cart construct in the system. This is used for carts, completed orders, orders in workflow, saved orders, and quotes.
  • CustomerOrderTax [Taxes] – When dual tax jurisdictions are configured, this table will store each of the tax jurisdictions that are applied to a customer order.
  • CustomerOrderGiftCard [CUSTOM] – The intent of this table is to associate a gift card purchased to a specific customer order.
  • CustomerOrderPromotion [Orders] – Captures the promotions processed against a given customer order.
  • CustomerProduct [Customers] – Defines the customer-specific name of a given product so that they can order by their internal product identifiers. This also captures a default unit of measure with which a customer orders a specific product.
  • CustomerProductSet [Customers/Custom] – This construct allows the Commerce (SaaS) administrator to establish a group of products to a named set. This is a custom extension to allow for things like "Customer Favorites".
  • CustomerProductSetProduct [Customers] – Represents the specific products that belong to a CustomerProductSet.
  • CustomerRestrictionGroup [Customers] – Part of the restriction group functionality to include/exclude certain products by customer. The entry here defines an override to the default behavior defined in the Restriction Group.
  • CustomerRestrictionGroupProduct [Customers] – Allows for refining the override behavior of a restriction group to specific products within the group. If no products exist, the entire group acts as the override. If any products are listed, only those products are part of the override.
  • CustomerSalesperson [Customers/Custom] – Allows a many-to-many relationship between customers and sales reps. This is not currently used in the system for any standard behavior.
  • CustomerUserProfile [Customers] – Used to assign Users to Customers and to establish a default customer and cost code for the user.
  • **CustomProperty – Extensions – This table stores all of the custom properties in the system. The [ParentId] – and [ParentTable] – indicate to which other table and record this property belongs.
  • DashboardPanelPosition [Storefront] – Stores user preferences related to the order of the panels displayed on the Storefront dashboard.
  • DatabaseScript [System] – This table mimics the idea behind the Entity Framework [dbo].[__MigrationHistory] – table. On startup, Commerce (SaaS) executes database scripts to allow for data migrations and schema changes. A script will only ever be executed once because this table keeps track of if and when a script was executed.
  • Dealer [Dealers] – This represents the different locations where the products are sold and is used in the Store Locator control.
  • DealerCategory [Dealers] – Defines the categories of products that a specific location carries. Useful to either display the brands a location carries or the locations that carry a given brand.
  • DealerProduct [Dealers/Custom] – Creates the ability to assign individual products to a dealer as opposed to a category. Requires customization to utilize.
  • Document [Products] – List of document paths associated with a product.
  • ELMAH_Error [System] – Used by a third-party error-tracking system to record system errors that are not specifically coded for within the application. This table includes valuable debugging information and can be used for troubleshooting site problems. See https://elmah.github.io/ for additional information.
  • EmailList [Communication] – Email Lists contain the names and email addresses which are used to send out Email Templates. This table defines a name for an email list to which email addresses are subscribed.
  • EmailMessage [Communication] – This table stores attempts made by Commerce (SaaS) to send outbound email messages.
  • EmailMessageAddress [Communication] – Stores the sender and recipient email addresses used for a given email message.
  • EmailMessageDeliveryAttempt [Communication] – Works with the email system to help ensure that email messages are sent. This controls the retry queue to make sure sending an email message is attempted several times before giving up.
  • EmailSubscriber [Communication] – This is a list of email addresses that can be assigned to different email lists.
  • EmailSubscriberEmailList [Communication] – Contains the list of specific subscribers and the email lists to which they are subscribed.
  • EmailTemplate [Communication] – Email Templates are reusable emails that can be sent to customers, informing them of notices such as product updates or special pricing opportunities. These Email Templates are sent out using recipient lists created in the Email Lists, which can be found Marketing > Communication section in the Admin Console.
  • GiftCard [CUSTOM DEV] – Gift cards are an extension construct within the system, but have some built-in functionality. This table stores the actual gift cards in the system, whether or not they have been sold, and what remains of their balance.
  • GiftCardTransaction [CUSTOM DEV] – This table stores all of transactions made with a gift card until the balance reaches zero or the card expires.
  • GlobalSynonym [PunchOut] – This is used to map certain values for constructs, such as Currency or UnitOfMeasure, for incoming documents in PunchOut. The list of types is defined by the System List named "GlobalSynonymType".
  • HtmlRedirect [Site] – Use URL Redirects when it is necessary to redirect from a legacy URL to a new URL.
  • IntegrationConnection [Integration] – Contains configuration data for all of the remote data source connections for the integration architecture, if it's being used. An Internal connection is defined automatically for import/export functions.
  • IntegrationJob [Integration] – Contains a history of jobs that have been run using the Commerce (SaaS) Integration Architecture.
  • IntegrationJobLog [Integration] – Provides a detailed list of information, warning, error, and debugging messages for a specific integration job.
  • IntegrationJobParameter [Integration] – Details the parameters used when an integration job is executed.
  • InvoiceHistory [History] – Header of an invoice used for presentation on the Storefront.
  • InvoiceHistoryLine [History] – Detail of an invoice for Invoice History.
  • InvoiceHistoryTax [Taxes] – When dual tax jurisdictions are configured, this table will store each of the tax jurisdictions that were applied to an invoice.
  • JobDefinition [Integration] – The Job Definitions table and associated tables define the integration process for a given integration using metadata.
  • JobDefinitionParameter [Integration] – Defines the job-level parameters used for an integration job.
  • JobDefinitionStep [Integration] – Defines each step within an integration job definition.
  • JobDefinitionStepFieldMap [Integration] – Defines the field mapping for a refresh or submit job.
  • JobDefinitionStepParameter [Integration] – Defines the step-level parameters used for an integration job.
  • Language [System] – System list of languages that can be used by the system. This list is used for defining which languages are used by a website to display all content and messages.
  • LocalTaxRate [Taxes] – Identifies specific tax rates by zip code and controls whether or not freight is included when using the Optimizely tax engine.
  • LocalTaxRateTaxExemption [Taxes] – Defines the tax exemptions that apply for a specific local tax jurisdiction when using the Optimizely tax engine.
  • Message [Communication] – Dashboard Messages are displayed on the website to users in their Account Dashboard. They can be used to notify users about events such as planned downtime for the site due to maintenance.
  • MessageAudit [Communication] – Captures messages that have been generated by system processes, such as RFQ, and can expose the message log/history.
  • MessageStatus [Communication] – Uses the MessageTarget to expose the message to all of the expected recipients and track if the message has been read or not.
  • MessageTarget [Communication] – Defines the different target audiences for a message.
  • OrderHistory [History] – This table is used for displaying order history on the site and is initially populated from web orders being placed. It is then augmented and updated using integration refresh jobs.
  • OrderHistoryLine [History] – The order lines that go along with the order history records.
  • OrderHistoryTax [Taxes] – When dual tax jurisdictions are configured, this table will store each of the tax jurisdictions that were applied to a customer order.
  • OrderLine [Orders] – The order lines that are part of a CustomerOrder.
  • OrderLineConfigurationValue [Orders] – Used as part of the Advanced Configuration capability of the system. This table holds the actual values selected for a specific configuration option.
  • OrderLineRequisition [Orders] – This table facilitates the detailed requisitions made by requisitioners. These are aggregated to a requisition order, but this provides the detail of the quantity and use making the request.
  • OrderLineRfq [Orders] – Holds the quantity breaks and quotes prices for a price quote.
  • OrderPromotionCode [Orders] – Defines the specific promotions applied against an order.
  • PaymentMethod [System] – Payment Methods are one of the ways in which Commerce (SaaS) captures and secures funds for the items or services sold on a website. The two primary types of payment methods are credit cards and purchase orders. These can be configured in the Sales > Payment Methods section of the Admin Console.
  • Persona [Personas] – Personas are used to define groups of users that can be targeted with specific content.
  • Plugin [System] – This is an internal table used primarily to support the integration architecture by injecting the available integration processors from a given Integration Connection.
  • PriceMatrix [Pricing] – A Price Matrix is a way to create unique pricing rules for specific products, customers, product groups, or customer groups.
  • Product [Products] – Products are the items sold on a website and is a primary construct in the ecommerce ecosystem. Many other tables reference or are children of this table.
  • ProductAttributeValue [Products] – Used to assign specific values of attributes to a product. The list is generated based on the attribute types assigned to a category and the categories to which a product is assigned.
  • ProductKitSection [Products] – For products that are configured but do not use the Advanced Configuration option (kits and bundles), this defines the options groups for which to promt. By way of example, if we are configuring a Computer, the sections may be "Case", "Motherboard", and "Memory".
  • ProductKitSectionOption [Products] – These are the available options within a section for a kit.
  • ProductRelatedProduct [Products] – This table is the generic version of cross sells and accessories. It can be used for any relationship between different products, such as BOM list or replacement parts. The relationships available are defined by the System List named "ProductRelationship".
  • ProductTaxExemption [Products] – Indicates the products that are subject to a specific tax exemption when using the Optimizely tax engine.
  • ProductUnitOfMeasure [Products] – Used to define the alternate units of measure for a product and the conversion factors to state in stocking units.
  • ProductWarehouse [Products] – This table holds the current inventory by warehouse and product.
  • Promotion [Promotions] – Promotions are used to incentivize customers by offering discounts on orders or shipping or giving away free/promotional products. Promotions are configurable using a rules engine.
  • PromotionResult [Promotions] – The results part of the promotion indicates how the promotion is applied. Examples include free shipping, % off order, and amount off order.
  • PromotionRule [Promotions] – OBSOLETE - This has been replaced by the generic rules engine, specifically [dbo].[RuleClause].
  • PunchOutCustomerUserProfileMap [PunchOut] – Used by PunchOut to connect a User Profile in the request cXML to a specific customer.
  • PunchOutOrderRequest [PunchOut] – Records the actual cXML request during a punchout session and helps with auditing the process.
  • PunchOutOrderRequestExtrinsic [PunchOut] – Enumerates the extrinsic (custom) fields defined by the order information in the cXML and persists them for future reference and audit.
  • PunchOutOrderRequestItemOut [PunchOut] – Order details that are sent with the request.
  • PunchOutOrderRequestItemOutExtrinsic [PunchOut] – Describes the extrinsic (custom) fields included in the order detail lines that are sent with the request and persists them for future reference and audit.
  • PunchOutOrderRequestMessage [PunchOut] – This is a collection of messages that are sent back to the caller for issues found on the received order, such as invalid unit of measure or invalid product.
  • PunchOutSession [PunchOut] – Records key information about a specific PunchOut session, including the order within Commerce (SaaS) that was created or modified during the session.
  • PunchOutSessionAccess [PunchOut] – This is an audit of the requests coming in during a PunchOut session. This records the date/time of the request and IP address from which the request originated.
  • PunchOutSessionExtrinsic [PunchOut] – Enumerates the extrinsic (custom) fields defined by the session information in the cXML request.
  • PunchOutSessionItemIn [PunchOut] – This is used specifically for inspect/edit modes to recall the cart back into the session.
  • PunchOutSetupRequest [PunchOut] – Records an audit of the PunchOut setup request as provided by the trading partner.
  • ReportOrderHistoryLineView [Analytics] – This is a view used for analytics exports.
  • ReportOrderHistoryView [Analytics] – This is a view used for analytics exports.
  • RestrictionGroup [Categories] – Restriction Groups are used to classify sets of products that have restricted access and can be defined as "EVERYBODY except" as a default (include by default) or "NOBODY except" (exclude by default). This is used in conjunction with [dbo].[CustomerRestrictionGroup] – to allow overriding the default behavior by customer.
  • RuleClause [Rules] – Used by the rules manager to define the specific implementation of a set of rules contained within a rule manager. For example, Persona uses a rules manager to define a persona and it's specific parameters.
  • RuleManager [Rules] – The rule manager is the parent of the rule clauses and is associated with the parent item such as Carrier, Persona, or Promotion.
  • RuleType [Rules] – Rule Types are the top-level construct of the rules engine and defines the entities that can use specific rules. Except for the built-in rule types (dynamic categories, promotions, personas, and shipping rules), it can be extended for generic use elsewhere in the system where a set of rules defines a true/false answer.
  • RuleTypeOption [Rules] – These are the specific rules that are set up and made available for constructing rule clauses. These options have some generic entries (Object, Custom Properties) or specific implementations using the CriteriaTypes, which have the actual server-side evaluation code in them along with certain display rules.
  • Salesperson [Customer] – Sales Representatives are used primarily when working with the Request for Quote (RFQ) feature. When a quote is submitted, the Sales Representative can enter a quote or a calculate value, which is then provided back to the user for acceptance. Sales representatives can also be set up as users. When they log in, all of the customers associated with the sales rep are available for selection. This allows the sales representative to place orders on behalf of the customer.
  • SeqBatchNumber [System] – OBSOLETE –
  • SeqContentKey [System] – Used to track the next available sequence for a ContentItem.
  • SeqCustomerNumber [System] – Used by the system to assign the next automatically assigned customer number.
  • SeqOrderNumber [System] – Used by the system to assign the next automatically assigned order number.
  • **ShipCharge – Shipping – Used by the carrier/shipping engine to add additional charges to a carrier or service.
  • Shipment [History] – This table is created through integration and tracks the shipments that have been made against orders. This represents the shipment header.
  • ShipmentPackage [History] – This table contains one or more individual packages that were sent with a shipment, along with the tracking number.
  • ShipmentPackageLine [History] – This table records the shipped contents of each package, which is entirely optional in the system.
  • ShippingRestriction [Orders] – Used to define specific products that cannot be sold in specific jurisdictions. Currently this is only supported at the state level. For example, liquor cannot be shipped to Kentucky, so this product will be excluded from the cart.
  • ShipRate [Shipping] – This is used as part of the shipping engine when the shipping charges are maintained within Commerce (SaaS) based on the order value vs. weight.
  • ShipRule [Shipping] – OBSOLETE - This has been replaced with the rules engine, specifically [dbo].[RuleClause].
  • ShipVia [Shipping] – Represents the carrier service. For example, if the carrier is FedEx, the ShipVia could be "Express" or "2nd Day AM".
  • Specification [Products] – Specifications are a set of content-managed additional information associated with a product. Typically, each specification is shown as a separate tab on the product detail page.
  • State [System] – States is a standardized table that is associated with specific countries. This table is used throughout address capture, including on the order address page.
  • StateTaxExemption [Taxes] – This associates specific states with being tax exempt if using the Optimizely tax engine.
  • StyleClass [Products] – Used to define a group of similar items that have the same traits. An example would be t-shirts that have Color and Size as traits or pants Waist, Inseam, and Color as traits.
  • StyleTrait [Products] – These are analogous to attribute types and represent the groups of values that will ultimately help resolve a set of attributes to a specific product. As stated above, Color and Size are examples of StyleTraits.
  • StyleTraitValue [Products] – These are the actual values that are available within a style trait, such as the valid list of Colors within the Color style trait.
  • StyleTraitValueProduct [Products] – This table associates the specific StyleTrait values to a specific product.
  • Subscription [CUSTOM DEV] – Subscriptions are designed to allow a customer to purchase a set of products that are shipped on a regular basis. Some of this is available in the standard site, but much of it will require additional development. Fortunately, there are many constructs that enable subscriptions. This table represents the subscription order and includes the start/end date of the subscription, who purchased the product, where the product should be shipped, the cycle and the subscription parent product associated with the subscription.
  • SubscriptionLine [CUSTOM DEV] – Defines the specific products and quantities to ship at a given price.
  • SubscriptionProduct [CUSTOM DEV] – This defines a list of shippable products within a subscription product. For example, the subscribed product may be "Oil Change Kit" and the products would include 4 cans of oil, a drain pan, and an oil filter.
  • SystemList [System] – System Lists allow you to customize the predefined lists, such as RMA codes and devices types. You can also create your own lists to extend platform capabilities.
  • SystemListValue [System] – The specific values associated with a system list, such as "CrossSells" or "Accessories" within the "ProductRelationship" system list.
  • TaxExemption [Taxes] – Tax Exemptions allow the user to create specific exemptions from tax and then associate them with products, categories, and customers, if using the Optimizely tax engine.
  • TranslationDictionary [Multi-Language] – Single word or short phrase translation records for text, such as Product Attributes, Payment Terms, and Units of Measure.
  • TranslationProperty [Multi-Language] – Translation records for fields such as Product Name, Application Messages, and Page titles. This is used for longer, unique strings.
  • UserPaymentProfile [Orders] – This is not currently implemented in the site, but will be used to store credit card tokens so that a buyer can re-use a credit card. Credit card numbers are not stored.
  • UserProfile [Security] – Users have roles assigned to them and are able to interact with the Storefront based on the assigned roles. Users must be assigned to a customer before they have access to the Storefront.
  • UserProfileEmailList [Communication] – OBSOLETE - This has been replaced by the [dbo].[EmailSubscriberEmailList] – table.
  • Vendor [Products] – This represents the list of providers for the product table. Each record could be a manufacturer or supplier. A product can be associated with a vendor.
  • Warehouse [Products] – Warehouses are used to define the location of a given inventory site, calculate shipping costs, and define product/warehouse inventory.
  • WarehouseAlternate [Products] – This is a list of alternate warehouses from which inventory should be aggregated when determining the available inventory. For example, if I have a warehouse in Minneapolis, Milwaukee, and Chicago, I may want to have Milwaukee act as an alternate for both Minneapolis and Chicago. Then we can aggregate inventory from it to those other locations when determining how we show inventory availability on the site.
  • WebPage [Content Management] – OBSOLETE - This was replaced by the CMS.
  • WebPageContent [Content Management] – OBSOLETE - This was replaced by the CMS.
  • WebSite [Websites] – Websites are a primary construct in the application to define the URLs that point to a given site and the unique category structure within the site. Alternate sites and microsites are all defined here.
  • WebSiteAllowedCustomers [Websites] – Assigns websites to customers when restricted access to the website is in place.
  • WebSiteCarrier [Websites] – Assigns carriers to websites. Only these carriers will be available to the website.
  • WebSiteCountry [Websites] – Assigns countries to websites. Only addresses within these countries will be allowed.
  • WebSiteCurrency [Websites] – Assigns currencies to websites. Only the currencies selected will be available on the site.
  • WebSiteDealer [Websites] – Assigns dealers/locations to websites and is used within the dealer locator.
  • WebSiteLanguage [Websites] – Assigns languages to websites. Only the languages selected will be available on the site.
  • WebSiteProductCrossSell [Websites] – This is a set of specific products set up as cross sells and shown in the website cross-sell carrousel on the home page.
  • WebSitePromotion [Websites] – Assigns promotions to websites. Only these promotions will be available on the site.
  • WebsiteSitemap [Websites] – This table is generated from an integration processor and contains the actual sitemap along with related data based on some configuration options.
  • WebSiteState [Websites] – Assigns states to websites. Only the states assigned will be available for Ship To addresses on the site.
  • WishList [Wish Lists] – WishLists are lists of products associated to either a customer or a user that acts as a holding place for buyers to set aside a set of products in which they are interested. Buyers can have multiple wishlists, which can be used for "favorite products" or commonly re-ordered products, as if it were a template order.
  • WishListProduct [Wish Lists] – This is the specific list of products associated with a wish list.

identity schema

📘

Note

All items in the identity schema have the [Security/SSO] context andare part of Identity Server 3 - additional information at https://github.com/IdentityServer/IdentityServer3.

  • ClientClaims
  • ClientCorsOrigins
  • ClientCustomGrantTypes
  • ClientIdPRestrictions
  • ClientPostLogoutRedirectUris
  • ClientRedirectUris
  • Clients
  • ClientScopes
  • ClientSecrets
  • Consents
  • ScopeClaims
  • Scopes
  • Tokens

Search schema

  • SearchBoost [Search] – Search Boosting increases or decreases the visibility of a particular field within a search query. Category Boosting increases or decreases the visibility of a Category within a search query. Product Boosting increases or decreases the visibility of a Product within a search query.
  • SearchStopword [Search] – Stopwords are common words that are ignored when they are included within a search query. The most common stopwords are already included in the platform. To improve search results, it may be helpful to add additional stopwords, such as "cheap" or "quality", as these can introduce unnecessary noise into a search query.
  • SearchSynonym [Search] – Synonyms are used to manage alternate word forms that may be entered in a search query. For example, connect keywords such as "sofa" and "couch" to help search queries find relevant products.
  • SearchTermRedirect [Search] – Redirects link a specific search term to a specific URL.