(* Options:
Date: 2025-04-15 00:56:28
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://testapi.bokamera.se

//GlobalNamespace: 
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//ExportValueTypes: False
IncludeTypes: AddTelkeyCodeLockSetting.*
//ExcludeTypes: 
//InitializeCollections: True
//AddNamespaces: 
*)

namespace BokaMera.API.ServiceModel.Dtos

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
open System.Globalization
open ServiceStack.Data
open System.IO
open System.Net
open System.Net.Http.Headers

    [<AllowNullLiteral>]
    type ICompany = 
        abstract CompanyId:Nullable<Guid> with get,set

    [<AllowNullLiteral>]
    type CodeLockTelkeySettingResponse() = 
        member val CompanyId:Guid = new Guid() with get,set
        ///<summary>
        ///The username for login to the code lock
        ///</summary>
        [<ApiMember(DataType="string", Description="The username for login to the code lock")>]
        member val Username:String = null with get,set

        ///<summary>
        ///The password for login to the code lock
        ///</summary>
        [<ApiMember(DataType="string", Description="The password for login to the code lock")>]
        member val Password:String = null with get,set

        ///<summary>
        ///When settings was created
        ///</summary>
        [<ApiMember(DataType="datetime", Description="When settings was created")>]
        member val Created:DateTime = new DateTime() with get,set

        ///<summary>
        ///When settings was updated
        ///</summary>
        [<ApiMember(DataType="datetime", Description="When settings was updated")>]
        member val Updated:DateTime = new DateTime() with get,set

    [<Route("/codelock/telkey/settings", "POST")>]
    [<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)>]
    [<AllowNullLiteral>]
    type AddTelkeyCodeLockSetting() = 
        interface IReturn<CodeLockTelkeySettingResponse>
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The username for login to the code lock
        ///</summary>
        [<ApiMember(DataType="string", Description="The username for login to the code lock", IsRequired=true)>]
        member val Username:String = null with get,set

        ///<summary>
        ///The password for login to the code lock
        ///</summary>
        [<ApiMember(DataType="string", Description="The password for login to the code lock", IsRequired=true)>]
        member val Password:String = null with get,set