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 is false, 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 to false 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 and name 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 and name 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.
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionPrerequisiteIs mandatory?
namestringRequired. Specifies the name of the product offering.Product2.NameSpecifies the name of the product.NAYes
attachmentarrayProvides additional description of an element, such as a product, through videos or pictures.vlocity_cmt__VlocityAttachment__cDescribes the element through a document, video, or picture.NANo
categoryarrayGroups product offerings, services, and resource candidates in logical containers. Categories can contain other categories or product offerings, resources, or service candidates.vlocity_cmt__CatalogProductRelationship__cSpecifies the catalog relationship of the product.NANo
descriptionstringProvides a description of the product offering.Product2.DescriptionDescribes the product.NANo
isBundlebooleanIndicates whether a product offering represents a single product offering (false) or a bundle of product offerings (true).Product2.vlocity_cmt__specificationSubType__cDetermines whether the offer is of simple or bundle subtype.NANo
isSellablebooleanIndicates whether the product offering can be sold standalone (true) or only within a bundle (false).Product2.vlocity_cmt__IsOrderable__cDetermines 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.NANo
productNumberstringSpecifies the code associated with the product.Product2.ProductCodeSpecifies the unique product code of the product offering.NANo
lifecycleStatusstringSpecifies the current lifecycle status.Product2.vlocity_cmt__Status__cDetermines the status of the product. If the lifecycleStatus property is active, the IsActive property is also mapped to as true.NANo
bundledProductOfferingarraySpecifies 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__cSpecifies the product child relationship.NANo
prodSpecCharValueUsearrayA 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__cSpecifies the attribute assignment of the product offering.NANo
productOfferingPricearraySpecifies 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__cSpecifies 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.NANo
productOfferingRelationshipobjectSpecifies a relationship between the product offering and other product offerings.vlocity_cmt__ProductRelationship__cSpecifies a relationship between the product offering and other product offerings.NANo
productOfferingTermarraySpecifies 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__cSpecifies the promotions applicable for the product offering.NANo
productSpecificationobjectDetailed 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.Product2Describes the product offering in detail.NANo
validFor: startDateTimeobjectSpecifies the period for which the product offering is valid.vlocity_cmt__SellingStartDate__cSpecifies the selling start date of the product offering.NANo
validFor: endDateTimeobjectSpecifies the period for which the product offering is valid.vlocity_cmt__EndOfLifeDate__cSpecifies the end of life date of the product offering.NANo
versionstringSpecifies the product offering version.vlocity_cmt__VersionLabel__cSpecifies the version of the product offering.NANo
vlocity_cmt__PriceList__cSpecifies the price list.Configure a valid Pricelist name in the metadata to create a productOffering.Yes
vlocity_cmt__AttributeCategory__cSpecifies 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
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
namestringSpecifies the name of the attachment.vlocity_cmt__VlocityAttachment__c.NameSpecifies the name of the attachment.YesIf name is not specified, a value is automatically assigned.
descriptionstringDescribes the content of the attachment.VlocityAttachment__c.vlocity_cmt__Description__cDescribes the attachment.NoNA
hrefstringSpecifies the URI for the attachment.TMF Attachment URL + VlocityAttachment.IDSpecifies the GET URL of the TMF attachment that ends with the ID field.NoNA
idstringSpecifies the unique identifier of the attachment.vlocity_cmt__vlocityAttachment__c.vlocity_cmt__AttachmentId__cSpecifies the ID of the attachment.NoNA
urlstringThe Uniform Resource Locator, which is a web page address and a subset of URI.vlocity_cmt__vlocityAttachment__c.vlocity_cmt__UrlLong__cSpecifies the URL of the attachment.NoNA
attachmentTypestringSpecifies the attachment type, such as a video or a picture.vlocity_cmt__vlocityAttachment__c.vlocity_cmt__ContentType__cSpecifies the content type, such as a picture, a video, or a file.NoNA
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
idstringSpecifies a unique identifier of the bundled product offering.vlocity_cmt__ProductChildItem__c.vlocity_cmt__GlobalKey__cSpecifies the external ID for the ParentProductId. This field can be configured to the child product as well.NoProduct with the specified ID and Name must exist in the org.
namestringSpecifies the name of the bundled product offering.vlocity_cmt__ProductChildItem__c.vlocity_cmt__ChildProductId__r.NameSpecifies the name of the parent product.NoProduct with the specified ID and Name must exist in the org.
bundledProdOfferOption: numberRelOfferDefaultintegerSpecifies the default number of product offerings that's procured as part of the related bundled product offering.vlocity_cmt__ProductChildItem__c.vlocity_cmt__Quantity__cSpecifies the quantity of the product.NoNA
bundledProdOfferOption: numberRelOfferLowerLimitintegerSpecifies 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__cSpecifies the minimum quantity of the product.NoNA
bundledProdOfferOption: numberRelOfferUpperLimitintegerSpecifies 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__cSpecifies the maximum quantity of the product.NoNA
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionPrerequisiteIs mandatory?
isDefaultbooleanIndicates if the value is the default value for a characteristic.attributeAssignments.attributes.isDefaultIndicated whether the attribute value is the default value.NANo
valueFor.startDateTimeintegerSpecifies the lower range value that a characteristic can accept.vlocity_cmt__EffectiveFromDate__cSpecifies the effective start date of the attribute.NANo
valueFor.endDateTimeintegerSpecifies the upper range value that a characteristic can accept.vlocity_cmt__EffectiveFromDate__cSpecifies the effective end date of the attribute.NANo
valueanySpecifies a discrete value that the characteristic can accept or the actual value of the characteristic.valueSpecifies the value of the attribute.NANo
valueTypestringSpecifies the type of value that the characteristic value can accept, such as numeric and text.vlocity_cmt__ValueType__cSpecifies the datatype of the attribute value.NANo
vlocity_cmt__AttributeCategory__cSpecifies the category of the attribute.The Attribute Category specified in the custom metadata TMForumAttributeCategoryName, must be present in the Salesforce org.No
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
namestringRequired. Specifies the name of the product offering price.vlocity_cmt__PriceListEntry__c.NameSpecifies the name of the price list entry.YesNA
descriptionstringProvides the description of the product offering price.vlocity_cmt__PriceListEntry__c.vlocity_cmt__DisplayText__cDescribes the price list entry.NoNA
isBundlebooleanIndicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true).vlocity_cmt__PriceListEntry__c.isBundleIndicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true).NoNA
lifecycleStatusstringSpecifies the lifecycle status of the product offering price.vlocity_cmt__PriceListEntry__c.vlocity_cmt__ IsActive__cIndicates if the price list entry is active.NoNA
price.taxincludedamount.unitstringSpecifies the currency. The ISO4217 norm uses 3 letters to define the currency.vlocity_cmt__PricingElementId__r.vlocity_cmt__CurrencyCode__cSpecifies the currency code.NoNA
price.taxincludedamount.valuefloatSpecifies a positive floating point number.vlocity_cmt__PricingElementId__r.vlocity_cmt__Amount__cSpecifies the amount.NoNA
priceTypestringSpecifies 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__cSpecifies if the price charge is recurring or a one time fee.NoNA
recurringChargePeriodstringSpecifies 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__cSpecifies the frequency of the priceType.NoNA
validForobjectSpecifies 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__cSpecifies the period for which the price list entry is valid.NoNA
vlocity_cmt__PriceList__cSpecifies the price list.YesConfigure a valid PriceList in the TMForumPriceList metadata to create a productOffering.
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
idstringSpecifies a unique identifier of the product offering relationship.vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.vlocity_cmt__GlobalKey__cSpecifies the unique global key of the product relationship.YesNA
namestringRequired. Specifies the name of the product offering relationship.vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.NameSpecifies the name of the product relationship.YesNA
hrefstringSpecifies the hyperlink reference of the product offering relationship.TMF Attachment Url + Product2.IdSpecifies the TMF ProductSpecification GET URL ending with the ID field.NoNA
relationshipTypestringSpecifies the relationship type between product offerings, such as requires, exchangableTo, and optionalFor.vlocity_cmt__ProductRelationship__c.vlocity_cmt__RelationshipType__cSpecifies the relationship type such as auto-add and auto-delete.NoNA
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
idstringSpecifies a unique identifier of the product specification.Product2 ProductSpecId__cSpecifies the identifier of the product specification that is used by the product offering.YesConfigure Product Specification with a valid name and ID in the Salesforce org.
namestringRequired. Specifies the name of the product specification.ProductSpecId__r.NameSpecifies the name of the product specification.YesConfigure Product Specification with a valid name and ID in the Salesforce org.
FieldTypeDescriptionSalesforce MappingSalesforce DescriptionIs mandatory?Prerequisite
namestringSpecifies the name of the productOfferingTerm.vlocity_cmt__Promotion__c.NameSpecifies the name of the promotion.NoNA
descriptionstringDescribes the productOfferingTerm.vlocity_cmt__Promotion__c.vlocity_cmt__Description__cDescribes the promotion.NoNA
validForobjectSpecifies the time period during which the productOfferingTerm is valid.vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveStartDate__c, vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveEndDate__cSpecifies the effective dates between which the promotion is valid.NoNA
duration: amountdurationSpecifies the duration of the productOfferingTerm.vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDuration__cSpecifies the duration of the time plan.NoNA
duration: unitdurationSpecifies the duration of the productOfferingTerm.vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDurationUoM__cSpecifies the duration unit.NoNA