/* Options:
Date: 2025-05-18 07:37:01
Version: 8.71
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://team.evovoice.io

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

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

public class dtos
{

    /**
    * Create a new device token if it doesn't exist already
    */
    @Route(Path="/app/tokens", Verbs="POST")
    @Api(Description="Create a new device token if it doesn't exist already")
    public static class NewDeviceToken implements IReturn<DeviceTokenInfo>, IPost
    {
        /**
        * The type of device
        */
        @ApiMember(Description="The type of device")
        public DeviceTypes deviceType = null;

        /**
        * The device token to save
        */
        @ApiMember(Description="The device token to save")
        public String token = null;
        
        public DeviceTypes getDeviceType() { return deviceType; }
        public NewDeviceToken setDeviceType(DeviceTypes value) { this.deviceType = value; return this; }
        public String getToken() { return token; }
        public NewDeviceToken setToken(String value) { this.token = value; return this; }
        private static Object responseType = DeviceTokenInfo.class;
        public Object getResponseType() { return responseType; }
    }

    public static class DeviceTokenInfo
    {
        public DeviceTypes deviceType = null;
        public String token = null;
        
        public DeviceTypes getDeviceType() { return deviceType; }
        public DeviceTokenInfo setDeviceType(DeviceTypes value) { this.deviceType = value; return this; }
        public String getToken() { return token; }
        public DeviceTokenInfo setToken(String value) { this.token = value; return this; }
    }

    public static enum DeviceTypes
    {
        Web,
        IOS,
        Android;
    }

}