Product Offering Resource Mappings
Before using the TMF620 product offering resource mappings, refer the following.
- Product Code in EPC is populated with Product Name if productNumber is not sent in the payload.
- Versioning details like version label, version start date and end date in EPC is populated only if versioning is enabled in the org.
- The GlobalKey__c is sent as the
id
in the POST response. External Id field is left empty. - The life cycle status of TMF is mapped to isActive and Status of the EPC. The lifecycleStatus of EPC is defaulted to
Draft
. - For the requirement to create $0 price entry when no price is available, create $0 one time charge and associate with it.
- Attachments patched will override the previous attachment. The same holds true for Pricelist and Promotions relationship.
- The minimum, maximum and quantity field of ProductChildItem and ProductRelationship is set to 1.
- If the category node is present, create a catalog product relationship by assuming catalog is already present in the org. If not present, it results in error.
- The GlobalKey__c is used as the ID for the product specification resource and sub-resource.
- The relationship entities must be existing in the system. For example, to patch a catalog relation, the catalog must be present.
- BundledProductOffering can be reset to delink all the product bundles.
- Custom metadata with label
TMForumProductOfferingUseChildForBu
, decides the behaviour of BundledProductOffering node. Default value isfalse
, which means parent product offering to which the given product offering belongs to will be treated as the bundleProductOffer. IP / DR will have mappings to reflect the parent product offering. Changing the value tofalse
replaces the parent with the child product offering. - Manually you have to change the mappings for the BundledProductOffering node. This change will have impact on all the APIs such as GET, POST, and PATCH.
- BundledProductOffering - Incoming
id
andname
of this node can only be matched with global key and name of the product. This is cannot be customized to change the matching criteria or to add additional matching criteria(s). - productSpecificationRelationship - Incoming
id
andname
of this node can only be matched with global key and name of the product. This is cannot be customized to change the matching criteria or to add additional matching criteria(s). - It is not possible to add additional entity mappings to extend POST resource of the Product Offering API.
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Prerequisite | Is mandatory? |
---|---|---|---|---|---|---|
name | string | Required. Specifies the name of the product offering. | Product2.Name | Specifies the name of the product. | NA | Yes |
attachment | array | Provides additional description of an element, such as a product, through videos or pictures. | vlocity_cmt__VlocityAttachment__c | Describes the element through a document, video, or picture. | NA | No |
category | array | Groups product offerings, services, and resource candidates in logical containers. Categories can contain other categories or product offerings, resources, or service candidates. | vlocity_cmt__CatalogProductRelationship__c | Specifies the catalog relationship of the product. | NA | No |
description | string | Provides a description of the product offering. | Product2.Description | Describes the product. | NA | No |
isBundle | boolean | Indicates whether a product offering represents a single product offering (false) or a bundle of product offerings (true). | Product2.vlocity_cmt__specificationSubType__c | Determines whether the offer is of simple or bundle subtype. | NA | No |
isSellable | boolean | Indicates whether the product offering can be sold standalone (true) or only within a bundle (false). | Product2.vlocity_cmt__IsOrderable__c | Determines if the product offering can be sold standalone (true) or only within a bundle (false). If the value is true, the product can be added to the cart. | NA | No |
productNumber | string | Specifies the code associated with the product. | Product2.ProductCode | Specifies the unique product code of the product offering. | NA | No |
lifecycleStatus | string | Specifies the current lifecycle status. | Product2.vlocity_cmt__Status__c | Determines the status of the product. If the lifecycleStatus property is active, the IsActive property is also mapped to as true. | NA | No |
bundledProductOffering | array | Specifies a type of product offering that belongs to a grouping of product offerings made available to the market. A bundled product offering inherits all the attributes of a product offering. | vlocity_cmt__ProductChildItem__c | Specifies the product child relationship. | NA | No |
prodSpecCharValueUse | array | A use of the ProductSpecificationCharacteristicValue object by a ProductOffering object to which additional properties (attributes) apply or override the properties of similar properties contained in the ProductSpecificationCharacteristicValue object. | vlocity_cmt__AttributeAssignment__c | Specifies the attribute assignment of the product offering. | NA | No |
productOfferingPrice | array | Specifies an amount, usually of money that is asked for or allowed when a product offering is bought, rented, or leased. The price is valid for a defined period and doesn’t necessarily represent the actual price paid by a customer. | vlocity_cmt__PriceListEntry__c | Specifies the price, cost, fee, discount, or adjustments defined within a price list. A price list entry is defined for an offer, promotion, or some other context. The price list entry defines the terms and conditions of the pricing, duration of the pricing, and the policies governing the pricing. | NA | No |
productOfferingRelationship | object | Specifies a relationship between the product offering and other product offerings. | vlocity_cmt__ProductRelationship__c | Specifies a relationship between the product offering and other product offerings. | NA | No |
productOfferingTerm | array | Specifies a condition with which a product offering is made available to customers. For instance, a product offering can be offered with multiple commitment periods. | vlocity_cmt__Promotion__c | Specifies the promotions applicable for the product offering. | NA | No |
productSpecification | object | Detailed description of a tangible or intangible object made available externally in the form of a product offering to customers or other parties playing a party role. | Product2 | Describes the product offering in detail. | NA | No |
validFor: startDateTime | object | Specifies the period for which the product offering is valid. | vlocity_cmt__SellingStartDate__c | Specifies the selling start date of the product offering. | NA | No |
validFor: endDateTime | object | Specifies the period for which the product offering is valid. | vlocity_cmt__EndOfLifeDate__c | Specifies the end of life date of the product offering. | NA | No |
version | string | Specifies the product offering version. | vlocity_cmt__VersionLabel__c | Specifies the version of the product offering. | NA | No |
vlocity_cmt__PriceList__c | Specifies the price list. | Configure a valid Pricelist name in the metadata to create a productOffering. | Yes | |||
vlocity_cmt__AttributeCategory__c | Specifies the attribute category for the TMF API. It is specified in the custom metadata. | Configure a valid AttributeCategory in the custom metadata to create attributes for offers. | Yes |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
name | string | Specifies the name of the attachment. | vlocity_cmt__VlocityAttachment__c.Name | Specifies the name of the attachment. | Yes | If name is not specified, a value is automatically assigned. |
description | string | Describes the content of the attachment. | VlocityAttachment__c.vlocity_cmt__Description__c | Describes the attachment. | No | NA |
href | string | Specifies the URI for the attachment. | TMF Attachment URL + VlocityAttachment.ID | Specifies the GET URL of the TMF attachment that ends with the ID field. | No | NA |
id | string | Specifies the unique identifier of the attachment. | vlocity_cmt__vlocityAttachment__c.vlocity_cmt__AttachmentId__c | Specifies the ID of the attachment. | No | NA |
url | string | The Uniform Resource Locator, which is a web page address and a subset of URI. | vlocity_cmt__vlocityAttachment__c.vlocity_cmt__UrlLong__c | Specifies the URL of the attachment. | No | NA |
attachmentType | string | Specifies the attachment type, such as a video or a picture. | vlocity_cmt__vlocityAttachment__c.vlocity_cmt__ContentType__c | Specifies the content type, such as a picture, a video, or a file. | No | NA |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
id | string | Specifies a unique identifier of the bundled product offering. | vlocity_cmt__ProductChildItem__c.vlocity_cmt__GlobalKey__c | Specifies the external ID for the ParentProductId. This field can be configured to the child product as well. | No | Product with the specified ID and Name must exist in the org. |
name | string | Specifies the name of the bundled product offering. | vlocity_cmt__ProductChildItem__c.vlocity_cmt__ChildProductId__r.Name | Specifies the name of the parent product. | No | Product with the specified ID and Name must exist in the org. |
bundledProdOfferOption: numberRelOfferDefault | integer | Specifies the default number of product offerings that's procured as part of the related bundled product offering. | vlocity_cmt__ProductChildItem__c.vlocity_cmt__Quantity__c | Specifies the quantity of the product. | No | NA |
bundledProdOfferOption: numberRelOfferLowerLimit | integer | Specifies the lower limit for a product offering that's procured as part of the related bundled product offering. | vlocity_cmt__ProductChildItem__c.vlocity_cmt__MinQuantity__c | Specifies the minimum quantity of the product. | No | NA |
bundledProdOfferOption: numberRelOfferUpperLimit | integer | Specifies the upper limit for a product offering that's procured as part of the related bundled product offering. | vlocity_cmt__ProductChildItem__c.vlocity_cmt__MaxQuantity__c | Specifies the maximum quantity of the product. | No | NA |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Prerequisite | Is mandatory? |
---|---|---|---|---|---|---|
isDefault | boolean | Indicates if the value is the default value for a characteristic. | attributeAssignments.attributes.isDefault | Indicated whether the attribute value is the default value. | NA | No |
valueFor.startDateTime | integer | Specifies the lower range value that a characteristic can accept. | vlocity_cmt__EffectiveFromDate__c | Specifies the effective start date of the attribute. | NA | No |
valueFor.endDateTime | integer | Specifies the upper range value that a characteristic can accept. | vlocity_cmt__EffectiveFromDate__c | Specifies the effective end date of the attribute. | NA | No |
value | any | Specifies a discrete value that the characteristic can accept or the actual value of the characteristic. | value | Specifies the value of the attribute. | NA | No |
valueType | string | Specifies the type of value that the characteristic value can accept, such as numeric and text. | vlocity_cmt__ValueType__c | Specifies the datatype of the attribute value. | NA | No |
vlocity_cmt__AttributeCategory__c | Specifies the category of the attribute. | The Attribute Category specified in the custom metadata TMForumAttributeCategoryName, must be present in the Salesforce org. | No |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
name | string | Required. Specifies the name of the product offering price. | vlocity_cmt__PriceListEntry__c.Name | Specifies the name of the price list entry. | Yes | NA |
description | string | Provides the description of the product offering price. | vlocity_cmt__PriceListEntry__c.vlocity_cmt__DisplayText__c | Describes the price list entry. | No | NA |
isBundle | boolean | Indicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true). | vlocity_cmt__PriceListEntry__c.isBundle | Indicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true). | No | NA |
lifecycleStatus | string | Specifies the lifecycle status of the product offering price. | vlocity_cmt__PriceListEntry__c.vlocity_cmt__ IsActive__c | Indicates if the price list entry is active. | No | NA |
price.taxincludedamount.unit | string | Specifies the currency. The ISO4217 norm uses 3 letters to define the currency. | vlocity_cmt__PricingElementId__r.vlocity_cmt__CurrencyCode__c | Specifies the currency code. | No | NA |
price.taxincludedamount.value | float | Specifies a positive floating point number. | vlocity_cmt__PricingElementId__r.vlocity_cmt__Amount__c | Specifies the amount. | No | NA |
priceType | string | Specifies a category that describes the price charge, such as recurring, penalty, and one-time fee. | vlocity_cmt__PriceListEntry__c.vlocity_cmt__PricingElementId__r.vlocity_cmt__PricingVariableId__r.vlocity_cmt__ChargeType__c | Specifies if the price charge is recurring or a one time fee. | No | NA |
recurringChargePeriod | string | Specifies the period to apply the price again, which can be months, weeks, and so on. | vlocity_cmt__PriceListEntry__c.vlocity_cmt__PricingElementId__r.vlocity_cmt__PricingVariableId__r.vlocity_cmt__RecurringFrequency__c | Specifies the frequency of the priceType. | No | NA |
validFor | object | Specifies the period for which the product offering price is valid. | vlocity_cmt__PriceListEntry__c.vlocity_cmt__EffectiveFromDate__c,vlocity_cmt__PriceListEntry__c.vlocity_cmt__EffectiveUntilDate__c | Specifies the period for which the price list entry is valid. | No | NA |
vlocity_cmt__PriceList__c | Specifies the price list. | Yes | Configure a valid PriceList in the TMForumPriceList metadata to create a productOffering. |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
id | string | Specifies a unique identifier of the product offering relationship. | vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.vlocity_cmt__GlobalKey__c | Specifies the unique global key of the product relationship. | Yes | NA |
name | string | Required. Specifies the name of the product offering relationship. | vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.Name | Specifies the name of the product relationship. | Yes | NA |
href | string | Specifies the hyperlink reference of the product offering relationship. | TMF Attachment Url + Product2.Id | Specifies the TMF ProductSpecification GET URL ending with the ID field. | No | NA |
relationshipType | string | Specifies the relationship type between product offerings, such as requires, exchangableTo, and optionalFor. | vlocity_cmt__ProductRelationship__c.vlocity_cmt__RelationshipType__c | Specifies the relationship type such as auto-add and auto-delete. | No | NA |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
id | string | Specifies a unique identifier of the product specification. | Product2 ProductSpecId__c | Specifies the identifier of the product specification that is used by the product offering. | Yes | Configure Product Specification with a valid name and ID in the Salesforce org. |
name | string | Required. Specifies the name of the product specification. | ProductSpecId__r.Name | Specifies the name of the product specification. | Yes | Configure Product Specification with a valid name and ID in the Salesforce org. |
TMF Field | Type | Description | Salesforce Mapping | Salesforce Description | Is mandatory? | Prerequisite |
---|---|---|---|---|---|---|
name | string | Specifies the name of the productOfferingTerm. | vlocity_cmt__Promotion__c.Name | Specifies the name of the promotion. | No | NA |
description | string | Describes the productOfferingTerm. | vlocity_cmt__Promotion__c.vlocity_cmt__Description__c | Describes the promotion. | No | NA |
validFor | object | Specifies the time period during which the productOfferingTerm is valid. | vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveStartDate__c, vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveEndDate__c | Specifies the effective dates between which the promotion is valid. | No | NA |
duration: amount | duration | Specifies the duration of the productOfferingTerm. | vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDuration__c | Specifies the duration of the time plan. | No | NA |
duration: unit | duration | Specifies the duration of the productOfferingTerm. | vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDurationUoM__c | Specifies the duration unit. | No | NA |