# Profile categories

> List of the available data points from other profile categories from the profile template that application can request from the Affinidi Vault.

## Presentation definition

Below is the sample Presentation Definition for querying personal information from the user’s Affinidi Vault.
Important Note

When querying user’s profile data from the Affinidi Vault, you must always include the $.@context and $.type check in the input_descriptors of your Presentation Definition to work.

```JSON
{
  "id": "category_data",
  "input_descriptors": [
    {
      "id": "category_vc",
      "name": "Category VC",
      "purpose": "Get some category data",
      "constraints": {
        "fields": [
            {
                "path": [
                "$.@context"
                ],
                "purpose": "Verify VC Context",
                "filter": {
                    "type": "array",
                    "contains": {
                        "type": "string",
                        "pattern": "^https://schema.affinidi.io/profile-template/context.jsonld$"
                    }
                }
            },
            {
                "path": [
                "$.type"
                ],
                "purpose": "Verify VC Type",
                "filter": {
                    "type": "array",
                    "contains": {
                        "type": "string",
                        "pattern": "^ProfileTemplate$"
                    }
                }
            },
            {
              "path": [
                "$.credentialSubject.categories.travel.frequentDestinations[0].frequentDestination"
              ],
              "purpose": "Require frequent travel destination"
            }
        ]
      }
    }
  ]
}
```

The sample Presentation Definition above requests the user’s frequent travel destination from the profile categories data. Additionally, we must include the $.@context and $.type filters to ensure we request data from the Profile Template schema.

## Available data points

Here is the list of profile categories, including the fields that can be requested from the user’s Affinidi Vault.

### Behaviors

Data points from the behaviors category of the profile.

#### Interest

Property Name:interests

Property Type:Array

Property Path:$.credentialSubject.categories.behaviors.interests[0]| Name | Type | Field Name | Description |  | Interested in | String | interest | Add interests such as Travel, Photography, etc. |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.behaviors.interests[0].{FIELD_NAME}

### Fashion

Data points from the fashion category of the profile.

#### Favorite brands

Property Name:favoriteBrands

Property Type:Array

Property Path:$.credentialSubject.categories.fashion.favoriteBrands[0]| Name | Type | Field Name | Description |  | Brand name | String | favoriteBrand | Enter brand name |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.fashion.favoriteBrands[0].{FIELD_NAME}

#### Matters most

Property Name:mattersMost

Property Type:String

Property Path:$.credentialSubject.categories.fashion| Name | Type | Field Name | Description |  | Matters most | String | mattersMost | Enter what matters most for you in fashion |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.fashion.{FIELD_NAME}

### Fitness

Data points from the fitness category of the profile.

#### Activities

Property Name:activities

Property Type:Array

Property Path:$.credentialSubject.categories.fitness.activities[0]| Name | Type | Field Name | Description |  | Activity | String | activity | Enter activity |  | Frequency | String | frequency | Enter frequency |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.fitness.activities[0].{FIELD_NAME}

#### Fitness goals

Property Name:fitnessGoals

Property Type:Array

Property Path:$.credentialSubject.categories.fitness.fitnessGoals[0]| Name | Type | Field Name | Description |  | Fitness goal | String | fitnessGoal | Enter fitness goal |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.fitness.fitnessGoals[0].{FIELD_NAME}

### Identity documents

Data points from the identityDocuments category of the profile.

#### Paper identity documents

Property Name:paperIdentityDocuments

Property Type:Array

Property Path:$.credentialSubject.categories.identityDocuments.paperIdentityDocuments[0]| Name | Type | Field Name | Description |  | Document category | String | documentCategory | Select document category |  | Document identifier | String | documentIdentifier | Enter document identifier |  | Issued by | String | issuedBy | Enter issuer name |  | Tags | Array | tags | Tags |  | Valid from | String | validFrom | Enter date for valid from (YYYY-MM-DD) |  | Valid until | String | validUntil | Enter date for valid until (YYYY-MM-DD) |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.identityDocuments.paperIdentityDocuments[0].{FIELD_NAME}

### Memberships

Data points from the memberOf category of the profile.

#### Membership

Property Name:membership

Property Type:Array

Property Path:$.credentialSubject.categories.memberOf.membership[0]| Name | Type | Field Name | Description |  | Membership description | String | description | Enter membership description |  | End date | String | endDate | Enter membership end date (YYYY-MM-DD) |  | Membership card balance | String | membershipBalance | Enter membership card balance |  | Membership number | String | membershipNumber | Enter membership number |  | Membership name | String | name | Enter membership name |  | Start date | String | startDate | Enter membership start date (YYYY-MM-DD) |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.memberOf.membership[0].{FIELD_NAME}

### Movies

Data points from the movies category of the profile.

#### Favorite actors

Property Name:favoriteActors

Property Type:Array

Property Path:$.credentialSubject.categories.movies.favoriteActors[0]| Name | Type | Field Name | Description |  | Actor name | String | favoriteActor | Enter actor name |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.movies.favoriteActors[0].{FIELD_NAME}

#### Favorite movie genres

Property Name:favoriteGenres

Property Type:Array

Property Path:$.credentialSubject.categories.movies.favoriteGenres[0]| Name | Type | Field Name | Description |  | Genre | String | favoriteGenre | Enter genre |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.movies.favoriteGenres[0].{FIELD_NAME}

#### Mood states

Property Name:moodStates

Property Type:Array

Property Path:$.credentialSubject.categories.movies.moodStates[0]| Name | Type | Field Name | Description |  | Mood state | String | moodState | Enter your mood states related to movies |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.movies.moodStates[0].{FIELD_NAME}

### Music

Data points from the music category of the profile.

#### Favorite music genres

Property Name:favoriteGenres

Property Type:Array

Property Path:$.credentialSubject.categories.music.favoriteGenres[0]| Name | Type | Field Name | Description |  | Genre | String | favoriteGenre | Enter genre |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.music.favoriteGenres[0].{FIELD_NAME}

#### Mood states

Property Name:moodStates

Property Type:Array

Property Path:$.credentialSubject.categories.music.moodStates[0]| Name | Type | Field Name | Description |  | Mood state | String | moodState | Enter your mood states related to music |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.music.moodStates[0].{FIELD_NAME}

#### Playlists

Property Name:playlists

Property Type:Array

Property Path:$.credentialSubject.categories.music.playlists[0]| Name | Type | Field Name | Description |  | Playlist name | String | name | Enter playlist name |  | Tracks | Array | tracks | Tracks |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.music.playlists[0].{FIELD_NAME}

### Sports

Data points from the sports category of the profile.

#### Interests

Property Name:interests

Property Type:Array

Property Path:$.credentialSubject.categories.sports.interests[0]| Name | Type | Field Name | Description |  | Sport name | String | interest | Enter sport name |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.sports.interests[0].{FIELD_NAME}

### Travel

Data points from the travel category of the profile.

#### Frequent destinations

Property Name:frequentDestinations

Property Type:Array

Property Path:$.credentialSubject.categories.travel.frequentDestinations[0]| Name | Type | Field Name | Description |  | Destination name | String | frequentDestination | Enter destination name |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.travel.frequentDestinations[0].{FIELD_NAME}

#### Travel style

Property Name:travelStyle

Property Type:String

Property Path:$.credentialSubject.categories.travel| Name | Type | Field Name | Description |  | Travel style | String | travelStyle | Enter travel style such as Solo, Group, Family, etc. |

To request the data, use the property path with the field name of the data you require.

For example, $.credentialSubject.categories.travel.{FIELD_NAME}
