/* Options: Date: 2026-02-14 10:19:32 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetTransactionalPartyById.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IGetDocumentById extends ISingleEntityQuery { } abstract class ISingleEntityQuery { String id = ""; } // @DataContract class DocumentIdentification implements IConvertible { // @DataMember(Name="identifier") String identifier = ""; // @DataMember(Name="type") String type = ""; // @DataMember(Name="creationDateAndTime") DateTime creationDateAndTime = DateTime(0); DocumentIdentification({this.identifier,this.type,this.creationDateAndTime}); DocumentIdentification.fromJson(Map json) { fromMap(json); } fromMap(Map json) { identifier = json['identifier']; type = json['type']; creationDateAndTime = JsonConverters.fromJson(json['creationDateAndTime'],'DateTime',context!); return this; } Map toJson() => { 'identifier': identifier, 'type': type, 'creationDateAndTime': JsonConverters.toJson(creationDateAndTime,'DateTime',context!) }; getTypeName() => "DocumentIdentification"; TypeContext? context = _ctx; } // @DataContract class Identifier implements IConvertible { // @DataMember(Name="authority") String authority = ""; // @DataMember(Name="text") String text = ""; Identifier({this.authority,this.text}); Identifier.fromJson(Map json) { fromMap(json); } fromMap(Map json) { authority = json['authority']; text = json['text']; return this; } Map toJson() => { 'authority': authority, 'text': text }; getTypeName() => "Identifier"; TypeContext? context = _ctx; } // @DataContract class ContactInformation implements IConvertible { ContactInformation(); ContactInformation.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "ContactInformation"; TypeContext? context = _ctx; } // @DataContract class Partner implements IConvertible { // @DataMember(Name="identifier") Identifier identifier; // @DataMember(Name="contactInformation") List contactInformation = []; Partner({this.identifier,this.contactInformation}); Partner.fromJson(Map json) { fromMap(json); } fromMap(Map json) { identifier = JsonConverters.fromJson(json['identifier'],'Identifier',context!); contactInformation = JsonConverters.fromJson(json['contactInformation'],'List',context!); return this; } Map toJson() => { 'identifier': JsonConverters.toJson(identifier,'Identifier',context!), 'contactInformation': JsonConverters.toJson(contactInformation,'List',context!) }; getTypeName() => "Partner"; TypeContext? context = _ctx; } // @DataContract class Header implements IConvertible { // @DataMember(Name="documentIdentification") DocumentIdentification documentIdentification; // @DataMember(Name="sender") Partner sender; // @DataMember(Name="receiver") Partner receiver; Header({this.documentIdentification,this.sender,this.receiver}); Header.fromJson(Map json) { fromMap(json); } fromMap(Map json) { documentIdentification = JsonConverters.fromJson(json['documentIdentification'],'DocumentIdentification',context!); sender = JsonConverters.fromJson(json['sender'],'Partner',context!); receiver = JsonConverters.fromJson(json['receiver'],'Partner',context!); return this; } Map toJson() => { 'documentIdentification': JsonConverters.toJson(documentIdentification,'DocumentIdentification',context!), 'sender': JsonConverters.toJson(sender,'Partner',context!), 'receiver': JsonConverters.toJson(receiver,'Partner',context!) }; getTypeName() => "Header"; TypeContext? context = _ctx; } class AvpList implements IConvertible { String code = ""; String value = ""; AvpList({this.code,this.value}); AvpList.fromJson(Map json) { fromMap(json); } fromMap(Map json) { code = json['code']; value = json['value']; return this; } Map toJson() => { 'code': code, 'value': value }; getTypeName() => "AvpList"; TypeContext? context = _ctx; } class Ecom_PartyIdentificationType implements IConvertible { String gln = ""; String name = ""; List additionalPartyIdentification = []; Ecom_PartyIdentificationType({this.gln,this.name,this.additionalPartyIdentification}); Ecom_PartyIdentificationType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { gln = json['gln']; name = json['name']; additionalPartyIdentification = JsonConverters.fromJson(json['additionalPartyIdentification'],'List',context!); return this; } Map toJson() => { 'gln': gln, 'name': name, 'additionalPartyIdentification': JsonConverters.toJson(additionalPartyIdentification,'List',context!) }; getTypeName() => "Ecom_PartyIdentificationType"; TypeContext? context = _ctx; } class CommunicationChannel implements IConvertible { String communicationChannelCode = ""; String communicationChannelName = ""; String communicationValue = ""; CommunicationChannel({this.communicationChannelCode,this.communicationChannelName,this.communicationValue}); CommunicationChannel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { communicationChannelCode = json['communicationChannelCode']; communicationChannelName = json['communicationChannelName']; communicationValue = json['communicationValue']; return this; } Map toJson() => { 'communicationChannelCode': communicationChannelCode, 'communicationChannelName': communicationChannelName, 'communicationValue': communicationValue }; getTypeName() => "CommunicationChannel"; TypeContext? context = _ctx; } class Contact implements IConvertible { String contactTypeCode = ""; String personName = ""; String departmentName = ""; String jobTitle = ""; String responsibility = ""; List communicationChannel = []; Contact({this.contactTypeCode,this.personName,this.departmentName,this.jobTitle,this.responsibility,this.communicationChannel}); Contact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { contactTypeCode = json['contactTypeCode']; personName = json['personName']; departmentName = json['departmentName']; jobTitle = json['jobTitle']; responsibility = json['responsibility']; communicationChannel = JsonConverters.fromJson(json['communicationChannel'],'List',context!); return this; } Map toJson() => { 'contactTypeCode': contactTypeCode, 'personName': personName, 'departmentName': departmentName, 'jobTitle': jobTitle, 'responsibility': responsibility, 'communicationChannel': JsonConverters.toJson(communicationChannel,'List',context!) }; getTypeName() => "Contact"; TypeContext? context = _ctx; } class Address implements IConvertible { String streetAddressOne = ""; String streetAddressTwo = ""; String streetAddressThree = ""; String city = ""; String postalCode = ""; String provinceCode = ""; String countryCode = ""; Address({this.streetAddressOne,this.streetAddressTwo,this.streetAddressThree,this.city,this.postalCode,this.provinceCode,this.countryCode}); Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { streetAddressOne = json['streetAddressOne']; streetAddressTwo = json['streetAddressTwo']; streetAddressThree = json['streetAddressThree']; city = json['city']; postalCode = json['postalCode']; provinceCode = json['provinceCode']; countryCode = json['countryCode']; return this; } Map toJson() => { 'streetAddressOne': streetAddressOne, 'streetAddressTwo': streetAddressTwo, 'streetAddressThree': streetAddressThree, 'city': city, 'postalCode': postalCode, 'provinceCode': provinceCode, 'countryCode': countryCode }; getTypeName() => "Address"; TypeContext? context = _ctx; } class FinancialRoutingNumber implements IConvertible { String number = ""; String numberTypeCode = ""; FinancialRoutingNumber({this.number,this.numberTypeCode}); FinancialRoutingNumber.fromJson(Map json) { fromMap(json); } fromMap(Map json) { number = json['number']; numberTypeCode = json['numberTypeCode']; return this; } Map toJson() => { 'number': number, 'numberTypeCode': numberTypeCode }; getTypeName() => "FinancialRoutingNumber"; TypeContext? context = _ctx; } class FinancialAccount implements IConvertible { String number = ""; String numberTypeCode = ""; String name = ""; FinancialAccount({this.number,this.numberTypeCode,this.name}); FinancialAccount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { number = json['number']; numberTypeCode = json['numberTypeCode']; name = json['name']; return this; } Map toJson() => { 'number': number, 'numberTypeCode': numberTypeCode, 'name': name }; getTypeName() => "FinancialAccount"; TypeContext? context = _ctx; } class FinancialInstitutionInformation implements IConvertible { String financialInstitutionBranchName = ""; String financialInstitutionName = ""; FinancialRoutingNumber financialRoutingNumber; FinancialAccount financialAccount; String swiftCode = ""; String exportersCode = ""; FinancialInstitutionInformation({this.financialInstitutionBranchName,this.financialInstitutionName,this.financialRoutingNumber,this.financialAccount,this.swiftCode,this.exportersCode}); FinancialInstitutionInformation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { financialInstitutionBranchName = json['financialInstitutionBranchName']; financialInstitutionName = json['financialInstitutionName']; financialRoutingNumber = JsonConverters.fromJson(json['financialRoutingNumber'],'FinancialRoutingNumber',context!); financialAccount = JsonConverters.fromJson(json['financialAccount'],'FinancialAccount',context!); swiftCode = json['swiftCode']; exportersCode = json['exportersCode']; return this; } Map toJson() => { 'financialInstitutionBranchName': financialInstitutionBranchName, 'financialInstitutionName': financialInstitutionName, 'financialRoutingNumber': JsonConverters.toJson(financialRoutingNumber,'FinancialRoutingNumber',context!), 'financialAccount': JsonConverters.toJson(financialAccount,'FinancialAccount',context!), 'swiftCode': swiftCode, 'exportersCode': exportersCode }; getTypeName() => "FinancialInstitutionInformation"; TypeContext? context = _ctx; } class TransactionalParty extends Ecom_PartyIdentificationType implements IConvertible { List contact = []; Address address; List communicationChannel = []; FinancialInstitutionInformation financialInstitutionInformation; String dutyFeeTaxRegistration = ""; String entityIdentification = ""; TransactionalParty({this.contact,this.address,this.communicationChannel,this.financialInstitutionInformation,this.dutyFeeTaxRegistration,this.entityIdentification}); TransactionalParty.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); contact = JsonConverters.fromJson(json['contact'],'List',context!); address = JsonConverters.fromJson(json['address'],'Address',context!); communicationChannel = JsonConverters.fromJson(json['communicationChannel'],'List',context!); financialInstitutionInformation = JsonConverters.fromJson(json['financialInstitutionInformation'],'FinancialInstitutionInformation',context!); dutyFeeTaxRegistration = json['dutyFeeTaxRegistration']; entityIdentification = json['entityIdentification']; return this; } Map toJson() => super.toJson()..addAll({ 'contact': JsonConverters.toJson(contact,'List',context!), 'address': JsonConverters.toJson(address,'Address',context!), 'communicationChannel': JsonConverters.toJson(communicationChannel,'List',context!), 'financialInstitutionInformation': JsonConverters.toJson(financialInstitutionInformation,'FinancialInstitutionInformation',context!), 'dutyFeeTaxRegistration': dutyFeeTaxRegistration, 'entityIdentification': entityIdentification }); getTypeName() => "TransactionalParty"; TypeContext? context = _ctx; } enum DocumentAction { ADD, CHANGE_BY_REFRESH, DELETE, REJECTED, } enum DocumentStatus { ADDITIONAL_TRANSMISSION, COPY, ORIGINAL, } class TransactionalPartyMessageType extends TransactionalParty implements IConvertible { DateTime creationDateTime = DateTime(0); DateTime? lastUpdateDateTime; DocumentAction documentActionCode; DocumentStatus documentStatusCode; String documentStructureVersion = ""; int? revisionNumber; List avpList = []; TransactionalPartyMessageType({this.creationDateTime,this.lastUpdateDateTime,this.documentActionCode,this.documentStatusCode,this.documentStructureVersion,this.revisionNumber,this.avpList}); TransactionalPartyMessageType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); creationDateTime = JsonConverters.fromJson(json['creationDateTime'],'DateTime',context!); lastUpdateDateTime = JsonConverters.fromJson(json['lastUpdateDateTime'],'DateTime',context!); documentActionCode = JsonConverters.fromJson(json['documentActionCode'],'DocumentAction',context!); documentStatusCode = JsonConverters.fromJson(json['documentStatusCode'],'DocumentStatus',context!); documentStructureVersion = json['documentStructureVersion']; revisionNumber = json['revisionNumber']; avpList = JsonConverters.fromJson(json['avpList'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'creationDateTime': JsonConverters.toJson(creationDateTime,'DateTime',context!), 'lastUpdateDateTime': JsonConverters.toJson(lastUpdateDateTime,'DateTime',context!), 'documentActionCode': JsonConverters.toJson(documentActionCode,'DocumentAction',context!), 'documentStatusCode': JsonConverters.toJson(documentStatusCode,'DocumentStatus',context!), 'documentStructureVersion': documentStructureVersion, 'revisionNumber': revisionNumber, 'avpList': JsonConverters.toJson(avpList,'List',context!) }); getTypeName() => "TransactionalPartyMessageType"; TypeContext? context = _ctx; } class TransactionalPartyMessage implements IConvertible { Header header; TransactionalPartyMessageType transactionalParty; TransactionalPartyMessage({this.header,this.transactionalParty}); TransactionalPartyMessage.fromJson(Map json) { fromMap(json); } fromMap(Map json) { header = JsonConverters.fromJson(json['header'],'Header',context!); transactionalParty = JsonConverters.fromJson(json['transactionalParty'],'TransactionalPartyMessageType',context!); return this; } Map toJson() => { 'header': JsonConverters.toJson(header,'Header',context!), 'transactionalParty': JsonConverters.toJson(transactionalParty,'TransactionalPartyMessageType',context!) }; getTypeName() => "TransactionalPartyMessage"; TypeContext? context = _ctx; } /** * Transactional Party */ // @Route("/transactionalParty/{Id}", "GET") // @Api(Description="Transactional Party") // @ApiResponse(Description="transactionalParty data", IsDefaultResponse=true, StatusCode=200) // @ApiResponse(Description="No Content", ResponseType=typeof(IReturnVoid), StatusCode=204) // @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof(ArgumentOutOfRangeException), StatusCode=400) class GetTransactionalPartyById implements IReturn, IGetDocumentById, IConvertible, IGet { /** * transactionalParty ID or Token */ // @ApiMember(Description="transactionalParty ID or Token", ExcludeInSchema=true, ParameterType="path") String id = ""; GetTransactionalPartyById({this.id}); GetTransactionalPartyById.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; return this; } Map toJson() => { 'id': id }; createResponse() => TransactionalPartyMessage(); getResponseTypeName() => "TransactionalPartyMessage"; getTypeName() => "GetTransactionalPartyById"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stf_api_uat.data_xchange.co.za', types: { 'IGetDocumentById': TypeInfo(TypeOf.Interface), 'ISingleEntityQuery': TypeInfo(TypeOf.Interface), 'DocumentIdentification': TypeInfo(TypeOf.Class, create:() => DocumentIdentification()), 'Identifier': TypeInfo(TypeOf.Class, create:() => Identifier()), 'ContactInformation': TypeInfo(TypeOf.Class, create:() => ContactInformation()), 'Partner': TypeInfo(TypeOf.Class, create:() => Partner()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Header': TypeInfo(TypeOf.Class, create:() => Header()), 'AvpList': TypeInfo(TypeOf.Class, create:() => AvpList()), 'Ecom_PartyIdentificationType': TypeInfo(TypeOf.Class, create:() => Ecom_PartyIdentificationType()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CommunicationChannel': TypeInfo(TypeOf.Class, create:() => CommunicationChannel()), 'Contact': TypeInfo(TypeOf.Class, create:() => Contact()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Address': TypeInfo(TypeOf.Class, create:() => Address()), 'FinancialRoutingNumber': TypeInfo(TypeOf.Class, create:() => FinancialRoutingNumber()), 'FinancialAccount': TypeInfo(TypeOf.Class, create:() => FinancialAccount()), 'FinancialInstitutionInformation': TypeInfo(TypeOf.Class, create:() => FinancialInstitutionInformation()), 'TransactionalParty': TypeInfo(TypeOf.Class, create:() => TransactionalParty()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DocumentAction': TypeInfo(TypeOf.Enum, enumValues:DocumentAction.values), 'DocumentStatus': TypeInfo(TypeOf.Enum, enumValues:DocumentStatus.values), 'TransactionalPartyMessageType': TypeInfo(TypeOf.Class, create:() => TransactionalPartyMessageType()), 'TransactionalPartyMessage': TypeInfo(TypeOf.Class, create:() => TransactionalPartyMessage()), 'GetTransactionalPartyById': TypeInfo(TypeOf.Class, create:() => GetTransactionalPartyById()), });