> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckoutWidgetShippingOptionProductUpsellConfigInput

> Settings of a shipping option upsell.

**addToCartButtonText** `String!` *required*

The add button's label.

**defaultDiscount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for slots with none of their own.

**fields**

**fixedAmount** `[MoneyInput](/docs/api-reference/v3/reference/common/money-input)`

Amount off.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The amount as an exact decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**percentage** `Float`

Percent off, above 0 and at most 100.

**excludedProductTags** `[String!]`

Products with these tags are never upsold.

**fallbackProductTags** `[String!]`

Products to fill empty slots with, by tag.

**progressBar** `[CheckoutWidgetProgressBarInput](/docs/api-reference/v3/reference/checkout/checkout-widget-progress-bar-input)`

Progress bar above the products. Omit for none.

**fields**

**threshold** `[MoneyInput!](/docs/api-reference/v3/reference/common/money-input)` *required*

The cart total to reach.

**fields**

**amount** `[Decimal!](/docs/api-reference/v3/reference/common/decimal)` *required*

The amount as an exact decimal string (e.g. "19.99").

**currency** `String!` *required*

ISO 4217 currency code (e.g. USD).

**thresholdNotReachedText** `String!` *required*

Shown until the cart total is reached. \{\{amount\_left}} is replaced with the amount left.

**thresholdReachedText** `String!` *required*

Shown once the cart total is reached.

**sources** `[\[CheckoutWidgetUpsellSourceInput!\]](/docs/api-reference/v3/reference/checkout/checkout-widget-upsell-source-input)`

Upsell slots, in order. At most 3.

**fields**

**collection** `[CheckoutWidgetCollectionSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-collection-source-input)`

A product from a collection.

**fields**

**discount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for this source. Overrides the widget's default.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**shopifyCollectionId** `String!` *required*

The Shopify collection.

**title** `String`

The collection's title, shown in the Redo dashboard.

**product** `[CheckoutWidgetProductSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-product-source-input)`

One specific product.

**fields**

**discount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for this source. Overrides the widget's default.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**imageUrl** `String`

The product's image, shown in the Redo dashboard.

**shopifyProductId** `String!` *required*

The Shopify product.

**title** `String`

The product's title, shown in the Redo dashboard.

**redoAi** `[CheckoutWidgetRedoAiSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-redo-ai-source-input)`

Redo AI picks the product.

**fields**

**discount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for this source. Overrides the widget's default.

**tags** `[CheckoutWidgetTagsSourceInput](/docs/api-reference/v3/reference/checkout/checkout-widget-tags-source-input)`

A product with any of these tags.

**fields**

**discount** `[CheckoutWidgetDiscountInput](/docs/api-reference/v3/reference/checkout/checkout-widget-discount-input)`

Discount for this source. Overrides the widget's default.

**fallbackIfNotAvailable** `Boolean`

Whether the widget moves on to fallback tags when this source has nothing available.

**tags** `[String!]!` *required*

Product tags.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.