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 Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
description | Long Text Area | A String. Description of the product order. | No | GET, POST | Description | Description of an order |
externalId | Text | An 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. | No | GET, POST | externalId subresource | A purchase order number or an order reference number to uniquely identify the order through the process |
productOrderItem | Array | A ProductOrderItem. An identified part of the order. A product order is decomposed into one or more order items. | Yes | GET, POST | productOrderItem subresource | Order product details of an order |
relatedParty subresource | Array | A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity | No | GET, POST | relatedParty subresource | related account details of an order |
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | Type of the resource |
state | Text | A ProductOrderStateType. Possible values for the state of the order | No | GET, POST | Status | Status of an order |
creationDate | Date | A DateTime. Date and time when the ProductOrder was created | No | GET, POST | OrderedDate | Purchase order date |
id | Number | A String. Unique identifier. | No | GET | OrderNumber | Order number |
requestedStartDate | Date | A 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. | No | GET, POST | EffectiveDate | order start date |
expectedCompletionDate | Date | A DateTime. Expected delivery date amended by the provider. | No | GET | OrderDeliveryGroup.PromisedDeliveryDate | promised delivery date of an order |
completionDate | NA | A DateTime. Date when the ProductOrder was completed. | No | NA | NA | NA |
priority | NA | A 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). | No | NA | NA | NA |
requestedCompletionDate | NA | A DateTime. Requested delivery date from the requestor perspective. | No | NA | NA | NA |
channel | NA | A RelatedChannel. Related channel to another entity. May be online web, mobile app, social ,etc. | No | NA | NA | NA |
note | NA | A Note. Extra information about a given entity. | No | NA | NA | NA |
category | NA | A String. Used to categorize the order from a business perspective that can be useful for the OM system (e.g. "enterprise", "residential", …). | No | NA | NA | NA |
TMF Field | Field Type | Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | SF Description |
---|---|---|---|---|---|---|
id | Text | A String. Identification of the entity within the external system. | Yes | GET, POST | PoNumber / OrderReferenceNumber | PO or order reference number |
externalIdentifierType | Text | A String. Type of the identification, typically would be the type of the entity within the external system | No | GET, POST | PoNumber / OrderReferenceNumber | Derived 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' |
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | Type of the resource |
owner | NA | A String. Name of the external system that owns the entity | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
role | Text | A 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' | Yes | GET, POST | NA | Customer type of accounts |
partyOrPartyRole subresource | Text | A PartyOrPartyRole. | Yes | GET, POST | partyOrPartyRole subresource | Account details of the relatedParty sub resource |
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | Type of the resource |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
id | Text | A String. Unique identifier. | Yes | GET, POST | AccountNumber | Account number to identify uniquely |
name | Text | A PartyOrPartyRole. | Yes | GET, POST | Name | name of the account |
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | Type of the resource |
href | NA | A String. Hyperlink reference. | No | NA | NA | NA |
@baseType | NA | A String. When sub-classing, this defines the super-class. | No | NA | NA | NA |
@referredType | NA | A String. The actual type of the target instance when needed for disambiguation | No | NA | NA | NA |
@schemaLocation | NA | A String. A URI to a JSON-Schema file that defines additional attributes and relationships | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | SF Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | Type of the resource |
action | Text | An ItemActionType. Action to be performed on the entity managed by the item. | Yes | GET, POST | Type | Order Item action type |
id | Text | A String. Identifier of the ProductOrder item (generally it is a sequence number 01, 02, 03, …) | Yes | GET, POST | OrderItemNumber | Order Product Number |
quantity | Integer | An Integer. Quantity ordered. | No | GET, POST | Quantity | Quantity of an order product |
itemPrice | List | An OrderPrice. An amount, usually of money, that represents the actual price paid by the Customer for this item or this order. | No | GET, POST | itemPrice subresource | Price details and discount details of an order item |
product | json | A ProductRefOrValue. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Product entity and not the ProductRefOrValue class itself. | No | GET, POST | product subresource | product details of an order product |
productOffering | json | A ProductOfferingRef. ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information. | No | GET, POST | productOffering subresource | product offer details of an order product |
quoteItem subresource | Text | A QuoteItemRef. A reference to Quote item that has been executed previously. | No | GET, POST | QuoteLineItemId | quote line item reference |
productOrderItemRelationship | list | An OrderItemRelationship. Used to describe relationship between Order item. These relationship could have an impact on pricing and conditions. | No | GET, POST | productOrderItemRelationship | order product relationship details |
periodBoundary | Text | The 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. | No | GET, POST | periodBoundary | The 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. |
periodBoundaryDay | int | Required 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. | No | GET, POST | periodBoundaryDay | Required 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. |
PeriodBoundaryStartMonth | Text | Field 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 | No | GET, POST | PeriodBoundaryStartMonth | Field 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 |
state | NA | A ProductOrderItemStateType. Possible values for the state of the product order item. | No | NA | NA | NA |
appointment | NA | An AppointmentRef. Refers an appointment, such as a Customer presentation or internal meeting or site visit. | No | NA | NA | NA |
billingAccount | NA | A BillingAccountRef. BillingAccount reference. A BillingAccount is a detailed description of a bill structure. | No | NA | NA | NA |
itemTerm | NA | An OrderTerm. Description of a productTerm linked to this orderItem. This represent a commitment with a duration. | No | NA | NA | NA |
itemTotalPrice | NA | An OrderPrice. An amount, usually of money, that represents the actual price paid by the Customer for this item or this order. | No | NA | NA | NA |
note | NA | A Note. Extra information about a given entity. | No | NA | NA | NA |
payment | NA | A 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. | No | NA | NA | NA |
productOfferingQualificationItem | NA | A ProductOfferingQualificationItemRef. It's a productOfferingQualification item that has been executed previously. | No | NA | NA | NA |
productOrderItem | NA | A ProductOrderItem. An identified part of the order. A product order is decomposed into one or more order items. | No | NA | NA | NA |
qualification | NA | A ProductOfferingQualificationRef. A productOfferingQualification that has been executed previously. | No | NA | NA | NA |
@baseType | NA | A String. When sub-classing, this defines the super-class. | No | NA | NA | NA |
@schemaLocation | NA | A String. A URI to a JSON-Schema file that defines additional attributes and relationships. | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | Na | type of a resource |
id | Text | A String. Identifier for this contact medium. | Yes | GET, POST | AssociatedOrderItem → OrderItemNumber | related item id |
relationshipType | Text | A String. The type of relationship. | Yes | GET, POST | ProductRelationshipTypeId → Name | relationship of the main order item with related item |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | Type of a resource |
priceType | Text | A String. Indicate if the price is for recurrent or no-recurrent charge. | Yes | GET, POST | SellingModelType | Selling model type |
recurringChargePeriod | Text | A String. Used for recurring charge to indicate period (month, week, etc..). | No | GET, POST | PricingTermUnit | Yearly/Monthly pricing |
itemPrice.price subresource | json | A Price. Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price and Price Alteration. | No | GET, POST | itemPrice.price subresource | Price override details |
priceAlteration subresource | list | A PriceAlteration. Is an amount, usually of money, that modifies the price charged for an order item. | No | GET, POST | priceAlteration subresource | Adjustment details |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | type of a resource |
taxRate | Integer/float | A Float. Tax rate. | No | GET, POST | Rate | tax rate |
taxIncludedAmount | Integer/float | A Money. A base / value business entity used to represent money. | No | GET, POST | Amount | amount without tax |
dutyFreeAmount | NA | A Money. A base / value business entity used to represent money. | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | Type of a resource |
priceType | Text | A String. Indicate if the price is for recurrent or no-recurrent charge | Yes | GET, POST | SellingModelType | one time adjustment or recurring adjustment |
priceAlteration.price subresource | json | A PriceAlteration. A strucuture used to describe a price alteration. | Yes | GET, POST | priceAlteration.price subresource | adjustment details |
applicationDuration | NA | 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 | NA | NA | NA |
description | NA | A String. A narrative that explains in detail the semantics of this order item price alteration. | No | NA | NA | NA |
name | NA | A String. Name of the order item price alteration. | No | NA | NA | NA |
priority | NA | An Integer. Priority level for applying this alteration among all the defined alterations on the order item price. | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | type of resource |
percentage / amount | OrderItem | price alternation percentage or amount | No | GET, POST | Discount/DiscountAmount | number |
taxRate | NA | A Float. Tax rate. | No | NA | NA | NA |
Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|
Text | A String. When sub-classing, this defines the sub-class Extensible name | Yes | GET, POST | NA | type of resource |
Text | A String. Unique identifier | Yes | GET, POST | ProductCode | a unique product code |
Text | A String. Name of the referred entity | No | GET, POST | Name | Name of the product offer |
NA | A String. Hyperlink reference | No | NA | NA | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | type of resource |
productCharacteristic | List | A Characteristic. Describes a given characteristic of an object or entity through a name/value pair. | No | GET, POST | productCharacteristic subresource | attribute details of an order product |
productSpecification | NA | A ProductSpecificationRef. ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog. | No | NA | NA | NA |
isBundle | NA | A Boolean. IsBundle determines whether an intent represents a single intent (false), or a bundle of intents(true). | No | NA | NA | NA |
TMF Field | Field Type | Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | attributetype+'characteristic' | For the number and string attribute value types the dervied value will be 'stringCharacteristic' for object types it will be 'objectCharacteristic' |
name | Text | name of the characteristic | Yes | GET, POST | AttributeName | Name of the attribute |
id | Text | id of the characteristic | No | GET, POST | AttributeDefinition.APIName | unique name/code of an attribute |
valueType | Text | type of the value like string, slice 5G JSON descriptor | No | GET, POST | AttributeDefinition.DataType | Data type of the attribute definition of order item. |
value | Text/object | value of the characteristic a string or a json | No | GET, POST | AttributeValue | NA |
TMF Field | Field Type | TMF Description | Is Mandatory as per TMForum? | Supported Methods | Salesforce Mapping | Salesforce Description |
---|---|---|---|---|---|---|
@type | Text | A String. When sub-classing, this defines the sub-class Extensible name. | Yes | GET, POST | NA | Type of the resource |
quoteId | Text | A String. Unique identifier of a refered quote. | Yes | GET, POST | Quote. QuoteNumber | quote number |
quoteItemId | Text | A String. Unique identifier of quote item. | No | GET, POST | LineNumber | quote line item number |
quoteHref | NA | A String. Reference of the related quote | NA | NA | NA | NA |
@baseType | NA | A String. When sub-classing, this defines the super-class. | NA | NA | NA | NA |
@referredType | NA | A String. The actual type of the target instance when needed for disambiguation. | NA | NA | NA | NA |
@schemaLocation | NA | A String. A URI to a JSON-Schema file that defines additional attributes and relationships. | NA | NA | NA | NA |