> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/labs-voice-agent/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/labs-voice-agent/_mcp/server.

# nemo_voice_agent.evaluation.tools.tau2_retail_params

Pydantic parameter models for tau2\_retail tool functions.

Same pattern as `tau2_airline_params.py`: two classes of models, one mirroring
`data_model.py` for DB round-tripping and one `*Params` per LLM-exposed
tool for strict (`extra="forbid"`) argument validation.

## Module Contents

### Classes

| Name                                                                                                                           | Description                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| [`CalculateParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-CalculateParams)                                     | -                                                                                    |
| [`CancelPendingOrderParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-CancelPendingOrderParams)                   | -                                                                                    |
| [`CancelReason`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-CancelReason)                                           | -                                                                                    |
| [`CreditCard`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-CreditCard)                                               | -                                                                                    |
| [`ExchangeDeliveredOrderItemsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ExchangeDeliveredOrderItemsParams) | -                                                                                    |
| [`FindUserIdByEmailParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-FindUserIdByEmailParams)                     | -                                                                                    |
| [`FindUserIdByNameZipParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-FindUserIdByNameZipParams)                 | -                                                                                    |
| [`GetItemDetailsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-GetItemDetailsParams)                           | -                                                                                    |
| [`GetOrderDetailsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-GetOrderDetailsParams)                         | -                                                                                    |
| [`GetProductDetailsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-GetProductDetailsParams)                     | -                                                                                    |
| [`GetUserDetailsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-GetUserDetailsParams)                           | -                                                                                    |
| [`GiftCard`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-GiftCard)                                                   | -                                                                                    |
| [`ListAllProductTypesParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ListAllProductTypesParams)                 | No arguments — LLM still passes an empty dict `&#123;&#125;`.                        |
| [`ModifyPendingOrderAddressParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ModifyPendingOrderAddressParams)     | -                                                                                    |
| [`ModifyPendingOrderItemsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ModifyPendingOrderItemsParams)         | -                                                                                    |
| [`ModifyPendingOrderPaymentParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ModifyPendingOrderPaymentParams)     | -                                                                                    |
| [`ModifyUserAddressParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ModifyUserAddressParams)                     | -                                                                                    |
| [`Order`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-Order)                                                         | An order with its items, status, fulfillment and payment details.                    |
| [`OrderFullfilment`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-OrderFullfilment)                                   | Represents the fulfillment details for items in an order.                            |
| [`OrderItem`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-OrderItem)                                                 | -                                                                                    |
| [`OrderPayment`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-OrderPayment)                                           | -                                                                                    |
| [`OrderStatus`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-OrderStatus)                                             | -                                                                                    |
| [`PaymentMethodBase`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-PaymentMethodBase)                                 | -                                                                                    |
| [`Paypal`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-Paypal)                                                       | -                                                                                    |
| [`Product`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-Product)                                                     | Represents a product with its variants.                                              |
| [`RetailDB`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-RetailDB)                                                   | Top-level shape of `nemo_voice_agent/evaluation/data/tau2_retail/db.json`.           |
| [`ReturnDeliveredOrderItemsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-ReturnDeliveredOrderItemsParams)     | -                                                                                    |
| [`TransferToHumanAgentsParams`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-TransferToHumanAgentsParams)             | -                                                                                    |
| [`User`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-User)                                                           | A user with their personal info, payment methods and order history.                  |
| [`UserAddress`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-UserAddress)                                             | -                                                                                    |
| [`UserName`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-UserName)                                                   | -                                                                                    |
| [`Variant`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-Variant)                                                     | Represents a specific variant of a product with its options, availability and price. |
| [`_ToolParamsBase`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)                                     | Strict base: reject unknown args.                                                    |

### Functions

| Name                                                                                                           | Description                                                           |
| -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`validation_error_response`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-validation_error_response) | Translate a pydantic ValidationError into a standard tool-error dict. |

### Data

[`OrderPaymentType`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-OrderPaymentType)

[`PaymentMethod`](#nemo_voice_agent-evaluation-tools-tau2_retail_params-PaymentMethod)

### API

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.CalculateParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`expression`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.CancelPendingOrderParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`order_id`**

---

**`reason`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.CancelReason
```

**Bases:** `enum.Enum`

**`no_longer_needed`**

---

**`ordered_by_mistake`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.CreditCard()
```

**Bases:** [PaymentMethodBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-PaymentMethodBase)

**`brand`**

---

**`last_four`**

---

**`source`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ExchangeDeliveredOrderItemsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`item_ids`**

---

**`new_item_ids`**

---

**`order_id`**

---

**`payment_method_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.FindUserIdByEmailParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`email`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.FindUserIdByNameZipParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`first_name`**

---

**`last_name`**

---

**`zip`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.GetItemDetailsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`item_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.GetOrderDetailsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`order_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.GetProductDetailsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`product_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.GetUserDetailsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`user_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.GiftCard()
```

**Bases:** [PaymentMethodBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-PaymentMethodBase)

**`balance`**

---

**`id`**

---

**`source`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ListAllProductTypesParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

No arguments — LLM still passes an empty dict `&#123;&#125;`.

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ModifyPendingOrderAddressParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`address1`**

---

**`address2`**

---

**`city`**

---

**`country`**

---

**`order_id`**

---

**`state`**

---

**`zip`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ModifyPendingOrderItemsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`item_ids`**

---

**`new_item_ids`**

---

**`order_id`**

---

**`payment_method_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ModifyPendingOrderPaymentParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`order_id`**

---

**`payment_method_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ModifyUserAddressParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`address1`**

---

**`address2`**

---

**`city`**

---

**`country`**

---

**`state`**

---

**`user_id`**

---

**`zip`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.Order()
```

**Bases:** `BaseModel`

An order with its items, status, fulfillment and payment details.

**`address`**

---

**`cancel_reason`**

---

**`exchange_items`**

---

**`exchange_new_items`**

---

**`exchange_payment_method_id`**

---

**`exchange_price_difference`**

---

**`fulfillments`**

---

**`items`**

---

**`order_id`**

---

**`payment_history`**

---

**`return_items`**

---

**`return_payment_method_id`**

---

**`status`**

---

**`user_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.OrderFullfilment()
```

**Bases:** `BaseModel`

Represents the fulfillment details for items in an order.

**`item_ids`**

---

**`tracking_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.OrderItem()
```

**Bases:** `BaseModel`

**`item_id`**

---

**`name`**

---

**`options`**

---

**`price`**

---

**`product_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.OrderPayment()
```

**Bases:** `BaseModel`

**`amount`**

---

**`payment_method_id`**

---

**`transaction_type`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.OrderStatus
```

**Bases:** `enum.Enum`

**`cancelled`**

---

**`delivered`**

---

**`exchange_requested`**

---

**`pending`**

---

**`pending_item_modified`**

---

**`processed`**

---

**`return_requested`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.PaymentMethodBase()
```

**Bases:** `BaseModel`

**`id`**

---

**`source`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.Paypal()
```

**Bases:** [PaymentMethodBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-PaymentMethodBase)

**`source`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.Product()
```

**Bases:** `BaseModel`

Represents a product with its variants.

**`name`**

---

**`product_id`**

---

**`variants`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.RetailDB()
```

**Bases:** `BaseModel`

Top-level shape of `nemo_voice_agent/evaluation/data/tau2_retail/db.json`.

**`orders`**

---

**`products`**

---

**`users`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.ReturnDeliveredOrderItemsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`item_ids`**

---

**`order_id`**

---

**`payment_method_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.TransferToHumanAgentsParams()
```

**Bases:** [\_ToolParamsBase](#nemo_voice_agent-evaluation-tools-tau2_retail_params-_ToolParamsBase)

**`summary`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.User()
```

**Bases:** `BaseModel`

A user with their personal info, payment methods and order history.

**`address`**

---

**`email`**

---

**`name`**

---

**`orders`**

---

**`payment_methods`**

---

**`user_id`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.UserAddress()
```

**Bases:** `BaseModel`

**`address1`**

---

**`address2`**

---

**`city`**

---

**`country`**

---

**`state`**

---

**`zip`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.UserName()
```

**Bases:** `BaseModel`

**`first_name`**

---

**`last_name`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params.Variant()
```

**Bases:** `BaseModel`

Represents a specific variant of a product with its options, availability and price.

**`available`**

---

**`item_id`**

---

**`options`**

---

**`price`**

---

```python
class nemo_voice_agent.evaluation.tools.tau2_retail_params._ToolParamsBase()
```

**Bases:** `BaseModel`

Strict base: reject unknown args.

**`model_config`**

---

```python
nemo_voice_agent.evaluation.tools.tau2_retail_params.validation_error_response(
    error: pydantic.ValidationError
) -> typing.Dict[str, typing.Any]
```

Translate a pydantic ValidationError into a standard tool-error dict.

Mirrors `tau2_airline_params.validation_error_response` so the runner's
downstream handling is uniform across domains.

```python
nemo_voice_agent.evaluation.tools.tau2_retail_params.OrderPaymentType = Literal['payment', 'refund']
```

```python
nemo_voice_agent.evaluation.tools.tau2_retail_params.PaymentMethod = Union[CreditCard, GiftCard, Paypal]
```