TMF622 v5 Resource Mappings

  • TMF622 v5 API needs to create, configure, and submit an order within a single synchronous transaction. However, tax calculation for the order, which is handled through the placeOrder API, is an asynchronous process. As a result, the order cannot be activated until the tax calculation is complete. On the other hand, the submitOrder API requires the order to be in an "activated" status in order to proceed.
  • TMF622 v5 API submits the order only if tax calculation is disabled. If tax calculation is enabled, it will bypass the submit API.
  • The order received through the TMF622 Product Ordering Management API is initially processed in an external system. This incoming order is then transferred to Salesforce through RLM's placeOrder API and submitted to DFO for fulfillment using the submitOrder API.
    • Tax calculation operation of placeOrder API is asynchronous, activating and submitting an order to orchestration cannot happen synchronously in one single transaction.
    • Submitting an order for provisioning when tax calculation is enabled can only be done as a PATCH operation. However, this cannot be implemented, as RLM APIs do not support the PATCH operation.
  • Orders injected as "Draft" through the placeOrder API are automatically transitioned to "Activated" status. This is required because the DFO submitOrder API expects the order to be in "Activated" status in order to begin the provisioning process.
  • The necessary licenses and permissions for the placeOrder and submitOrder APIs apply to TMF622, as these are the two APIs invoked internally.

These default mappings are supported for the TMF622 v5 resources.

TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
descriptionLong Text AreaA String. Description of the product order.NoGET, POSTDescriptionDescription of an order
externalIdTextAn ExternalIdentifier. An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list.NoGET, POSTexternalId subresourceA purchase order number or an order reference number to uniquely identify the order through the process
productOrderItemArrayA ProductOrderItem. An identified part of the order. A product order is decomposed into one or more order items.YesGET, POSTproductOrderItem subresourceOrder product details of an order
relatedParty subresourceArrayA RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entityNoGET, POSTrelatedParty subresourcerelated account details of an order
@typeTextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAType of the resource
stateTextA ProductOrderStateType. Possible values for the state of the orderNoGET, POSTStatusStatus of an order
creationDateDateA DateTime. Date and time when the ProductOrder was createdNoGET, POSTOrderedDatePurchase order date
idNumberA String. Unique identifier.NoGETOrderNumberOrder number
requestedStartDateDateA DateTime. Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date.NoGET, POSTEffectiveDateorder start date
expectedCompletionDateDateA DateTime. Expected delivery date amended by the provider.NoGETOrderDeliveryGroup.PromisedDeliveryDatepromised delivery date of an order
completionDateNAA DateTime. Date when the ProductOrder was completed.NoNANANA
priorityNAA String. A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest).NoNANANA
requestedCompletionDateNAA DateTime. Requested delivery date from the requestor perspective.NoNANANA
channelNAA RelatedChannel. Related channel to another entity. May be online web, mobile app, social ,etc.NoNANANA
noteNAA Note. Extra information about a given entity.NoNANANA
categoryNAA String. Used to categorize the order from a business perspective that can be useful for the OM system (e.g. "enterprise", "residential", …).NoNANANA
TMF FieldField TypeDescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSF Description
idTextA String. Identification of the entity within the external system.YesGET, POSTPoNumber / OrderReferenceNumberPO or order reference number
externalIdentifierTypeTextA String. Type of the identification, typically would be the type of the entity within the external systemNoGET, POSTPoNumber / OrderReferenceNumberDerived value, if Po number is not null then the type will be 'Po Number' and if order reference number is present then the type will be 'Order Reference Number'
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAType of the resource
ownerNAA String. Name of the external system that owns the entityNoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
roleTextA String. Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user'YesGET, POSTNACustomer type of accounts
partyOrPartyRole subresourceTextA PartyOrPartyRole.YesGET, POSTpartyOrPartyRole subresourceAccount details of the relatedParty sub resource
@typeTextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAType of the resource
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
idTextA String. Unique identifier.YesGET, POSTAccountNumberAccount number to identify uniquely
nameTextA PartyOrPartyRole.YesGET, POSTNamename of the account
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAType of the resource
hrefNAA String. Hyperlink reference.NoNANANA
@baseTypeNAA String. When sub-classing, this defines the super-class.NoNANANA
@referredTypeNAA String. The actual type of the target instance when needed for disambiguationNoNANANA
@schemaLocationNAA String. A URI to a JSON-Schema file that defines additional attributes and relationshipsNoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSF Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAType of the resource
actionTextAn ItemActionType. Action to be performed on the entity managed by the item.YesGET, POSTTypeOrder Item action type
idTextA String. Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, …)YesGET, POSTOrderItemNumberOrder Product Number
quantityIntegerAn Integer. Quantity ordered.NoGET, POSTQuantityQuantity of an order product
itemPriceListAn OrderPrice. An amount, usually of money, that represents the actual price paid by the Customer for this item or this order.NoGET, POSTitemPrice subresourcePrice details and discount details of an order item
productjsonA ProductRefOrValue. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Product entity and not the ProductRefOrValue class itself.NoGET, POSTproduct subresourceproduct details of an order product
productOfferingjsonA ProductOfferingRef. ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.NoGET, POSTproductOffering subresourceproduct offer details of an order product
quoteItem subresourceTextA QuoteItemRef. A reference to Quote item that has been executed previously.NoGET, POSTQuoteLineItemIdquote line item reference
productOrderItemRelationshiplistAn OrderItemRelationship. Used to describe relationship between Order item. These relationship could have an impact on pricing and conditions.NoGET, POSTproductOrderItemRelationshiporder product relationship details
periodBoundaryTextThe period boundary helps determine the start and end date of the billing periods. This field is available in API version 55.0 and later. This field is available with Subscription Management.NoGET, POSTperiodBoundaryThe period boundary helps determine the start and end date of the billing periods. This field is available in API version 55.0 and later. This field is available with Subscription Management.
periodBoundaryDayintRequired when PeriodBoundary is DayOfPeriod. Indicates day of the week or month that marks the period boundary. Must be an integer from 1 through 31. This field is available in API version 55.0 and later. This field is available with Subscription Management.NoGET, POSTperiodBoundaryDayRequired when PeriodBoundary is DayOfPeriod. Indicates day of the week or month that marks the period boundary. Must be an integer from 1 through 31. This field is available in API version 55.0 and later. This field is available with Subscription Management.
PeriodBoundaryStartMonthTextField is populated based on input in the StartDate, PeriodBoundary, and PeriodBoundaryDay when BillingFrequency2 is Annual or by manual user entry. Possible values are: 1-January 2-February 3-March 4-April 5-May 6-June 7-July 8-August 9-September 10-October 11-November 12-DecemberNoGET, POSTPeriodBoundaryStartMonthField is populated based on input in the StartDate, PeriodBoundary, and PeriodBoundaryDay when BillingFrequency2 is Annual or by manual user entry. Possible values are: 1-January 2-February 3-March 4-April 5-May 6-June 7-July 8-August 9-September 10-October 11-November 12-December
stateNAA ProductOrderItemStateType. Possible values for the state of the product order item.NoNANANA
appointmentNAAn AppointmentRef. Refers an appointment, such as a Customer presentation or internal meeting or site visit.NoNANANA
billingAccountNAA BillingAccountRef. BillingAccount reference. A BillingAccount is a detailed description of a bill structure.NoNANANA
itemTermNAAn OrderTerm. Description of a productTerm linked to this orderItem. This represent a commitment with a duration.NoNANANA
itemTotalPriceNAAn OrderPrice. An amount, usually of money, that represents the actual price paid by the Customer for this item or this order.NoNANANA
noteNAA Note. Extra information about a given entity.NoNANANA
paymentNAA PaymentRef. If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.NoNANANA
productOfferingQualificationItemNAA ProductOfferingQualificationItemRef. It's a productOfferingQualification item that has been executed previously.NoNANANA
productOrderItemNAA ProductOrderItem. An identified part of the order. A product order is decomposed into one or more order items.NoNANANA
qualificationNAA ProductOfferingQualificationRef. A productOfferingQualification that has been executed previously.NoNANANA
@baseTypeNAA String. When sub-classing, this defines the super-class.NoNANANA
@schemaLocationNAA String. A URI to a JSON-Schema file that defines additional attributes and relationships.NoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNatype of a resource
idTextA String. Identifier for this contact medium.YesGET, POSTAssociatedOrderItem → OrderItemNumberrelated item id
relationshipTypeTextA String. The type of relationship.YesGET, POSTProductRelationshipTypeId → Namerelationship of the main order item with related item
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAType of a resource
priceTypeTextA String. Indicate if the price is for recurrent or no-recurrent charge.YesGET, POSTSellingModelTypeSelling model type
recurringChargePeriodTextA String. Used for recurring charge to indicate period (month, week, etc..).NoGET, POSTPricingTermUnitYearly/Monthly pricing
itemPrice.price subresourcejsonA Price. Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price and Price Alteration.NoGET, POSTitemPrice.price subresourcePrice override details
priceAlteration subresourcelistA PriceAlteration. Is an amount, usually of money, that modifies the price charged for an order item.NoGET, POSTpriceAlteration subresourceAdjustment details
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAtype of a resource
taxRateInteger/floatA Float. Tax rate.NoGET, POSTRatetax rate
taxIncludedAmountInteger/floatA Money. A base / value business entity used to represent money.NoGET, POSTAmountamount without tax
dutyFreeAmountNAA Money. A base / value business entity used to represent money.NoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAType of a resource
priceTypeTextA String. Indicate if the price is for recurrent or no-recurrent chargeYesGET, POSTSellingModelTypeone time adjustment or recurring adjustment
priceAlteration.price subresourcejsonA PriceAlteration. A strucuture used to describe a price alteration.YesGET, POSTpriceAlteration.price subresourceadjustment details
applicationDurationNAAn Integer. Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge).NoNANANA
descriptionNAA String. A narrative that explains in detail the semantics of this order item price alteration.NoNANANA
nameNAA String. Name of the order item price alteration.NoNANANA
priorityNAAn Integer. Priority level for applying this alteration among all the defined alterations on the order item price.NoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAtype of resource
percentage / amountOrderItemprice alternation percentage or amountNoGET, POSTDiscount/DiscountAmountnumber
taxRateNAA Float. Tax rate.NoNANANA
Field TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
TextA String. When sub-classing, this defines the sub-class Extensible nameYesGET, POSTNAtype of resource
TextA String. Unique identifierYesGET, POSTProductCodea unique product code
TextA String. Name of the referred entityNoGET, POSTNameName of the product offer
NAA String. Hyperlink referenceNoNANANA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAtype of resource
productCharacteristicListA Characteristic. Describes a given characteristic of an object or entity through a name/value pair.NoGET, POSTproductCharacteristic subresourceattribute details of an order product
productSpecificationNAA ProductSpecificationRef. ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog.NoNANANA
isBundleNAA Boolean. IsBundle determines whether an intent represents a single intent (false), or a bundle of intents(true).NoNANANA
TMF FieldField TypeDescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTattributetype+'characteristic'For the number and string attribute value types the dervied value will be 'stringCharacteristic' for object types it will be 'objectCharacteristic'
nameTextname of the characteristicYesGET, POSTAttributeNameName of the attribute
idTextid of the characteristicNoGET, POSTAttributeDefinition.APINameunique name/code of an attribute
valueTypeTexttype of the value like string, slice 5G JSON descriptorNoGET, POSTAttributeDefinition.DataTypeData type of the attribute definition of order item.
valueText/objectvalue of the characteristic a string or a jsonNoGET, POSTAttributeValueNA
TMF FieldField TypeTMF DescriptionIs Mandatory as per TMForum?Supported MethodsSalesforce MappingSalesforce Description
@typeTextA String. When sub-classing, this defines the sub-class Extensible name.YesGET, POSTNAType of the resource
quoteIdTextA String. Unique identifier of a refered quote.YesGET, POSTQuote. QuoteNumberquote number
quoteItemIdTextA String. Unique identifier of quote item.NoGET, POSTLineNumberquote line item number
quoteHrefNAA String. Reference of the related quoteNANANANA
@baseTypeNAA String. When sub-classing, this defines the super-class.NANANANA
@referredTypeNAA String. The actual type of the target instance when needed for disambiguation.NANANANA
@schemaLocationNAA String. A URI to a JSON-Schema file that defines additional attributes and relationships.NANANANA