""" Options: Date: 2025-05-04 20:24:44 Version: 8.71 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://team.evovoice.io #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetInheritedSchedule.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Struct(Dict[str,Value]): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Value: bool_value: Optional[bool] = None string_value: Optional[str] = None number_value: Optional[float] = None list_value: Optional[List[Struct]] = None struct_value: Optional[Struct] = None class SimpleSchedulingRuleTypes(str, Enum): ALWAYS = 'Always' CUSTOMER_STATE = 'CustomerState' TIME = 'Time' class DayOfWeek(str, Enum): SUNDAY = 'Sunday' MONDAY = 'Monday' TUESDAY = 'Tuesday' WEDNESDAY = 'Wednesday' THURSDAY = 'Thursday' FRIDAY = 'Friday' SATURDAY = 'Saturday' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ScheduleDay: offset: int = 0 day_of_week: Optional[DayOfWeek] = None class SchedulingRuleFrequency(str, Enum): NONE = 'None' SECONDLY = 'Secondly' MINUTELY = 'Minutely' HOURLY = 'Hourly' DAILY = 'Daily' WEEKLY = 'Weekly' MONTHLY = 'Monthly' YEARLY = 'Yearly' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SchedulingRule: id: Optional[str] = None name: Optional[str] = None priority: int = 0 state: Optional[str] = None source: Optional[str] = None condition: Optional[str] = None simple_rule_type: Optional[SimpleSchedulingRuleTypes] = None customer_state: Optional[str] = None flow_id: Optional[str] = None flow_params: Optional[Struct] = None is_all_day: bool = False start_date: Optional[str] = None start_time: Optional[str] = None end_time: Optional[str] = None by_set_position: Optional[List[int]] = None by_month: Optional[List[int]] = None by_week_no: Optional[List[int]] = None by_year_day: Optional[List[int]] = None by_month_day: Optional[List[int]] = None by_day: Optional[List[ScheduleDay]] = None by_hour: Optional[List[int]] = None by_minute: Optional[List[int]] = None interval: int = 0 count: int = 0 until_date: Optional[str] = None frequency: Optional[SchedulingRuleFrequency] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Schedule: time_zone_id: Optional[str] = None inherit: bool = False force_closed: bool = False rules: Optional[List[SchedulingRule]] = None default_state: Optional[str] = None # @Route("/customers/{customerId}/inherited-schedule", "GET") # @Route("/endpoints/{endpointId}/inherited-schedule", "GET") # @Api(Description="Get the inherited schedule for this customer") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetInheritedSchedule(IReturn[Schedule]): """ Get the inherited schedule for this customer """ # @ApiMember(Description="The customer ID whose inherited schedule you want to retrieve") customer_id: Optional[str] = None """ The customer ID whose inherited schedule you want to retrieve """ # @ApiMember(Description="The endpoint ID whose inherited schedule you want to retrieve (use this OR customer id") endpoint_id: Optional[str] = None """ The endpoint ID whose inherited schedule you want to retrieve (use this OR customer id """