TMFTMForumTransformQuoteResponse

Data Mapper which is responsible for transforming the Vlocity Data Model to TMForum data model for Quote Management.

Input JSON

{
  "Status": true,
  "Type": "DataRaptor Transform Action",
  "ElapsedTime": 248,
  "ElapsedTimeCPU": 233,
  "Input": [
    {
      "version": "V1",
      "requestUrl": "/services/apexrest/vlocity_cmt/tmforum/quote",
      "relatedParties": [
        {
          "type": "Account",
          "relatedPartyHref": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
          "referredType": "Account",
          "name": "Common Org Account",
          "id": "1234"
        },
        {
          "type": "Contact",
          "relatedPartyHref": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
          "referredType": "Contact",
          "name": "common",
          "id": "003Do00000PSgbhIAD"
        }
      ],
      "quotePrices": [
        {
          "value": 1,
          "unit": "$",
          "recurringChargePeriod": null,
          "priceType": "Recurring",
          "priceAlteration": null
        },
        {
          "value": 0,
          "unit": "$",
          "recurringChargePeriod": null,
          "priceType": "One-time",
          "priceAlteration": null
        }
      ],
      "quoteLineItems": [
        {
          "status": null,
          "quoteItemRelationships": [],
          "quoteItemRelatedParties": [
            {
              "type": "Service Account",
              "relatedPartyHref": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Do00000MfpkgIAB",
              "referredType": "Account",
              "name": "Common Org Account",
              "id": "001Do00000MfpkgIAB"
            }
          ],
          "quoteItemPrices": [
            {
              "value": 10,
              "unit": "$",
              "recurringChargePeriod": null,
              "priceType": "Recurring",
              "priceAlteration": null
            },
            {
              "value": 20,
              "unit": "$",
              "recurringChargePeriod": null,
              "priceType": "One-time",
              "priceAlteration": null
            }
          ],
          "quantity": 1,
          "productOfferings": [
            {
              "type": "Product2",
              "name": "TMF648 Product",
              "id": "198fbc33-9cf4-ac60-e44d-f1682c741179",
              "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/198fbc33-9cf4-ac60-e44d-f1682c741179"
            }
          ],
          "product": null,
          "id": "00000653",
          "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00000653",
          "action": "Add"
        }
      ],
      "quote": {
        "attributes": {
          "type": "Quote",
          "url": "/services/data/v59.0/sobjects/Quote/0Q0Do000000t2F3KAI"
        },
        "QuoteNumber": "00001204",
        "Description": "TMF648 Quote",
        "vlocity_cmt__Type__c": "Existing Customer - Upgrade",
        "CreatedDate": "2023-09-13T03:46:02.000+0000",
        "Status": "Draft",
        "ContractId": "800Do000000HiJtIAK",
        "vlocity_cmt__DefaultBillingAccountId__c": "001Do00000NS6S9IAL",
        "AccountId": "001Do00000MfpkgIAB",
        "ContactId": "003Do00000PSgbhIAD",
        "Email": "abc@salesforce.com",
        "Fax": "abc",
        "Phone": "(990) 099-7788",
        "vlocity_cmt__EffectiveOneTimeTotal__c": 0,
        "vlocity_cmt__EffectiveRecurringTotal__c": 1,
        "Id": "0Q0Do000000t2F3KAI",
        "Contract": {
          "attributes": {
            "type": "Contract",
            "url": "/services/data/v59.0/sobjects/Contract/800Do000000HiJtIAK"
          },
          "ContractNumber": "00000945",
          "Id": "800Do000000HiJtIAK"
        },
        "vlocity_cmt__DefaultBillingAccountId__r": {
          "attributes": {
            "type": "Account",
            "url": "/services/data/v59.0/sobjects/Account/001Do00000NS6S9IAL"
          },
          "AccountNumber": "CD123",
          "Name": "Acme",
          "Id": "001Do00000NS6S9IAL"
        },
        "Account": {
          "attributes": {
            "type": "Account",
            "url": "/services/data/v59.0/sobjects/Account/001Do00000MfpkgIAB"
          },
          "Name": "Common Org Account",
          "AccountNumber": "1234",
          "Id": "001Do00000MfpkgIAB"
        },
        "Contact": {
          "attributes": {
            "type": "Contact",
            "url": "/services/data/v59.0/sobjects/Contact/003Do00000PSgbhIAD"
          },
          "Name": "common",
          "Id": "003Do00000PSgbhIAD"
        }
      },
      "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001204",
      "effectiveQuoteCompletionDate": null,
      "contactMedium": [
        {
          "mediumType": "Email",
          "mediumCharacteristics": {
            "phoneNumber": null,
            "faxNumber": null,
            "emailAddress": "abc@salesforce.com",
            "contactType": "Email"
          }
        },
        {
          "mediumType": "Phone",
          "mediumCharacteristics": {
            "phoneNumber": "(990) 099-7788",
            "faxNumber": null,
            "emailAddress": null,
            "contactType": "Phone"
          }
        },
        {
          "mediumType": "Fax",
          "mediumCharacteristics": {
            "phoneNumber": null,
            "faxNumber": "abc",
            "emailAddress": null,
            "contactType": "Fax"
          }
        }
      ],
      "billingAccountHref": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123",
      "apiVersion": "v57.0",
      "agreementHref": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000945"
    }
  ]
}

