/* Options:
Date: 2025-05-23 03:09:49
Version: 8.30
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://initiation.sirva.com

//Package: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: ClientDownloadRequest.*
//ExcludeTypes: 
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

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


@Route(Path="/documents/download", Verbs="POST, PUT")
open class ClientDownloadRequest : DocumentRequestBase(), IReturn<ClientDownloadResponse>
{
    var FileName:String? = null
    /**
    * Month
    */
    @ApiMember(Description="Month", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    var Month:Int? = null

    /**
    * Day
    */
    @ApiMember(Description="Day", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    var Day:Int? = null
    companion object { private val responseType = ClientDownloadResponse::class.java }
    override fun getResponseType(): Any? = ClientDownloadRequest.responseType
}

open class ClientDownloadResponse : ResponseBase()
{
    var FileName:String? = null
    var Stream:InputStream? = null
}

open class DocumentRequestBase
{
    /**
    * ExternalID
    */
    @ApiMember(Description="ExternalID", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    var ExternalId:String? = null
}

open class ResponseBase
{
    var Message:String? = null
    var IsSuccess:Boolean? = null
}