# `ExGram.Model.EncryptedPassportElement`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L7209)

Describes documents or other Telegram Passport elements shared with the bot by the user.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#encryptedpassportelement)

- `type`: Element type. One of "personal_details”, "passport”, "driver_license”, "identity_card”, "internal_passport”, "address”, "utility_bill”, "bank_statement”, "rental_agreement”, "passport_registration”, "temporary_registration”, "phone_number”, "email”.
- `hash`: Base64-encoded element hash for using in PassportElementErrorUnspecified
- `data (optional)`: Optional. Base64-encoded encrypted Telegram Passport element data provided by the user; available only for "personal_details”, "passport”, "driver_license”, "identity_card”, "internal_passport” and "address” types. Can be decrypted and verified using the accompanying EncryptedCredentials.
- `phone_number (optional)`: Optional. User's verified phone number; available only for "phone_number” type
- `email (optional)`: Optional. User's verified email address; available only for "email” type
- `files (optional)`: Optional. Array of encrypted files with documents provided by the user; available only for "utility_bill”, "bank_statement”, "rental_agreement”, "passport_registration” and "temporary_registration” types. Files can be decrypted and verified using the accompanying EncryptedCredentials.
- `front_side (optional)`: Optional. Encrypted file with the front side of the document, provided by the user; available only for "passport”, "driver_license”, "identity_card” and "internal_passport”. The file can be decrypted and verified using the accompanying EncryptedCredentials.
- `reverse_side (optional)`: Optional. Encrypted file with the reverse side of the document, provided by the user; available only for "driver_license” and "identity_card”. The file can be decrypted and verified using the accompanying EncryptedCredentials.
- `selfie (optional)`: Optional. Encrypted file with the selfie of the user holding a document, provided by the user; available if requested for "passport”, "driver_license”, "identity_card” and "internal_passport”. The file can be decrypted and verified using the accompanying EncryptedCredentials.
- `translation (optional)`: Optional. Array of encrypted files with translated versions of documents provided by the user; available if requested for "passport”, "driver_license”, "identity_card”, "internal_passport”, "utility_bill”, "bank_statement”, "rental_agreement”, "passport_registration” and "temporary_registration” types. Files can be decrypted and verified using the accompanying EncryptedCredentials.

# `t`

```elixir
@type t() :: %ExGram.Model.EncryptedPassportElement{
  data: String.t() | nil,
  email: String.t() | nil,
  files: [ExGram.Model.PassportFile.t()] | nil,
  front_side: ExGram.Model.PassportFile.t() | nil,
  hash: String.t(),
  phone_number: String.t() | nil,
  reverse_side: ExGram.Model.PassportFile.t() | nil,
  selfie: ExGram.Model.PassportFile.t() | nil,
  translation: [ExGram.Model.PassportFile.t()] | nil,
  type: String.t()
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
