# `Stripe.Resources.Quote.SubscriptionData`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/quote.ex#L515)

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.Quote.SubscriptionData{
  billing_mode: Stripe.Resources.Quote.SubscriptionData.BillingMode.t() | nil,
  description: String.t() | nil,
  effective_date: integer() | nil,
  metadata: %{required(String.t()) =&gt; String.t()} | nil,
  trial_period_days: integer() | nil
}
```

* `billing_mode`
* `description` - The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. Max length: 5000. Nullable.
* `effective_date` - When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch. Format: Unix timestamp. Nullable.
* `metadata` - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. Nullable.
* `trial_period_days` - Integer representing the number of trial period days before the customer is charged for the first time. Nullable.

---

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