# Upgrade Plan Dialog block

> Pricing dialog with a plan rail, billing tabs and a plan detail panel

Help desk upgrade modal: a radio plan rail beside the chosen plan's price and features, and a footer naming the bill. Monthly or Yearly tabs reprice the rail, plan and bill. Built on Dialog, RadioGroup, Item, Tabs, IconTile. For paywall, plan picker.

- Type: Pro block
- Category: [Pricing](https://web.dev.reui.io/blocks/marketing/pricing.md)
- Page: https://web.dev.reui.io/blocks/marketing/pricing/pricing-7
- MCP: `get_block("pricing-7")`
- Built with: Badge, Button, Dialog, Empty, Icon Tile, Item, Label, Radio Group, Scroll Area, Separator, Tabs
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A dialog where a radio rail picks 1 of 3 plans for a detail panel, with the bill and the one action in an always-on footer

## Agent notes

- The dialog opens on load because `open` starts `true`, and the `Empty` stage with its `DialogTrigger` is demo scaffolding
- `FREE_MONTHS` derives every yearly price, bill and saving through `monthlyAt`, `billTotal` and `yearlySaving`
- Side by side, a hidden inert stack of every `PlanDetail` sizes the dialog so a plan switch never moves it; keep it when you edit plans

## When not to use

- Staff changing a customer's plan with a proration preview before it applies: use [Plan Change](https://web.dev.reui.io/blocks/solutions/billing/solution-billing-8.md) (`get_block("solution-billing-8")`)
- Every plan shown side by side as cards over a feature table in the dialog: use [Usage Limit Upgrade](https://web.dev.reui.io/blocks/marketing/pricing/pricing-8.md) (`get_block("pricing-8")`)

## Install

```bash
npx shadcn@latest add @reui/pricing-7
```

## About Pricing blocks

### When to use

- A public plans section with 3 or 4 tiers side by side, each with a price, its inclusions and its own button
- A plan comparison matrix that lines up each tier's limits and included features row by row
- An upgrade dialog or paywall inside the product, where a user picks a plan and a billing period

### When not to use

- A back office where staff edit the plan catalog, coupons or a customer's subscription: use the [Billing blocks](https://web.dev.reui.io/blocks/solutions/billing.md)
- Store products weighed side by side on specs and star ratings before a purchase: use the [Comparison blocks](https://web.dev.reui.io/blocks/ecommerce/comparison.md)
- One plan choice made as a single input inside a signup or checkout form: use [Radio Group](https://web.dev.reui.io/components/radio-group.md) (`get_component("radio-group")`)

### Agent notes

- Each plan's `href` in `PLANS` is a hash placeholder that its plan button links to; point it at your signup, checkout or sales route
- Plan prices print through a `currency` formatter pinned to en-US dollars with `maximumFractionDigits` 0; edit it for cents or another currency

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
