TMF648 v4 Resource Mappings

Before using the TMF648 resource mappings, refer to the following.

Constraints and Limitations

  • By default, opportunity is mandatory to create a quote. But the TMF specification does not support opportunity based quote. Hence, perform the following.
    • Create the opportunity, before creating the quote in the POST request. To create opportunity, following parameters are needed.
      • Name: This is a text field. Hard coded with the TMF Opportunity_%TIMESTAMP% value.
      • Close Date: This is a date field. Current date can be used.
      • Stage: This is a picklist field. Values supported are Proposal/Price Quote.
    • Extendthe POST request payload to support the opportunity id as an additional tag.
  • Name is mandatory to create a quote in Salesforce. This field is hard coded with the TMF Quote_%TIMESTAMP% value.
  • If 648 POST is expected as a synchronous call - API time limit/SLA of 3s is not achievable.
  • The PriceList is a mandatory parameter for CPQ to add products to the cart but price list information is not sent in the input JSON. So, a metadata record VlocityIntegrationSetting\_\_mdt.TMForumPriceList is maintained for all the TMF APIs to configure the pricelist name.
  • To add a product to add to a cart, PriceBookEntry Id(PBEId) is a mandatory field in Salesforce. The PBEId value is fetched from the PriceBookEntry by the product’s GlobalGroupKey__c of the incoming payload.
  • The incoming payload is assumed that of only parent level products.
  • Following parameters are ignored from the input payload.
    • product specification
    • product characteristics
    • pricing overrides
    • offer details
    • pricing details
  • If a quote is created without status from the UI, the status is null in database. Retrieving such a record using the TMF648 API generates a response without the mandatory state field.
  • Filtering on the description fields is not possible for the quote object, as the field is not TextIndexed.
  • With standard APIs enabled, it is mandatory to send relatedParty with AccountId details in the request payload, as the addToCart operation does not support addition of products to cart without AccountId.
  • Quote versioning is not supported.
  • The InstantSyncQuote is not supported. An error is displayed if the field is set to true.
  • Quotes are ordered by created date. Latest created ones appear first in the GET response.
  • Account present in relatedParty payload for the POST operation must have Status : “Active” and Active : “Yes”.
  • Only add is supported as action for QuoteLineItem.
  • The quantity of QuoteLineItem that can be added is always 1.
  • If the state field is enabled for QuoteLineItem and picklist values are configured in the org , POST request updates every QuoteLineItem with the default value of state.
  • The id and role are mandatory for the relatedParty request payload.
  • For billing account only id is considered and name is ignored. Only single billing account is assumed, so the first one is considered.
  • The id is mandatory for agreement, whereas if name is also provided then both are considered.

Assumptions

  • Only V2 attributes are supported.
  • All the quotes are priced upon adding items to it.

These default mappings are supported for the TMF648 resources.

Quote

