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

from __future__ import annotations
import dataclasses
from ..shared import availabilityrule as shared_availabilityrule
from calendly import utils
from dataclasses_json import Undefined, dataclass_json


@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class AvailabilitySchedule:
    r"""The availability schedule set by the user."""
    
    default: bool = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default') }})
    r"""This is the default Availability Schedule in use."""  
    name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }})
    r"""The name of this Availability Schedule."""  
    rules: list[shared_availabilityrule.AvailabilityRule] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rules') }})
    r"""The rules of this Availability Schedule."""  
    timezone: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timezone') }})
    r"""The timezone for which this Availability Schedule is originated in."""  
    uri: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('uri') }})
    r"""A URI reference to this Availability Schedule."""  
    user: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('user') }})
    r"""A URI reference to a User."""  
    