/* Options: Date: 2026-02-14 10:14:08 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomerMasterByIdentification.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IReturnVoid { createResponse(): void; } export class AvpList { public code: string; public value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Ecom_PartyIdentificationType { public gln: string; public name: string; public additionalPartyIdentification: AvpList[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CommunicationChannel { public communicationChannelCode: string; public communicationChannelName: string; public communicationValue: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Contact { public contactTypeCode: string; public personName: string; public departmentName: string; public jobTitle: string; public responsibility: string; public communicationChannel: CommunicationChannel[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public streetAddressOne: string; public streetAddressTwo: string; public streetAddressThree: string; public city: string; public postalCode: string; public provinceCode: string; public countryCode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class FinancialRoutingNumber { public number: string; public numberTypeCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FinancialAccount { public number: string; public numberTypeCode: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FinancialInstitutionInformation { public financialInstitutionBranchName: string; public financialInstitutionName: string; public financialRoutingNumber: FinancialRoutingNumber; public financialAccount: FinancialAccount; public swiftCode: string; public exportersCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TransactionalParty extends Ecom_PartyIdentificationType { public contact: Contact[] = []; public address: Address; public communicationChannel: AvpList[] = []; public financialInstitutionInformation: FinancialInstitutionInformation; public dutyFeeTaxRegistration: string; public entityIdentification: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CustomerMasterAddress extends Address { public addressType: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CustomerRecord { public gln: string; public code: string; public name: string; public buyerAssignedVendorNo: string; public supplierAssignedVendorNo: string; public dutyFeeTaxRegistration: string; public entityIdentification: string; public contact: Contact[] = []; public address: CustomerMasterAddress; public avpList: AvpList[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditLimit { public limit: number; public balance: number; public available: number; public effectiveDateTime?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerMasterType extends CustomerRecord { public payByCustomer: CustomerRecord; public billToCustomer: CustomerRecord; public routingCode: string; public storeType: string; public currencyCode: string; public type: string; public group: string; public region: string; public zoneRate: string; public taxRule: string; public paymentTerm: string; public shipmentSite: string; public shipmentSiteName: string; public shipmentSiteGln: string; public accountingCode: string; public commercialRepresentative: string; public commercialTerritory: string; public credit: CreditLimit; public nod: string[] = []; public ndd: string[] = []; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CustomerMasterMessage { public dataSource: TransactionalParty; public dataRecipient: TransactionalParty; public customerMasterIdentification: string; public customer: CustomerMasterType[] = []; public documentStatusCode: string; public documentActionCode: string; public creationDateTime: string; public lastUpdateDateTime: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Customer Master */ // @Route("/customerMaster/{OwnerGln}/{CustomerMasterIdentification}", "GET") // @Api(Description="Customer Master") // @ApiResponse(Description="Customer Master data", IsDefaultResponse=true, StatusCode=200) // @ApiResponse(Description="No Content", ResponseType="typeof(ServiceStack.IReturnVoid)", StatusCode=204) // @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType="typeof(System.ArgumentOutOfRangeException)", StatusCode=400) export class GetCustomerMasterByIdentification implements IReturn { /** @description Owner GLN */ // @ApiMember(Description="Owner GLN", ExcludeInSchema=true, ParameterType="path") public ownerGln: string; /** @description Customer Master Identification */ // @ApiMember(Description="Customer Master Identification", ExcludeInSchema=true, ParameterType="path") public customerMasterIdentification: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetCustomerMasterByIdentification'; } public getMethod() { return 'GET'; } public createResponse() { return new CustomerMasterMessage(); } }