Resources that represent purchasable goods or services. Includes resources for describing the product type and shape (SKU), and for checking the availability of the product in an inventory.
Product
Represents a purchasable good or service. A product by itself isn't a purchasable item.
The list of supported billing cycles for a SKU. Supported values are the member names found in BillingCycleType.
purchasePrerequisites
Array of strings
The list of prerequisite steps or actions that are needed prior to purchasing an item. The supported values are: "InventoryCheck" - Indicates that the item's inventory should be evaluated before attempting to purchase an item. "AzureSubscriptionRegistration" - Indicates that an Azure subscription is needed and must be registered before attempting to purchase an item.
inventoryVariables
Array of strings
The list of variables needed to execute an inventory check on an item. The supported values are: "CustomerId" - The ID of the customer that the purchase would be for. "AzureSubscriptionId" - The ID of the Azure subscription that would be used for an Azure reservation purchase. "ArmRegionName" - The region for which to verify inventory. This value must match the "ArmRegionName" from the SKU's DynamicAttributes.
provisioningVariables
Array of strings
The list of variables that must be provided into the provisioning context of a cart line item when purchasing an item. The supported values are: Scope - The scope for an Azure reservation purchase: "Single", "Shared". "SubscriptionId" - The ID of the Azure subscription that would be used for an Azure reservation purchase. "Duration" - The duration of the Azure reservation: "1Year", "3Year".
dynamicAttributes
key/value pairs
The dictionary of dynamic properties that apply to an item. The properties in a dictionary are dynamic and can change without notice. Partners should avoid creating strong dependencies on particular keys existing in the value of a property.
Notable properties relevant to new commerce license-based products and services.
Note
The new commerce experiences for license-based services include many new capabilities and are available to all Cloud Solution Provider (CSPs). For more information, see new commerce experiences overview.
Property
Type
Description
hasConstraints
Boolean
Describes if the SKU contains assetContraints
isAddon
Boolean
Describes if the SKU is an add-on
prerequisiteSkus
array of strings
Describes products and skus the add-on can work with
upgradeTargetOffers
array of strings
A list of products and skus the item can upgrade to
conversionInstructions
List of conversionInstructions
List of instructions applicable to convert operations
specializedOfferProperties
Note
The new commerce experiences for license-based services include many new capabilities and are available to all Cloud Solution Provider (CSPs). For more information, see new commerce experiences overview.
Only applicable for product subTypes "SpecializedOffers"
Property
Type
Description
startDate
String
Term IDs the instructions apply to
endDate
String
Options that define renewals
pricingPolicies
List of pricingPolicies
A list of policies that define the promotion discount types and values.
MinimumPurchaseCommitment
Attributes of the minimum amount that can be committed on compute services.
Property
Type
Description
grain
String
The period of the minimum purchase commitment.
currencyCode
Dictionary<String, String>
The "currency" and "symbol" of the minimum amount that can be committed.
amount
Int
The minimum amount that can be committed on compute services.
PricingPolicies
Describe the promotion discount types and values.
Property
Type
Description
type
String
Describe whether the discount is based on percentages or flat rate discounts.
value
String
Defines the amount of the discount applied.
Availability
Represents a configuration in which a SKU is available for purchase (such as country/region, currency, and industry segment).
Property
Type
Description
id
String
The ID for this availability. This ID is unique only within the context of its parent product and SKU. Note Availability IDs can change over time. Partners should only rely on this value within a short time span after retrieving it.
productId
String
The ID of the product that contains this availability.
skuId
String
The ID of the SKU that contains this availability.
catalogItemId
String
The unique identifier for this item in the catalog. This ID must be populated into the OrderLineItem.OfferId or CartLineItem.CatalogItemId properties when purchasing the parent SKU. Note This ID can change over time. You should only rely on this value within a short time after retrieving it. It should only be accessed and used at the time of purchase.
defaultCurrency
String
The default currency supported for this availability.
segment
String
The industry segment for this availability. Supported values are: Commercial, Education, Government, NonProfit.
country
String
The country or region (in ISO country code format) where this availability applies.
isPurchasable
Bool
Indicates whether this availability is purchasable.
isRenewable
Bool
Indicates whether this availability is renewable.
RenewalInstructions
RenewalInstruction
Represents renewal instructions for a given availability.
The resource links contained within the availability.
Renewal instruction
Note
The new commerce experiences for license-based services include many new capabilities and are available to all Cloud Solution Provider (CSPs). For more information, see new commerce experiences overview.
Represents renewal instructions for a given availability.
Property
Type
Description
applicableTermIds
Array of strings
Term IDs the instructions apply to
RenewalOptions
Array of RenewalOption
Options that define renewals
RenewalOption
Note
The new commerce experiences for license-based services include many new capabilities and are available to all Cloud Solution Provider (CSPs). For more information, see new commerce experiences overview.
Represents renewal instructions for a given availability.
Property
Type
Description
renewToId
String
Represents the product and sku to renew to
isAutoRenewable
Bool
Whether or not the availability can be auto renewed
Term
Represents a term for which the availability can be purchased.
Property
Type
Description
duration
String
An ISO 8601 representation of the term's duration. The current supported values are P1M (one month), P1Y (one year) and P3Y (three years).
description
String
The description of the term.
InventoryCheckRequest
Represents a request to check inventory against certain catalog items.
The list of catalog items that the inventory check will evaluate.
inventoryContext
Key/value pairs
The dictionary of context values that are needed to carry out the inventory checks. Each SKU of the products will define which values (if any) are needed to carry out this operation.
The resource links contained within the inventory check request.
InventoryItem
Represents a single item in an inventory check operation. This resource is used for specifying the target items in an input request and is also used to represent the output results of the inventory check operation.
The ID of the SKU. When using this resource as input to an inventory request, this value is optional. If this value isn't provided, then all SKUs under the product will be considered as target items of the inventory check operation.
isRestricted
Bool
Indicates whether this item was found to have a restricted inventory.
The details of any restrictions that are found for this item. This property will only be populated if isRestricted = "true".
InventoryRestriction
Represents the details of an inventory restriction. These details are only applicable for inventory check output results, not for input requests.
Property
Type
Description
reasonCode
String
The code that identifies the reason for the restriction.
description
String
The description of the inventory restriction.
properties
Key/value pairs
The dictionary of properties that can provide further details on the restriction.
BillingCycleType
An [Enum/dotnet/api/system.enum) with values that indicate a type of billing cycle.
Value
Position
Description
Unknown
0
Enum initializer.
Monthly
1
Indicates that the partner will be charged monthly.
Annual
2
Indicates that the partner will be charged annually.
None
3
Indicates that the partner will not be charged. This value can be used for trial items.
OneTime
4
Indicates that the partner will be charged one time.
Triennial
5
Indicates that the partner will be charged every three years.
AttestationProperties
Represents an attestation type and if it is required for purchase.
Property
Type
Description
attestationType
String
Indicates the attestation type. Windows 365 products will have the value of Windows 365. Windows 365 attestation text is "I understand that each person using Windows 365 Business with Windows Hybrid Benefit also needs to have a valid copy of Windows 10/11 Pro installed on their primary work device."
enforceAttestation
Boolean
Indicates whether attestation is required for purchase.
Microsoft Dynamics 365 helps organize and manage even the most complex product catalog to support your customers in customer engagement scenarios (for example, sales and column service). In this module, you learn how to define products, families, and bundles, take advantage of product properties, and define price lists. You also learn about pricing options for increased consistency and efficiency.