/* Options:
Date: 2025-04-09 13:30:21
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.bokamera.se

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: AddParakeyCodeLockSetting.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    @Route(Path="/codelock/parakey/settings", Verbs="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 static class AddParakeyCodeLockSetting implements IReturn<CodeLockParakeySettingResponse>, ICompany
    {
        /**
        * 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 UUID CompanyId = null;

        /**
        * The domain id of the code lock.
        */
        @ApiMember(DataType="string", Description="The domain id of the code lock.", IsRequired=true)
        public String DomainId = null;

        /**
        * The access token of the code lock.
        */
        @ApiMember(DataType="string", Description="The access token of the code lock.", IsRequired=true)
        public String AccessToken = null;
        
        public UUID getCompanyId() { return CompanyId; }
        public AddParakeyCodeLockSetting setCompanyId(UUID value) { this.CompanyId = value; return this; }
        public String getDomainId() { return DomainId; }
        public AddParakeyCodeLockSetting setDomainId(String value) { this.DomainId = value; return this; }
        public String getAccessToken() { return AccessToken; }
        public AddParakeyCodeLockSetting setAccessToken(String value) { this.AccessToken = value; return this; }
        private static Object responseType = CodeLockParakeySettingResponse.class;
        public Object getResponseType() { return responseType; }
    }

    public static class CodeLockParakeySettingResponse
    {
        public UUID CompanyId = null;
        /**
        * The domain id of the code lock.
        */
        @ApiMember(DataType="string", Description="The domain id of the code lock.")
        public String DomainId = null;

        /**
        * The access token of the code lock.
        */
        @ApiMember(DataType="string", Description="The access token of the code lock.")
        public String AccessToken = null;

        /**
        * When settings was created
        */
        @ApiMember(DataType="datetime", Description="When settings was created")
        public Date Created = null;

        /**
        * When settings was updated
        */
        @ApiMember(DataType="datetime", Description="When settings was updated")
        public Date Updated = null;
        
        public UUID getCompanyId() { return CompanyId; }
        public CodeLockParakeySettingResponse setCompanyId(UUID value) { this.CompanyId = value; return this; }
        public String getDomainId() { return DomainId; }
        public CodeLockParakeySettingResponse setDomainId(String value) { this.DomainId = value; return this; }
        public String getAccessToken() { return AccessToken; }
        public CodeLockParakeySettingResponse setAccessToken(String value) { this.AccessToken = value; return this; }
        public Date getCreated() { return Created; }
        public CodeLockParakeySettingResponse setCreated(Date value) { this.Created = value; return this; }
        public Date getUpdated() { return Updated; }
        public CodeLockParakeySettingResponse setUpdated(Date value) { this.Updated = value; return this; }
    }

    public static interface ICompany
    {
        public UUID CompanyId = null;
    }

}