> 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.eva_airline_params

Pydantic parameter models and enums for airline tool functions.

Each tool function has a corresponding \*Params model that validates and types
its incoming `params` dict. Call `Model.model_validate(params)` at the top
of the tool function and catch `ValidationError` to produce a standard
`&#123;"status": "error", ...&#125;` response for bad LLM-supplied inputs.

Enums use `StrEnum` so values serialise to plain strings in JSON and
compare equal to their string counterparts (e.g. `FareClass.main_cabin == "main_cabin"`).

## Module Contents

### Classes

| Name                                                                                                                 | Description                                                    |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [`AddBaggageAllowanceParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-AddBaggageAllowanceParams)       | -                                                              |
| [`AddMealRequestParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-AddMealRequestParams)                 | -                                                              |
| [`AddToStandbyParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-AddToStandbyParams)                     | -                                                              |
| [`AssignSeatParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-AssignSeatParams)                         | -                                                              |
| [`CancelReservationParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-CancelReservationParams)           | -                                                              |
| [`CancellationReason`](#nemo_voice_agent-evaluation-tools-eva_airline_params-CancellationReason)                     | -                                                              |
| [`CreditReason`](#nemo_voice_agent-evaluation-tools-eva_airline_params-CreditReason)                                 | -                                                              |
| [`FareClass`](#nemo_voice_agent-evaluation-tools-eva_airline_params-FareClass)                                       | -                                                              |
| [`FareClassOrAny`](#nemo_voice_agent-evaluation-tools-eva_airline_params-FareClassOrAny)                             | Fare class for search queries; `any` means cheapest available. |
| [`GetDisruptionInfoParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-GetDisruptionInfoParams)           | -                                                              |
| [`GetFlightStatusParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-GetFlightStatusParams)               | -                                                              |
| [`GetReservationParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-GetReservationParams)                 | -                                                              |
| [`IssueHotelVoucherParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-IssueHotelVoucherParams)           | -                                                              |
| [`IssueMealVoucherParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-IssueMealVoucherParams)             | -                                                              |
| [`IssueTravelCreditParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-IssueTravelCreditParams)           | -                                                              |
| [`MealType`](#nemo_voice_agent-evaluation-tools-eva_airline_params-MealType)                                         | -                                                              |
| [`ProcessRefundParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-ProcessRefundParams)                   | -                                                              |
| [`RebookFlightParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-RebookFlightParams)                     | -                                                              |
| [`RebookingType`](#nemo_voice_agent-evaluation-tools-eva_airline_params-RebookingType)                               | -                                                              |
| [`RefundType`](#nemo_voice_agent-evaluation-tools-eva_airline_params-RefundType)                                     | -                                                              |
| [`SearchRebookingOptionsParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-SearchRebookingOptionsParams) | -                                                              |
| [`SeatPreference`](#nemo_voice_agent-evaluation-tools-eva_airline_params-SeatPreference)                             | -                                                              |
| [`TransferToAgentParams`](#nemo_voice_agent-evaluation-tools-eva_airline_params-TransferToAgentParams)               | -                                                              |
| [`VoucherReason`](#nemo_voice_agent-evaluation-tools-eva_airline_params-VoucherReason)                               | -                                                              |

### Functions

| Name                                                                                                           | Description                                                             |
| -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [`validation_error_response`](#nemo_voice_agent-evaluation-tools-eva_airline_params-validation_error_response) | Convert a Pydantic `ValidationError` to a standard tool error response. |

### Data

[`AirportCode`](#nemo_voice_agent-evaluation-tools-eva_airline_params-AirportCode)

[`ConfirmationNumber`](#nemo_voice_agent-evaluation-tools-eva_airline_params-ConfirmationNumber)

[`DateStr`](#nemo_voice_agent-evaluation-tools-eva_airline_params-DateStr)

[`FIELD_ERROR_TYPES`](#nemo_voice_agent-evaluation-tools-eva_airline_params-FIELD_ERROR_TYPES)

[`FlightNumberStr`](#nemo_voice_agent-evaluation-tools-eva_airline_params-FlightNumberStr)

[`JourneyIdStr`](#nemo_voice_agent-evaluation-tools-eva_airline_params-JourneyIdStr)

[`PassengerIdStr`](#nemo_voice_agent-evaluation-tools-eva_airline_params-PassengerIdStr)

### API

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.AddBaggageAllowanceParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`flight_number`**

---

**`journey_id`**

---

**`num_bags`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.AddMealRequestParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`flight_number`**

---

**`journey_id`**

---

**`meal_type`**

---

**`passenger_id`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.AddToStandbyParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`journey_id`**

---

**`passenger_ids`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.AssignSeatParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`flight_number`**

---

**`journey_id`**

---

**`passenger_id`**

---

**`seat_preference`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.CancelReservationParams()
```

**Bases:** `BaseModel`

**`cancellation_reason`**

---

**`confirmation_number`**

---

**`journey_id`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.CancellationReason
```

**Bases:** `enum.Enum`

**`bereavement`**

---

**`irrops_refund`**

---

**`medical`**

---

**`rule_24_hour`**

---

**`schedule_unacceptable`**

---

**`voluntary`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.CreditReason
```

**Bases:** `enum.Enum`

**`cancellation_non_refundable`**

---

**`downgrade_compensation`**

---

**`fare_difference_negative`**

---

**`goodwill`**

---

**`service_recovery`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.FareClass
```

**Bases:** `enum.Enum`

**`basic_economy`**

---

**`business`**

---

**`first`**

---

**`main_cabin`**

---

**`premium_economy`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.FareClassOrAny
```

**Bases:** `enum.Enum`

Fare class for search queries; `any` means cheapest available.

**`any`**

---

**`basic_economy`**

---

**`business`**

---

**`first`**

---

**`main_cabin`**

---

**`premium_economy`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.GetDisruptionInfoParams()
```

**Bases:** `BaseModel`

**`date`**

---

**`flight_number`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.GetFlightStatusParams()
```

**Bases:** `BaseModel`

**`flight_date`**

---

**`flight_number`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.GetReservationParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`last_name`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.IssueHotelVoucherParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`num_nights`**

---

**`passenger_id`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.IssueMealVoucherParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`passenger_id`**

---

**`voucher_reason`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.IssueTravelCreditParams()
```

**Bases:** `BaseModel`

**`amount`**

---

**`confirmation_number`**

---

**`credit_reason`**

---

**`passenger_id`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.MealType
```

**Bases:** `enum.Enum`

**`child`**

---

**`diabetic`**

---

**`gluten_free`**

---

**`halal`**

---

**`hindu`**

---

**`kosher`**

---

**`low_sodium`**

---

**`none`**

---

**`standard`**

---

**`vegan`**

---

**`vegetarian`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.ProcessRefundParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`refund_amount`**

---

**`refund_type`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.RebookFlightParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`flight_number`**

---

**`journey_id`**

---

**`new_fare_class`**

---

**`new_journey_id`**

---

**`rebooking_type`**

---

**`waive_change_fee`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.RebookingType
```

**Bases:** `enum.Enum`

**`irrops_cancellation`**

---

**`irrops_delay`**

---

**`irrops_schedule_change`**

---

**`missed_connection_airline_fault`**

---

**`missed_flight_passenger_fault`**

---

**`same_day`**

---

**`voluntary`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.RefundType
```

**Bases:** `enum.Enum`

**`ancillary_fees`**

---

**`full_fare`**

---

**`partial_fare`**

---

**`taxes_only`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.SearchRebookingOptionsParams()
```

**Bases:** `BaseModel`

**`date`**

---

**`destination`**

---

**`fare_class`**

---

**`origin`**

---

**`passenger_count`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.SeatPreference
```

**Bases:** `enum.Enum`

**`aisle`**

---

**`middle`**

---

**`no_preference`**

---

**`window`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.TransferToAgentParams()
```

**Bases:** `BaseModel`

**`confirmation_number`**

---

**`issue_summary`**

---

**`transfer_reason`**

---

```python
class nemo_voice_agent.evaluation.tools.eva_airline_params.VoucherReason
```

**Bases:** `enum.Enum`

**`cancellation_wait_same_day`**

---

**`delay_over_2_hours`**

---

**`delay_over_4_hours`**

---

**`irrops_overnight`**

---

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.validation_error_response(
    exc: pydantic.ValidationError,
    model: type[pydantic.BaseModel]
) -> dict
```

Convert a Pydantic `ValidationError` to a standard tool error response.

Produces `&#123;"status": "error", "error_type": ..., "message": ...&#125;` matching
the format returned by inline validation in each tool function.

Uses `model.model_fields` to pull `description` and `examples` from
the field's `Field(...)` metadata for human-friendly messages.

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.AirportCode = Annotated[str, Field(pattern='^[A-Za-z]{3}$', description='3-letter airport code...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.ConfirmationNumber = Annotated[str, Field(pattern='^[A-Za-z0-9]{6}$', description='6 alphanumeric cha...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.DateStr = Annotated[str, Field(pattern='^\\d{4}-\\d{2}-\\d{2}$', description='YYYY-MM-DD')...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.FIELD_ERROR_TYPES: dict[str, tuple[str, str]] = {'rebooking_type': ('invalid_rebooking_type', 'rebooking_type'), 'new_fare_class...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.FlightNumberStr = Annotated[str, Field(pattern='^[A-Za-z]{2,3}\\d{1,4}$', description='2-3 letters...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.JourneyIdStr = Annotated[str, Field(pattern='^FL_(?:[A-Za-z]{2,3}\\d{1,4}_)+\\d{8}$', descripti...
```

```python
nemo_voice_agent.evaluation.tools.eva_airline_params.PassengerIdStr = Annotated[str, Field(pattern='^PAX\\d+$', description='PAX<digits>', examples=['...
```