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

from __future__ import annotations
import dataclasses
import dateutil.parser
from ..shared import perpricecost as shared_perpricecost
from billing import utils
from dataclasses_json import Undefined, dataclass_json
from datetime import datetime


@dataclass_json(undefined=Undefined.EXCLUDE)

@dataclasses.dataclass
class CustomerCost:
    per_price_costs: list[shared_perpricecost.PerPriceCost] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('per_price_costs') }})
    subtotal: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtotal') }})
    r"""Total costs for the timeframe, excluding minimums and discounts."""
    timeframe_end: datetime = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeframe_end'), 'encoder': utils.datetimeisoformat(False), 'decoder': dateutil.parser.isoparse }})
    timeframe_start: datetime = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeframe_start'), 'encoder': utils.datetimeisoformat(False), 'decoder': dateutil.parser.isoparse }})
    total: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('total') }})
    r"""Total costs for the timeframe, including minimums and discounts."""
    

