""" Options: Date: 2024-11-21 12:11:37 Version: 8.23 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.bokamera.se #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: UpdateCodeLockSetting.* #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 class ICompany: company_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CodeLockSystemResponse: # @ApiMember(DataType="int", Description="The system type of the code lock") id: int = 0 """ The system type of the code lock """ # @ApiMember(DataType="string", Description="The name of the code lock system") name: Optional[str] = None """ The name of the code lock system """ # @ApiMember(DataType="string", Description="The description of the code lock system") description: Optional[str] = None """ The description of the code lock system """ # @ApiMember(Description="The logotype of the code lock system") logo_type: Optional[str] = None """ The logotype of the code lock system """ # @ApiMember(Description="The supplier name of the code lock system") supplier: Optional[str] = None """ The supplier name of the code lock system """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CodeLockSettingResponse: company_id: Optional[str] = None # @ApiMember(DataType="int", Description="The system type of the code lock") code_lock_systems_id: int = 0 """ The system type of the code lock """ # @ApiMember(DataType="bool", Description="If code lock sync is active") active: bool = False """ If code lock sync is active """ # @ApiMember(DataType="int", Description="Number of minutes the access should be valid before booking starts.") valid_before_minutes: int = 0 """ Number of minutes the access should be valid before booking starts. """ # @ApiMember(DataType="int", Description="Number of minutes the access should be valid after booking ends.") valid_after_minutes: int = 0 """ Number of minutes the access should be valid after booking ends. """ # @ApiMember(DataType="boolean", Description="If it should clean up old bookings after the passed") delete_old_by_schedule: bool = False """ If it should clean up old bookings after the passed """ # @ApiMember(DataType="boolean", Description="If a notification should be sent by Email") send_email_notification: bool = False """ If a notification should be sent by Email """ # @ApiMember(DataType="boolean", Description="If a notification should be sent by SMS") send_s_m_s_notification: bool = False """ If a notification should be sent by SMS """ # @ApiMember(DataType="int", Description="How long before the booking starts in minutes the notification should be sent") email_notification_time: int = 0 """ How long before the booking starts in minutes the notification should be sent """ # @ApiMember(DataType="int", Description="How long before the booking starts in minutes the notification should be sent") sms_notification_time: int = 0 """ How long before the booking starts in minutes the notification should be sent """ # @ApiMember(DataType="datetime", Description="When settings was created") created: datetime.datetime = datetime.datetime(1, 1, 1) """ When settings was created """ # @ApiMember(DataType="datetime", Description="When settings was updated") updated: datetime.datetime = datetime.datetime(1, 1, 1) """ When settings was updated """ # @ApiMember(Description="The available code lock systems to choose from") code_lock_system_options: Optional[List[CodeLockSystemResponse]] = None """ The available code lock systems to choose from """ # @Route("/codelock/settings", "PUT") # @ValidateRequest(Validator="IsAuthenticated") # @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) # @ApiResponse(Description="You have too low privileges to call this service", StatusCode=403) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UpdateCodeLockSetting(IReturn[CodeLockSettingResponse], ICompany): # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") company_id: Optional[str] = None """ The company id, if empty will use the company id for the user you are logged in with. """ # @ApiMember(DataType="bool", Description="If code lock sync is active") active: Optional[bool] = None """ If code lock sync is active """ # @ApiMember(DataType="int", Description="The system type of the code lock") code_lock_systems_id: Optional[int] = None """ The system type of the code lock """ # @ApiMember(DataType="int", Description="Number of minutes the access should be valid before booking starts.") valid_before_minutes: Optional[int] = None """ Number of minutes the access should be valid before booking starts. """ # @ApiMember(DataType="int", Description="Number of minutes the access should be valid after booking ends.") valid_after_minutes: Optional[int] = None """ Number of minutes the access should be valid after booking ends. """ # @ApiMember(DataType="boolean", Description="If it should clean up old bookings after the passed") delete_old_by_schedule: Optional[bool] = None """ If it should clean up old bookings after the passed """ # @ApiMember(DataType="boolean", Description="If a notification should be sent by Email") send_email_notification: Optional[bool] = None """ If a notification should be sent by Email """ # @ApiMember(DataType="boolean", Description="If a notification should be sent by SMS") send_s_m_s_notification: Optional[bool] = None """ If a notification should be sent by SMS """ # @ApiMember(DataType="int", Description="How long before the booking starts in minutes the notification should be sent") email_notification_time: Optional[int] = None """ How long before the booking starts in minutes the notification should be sent """ # @ApiMember(DataType="int", Description="How long before the booking starts in minutes the notification should be sent") sms_notification_time: Optional[int] = None """ How long before the booking starts in minutes the notification should be sent """