/* Options:
Date: 2025-04-10 03:29:52
SwiftVersion: 5.0
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.bokamera.se

//BaseClass: 
//AddModelExtensions: True
//AddServiceStackTypes: True
IncludeTypes: AddAccessyCodeLockSetting.*
//ExcludeTypes: 
//ExcludeGenericBaseTypes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: Foundation,ServiceStack
*/

import Foundation
import ServiceStack

// @Route("/codelock/accessy/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)
public class AddAccessyCodeLockSetting : IReturn, ICompany, Codable
{
    public typealias Return = CodeLockAccessySettingResponse

    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    public var companyId:String?

    /**
    * The api clientId
    */
    // @ApiMember(DataType="string", Description="The api clientId")
    public var clientId:String

    /**
    * The api clientSecret
    */
    // @ApiMember(DataType="string", Description="The api clientSecret")
    public var clientSecret:String

    required public init(){}
}

public class CodeLockAccessySettingResponse : Codable
{
    public var companyId:String
    /**
    * The api clientId
    */
    // @ApiMember(DataType="string", Description="The api clientId")
    public var clientId:String

    /**
    * The api clientSecret
    */
    // @ApiMember(DataType="string", Description="The api clientSecret")
    public var clientSecret:String

    /**
    * When settings was created
    */
    // @ApiMember(DataType="datetime", Description="When settings was created")
    public var created:Date

    /**
    * When settings was updated
    */
    // @ApiMember(DataType="datetime", Description="When settings was updated")
    public var updated:Date

    required public init(){}
}

public protocol ICompany
{
    var companyId:String? { get set }

}