/* Options: Date: 2026-02-14 10:16:59 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomerMasterByIdentification.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Customer Master */ @Route(Path="/customerMaster/{OwnerGln}/{CustomerMasterIdentification}", Verbs="GET") @Api(Description="Customer Master") @ApiResponse(Description="Customer Master data", IsDefaultResponse=true, StatusCode=200) // @ApiResponse(Description="No Content", ResponseType=IReturnVoid::class, StatusCode=204) // @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=ArgumentOutOfRangeException::class, StatusCode=400) open class GetCustomerMasterByIdentification : IReturn { /** * Owner GLN */ @ApiMember(Description="Owner GLN", ExcludeInSchema=true, ParameterType="path") open var ownerGln:String? = null /** * Customer Master Identification */ @ApiMember(Description="Customer Master Identification", ExcludeInSchema=true, ParameterType="path") open var customerMasterIdentification:String? = null companion object { private val responseType = CustomerMasterMessage::class.java } override fun getResponseType(): Any? = GetCustomerMasterByIdentification.responseType } open class CustomerMasterMessage { open var dataSource:TransactionalParty? = null open var dataRecipient:TransactionalParty? = null open var customerMasterIdentification:String? = null open var customer:ArrayList = ArrayList() open var documentStatusCode:String? = null open var documentActionCode:String? = null open var creationDateTime:Date? = null open var lastUpdateDateTime:Date? = null } open class TransactionalParty : Ecom_PartyIdentificationType() { open var contact:ArrayList = ArrayList() open var address:Address? = null open var communicationChannel:ArrayList = ArrayList() open var financialInstitutionInformation:FinancialInstitutionInformation? = null open var dutyFeeTaxRegistration:String? = null open var entityIdentification:String? = null } open class AvpList { open var code:String? = null open var value:String? = null } open class CustomerMasterType : CustomerRecord() { open var payByCustomer:CustomerRecord? = null open var billToCustomer:CustomerRecord? = null open var routingCode:String? = null open var storeType:String? = null open var currencyCode:String? = null @SerializedName("type") open var Type:String? = null open var group:String? = null open var region:String? = null open var zoneRate:String? = null open var taxRule:String? = null open var paymentTerm:String? = null open var shipmentSite:String? = null open var shipmentSiteName:String? = null open var shipmentSiteGln:String? = null open var accountingCode:String? = null open var commercialRepresentative:String? = null open var commercialTerritory:String? = null open var credit:CreditLimit? = null open var nod:ArrayList = ArrayList() open var ndd:ArrayList = ArrayList() } open class Contact { open var contactTypeCode:String? = null open var personName:String? = null open var departmentName:String? = null open var jobTitle:String? = null open var responsibility:String? = null open var communicationChannel:ArrayList = ArrayList() } open class Address { open var streetAddressOne:String? = null open var streetAddressTwo:String? = null open var streetAddressThree:String? = null open var city:String? = null open var postalCode:String? = null open var provinceCode:String? = null open var countryCode:String? = null } open class FinancialInstitutionInformation { open var financialInstitutionBranchName:String? = null open var financialInstitutionName:String? = null open var financialRoutingNumber:FinancialRoutingNumber? = null open var financialAccount:FinancialAccount? = null open var swiftCode:String? = null open var exportersCode:String? = null } open class Ecom_PartyIdentificationType { open var gln:String? = null open var name:String? = null open var additionalPartyIdentification:ArrayList = ArrayList() } open class CustomerRecord { open var gln:String? = null open var code:String? = null open var name:String? = null open var buyerAssignedVendorNo:String? = null open var supplierAssignedVendorNo:String? = null open var dutyFeeTaxRegistration:String? = null open var entityIdentification:String? = null open var contact:ArrayList = ArrayList() open var address:CustomerMasterAddress? = null open var avpList:ArrayList = ArrayList() } open class CreditLimit { open var limit:BigDecimal? = null open var balance:BigDecimal? = null open var available:BigDecimal? = null open var effectiveDateTime:Date? = null } open class CustomerMasterAddress : Address() { open var addressType:String? = null } open class CommunicationChannel { open var communicationChannelCode:String? = null open var communicationChannelName:String? = null open var communicationValue:String? = null } open class FinancialRoutingNumber { open var number:String? = null open var numberTypeCode:String? = null } open class FinancialAccount { open var number:String? = null open var numberTypeCode:String? = null open var name:String? = null }