"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT."""

from __future__ import annotations
import dataclasses
from ..shared import discount as shared_discount
from dataclasses_json import Undefined, dataclass_json
from enum import Enum
from orb import utils
from typing import Any, Optional, Union



@dataclasses.dataclass
class OverrideTestRatingFunctionPriceFixedPriceQuantity:
    pass

class OverrideTestRatingFunctionPriceModelType(str, Enum):
    TEST_RATING_FUNCTION = 'test_rating_function'


@dataclass_json(undefined=Undefined.EXCLUDE)

@dataclasses.dataclass
class OverrideTestRatingFunctionPrice:
    id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id') }})
    model_type: OverrideTestRatingFunctionPriceModelType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('model_type') }})
    test_rating_function_config: dict[str, Any] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('test_rating_function_config') }})
    discount: Optional[shared_discount.Discount] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('discount') }})
    r"""The subscription's override discount for the plan."""
    fixed_price_quantity: Optional[Union[float, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fixed_price_quantity') }})
    r"""The starting quantity of the price, if the price is a fixed price."""
    maximum_amount: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('maximum_amount') }})
    r"""The subscription's override maximum amount for the plan."""
    minimum_amount: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('minimum_amount') }})
    r"""The subscription's override minimum amount for the plan."""
    

