# TMF632 v5 Resource Mappings

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

## Constraints and Limitations

- Individual maps to Salesforce Contact. Organization maps to Salesforce Account.
- Out-of-the-box implementation is restricted to the core data model.
- `givenName` and `familyName` are mandatory for Individual POST. `name` is mandatory for Organization POST.
- An individual party contact that has no associated related accounts (a private contact) cannot be linked with an organization party Account.
- To add an Account-to-Account relationship on an Organization resource, create a PartyRoleRelation.
- DELETE does not hard-delete Contact or Account records. The DELETE endpoint is an extensibility hook. Without a custom Apex implementation, DELETE returns HTTP 400.
- Fields that are not supported out of the box can be added by using Apex extensibility hooks. See [Extensibility for TMF632 v5 Party Management](/docs/industries/communications/guide/TMF632\_extensibility.md).

These default mappings are supported for the TMF632 resources.

## Individual

| TMF Field<div style="width:120px"></div> | Description<div style="width:180px"></div>                    | Supported<div style="width:70px"></div> | Salesforce Object<div style="width:100px"></div> | Salesforce Mapping<div style="width:140px"></div>           | Mandatory for POST<div style="width:90px"></div> | Supported methods<div style="width:90px"></div> |
| ---------------------------------------- | ------------------------------------------------------------- | --------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------- |
| id                                       | Unique identifier.                                            | Yes                                     | Contact                                          | Id                                                          | No                                               | GET                                             |
| href                                     | Hyperlink reference. Constructed at runtime.                  | Yes                                     | Contact                                          | Derived                                                     | No                                               | GET                                             |
| name                                     | Full name presented in reference data types.                  | Yes                                     | Contact                                          | Name                                                        | No                                               | GET                                             |
| title                                    | Title such as Pr, Dr, or Sir.                                 | Yes                                     | Contact                                          | Title                                                       | No                                               | GET, POST, PATCH                                |
| birthDate                                | Birth date.                                                   | Yes                                     | Contact                                          | Birthdate                                                   | No                                               | GET, POST, PATCH                                |
| givenName                                | First name of the individual.                                 | Yes                                     | Contact                                          | FirstName                                                   | Yes                                              | GET, POST, PATCH                                |
| familyName                               | Last name of the individual.                                  | Yes                                     | Contact                                          | LastName                                                    | Yes                                              | GET, POST, PATCH                                |
| @type                                    | Sub-class name. Always `Individual` in the response.          | Yes                                     | —                                                | Hardcoded                                                   | Yes                                              | GET, POST                                       |
| @baseType                                | Super-class name. Always `Party` in the response.             | Yes                                     | —                                                | Hardcoded                                                   | Yes                                              | GET, POST                                       |
| contactMedium                            | List of contact means such as email, phone, fax, and address. | Yes                                     | Contact                                          | See [ContactMedium](#contactmedium)                         | No                                               | GET, POST, PATCH                                |
| relatedParty                             | Parties related to the individual.                            | Yes                                     | Contact / Account                                | See [Related Party (Individual)](#related-party-individual) | No                                               | GET, POST, PATCH                                |
| aristocraticTitle                        | Aristocratic title.                                           | No                                      | —                                                | —                                                           | No                                               | —                                               |
| countryOfBirth                           | Country of birth.                                             | No                                      | —                                                | —                                                           | No                                               | —                                               |
| creditRating                             | Credit profiles and scores.                                   | No                                      | —                                                | —                                                           | No                                               | —                                               |
| deathDate                                | Date of death.                                                | No                                      | —                                                | —                                                           | No                                               | —                                               |
| disability                               | Disabilities.                                                 | No                                      | —                                                | —                                                           | No                                               | —                                               |
| externalReference                        | Identifiers in an external system.                            | No                                      | —                                                | —                                                           | No                                               | —                                               |
| gender                                   | Gender.                                                       | No                                      | —                                                | —                                                           | No                                               | —                                               |
| maritalStatus                            | Marital status.                                               | No                                      | —                                                | —                                                           | No                                               | —                                               |
| middleName                               | Middle name or initial.                                       | No                                      | —                                                | —                                                           | No                                               | —                                               |
| nationality                              | Nationality.                                                  | No                                      | —                                                | —                                                           | No                                               | —                                               |
| status                                   | Lifecycle state of the individual.                            | No                                      | —                                                | —                                                           | No                                               | —                                               |

These Individual attributes are patchable: `givenName`, `familyName`, `title`, `birthDate`, `contactMedium`, and `relatedParty`. These attributes are not patchable: `id`, `href`, `name`, and `@type`.

## Organization

| TMF Field<div style="width:120px"></div> | Description<div style="width:180px"></div>             | Supported<div style="width:70px"></div> | Salesforce Object<div style="width:100px"></div> | Salesforce Mapping<div style="width:140px"></div>                         | Mandatory for POST<div style="width:90px"></div> | Supported methods<div style="width:90px"></div> |
| ---------------------------------------- | ------------------------------------------------------ | --------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------- |
| id                                       | Unique identifier.                                     | Yes                                     | Account                                          | Id                                                                        | No                                               | GET                                             |
| href                                     | Hyperlink reference. Constructed at runtime.           | Yes                                     | Account                                          | Derived                                                                   | No                                               | GET                                             |
| name                                     | Organization name.                                     | Yes                                     | Account                                          | Name                                                                      | Yes                                              | GET, POST, PATCH                                |
| organizationType                         | Type of organization, such as company or department.   | Yes                                     | Account                                          | Type                                                                      | No                                               | GET, POST, PATCH                                |
| @type                                    | Sub-class name. Always `Organization` in the response. | Yes                                     | —                                                | Hardcoded                                                                 | Yes                                              | GET, POST                                       |
| @baseType                                | Super-class name. Always `Party` in the response.      | Yes                                     | —                                                | Hardcoded                                                                 | No                                               | GET, POST                                       |
| contactMedium                            | List of contact means.                                 | Yes                                     | Account                                          | See [ContactMedium](#contactmedium)                                       | No                                               | GET, POST, PATCH                                |
| relatedParty                             | Parties related to the organization.                   | Yes                                     | Account / Contact                                | See [Related Party (Organization)](#related-party-organization)           | No                                               | GET, POST, PATCH                                |
| organizationParentRelationship           | Parent organization reference.                         | Yes                                     | Account                                          | See [Organization Parent Relationship](#organization-parent-relationship) | No                                               | GET, POST, PATCH                                |
| organizationChildRelationship            | Child organizations contained in this organization.    | Yes                                     | Account                                          | See [Organization Child Relationship](#organization-child-relationship)   | No                                               | GET                                             |
| creditRating                             | Credit profiles and scores.                            | No                                      | —                                                | —                                                                         | No                                               | —                                               |
| isHeadOffice                             | Whether the organization is the head office.           | No                                      | —                                                | —                                                                         | No                                               | —                                               |
| isLegalEntity                            | Whether the organization is a legal entity.            | No                                      | —                                                | —                                                                         | No                                               | —                                               |
| status                                   | Lifecycle state of the organization.                   | No                                      | —                                                | —                                                                         | No                                               | —                                               |
| tradingName                              | Name the organization trades under.                    | No                                      | —                                                | —                                                                         | No                                               | —                                               |

## Sub-resources

### ContactMedium

| TMF Field<div style="width:160px"></div>          | Description<div style="width:180px"></div>                                                                 | Supported | Salesforce Mapping<div style="width:180px"></div> | Mandatory for POST |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------- | ------------------ |
| @type                                             | Discriminator: EmailContactMedium, PhoneContactMedium, FaxContactMedium, or GeographicAddressContactMedium | Yes       | Hardcoded discriminator                           | No                 |
| id                                                | Identifier for this contact medium.                                                                        | Yes       | Generated                                         | No                 |
| emailAddress                                      | Email contact medium.                                                                                      | Yes       | Contact.Email or equivalent Account field         | No                 |
| phoneNumber                                       | Phone contact medium.                                                                                      | Yes       | Contact.Phone or Account.Phone                    | No                 |
| faxNumber                                         | Fax contact medium.                                                                                        | Yes       | Contact.Fax or Account.Fax                        | No                 |
| street1, city, stateOrProvince, postCode, country | Geographic address.                                                                                        | Yes       | Address fields on Contact or Account              | No                 |
| validFor                                          | Validity period.                                                                                           | No        | —                                                 | No                 |
| contactType                                       | Qualification such as personal or professional email.                                                      | No        | —                                                 | No                 |

### Related Party (Individual)

Related parties on an Individual map through AccountContactRelation to Account.

| TMF Field<div style="width:180px"></div> | Description                             | Supported | Salesforce Mapping                       | Mandatory for POST |
| ---------------------------------------- | --------------------------------------- | --------- | ---------------------------------------- | ------------------ |
| role                                     | Role played by the related party.       | Yes       | AccountContactRelation.Roles             | No                 |
| @type                                    | Sub-class name.                         | Yes       | Hardcoded: RelatedPartyRefOrPartyRoleRef | No                 |
| partyOrPartyRole.id                      | Unique identifier of the related party. | Yes       | AccountId                                | No                 |
| partyOrPartyRole.name                    | Name of the related party.              | Yes       | Account.Name                             | No                 |
| partyOrPartyRole.href                    | Hyperlink reference.                    | Yes       | Derived                                  | No                 |
| partyOrPartyRole.@type                   | Sub-class name.                         | Yes       | Hardcoded: PartyRef                      | No                 |
| partyOrPartyRole.@referredType           | Actual type of the target.              | Yes       | Individual or Organization               | No                 |

### Related Party (Organization)

Organization related parties map through AccountContactRelation (to Contact) or AccountAccountRelation (to Account). For Account-to-Account relationships, create a PartyRoleRelation.

| TMF Field<div style="width:180px"></div> | Description                             | Supported | Salesforce Mapping                                                                | Mandatory for POST |
| ---------------------------------------- | --------------------------------------- | --------- | --------------------------------------------------------------------------------- | ------------------ |
| role                                     | Role played by the related party.       | Yes       | AccountContactRelation.Roles or AccountAccountRelation.PartyRoleRelation.roleName | No                 |
| @type                                    | Sub-class name.                         | Yes       | Hardcoded: RelatedPartyRefOrPartyRoleRef                                          | No                 |
| partyOrPartyRole.id                      | Unique identifier of the related party. | Yes       | AccountContactRelation.ContactId or AccountAccountRelation.RelatedAccountId       | No                 |
| partyOrPartyRole.name                    | Name of the related party.              | Yes       | Contact.Name or Account.Name                                                      | No                 |
| partyOrPartyRole.href                    | Hyperlink reference.                    | Yes       | Derived                                                                           | No                 |
| partyOrPartyRole.@type                   | Sub-class name.                         | Yes       | Hardcoded: PartyRef                                                               | No                 |
| partyOrPartyRole.@referredType           | Actual type of the target.              | Yes       | Individual or Organization                                                        | No                 |

### Organization Parent Relationship

| TMF Field<div style="width:160px"></div> | Description                                   | Supported | Salesforce Mapping         | Mandatory for POST |
| ---------------------------------------- | --------------------------------------------- | --------- | -------------------------- | ------------------ |
| @type                                    | Sub-class name.                               | Yes       | Hardcoded: OrganizationRef | No                 |
| organization.id                          | Unique identifier of the parent organization. | Yes       | Account.ParentId           | No                 |
| organization.name                        | Name of the parent organization.              | Yes       | Parent.Name                | No                 |
| organization.href                        | Hyperlink reference.                          | Yes       | Derived                    | No                 |
| relationshipType                         | Type of relationship.                         | No        | —                          | No                 |

### Organization Child Relationship

| TMF Field<div style="width:160px"></div> | Description                                  | Supported | Salesforce Mapping                              | Mandatory for POST |
| ---------------------------------------- | -------------------------------------------- | --------- | ----------------------------------------------- | ------------------ |
| @type                                    | Sub-class name.                              | Yes       | Hardcoded: OrganizationRef                      | No                 |
| organization.id                          | Unique identifier of the child organization. | Yes       | Child Account Id where ParentId is this account | No                 |
| organization.name                        | Name of the child organization.              | Yes       | Child.Name                                      | No                 |
| organization.href                        | Hyperlink reference.                         | Yes       | Derived                                         | No                 |
| relationshipType                         | Type of relationship.                        | No        | —                                               | No                 |
