# `Polarex.BenefitGrant`
[🔗](https://github.com/giusdp/polarex/blob/main/lib/polarex/schemas/benefit_grant.ex#L1)

Provides struct and type for a BenefitGrant

# `t`

```elixir
@type t() :: %Polarex.BenefitGrant{
  benefit:
    Polarex.BenefitCustom.t()
    | Polarex.BenefitDiscord.t()
    | Polarex.BenefitDownloadables.t()
    | Polarex.BenefitFeatureFlag.t()
    | Polarex.BenefitGitHubRepository.t()
    | Polarex.BenefitLicenseKeys.t()
    | Polarex.BenefitMeterCredit.t()
    | Polarex.BenefitSlackSharedChannel.t(),
  benefit_id: String.t(),
  created_at: DateTime.t(),
  customer: Polarex.CustomerIndividual.t() | Polarex.CustomerTeam.t(),
  customer_id: String.t(),
  error: Polarex.BenefitGrantError.t() | nil,
  granted_at: DateTime.t() | nil,
  id: String.t(),
  is_granted: boolean(),
  is_revoked: boolean(),
  member: Polarex.Member.t() | nil,
  member_id: String.t() | nil,
  modified_at: DateTime.t() | nil,
  order_id: String.t() | nil,
  properties:
    map()
    | Polarex.BenefitGrantDiscordProperties.t()
    | Polarex.BenefitGrantDownloadablesProperties.t()
    | Polarex.BenefitGrantGitHubRepositoryProperties.t()
    | Polarex.BenefitGrantLicenseKeysProperties.t()
    | Polarex.BenefitGrantSlackSharedChannelProperties.t(),
  revoked_at: DateTime.t() | nil,
  subscription_id: String.t() | nil
}
```

---

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