TMF Field<div style="width:120px"></div> Description<div style="width:120px"></div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier attributed by quoting system. Yes in GET response<br>No in POST request Yes Quote Quote → QuoteNumber String
href A string. Hyperlink to access the quote. No Yes - - String
category A string. Used to categorize the quote from a business perspective that can be useful for the CRM system. For example, enterprise, residential, and so on. No Yes Quote Quote → Type Picklist
description A string. Description of the quote. No Yes Quote Quote → Description String
effectiveQuoteCompletionDate A date time (DateTime). Date when the quote is completed. Yes in GET response when the quote is completed<br>No in POST request Yes when the quote is in Accepted or Rejected state. QuoteHistory QuoteHistory → CreatedDate (where newValue='Accepted or newValue='Rejected') DateTime
expectedFulfillmentStartDate A date time (DateTime). This is the date wished by the requester to have the requested quote item delivered. No No - - -
expectedQuoteCompletionDate A date time (DateTime). This is expected date from quote supplier to be able to send back a response for this quote. No No - - -
externalId A string. ID given by the consumer and only understandable by him (to facilitate his searches afterwards). No No - - -
instantSyncQuote A boolean. An indicator which when the value is true means that requester expects to get quoting result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201. No No - - -
quoteDate A date time (DateTime). Date and time when the quote was created. Yes in GET response<br>No in POST request Yes Quote Quote → CreatedDate DateTime
requestedQuoteCompletionDate A date time (DateTime). This is requested date from quote requester to get a complete response for this quote. No No - - -
version A string. Quote version. If the customer rejected the quote but negotiations still open a new version of the quote is managed. Default value is V1. No Yes - - String
state<br> A quote state type (QuoteStateType). State of the quote. Yes in GET response<br>No in POST request Yes Quote Quote → Status Picklist
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
agreement A list of agreement references (AgreementRef [*]). A reference to an agreement defining the context of the quote. No Yes Contract Quote → ContractId Agreement (Contract)
authorization A list of authorizations (Authorization [*]). An authorization provided for the quote. No No - - -
billingAccount A list of billing account references (BillingAccountRef [*]). A reference to a billing account to provide quote context information. No Yes Account Quote → vlocity_cmt__DefaultBillingAccountId__c Billing Account
contactMedium A list of contact mediums (ContactMedium [*]). Information contact related to the quote requester. No <br>Yes Contact Quote → ContactId Contact Medium
note A list of notes (Note [*]). Free form text associated with the quote. No No - - -
productOfferingQualification A list of product offering qualification references (ProductOfferingQualificationRef [*]). A reference to a previously done product offering qualification. No No - - -
quoteItem A list of quote items (QuoteItem [1..*]). An item of the quote. It is used to describe an operation on a product to be quoted. Optional in GET response<br>Yes in POST body Optional in GET response<br>Yes in POST body QuoteLineItem Quote → QuoteLineItem Quote Item
quoteTotalPrice A list of quote prices (QuotePrice [*]). Quote total price. No Yes Quote Quote → vlocity_cmt__EffectiveOneTimeTotal__c<br>Quote → vlocity_cmt__EffectiveRecurringTotal__c Quote Price
relatedParty A list of related parties (RelatedParty [*]). A reference to a party playing a role in this quote (customer, seller, requester, etc). No Yes Quote Quote → ContactId<br>Quote → AccountId<br>Quote → vlocity_cmt__DefaultServiceAccountId__c Related Party
validFor A time period. Quote validity period. No No - - -

Sub-resources

Default mappings are available for the following TMF648 sub-resources.

Quote Item

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier attributed by quoting system. Yes in GET response Yes QuoteLineItem Quote -> QuoteLineItem → LineNumber String
href A string. Hyperlink to access the quote. No Yes - - String
action A string. Action to be performed on this quote item (add, modify, remove, etc.). Yes in both GET response and POST request Yes QuoteLineItem Quote -> QuoteLineItem → vlocity_cmt__Action__c String
appointment A list of appointment references (AppointmentRef [*]). A reference to appointment(s) associated with this quote item. No No - - -
note A list of notes (Note [*]). Free form text associated with the quote item. No No - - -
product A product ref or value (ProductRefOrValue). A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself. Yes if ProductOffering is not provided in both GET response and POST request Yes. ProductOffering is mandatory in our datamodel. So this is optional. Product2 Quote → QuoteLineItem → vlocity_cmt__Product2Id__c → vlocity_cmt__productSpecid__c Product
productOffering A product offering reference (ProductOfferingRef). A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information. Yes if Product is not provided in both GET response and POST request Yes Product2 Quote -> QuoteLineItem → vlocity_cmt__Product2Id__c Product Offering (Product2)
productOfferingQualificationItem A product offering qualification item reference (ProductOfferingQualificationItemRef). A reference to a previously done POQ with item specified. No No - - -
quantity An integer. Quantity asked for this quote item. No Yes QuoteLineItem Quote → QuoteLineItem → Quantity Integer
quoteItemAuthorization A list of authorizations (Authorization [*]). Authorization related to this quote item. No No - - -
quoteItemPrice A list of quote prices (QuotePrice [*]). Price for this quote item. No Yes Quote vlocity_cmt__EffectiveBaseRecurringTotal__c, vlocity_cmt__EffectiveBaseOneTimeTotal__c Quote Price
quoteItemRelationship A list of quote item relationships (QuoteItemRelationship [*]). A relationship from item within a quote. No Yes vlocity_cmt__QuoteLineItemRelationship__c QuoteLineItem → vlocity_cmt__QuoteLineItemRelationship__c → vlocity_cmt__QuoteLineItemId__c<br>QuoteLineItem → vlocity_cmt__QuoteLineItemRelationship__c → vlocity_cmt__RelatedQuoteLineItemId__c<br>QuoteLineItem → vlocity_cmt__QuoteLineItemRelationship__c →vlocity_cmt__RelationshipType__c Quote Item Relationship
relatedParty A list of related parties (RelatedParty [*]). A reference to a party playing a role in this quote item. No Yes QuoteLineItem Quote -> QuoteLineItem → vlocity_cmt__ServiceAccountId__c Related Party
state A string. State of the quote item. Yes in GET response<br>No in POST request Yes QuoteLineItem Status String

Product

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type <div style="width:120px"></div>
id A string. Unique identifier attributed by quoting system. No No - - -
href A string. Hyperlink to access the product. No No - - -
isBundle A boolean. If true, the product is a ProductBundle, which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent, which is an instantiation of a SimpleProductOffering. No Yes in GET Response<br>No in POST request Product2 QuoteLineItem → Product2 → vlocity_cmt__SpecificationSubType__c Boolean
name A string. Name of the product. It can be the same as the name of the product offering. No Yes in GET Response<br>No in POST request Product2 QuotelineItem→Product2 → Name String
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an entity or to specify the expected characteristics of an entity. No No - - -
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
isCustomerVisible A boolean. If true, the product is visible by the customer. No No - - -
description A string. Is the description of the product. It can be copied from the description of the Product Offering. No Yes Product2 QuotelineItem→Product2 → Description String
orderDate A date time (DateTime). Is the date when the product was ordered. No Yes Order OrderProduct (where quoteitemid matches) → OrderId → CreatedDate DateTime
productSerialNumber A string. Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router. No Yes QuoteLineNumber QuotelineItem→ vlocity_cmt__SerialNumber__c String
startDate A date time (DateTime). Is the date from which the product starts. No No - - -
terminationDate A date time (DateTime). Is the date when the product was terminated. No No - - -
agreement A list of agreement item references (AgreementItemRef [*]). Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. No No - - -
billingAccount A billing account reference (BillingAccountRef). A BillingAccount is a detailed description of a bill structure. No No - - -
place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself. No No - - -
product A list of product ref or values (ProductRefOrValue [*]). A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself. No No - - -
productCharacteristic A list of characteristics (Characteristic [*]). Describes a given characteristic of an object or entity through a name/value pair. No Yes QuoteLineItem <br>vlocity_cmt__AttributeSelectedValues__c ProductCharacteristic
productOffering A product offering reference (ProductOfferingRef). A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information. No Yes Product2 QuoteLineItem → Product2Id Product Offering (Product2)
productOrderItem A list of related product order items (RelatedProductOrderItem [*]). RelatedProductOrderItem (ProductOrder item). The product order item which triggered product creation/change/termination. No No OrderProduct OrderProduct (where quoteitemid matches) → OrderId → CreatedDate -
productPrice A list of product prices (ProductPrice [*]). An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time. No No - - -
productRelationship A list of product relationships (ProductRelationship [*]). Linked products to the one instantiate, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful. No No - - -
productSpecification A product specification reference (ProductSpecificationRef). A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. No Yes Product2 Quote → Asset → Product2Id ProductSpecification
productTerm A list of product terms (ProductTerm [*]). Description of a productTerm linked to this product. This represent a commitment with a duration. No No - - -
realizingResource A list of resource references (ResourceRef [*]). No No - - -
realizingService A list of service references (ServiceRef [*]). for when Service is used by other entities. No No - - -
relatedParty A list of related parties (RelatedParty [*]). Related Entity reference. A related party defines party or party role linked to a specific entity. No Yes Account<br>Contact QuoteLineItem --> vlocity_cmt__AssetId__r → AccountId<br>QuoteLineItem --> vlocity_cmt__AssetId__r → ContactId<br>QuoteLineItem --> vlocity_cmt__AssetId__r → vlocity_cmt__ServiceAccountId__c Related Party
status A product status type (ProductStatusType). Is the lifecycle status of the product. No Yes QuoteLineItem QuoteLineItem→ vlocity_cmt__Assetid__r → Status Picklist

Product Offering (Product2)

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. Yes in GET response and POST request Yes Product2 GlobalGroupKey__c String
href A string. Reference of the related entity. No Yes - - String
name A string. Name of the related entity. No Yes Product2 name String
@referredType A string. The actual type of the target instance when needed for disambiguation. No No - - -
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No Yes - - Product2

Quote Item Relationship

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id YesA string. ID of the related order item (must be in the same quote). Yes in both GET response and POST request Yes vlocity_cmt__QuoteLineItemRelationship__c vlocity_cmt__QuoteLineItemRelationship__c (<br>where vlocity_cmt__QuoteLineItemId__c matches) → vlocity_cmt__RelatedQuoteLineItemId__c String
relationshipType A string. Relationship type as relies on, bundles, and so on. Yes in both GET response and POST request Yes vlocity_cmt__QuoteLineItemRelationship__c Quote -> QuoteLineItem → vlocity_cmt__QuoteLineItemRelationship__c → vlocity_cmt__RelationshipType__c Picklist
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

ProductCharacteristic

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
name A string, name of the product characteristic Yes in both GET response and POST request Yes QuoteLineItem vlocity_cmt__AttributeSelectedValues__c String
valueType A string, value type of the product characteristic No No - - -
value A string, value of the product characteristic Yes in both GET response and POST request Yes QuoteLineItem vlocity_cmt__AttributeSelectedValues__c String/Integer
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

Related Party

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. Yes in both GET response and POST request Yes Contact<br>Account Id<br>AccountNumber String
href A string. Reference of the related entity. No Yes - - String
@referredType A string. The actual type of the target instance when needed for disambiguation. Yes in both GET response and POST request Yes - - Contact or Account based on the instance
name A string. Name of the agreement. No Yes Contact<br>Account Name String
role A string. Role played by the related party. No Yes - - Contact or Account or Default Service Account or Service Account in case of QuoteItem based on the field
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

Agreement (Contract)

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. Yes in both GET response and POST request Yes Contract ContractNumber String
href A string. Reference of the related entity. No Yes - - String
@referredType A string. The actual type of the target instance when needed for disambiguation. No No - - -
name A string. Name of the agreement. No Yes Contract Name String
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

ProductSpecification

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. Yes in both GET request and POST response Yes Product2 Quote -> QuoteLineItem →<br>vlocity_cmt__Product2Id__c -<br>vlocity_cmt__ProductSpecId__c → vlocity_cmt__GlobalGroupKey__c String
href A string. Reference of the related entity. No Yes - - String
version A string. Version of the product specification. No No - - -
name A string. Name of the related entity. No Yes Product2 Quote -> QuoteLineItem →<br>vlocity_cmt__Product2Id__c -<br>vlocity_cmt__ProductSpecId__c → Name String

Billing Account

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. Yes in GET response<br>Yes in POST request Yes Account AccountNumber String
@referredType A string. The actual type of the target instance when needed for disambiguation. No No - - String
name A string. Name of the billing account. No Yes Account Name String
href A string. Reference of the billing account. No Yes - - String
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

Contact Medium

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
characteristic A medium characteristic (MediumCharacteristic). Any additional characteristic(s) of this contact medium. No Yes - - MediumCharacteristic (Characteristic)
mediumType A string. Type of the contact medium, such as: email address, telephone number, postal address. Yes in both GET response and POST request Yes - - String
preferred A boolean. If true, indicates that is the preferred contact medium. No No - - -
validFor A time period. The time period that the contact medium is valid for. No No - - -

MediumCharacteristic (Characteristic)

TMF Field Description <div style="width:290px">property</div> Is Mandatory as per TMForum? Supported Salesforce Object Salesforce Mapping Field Type
city A string. The city. No No - - -
contactType A string. The type of contact. For example, phone number such as mobile, fixed home, fixed office. Postal address such as shipping installation. No Yes - - String
country A string. The country. No No - - -
emailAddress A string. Full email address in standard format. No Yes Quote Quote → Email String
faxNumber A string. The fax number of the contact. No Yes Quote Quote → Fax String
phoneNumber A string. The primary phone number of the contact. No Yes Quote Quote → Phone String
postCode A string. Postcode. No No - - -
socialNetworkId A string. Identifier as a member of a social network. No No - - -
stateOrProvince A string. State or province. No No - - -
street1 A string. Describes the street. No No - - -
street2 A string. Complementary street description. No No - - -

Quote Price

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
description A string. Description of the quote/quote item price. No No - - -
name A string. Name of the quote /quote item price. No No - - -
price A price (Price). Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration. Yes in GET response (when QuotePrice or QuoteItemPrice exists)<br>No in POST request Yes for both QuoteTotalPrice and QuoteItemPrice Quote<br>Quote → QuoteLineItem On Quote:<br>vlocity_cmt__EffectiveOneTimeTotal__c,<br>vlocity_cmt__EffectiveRecurringTotal__c<br><br>QuoteLineItem:<br>vlocity_cmt__EffectiveBaseOneTimeTotal__c<br>vlocity_cmt__EffectiveBaseRecurringTotal__c Price
priceAlteration A list of price alterations (PriceAlteration [*]). Is an amount, usually of money, that modifies the price charged for an order item. No Yes vlocity_cmt__QuotePricingAdjustment__c vlocity_cmt__QuotePricingAdjustment__c (where quoteid=id) → vlocity_cmt__Promotion__c → name<br><br>vlocity_cmt__QuotePricingAdjustment__c (where quotelineitemid=id) → vlocity_cmt__Promotion__c → name PriceAlteration
priceType A string. indicate if the price is for recurrent or no-recurrent charge. Yes in GET response<br>No in POST request Yes for both QuoteTotalPrice and QuoteItemPrice Quote<br>Quote → QuoteLineItem vlocity_cmt__EffectiveRecurringTotal__c<br>vlocity_cmt__EffectiveOneTimeTotal__c String
productOfferingPrice A product offering price reference (ProductOfferingPriceRef). An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time. No Yes only for QuoteItemPrice vlocity_cmt__PriceListEntry__c NA for Quote<br><br>QuoteLineItem → vlocity_cmt__PriceList__c → vlocity_cmt__PriceListEntry__c ProductOfferingPrice
recurringChargePeriod A string. Used for recurring charge to indicate period (month, week, etc). Yes if the price type is recurring – must not be filled else Yes for both QuoteTotalPrice and QuoteItemPrice Quote -> QuoteLineItem -> Product2 -> vlocity_cmt__PriceListEntry__c -> vlocity_cmt__PricingElement__c → vlocity_cmt__PricingVariable__c vlocity_cmt__RecurringFrequency__c String
unitOfMeasure Unit of Measure if pricing depending on it (Gb, SMS Volume, etc.) No No - - -
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

Price

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
dutyFreeAmount A money (Money). All taxes excluded amount (expressed in the given currency). No No - - -
percentage A float. Percentage to apply for ProdOfferPriceAlteration. No No - - -
taxIncludedAmount A money (Money). All taxes included amount (expressed in the given currency). Yes for QuoteItemPrice and QuoteTotalPrice. Yes Quote<br>Quote → QuoteLineItem vlocity_cmt__EffectiveRecurringTotal__c, vlocity_cmt__EffectiveOneTimeTotal__c Amount
taxRate A float. Tax rate. No No - - -
percentage A float. Percentage of discount. No Yes for PriceAlteration vlocity_cmt__PricingVariable__c vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__AdjustmentValue__c → vlocity_cmt__PriceListEntry__c → vlocity_cmt__PricingElement__c → vlocity_cmt__PricingVariable__c → vlocity_cmt__AdjustmentValue__c Float
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

Amount

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum? Supported Salesforce Object Salesforce Mapping Field Type<div style="width:120px"></div>
unit A money (Money). All taxes excluded amount (expressed in the given currency). Yes in GET response<br>No in POST request Yes CompanyInformation CurrencyIsoCode -
value A float. Percentage to apply for ProdOfferPriceAlteration. Yes in GET response<br>No in POST request Yes Quote if quoteTotalPrice<br><br>QuoteLineItem if quoteItemPrice vlocity_cmt__EffectiveRecurringTotal__c, vlocity_cmt__EffectiveOneTimeTotal__c -

PriceAlteration

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div><div style="width:120px"></div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
applicationDuration An integer. Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge). No No - - -
description A string. A narrative that explains in detail the semantics of this order item price alteration. No Yes vlocity_cmt__Promotion__c vlocity_cmt__QuotePricingAdjustment__c → vlocity_cmt__Promotion__c → vlocity_cmt__Description__c String
name A string. Name of the order item price alteration. No Yes vlocity_cmt__Promotion__c vlocity_cmt__QuotePricingAdjustment__c → vlocity_cmt__Promotion__c → name String
price A price (Price). Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration. Yes in GET response<br>No in POST request Yes vlocity_cmt__PricingVariable__c vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__AdjustmentValue__c<br><br>vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__PricingVariable__c → vlocity_cmt__AdjustmentMethod__c<br><br>vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__PricingVariable__c → vlocity_cmt__RecurringFrequency__c Price
priceType A string. A category that describes the price such as recurring and one time. Yes in GET response<br>No in POST request Yes vlocity_cmt__PricingVariable__c vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__PriceListEntry__c → vlocity_cmt__PricingElement__c → vlocity_cmt__PricingVariable__c → vlocity_cmt__ChargeType__c Picklist
priority An integer. Priority level for applying this alteration among all the defined alterations on the order item price. No No - - -
productOfferingPrice A product offering price reference (ProductOfferingPriceRef). ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. No No - - -
recurringChargePeriod A string. Could be month, week. Yes if the price type is recurring vlocity_cmt__PricingVariable__c vlocity_cmt__QuotePricingAdjustment__c (where quoteid or quotelineitemid matches) → vlocity_cmt__PriceListEntry__c → vlocity_cmt__PricingElement__c → vlocity_cmt__PricingVariable__c → vlocity_cmt__RecurringFrequency__c Picklist
unitOfMeasure A string. Could be minutes, GB. No No - - -
@baseType The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been extended. No No - - -
@schemaLocation The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or to specify the expected characteristics of an entity. No No - - -
@type The @type attribute provides a way to represent the actual class type of an entity. No No - - -