Output JSON

{
    "contactMedium": [
      {
        "characteristic": {
          "emailAddress": "abc@salesforce.com",
          "contactType": "Email"
        },
        "mediumType": "Email"
      },
      {
        "characteristic": {
          "phoneNumber": "(990) 099-7788",
          "contactType": "Phone"
        },
        "mediumType": "Phone"
      },
      {
        "characteristic": {
          "faxNumber": "abc",
          "contactType": "Fax"
        },
        "mediumType": "Fax"
      }
    ],
    "quoteItem": [
      {
        "productOffering": [
          {
            "name": "TMF648 Product",
            "id": "198fbc33-9cf4-ac60-e44d-f1682c741179",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Product2/198fbc33-9cf4-ac60-e44d-f1682c741179",
            "@type": "Product2"
          }
        ],
        "quoteItemPrice": [
          {
            "price": {
              "taxIncludedAmount": {
                "value": 10,
                "unit": "$"
              }
            },
            "priceType": "Recurring"
          },
          {
            "price": {
              "taxIncludedAmount": {
                "value": 20,
                "unit": "$"
              }
            },
            "priceType": "One-time"
          }
        ],
        "relatedParty": [
          {
            "role": "Service Account",
            "name": "Common Org Account",
            "id": "001Do00000MfpkgIAB",
            "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/001Do00000MfpkgIAB",
            "@referredType": "Account"
          }
        ],
        "quantity": 1,
        "id": "00000653",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/QuoteLineItem/00000653",
        "action": "Add"
      }
    ],
    "quoteTotalPrice": [
      {
        "price": {
          "taxIncludedAmount": {
            "value": 1,
            "unit": "$"
          }
        },
        "priceType": "Recurring"
      },
      {
        "price": {
          "taxIncludedAmount": {
            "value": 0,
            "unit": "$"
          }
        },
        "priceType": "One-time"
      }
    ],
    "relatedParty": [
      {
        "role": "Account",
        "name": "Common Org Account",
        "id": "1234",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/1234",
        "@referredType": "Account"
      },
      {
        "role": "Contact",
        "name": "common",
        "id": "003Do00000PSgbhIAD",
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contact/003Do00000PSgbhIAD",
        "@referredType": "Contact"
      }
    ],
    "version": "V1",
    "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/quote/00001204",
    "billingAccount": [
      {
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Account/CD123",
        "name": "Acme",
        "id": "CD123"
      }
    ],
    "agreement": [
      {
        "href": "/services/apexrest/vlocity_cmt/tmforum/quotemanagement/v57.0/Contract/00000945",
        "id": "00000945"
      }
    ],
    "state": "Draft",
    "quoteDate": "2023-09-13T03:46:02.000+0000",
    "id": "00001204",
    "description": "TMF648 Quote",
    "category": "Existing Customer - Upgrade"
}