/* Options:
Date: 2025-04-14 02:18:43
Version: 8.22
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://data.regent-college.edu

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

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


@Route(Path="/Finance/CreatePayable/{vendor_id}", Verbs="POST")
open class FinanceCreatePayableRequest : IReturn<FinancePayableResponse>
{
    var vendor_id:String? = null
    var total_amount:BigDecimal? = null
    var tax_amount:BigDecimal? = null
    var tax_schedule:String? = null
    var tax_account:String? = null
    var description:String? = null
    var batch_id:String? = null
    var is_eft:Boolean? = null
    var invoice_id:String? = null
    var chequebook:String? = null
    var document_date:Date? = null
    var post_date:Date? = null
    var distributions:ArrayList<FinanceCreatePayableDistributionRequest> = ArrayList<FinanceCreatePayableDistributionRequest>()
    companion object { private val responseType = FinancePayableResponse::class.java }
    override fun getResponseType(): Any? = FinanceCreatePayableRequest.responseType
}

open class FinancePayableResponse
{
    var cheque_id:String? = null
    var invoice_id:String? = null
    var batch_id:String? = null
    var transaction_batch_id:String? = null
    var total_amount:BigDecimal? = null
    var unapplied_amount:BigDecimal? = null
    var description:String? = null
    var vendor_id:String? = null
    var vendor_name:String? = null
    var doc_type:String? = null
    var is_posted:Boolean? = null
    var is_paid:Boolean? = null
    var is_voided:Boolean? = null
    var is_reimbursed:Boolean? = null
    var doc_date:Date? = null
    var post_date:Date? = null
    var cheque_date:Date? = null
    var due_date:Date? = null
    var responseStatus:ResponseStatus? = null
}

open class FinanceCreatePayableDistributionRequest
{
    var account:String? = null
    var amount:BigDecimal? = null
    var description:String? = null
}