ProductOfferingPrice

TMF Field<div style="width:120px"></div> Description <div style="width:290px">property</div> Is Mandatory as per TMForum?<div style="width:120px"></div> Supported<div style="width:120px"></div> Salesforce Object<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Field Type<div style="width:120px"></div>
id A string. Unique identifier of a related entity. No No Quote → QuoteLineItem → vlocity_cmt__PriceList → vlocity_cmt__PriceListEntry vlocity_cmt__PricingElementId__c Id
href A string. Reference of the related entity. No No - - -
name A string. Name of the related entity. Yes in GET response Yes Quote → QuoteLineItem → vlocity_cmt__PriceList → vlocity_cmt__PriceListEntry Name String
@referredType A string. The actual type of the target instance when needed for disambiguation. No No - - -

History Tracking on Status field of Quote

To enable history tracking on status field of Quote

  1. From the management settings for the object whose field history you want to track, go to the fields area.
  2. Click Set History Tracking.
  3. For accounts, contacts, leads, and opportunities, select the Enable Account History, Enable Contact History, Enable Lead History, or Enable Opportunity History checkbox.
  4. Choose the fields you want tracked. <br> You can select a combination of up to 20 standard and custom fields per object. For accounts, this limit includes fields for both business accounts and person accounts. Certain changes, such as case escalations, are always tracked. History Tracking

note: If history tracking is not enabled for the status field on Quote and the status of Quote is changed to ‘Accepted’ or ‘Rejected’, in this case effectiveQuoteCompletionDate will have a default value of '01/01/1970, 12:00 AM'.

Validations and Conditions for POST

Following validations and conditions are considered for the POST operation.

  • Price list validation is configured in the metadata.
  • Validate if all the mandatory fields are provided in the payload.
  • At least one QuoteItem must be available in the POST request.
  • The instantSyncQuote must be set to false in the POST request.
  • Following must not be available in POST request body
    • PriceAlteration
    • Amount
    • Price
    • quoteTotalPrice/quoteItemPrice
    • quoteAuthorization
    • state
    • validFor
    • effectiveQuoteCompletionDate
    • Id
    • href
    • quoteDate
    • appointment
    • quoteItemAuthorization
  • Either Product or ProductOffering is mandatory in the POST request.