/* Options:
Date: 2025-04-09 04:58:20
Version: 5.140
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.clubmanagercentral.com

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: FindAutomationTemplate.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.*
*/

import java.math.*;
import java.util.*;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    @Route("/api/Query/AutomationTemplate")
    @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="AutomationTemplate")
    public static class FindAutomationTemplate extends QueryDb<AutomationTemplateInstance> implements IReturn<QueryResponse<AutomationTemplateInstance>>
    {
        
        private static Object responseType = new TypeToken<QueryResponse<AutomationTemplateInstance>>(){}.getType();
        public Object getResponseType() { return responseType; }
    }

    @DataContract
    public static class QueryResponse<T>
    {
        @DataMember(Order=1)
        public Integer Offset = null;

        @DataMember(Order=2)
        public Integer Total = null;

        @DataMember(Order=3)
        public ArrayList<T> Results = null;

        @DataMember(Order=4)
        public HashMap<String,String> Meta = null;

        @DataMember(Order=5)
        public ResponseStatus ResponseStatus = null;
        
        public Integer getOffset() { return Offset; }
        public QueryResponse<T> setOffset(Integer value) { this.Offset = value; return this; }
        public Integer getTotal() { return Total; }
        public QueryResponse<T> setTotal(Integer value) { this.Total = value; return this; }
        public ArrayList<T> getResults() { return Results; }
        public QueryResponse<T> setResults(ArrayList<T> value) { this.Results = value; return this; }
        public HashMap<String,String> getMeta() { return Meta; }
        public QueryResponse<T> setMeta(HashMap<String,String> value) { this.Meta = value; return this; }
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public QueryResponse<T> setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
    }

    public static class QueryDb<T> extends QueryBase
    {
        
    }

    public static class AutomationTemplateInstance
    {
        public Integer AutomationTemplateId = null;
        public String Name = null;
        public String URL = null;
        public String Group = null;
        public Boolean Deleted = null;
        public String Warning = null;
        
        public Integer getAutomationTemplateId() { return AutomationTemplateId; }
        public AutomationTemplateInstance setAutomationTemplateId(Integer value) { this.AutomationTemplateId = value; return this; }
        public String getName() { return Name; }
        public AutomationTemplateInstance setName(String value) { this.Name = value; return this; }
        public String getUrl() { return URL; }
        public AutomationTemplateInstance setUrl(String value) { this.URL = value; return this; }
        public String getGroup() { return Group; }
        public AutomationTemplateInstance setGroup(String value) { this.Group = value; return this; }
        public Boolean isDeleted() { return Deleted; }
        public AutomationTemplateInstance setDeleted(Boolean value) { this.Deleted = value; return this; }
        public String getWarning() { return Warning; }
        public AutomationTemplateInstance setWarning(String value) { this.Warning = value; return this; }
    }

    @DataContract
    public static class QueryBase
    {
        @DataMember(Order=1)
        public Integer Skip = null;

        @DataMember(Order=2)
        public Integer Take = null;

        @DataMember(Order=3)
        public String OrderBy = null;

        @DataMember(Order=4)
        public String OrderByDesc = null;

        @DataMember(Order=5)
        public String Include = null;

        @DataMember(Order=6)
        public String Fields = null;

        @DataMember(Order=7)
        public HashMap<String,String> Meta = null;
        
        public Integer getSkip() { return Skip; }
        public QueryBase setSkip(Integer value) { this.Skip = value; return this; }
        public Integer getTake() { return Take; }
        public QueryBase setTake(Integer value) { this.Take = value; return this; }
        public String getOrderBy() { return OrderBy; }
        public QueryBase setOrderBy(String value) { this.OrderBy = value; return this; }
        public String getOrderByDesc() { return OrderByDesc; }
        public QueryBase setOrderByDesc(String value) { this.OrderByDesc = value; return this; }
        public String getInclude() { return Include; }
        public QueryBase setInclude(String value) { this.Include = value; return this; }
        public String getFields() { return Fields; }
        public QueryBase setFields(String value) { this.Fields = value; return this; }
        public HashMap<String,String> getMeta() { return Meta; }
        public QueryBase setMeta(HashMap<String,String> value) { this.Meta = value; return this; }
    }

}