/* Options:
Date: 2025-04-09 12:56:51
Version: 6.10
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://staging-api.billiecart.com.au

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

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


@Route(Path="/customers/{Id}/bank-account", Verbs="PUT")
open class SetCustomerBankAccountRequest : PutOperationTenanted<SetCustomerBankAccountResponse>(), IReturn<SetCustomerBankAccountResponse>
{
    var id:String? = null
    var bankAccountNumber:String? = null
    var bankAccountBsbNumber:String? = null
    companion object { private val responseType = SetCustomerBankAccountResponse::class.java }
    override fun getResponseType(): Any? = SetCustomerBankAccountRequest.responseType
}

open class SetCustomerBankAccountResponse
{
    var responseStatus:ResponseStatus? = null
    var customer:Customer? = null
}

open interface ITenantedRequest
{
    var organisationId:String?
}

open class PutOperationUnTenanted<TResponse> : IPut
{
}

open class PutOperationTenanted<TResponse> : PutOperationUnTenanted<TResponse>(), ITenantedRequest
{
    var organisationId:String? = null
}

open class Customer : IIdentifiableResource
{
    var id:String? = null
    var firstName:String? = null
    var lastName:String? = null
    var dateOfBirth:Date? = null
    var driversLicenceNo:String? = null
    var email:String? = null
    var phone:String? = null
    var preferredContactMethod:String? = null
    var addressLine1:String? = null
    var addressLine2:String? = null
    var suburb:String? = null
    var stateTerritory:String? = null
    var postcode:String? = null
    var bankAccount:BankAccount? = null
    var userAccountId:String? = null
}

open interface IIdentifiableResource
{
    var id:String?
}

open class BankAccount
{
    var bsbNumber:String? = null
    var accountNumber:String? = null
}