/* Options: Date: 2024-07-06 12:40:41 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://abservice-featuretest.worldpay.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: OrderBoardingRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class Partner implements IConvertible { String? partnerName; String? partnerId; Partner({this.partnerName,this.partnerId}); Partner.fromJson(Map json) { fromMap(json); } fromMap(Map json) { partnerName = json['partnerName']; partnerId = json['partnerId']; return this; } Map toJson() => { 'partnerName': partnerName, 'partnerId': partnerId }; getTypeName() => "Partner"; TypeContext? context = _ctx; } class Person implements IConvertible { String? title; String? firstName; String? middleName; String? lastName; Person({this.title,this.firstName,this.middleName,this.lastName}); Person.fromJson(Map json) { fromMap(json); } fromMap(Map json) { title = json['title']; firstName = json['firstName']; middleName = json['middleName']; lastName = json['lastName']; return this; } Map toJson() => { 'title': title, 'firstName': firstName, 'middleName': middleName, 'lastName': lastName }; getTypeName() => "Person"; TypeContext? context = _ctx; } class Contact extends Person implements IConvertible { String? idpGuid; String? telephoneNumber; String? altTelephoneNumber; String? email; String? position; String? preferredContactMethod; String? preferredContactBestTime; Contact({this.idpGuid,this.telephoneNumber,this.altTelephoneNumber,this.email,this.position,this.preferredContactMethod,this.preferredContactBestTime}); Contact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); idpGuid = json['idpGuid']; telephoneNumber = json['telephoneNumber']; altTelephoneNumber = json['altTelephoneNumber']; email = json['email']; position = json['position']; preferredContactMethod = json['preferredContactMethod']; preferredContactBestTime = json['preferredContactBestTime']; return this; } Map toJson() => super.toJson()..addAll({ 'idpGuid': idpGuid, 'telephoneNumber': telephoneNumber, 'altTelephoneNumber': altTelephoneNumber, 'email': email, 'position': position, 'preferredContactMethod': preferredContactMethod, 'preferredContactBestTime': preferredContactBestTime }); getTypeName() => "Contact"; TypeContext? context = _ctx; } class AuthorisedSigner extends Contact implements IConvertible { DateTime? dateOfBirth; String? countryCode; AuthorisedSigner({this.dateOfBirth,this.countryCode}); AuthorisedSigner.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!); countryCode = json['countryCode']; return this; } Map toJson() => super.toJson()..addAll({ 'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!), 'countryCode': countryCode }); getTypeName() => "AuthorisedSigner"; TypeContext? context = _ctx; } class OrderMeta implements IConvertible { String? sourceSystem; String? sourceSystemIdentifier; String? csr; String? ultimateParentId; String? orderType; String? customerType; Partner? partner; String? sellerCode; String? sellerEmail; String? specialInstructions; AuthorisedSigner? contact; String? offerDetails; DateTime? dateContractAccepted; bool? worldpayBusinessFinanceInterest; bool? sar; bool? hasSupportingFiles; OrderMeta({this.sourceSystem,this.sourceSystemIdentifier,this.csr,this.ultimateParentId,this.orderType,this.customerType,this.partner,this.sellerCode,this.sellerEmail,this.specialInstructions,this.contact,this.offerDetails,this.dateContractAccepted,this.worldpayBusinessFinanceInterest,this.sar,this.hasSupportingFiles}); OrderMeta.fromJson(Map json) { fromMap(json); } fromMap(Map json) { sourceSystem = json['sourceSystem']; sourceSystemIdentifier = json['sourceSystemIdentifier']; csr = json['csr']; ultimateParentId = json['ultimateParentId']; orderType = json['orderType']; customerType = json['customerType']; partner = JsonConverters.fromJson(json['partner'],'Partner',context!); sellerCode = json['sellerCode']; sellerEmail = json['sellerEmail']; specialInstructions = json['specialInstructions']; contact = JsonConverters.fromJson(json['contact'],'AuthorisedSigner',context!); offerDetails = json['offerDetails']; dateContractAccepted = JsonConverters.fromJson(json['dateContractAccepted'],'DateTime',context!); worldpayBusinessFinanceInterest = json['worldpayBusinessFinanceInterest']; sar = json['sar']; hasSupportingFiles = json['hasSupportingFiles']; return this; } Map toJson() => { 'sourceSystem': sourceSystem, 'sourceSystemIdentifier': sourceSystemIdentifier, 'csr': csr, 'ultimateParentId': ultimateParentId, 'orderType': orderType, 'customerType': customerType, 'partner': JsonConverters.toJson(partner,'Partner',context!), 'sellerCode': sellerCode, 'sellerEmail': sellerEmail, 'specialInstructions': specialInstructions, 'contact': JsonConverters.toJson(contact,'AuthorisedSigner',context!), 'offerDetails': offerDetails, 'dateContractAccepted': JsonConverters.toJson(dateContractAccepted,'DateTime',context!), 'worldpayBusinessFinanceInterest': worldpayBusinessFinanceInterest, 'sar': sar, 'hasSupportingFiles': hasSupportingFiles }; getTypeName() => "OrderMeta"; TypeContext? context = _ctx; } class Address implements IConvertible { String? address1; String? address2; String? address3; String? postcode; String? city; String? state; String? countrycode; Address({this.address1,this.address2,this.address3,this.postcode,this.city,this.state,this.countrycode}); Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { address1 = json['address1']; address2 = json['address2']; address3 = json['address3']; postcode = json['postcode']; city = json['city']; state = json['state']; countrycode = json['countrycode']; return this; } Map toJson() => { 'address1': address1, 'address2': address2, 'address3': address3, 'postcode': postcode, 'city': city, 'state': state, 'countrycode': countrycode }; getTypeName() => "Address"; TypeContext? context = _ctx; } class MerchantAddress extends Address implements IConvertible { String? addressType; bool? isCommercial; MerchantAddress({this.addressType,this.isCommercial}); MerchantAddress.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); addressType = json['addressType']; isCommercial = json['isCommercial']; return this; } Map toJson() => super.toJson()..addAll({ 'addressType': addressType, 'isCommercial': isCommercial }); getTypeName() => "MerchantAddress"; TypeContext? context = _ctx; } class InvoiceContact extends Person implements IConvertible { String? email; String? position; InvoiceContact({this.email,this.position}); InvoiceContact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); email = json['email']; position = json['position']; return this; } Map toJson() => super.toJson()..addAll({ 'email': email, 'position': position }); getTypeName() => "InvoiceContact"; TypeContext? context = _ctx; } class BankAccount implements IConvertible { String? sortCode; String? accountNumber; String? bankName; String? bankAccountName; BankAccount({this.sortCode,this.accountNumber,this.bankName,this.bankAccountName}); BankAccount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { sortCode = json['sortCode']; accountNumber = json['accountNumber']; bankName = json['bankName']; bankAccountName = json['bankAccountName']; return this; } Map toJson() => { 'sortCode': sortCode, 'accountNumber': accountNumber, 'bankName': bankName, 'bankAccountName': bankAccountName }; getTypeName() => "BankAccount"; TypeContext? context = _ctx; } class MerchantCategory implements IConvertible { String? merchantCategoryCode; String? merchantCategoryDescription; String? descriptionOfGoodsAndServices; MerchantCategory({this.merchantCategoryCode,this.merchantCategoryDescription,this.descriptionOfGoodsAndServices}); MerchantCategory.fromJson(Map json) { fromMap(json); } fromMap(Map json) { merchantCategoryCode = json['merchantCategoryCode']; merchantCategoryDescription = json['merchantCategoryDescription']; descriptionOfGoodsAndServices = json['descriptionOfGoodsAndServices']; return this; } Map toJson() => { 'merchantCategoryCode': merchantCategoryCode, 'merchantCategoryDescription': merchantCategoryDescription, 'descriptionOfGoodsAndServices': descriptionOfGoodsAndServices }; getTypeName() => "MerchantCategory"; TypeContext? context = _ctx; } class Financials implements IConvertible { double? annual; double? cardPercentage; double? creditCardPercentage; double? averageTransactionValue; Financials({this.annual,this.cardPercentage,this.creditCardPercentage,this.averageTransactionValue}); Financials.fromJson(Map json) { fromMap(json); } fromMap(Map json) { annual = JsonConverters.toDouble(json['annual']); cardPercentage = JsonConverters.toDouble(json['cardPercentage']); creditCardPercentage = JsonConverters.toDouble(json['creditCardPercentage']); averageTransactionValue = JsonConverters.toDouble(json['averageTransactionValue']); return this; } Map toJson() => { 'annual': annual, 'cardPercentage': cardPercentage, 'creditCardPercentage': creditCardPercentage, 'averageTransactionValue': averageTransactionValue }; getTypeName() => "Financials"; TypeContext? context = _ctx; } class TradeAssociation implements IConvertible { String? groupName; String? memberNumber; TradeAssociation({this.groupName,this.memberNumber}); TradeAssociation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { groupName = json['groupName']; memberNumber = json['memberNumber']; return this; } Map toJson() => { 'groupName': groupName, 'memberNumber': memberNumber }; getTypeName() => "TradeAssociation"; TypeContext? context = _ctx; } class Principal extends Person implements IConvertible { String? position; bool? isFinancialController; DateTime? dateOfBirth; String? nationality; double? ownershipPercentage; List? homeAddresses; List? principalIdDocuments; Principal({this.position,this.isFinancialController,this.dateOfBirth,this.nationality,this.ownershipPercentage,this.homeAddresses,this.principalIdDocuments}); Principal.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); position = json['position']; isFinancialController = json['isFinancialController']; dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!); nationality = json['nationality']; ownershipPercentage = JsonConverters.toDouble(json['ownershipPercentage']); homeAddresses = JsonConverters.fromJson(json['homeAddresses'],'List',context!); principalIdDocuments = JsonConverters.fromJson(json['principalIdDocuments'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'position': position, 'isFinancialController': isFinancialController, 'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!), 'nationality': nationality, 'ownershipPercentage': ownershipPercentage, 'homeAddresses': JsonConverters.toJson(homeAddresses,'List',context!), 'principalIdDocuments': JsonConverters.toJson(principalIdDocuments,'List',context!) }); getTypeName() => "Principal"; TypeContext? context = _ctx; } class GoodsAndServices implements IConvertible { bool? goodsProvidedByThirdParty; Deposits? deposits; WarrantiesAndGuarantees? warrantiesAndGuarantees; Prepayments? prepayments; MembershipsSubscriptionAndInsurancePremiums? membershipsSubscriptionAndInsurancePremiums; Address? stockHeldAtAnotherAddressLocation; GoodsAndServices({this.goodsProvidedByThirdParty,this.deposits,this.warrantiesAndGuarantees,this.prepayments,this.membershipsSubscriptionAndInsurancePremiums,this.stockHeldAtAnotherAddressLocation}); GoodsAndServices.fromJson(Map json) { fromMap(json); } fromMap(Map json) { goodsProvidedByThirdParty = json['goodsProvidedByThirdParty']; deposits = JsonConverters.fromJson(json['deposits'],'Deposits',context!); warrantiesAndGuarantees = JsonConverters.fromJson(json['warrantiesAndGuarantees'],'WarrantiesAndGuarantees',context!); prepayments = JsonConverters.fromJson(json['prepayments'],'Prepayments',context!); membershipsSubscriptionAndInsurancePremiums = JsonConverters.fromJson(json['membershipsSubscriptionAndInsurancePremiums'],'MembershipsSubscriptionAndInsurancePremiums',context!); stockHeldAtAnotherAddressLocation = JsonConverters.fromJson(json['stockHeldAtAnotherAddressLocation'],'Address',context!); return this; } Map toJson() => { 'goodsProvidedByThirdParty': goodsProvidedByThirdParty, 'deposits': JsonConverters.toJson(deposits,'Deposits',context!), 'warrantiesAndGuarantees': JsonConverters.toJson(warrantiesAndGuarantees,'WarrantiesAndGuarantees',context!), 'prepayments': JsonConverters.toJson(prepayments,'Prepayments',context!), 'membershipsSubscriptionAndInsurancePremiums': JsonConverters.toJson(membershipsSubscriptionAndInsurancePremiums,'MembershipsSubscriptionAndInsurancePremiums',context!), 'stockHeldAtAnotherAddressLocation': JsonConverters.toJson(stockHeldAtAnotherAddressLocation,'Address',context!) }; getTypeName() => "GoodsAndServices"; TypeContext? context = _ctx; } class AccessibilityOptions implements IConvertible { bool? audiotapeRequired; bool? largePrintRequired; bool? uncontractedBrailleGrade1Required; bool? uncontractedBrailleGrade2Required; bool? nextGenerationTextRequired; AccessibilityOptions({this.audiotapeRequired,this.largePrintRequired,this.uncontractedBrailleGrade1Required,this.uncontractedBrailleGrade2Required,this.nextGenerationTextRequired}); AccessibilityOptions.fromJson(Map json) { fromMap(json); } fromMap(Map json) { audiotapeRequired = json['audiotapeRequired']; largePrintRequired = json['largePrintRequired']; uncontractedBrailleGrade1Required = json['uncontractedBrailleGrade1Required']; uncontractedBrailleGrade2Required = json['uncontractedBrailleGrade2Required']; nextGenerationTextRequired = json['nextGenerationTextRequired']; return this; } Map toJson() => { 'audiotapeRequired': audiotapeRequired, 'largePrintRequired': largePrintRequired, 'uncontractedBrailleGrade1Required': uncontractedBrailleGrade1Required, 'uncontractedBrailleGrade2Required': uncontractedBrailleGrade2Required, 'nextGenerationTextRequired': nextGenerationTextRequired }; getTypeName() => "AccessibilityOptions"; TypeContext? context = _ctx; } class ClearingDetails implements IConvertible { String? merchantUrl; String? telephone; String? email; ClearingDetails({this.merchantUrl,this.telephone,this.email}); ClearingDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { merchantUrl = json['merchantUrl']; telephone = json['telephone']; email = json['email']; return this; } Map toJson() => { 'merchantUrl': merchantUrl, 'telephone': telephone, 'email': email }; getTypeName() => "ClearingDetails"; TypeContext? context = _ctx; } class Acquiring implements IConvertible { int? settlementPeriod; String? fundingMode; Rates? rates; List? tradingCurrencies; Acquiring({this.settlementPeriod,this.fundingMode,this.rates,this.tradingCurrencies}); Acquiring.fromJson(Map json) { fromMap(json); } fromMap(Map json) { settlementPeriod = json['settlementPeriod']; fundingMode = json['fundingMode']; rates = JsonConverters.fromJson(json['rates'],'Rates',context!); tradingCurrencies = JsonConverters.fromJson(json['tradingCurrencies'],'List',context!); return this; } Map toJson() => { 'settlementPeriod': settlementPeriod, 'fundingMode': fundingMode, 'rates': JsonConverters.toJson(rates,'Rates',context!), 'tradingCurrencies': JsonConverters.toJson(tradingCurrencies,'List',context!) }; getTypeName() => "Acquiring"; TypeContext? context = _ctx; } class ProductFee implements IConvertible { String? type; double? cost; String? billingParty; ProductFee({this.type,this.cost,this.billingParty}); ProductFee.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = json['type']; cost = JsonConverters.toDouble(json['cost']); billingParty = json['billingParty']; return this; } Map toJson() => { 'type': type, 'cost': cost, 'billingParty': billingParty }; getTypeName() => "ProductFee"; TypeContext? context = _ctx; } class ProductOption implements IConvertible { String? type; String? value; ProductOption({this.type,this.value}); ProductOption.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = json['type']; value = json['value']; return this; } Map toJson() => { 'type': type, 'value': value }; getTypeName() => "ProductOption"; TypeContext? context = _ctx; } class Product implements IConvertible { String? name; String? type; String? variant; int? quantity; List? relatedFees; List? options; Product({this.name,this.type,this.variant,this.quantity,this.relatedFees,this.options}); Product.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name']; type = json['type']; variant = json['variant']; quantity = json['quantity']; relatedFees = JsonConverters.fromJson(json['relatedFees'],'List',context!); options = JsonConverters.fromJson(json['options'],'List',context!); return this; } Map toJson() => { 'name': name, 'type': type, 'variant': variant, 'quantity': quantity, 'relatedFees': JsonConverters.toJson(relatedFees,'List',context!), 'options': JsonConverters.toJson(options,'List',context!) }; getTypeName() => "Product"; TypeContext? context = _ctx; } class Subscription implements IConvertible { String? proposition; String? pricingPackage; int? term; int? renewalLength; Acquiring? acquiring; List? products; Subscription({this.proposition,this.pricingPackage,this.term,this.renewalLength,this.acquiring,this.products}); Subscription.fromJson(Map json) { fromMap(json); } fromMap(Map json) { proposition = json['proposition']; pricingPackage = json['pricingPackage']; term = json['term']; renewalLength = json['renewalLength']; acquiring = JsonConverters.fromJson(json['acquiring'],'Acquiring',context!); products = JsonConverters.fromJson(json['products'],'List',context!); return this; } Map toJson() => { 'proposition': proposition, 'pricingPackage': pricingPackage, 'term': term, 'renewalLength': renewalLength, 'acquiring': JsonConverters.toJson(acquiring,'Acquiring',context!), 'products': JsonConverters.toJson(products,'List',context!) }; getTypeName() => "Subscription"; TypeContext? context = _ctx; } class OrderPayload implements IConvertible { String? partyId; String? parentPartyId; String? legalName; String? tradingName; List? addresses; Contact? tradingContact; InvoiceContact? invoiceContact; BankAccount? settlementBankAccount; BankAccount? chargesBankAccount; String? directDebitCorrespondenceEmail; String? websiteAddress; String? companyType; String? companyTypeOther; String? companyRegistrationNumber; String? charityNumber; List? merchantCategories; String? vatNumber; DateTime? dateStartedTrading; DateTime? anticipatedGoLiveDate; String? countryOfIncorporation; String? regionOfIncorporation; Financials? financials; bool? newToCards; TradeAssociation? tradeAssociation; List? principals; GoodsAndServices? goodsAndServices; AccessibilityOptions? accessibilityOptions; ClearingDetails? clearingDetails; Acquiring? acquiring; List? subscriptions; List? children; OrderPayload({this.partyId,this.parentPartyId,this.legalName,this.tradingName,this.addresses,this.tradingContact,this.invoiceContact,this.settlementBankAccount,this.chargesBankAccount,this.directDebitCorrespondenceEmail,this.websiteAddress,this.companyType,this.companyTypeOther,this.companyRegistrationNumber,this.charityNumber,this.merchantCategories,this.vatNumber,this.dateStartedTrading,this.anticipatedGoLiveDate,this.countryOfIncorporation,this.regionOfIncorporation,this.financials,this.newToCards,this.tradeAssociation,this.principals,this.goodsAndServices,this.accessibilityOptions,this.clearingDetails,this.acquiring,this.subscriptions,this.children}); OrderPayload.fromJson(Map json) { fromMap(json); } fromMap(Map json) { partyId = json['partyId']; parentPartyId = json['parentPartyId']; legalName = json['legalName']; tradingName = json['tradingName']; addresses = JsonConverters.fromJson(json['addresses'],'List',context!); tradingContact = JsonConverters.fromJson(json['tradingContact'],'Contact',context!); invoiceContact = JsonConverters.fromJson(json['invoiceContact'],'InvoiceContact',context!); settlementBankAccount = JsonConverters.fromJson(json['settlementBankAccount'],'BankAccount',context!); chargesBankAccount = JsonConverters.fromJson(json['chargesBankAccount'],'BankAccount',context!); directDebitCorrespondenceEmail = json['directDebitCorrespondenceEmail']; websiteAddress = json['websiteAddress']; companyType = json['companyType']; companyTypeOther = json['companyTypeOther']; companyRegistrationNumber = json['companyRegistrationNumber']; charityNumber = json['charityNumber']; merchantCategories = JsonConverters.fromJson(json['merchantCategories'],'List',context!); vatNumber = json['vatNumber']; dateStartedTrading = JsonConverters.fromJson(json['dateStartedTrading'],'DateTime',context!); anticipatedGoLiveDate = JsonConverters.fromJson(json['anticipatedGoLiveDate'],'DateTime',context!); countryOfIncorporation = json['countryOfIncorporation']; regionOfIncorporation = json['regionOfIncorporation']; financials = JsonConverters.fromJson(json['financials'],'Financials',context!); newToCards = json['newToCards']; tradeAssociation = JsonConverters.fromJson(json['tradeAssociation'],'TradeAssociation',context!); principals = JsonConverters.fromJson(json['principals'],'List',context!); goodsAndServices = JsonConverters.fromJson(json['goodsAndServices'],'GoodsAndServices',context!); accessibilityOptions = JsonConverters.fromJson(json['accessibilityOptions'],'AccessibilityOptions',context!); clearingDetails = JsonConverters.fromJson(json['clearingDetails'],'ClearingDetails',context!); acquiring = JsonConverters.fromJson(json['acquiring'],'Acquiring',context!); subscriptions = JsonConverters.fromJson(json['subscriptions'],'List',context!); children = JsonConverters.fromJson(json['children'],'List',context!); return this; } Map toJson() => { 'partyId': partyId, 'parentPartyId': parentPartyId, 'legalName': legalName, 'tradingName': tradingName, 'addresses': JsonConverters.toJson(addresses,'List',context!), 'tradingContact': JsonConverters.toJson(tradingContact,'Contact',context!), 'invoiceContact': JsonConverters.toJson(invoiceContact,'InvoiceContact',context!), 'settlementBankAccount': JsonConverters.toJson(settlementBankAccount,'BankAccount',context!), 'chargesBankAccount': JsonConverters.toJson(chargesBankAccount,'BankAccount',context!), 'directDebitCorrespondenceEmail': directDebitCorrespondenceEmail, 'websiteAddress': websiteAddress, 'companyType': companyType, 'companyTypeOther': companyTypeOther, 'companyRegistrationNumber': companyRegistrationNumber, 'charityNumber': charityNumber, 'merchantCategories': JsonConverters.toJson(merchantCategories,'List',context!), 'vatNumber': vatNumber, 'dateStartedTrading': JsonConverters.toJson(dateStartedTrading,'DateTime',context!), 'anticipatedGoLiveDate': JsonConverters.toJson(anticipatedGoLiveDate,'DateTime',context!), 'countryOfIncorporation': countryOfIncorporation, 'regionOfIncorporation': regionOfIncorporation, 'financials': JsonConverters.toJson(financials,'Financials',context!), 'newToCards': newToCards, 'tradeAssociation': JsonConverters.toJson(tradeAssociation,'TradeAssociation',context!), 'principals': JsonConverters.toJson(principals,'List',context!), 'goodsAndServices': JsonConverters.toJson(goodsAndServices,'GoodsAndServices',context!), 'accessibilityOptions': JsonConverters.toJson(accessibilityOptions,'AccessibilityOptions',context!), 'clearingDetails': JsonConverters.toJson(clearingDetails,'ClearingDetails',context!), 'acquiring': JsonConverters.toJson(acquiring,'Acquiring',context!), 'subscriptions': JsonConverters.toJson(subscriptions,'List',context!), 'children': JsonConverters.toJson(children,'List',context!) }; getTypeName() => "OrderPayload"; TypeContext? context = _ctx; } class Order implements IConvertible { OrderMeta? meta; OrderPayload? payload; Order({this.meta,this.payload}); Order.fromJson(Map json) { fromMap(json); } fromMap(Map json) { meta = JsonConverters.fromJson(json['meta'],'OrderMeta',context!); payload = JsonConverters.fromJson(json['payload'],'OrderPayload',context!); return this; } Map toJson() => { 'meta': JsonConverters.toJson(meta,'OrderMeta',context!), 'payload': JsonConverters.toJson(payload,'OrderPayload',context!) }; getTypeName() => "Order"; TypeContext? context = _ctx; } // @DataContract enum ApplicationQueueStatus { Queued, StandardisedXML, ReadyToDistribute, AwaitingDistributeResponse, ReadyToAutoboard, ThrottleCheckPassed, EligibilityCheckPassed, SentToAutoboardService, AutoboardingSuspended, SuccessfullyBoarded, QueueError, ThrottleCheckError, XMLStandardisationError, EligibilityCheckError, AutoboardingError, IneligibleThrottleLimit, IneligibleApplication, } // @DataContract enum ApplicationBoardingStatus { PENDING, IN_PROGRESS, FAILED, COMPLETED, } class Acquiring implements IConvertible { int? settlementPeriodTPlus; Rates? rates; Services? services; List? tradingCurrencies; Acquiring({this.settlementPeriodTPlus,this.rates,this.services,this.tradingCurrencies}); Acquiring.fromJson(Map json) { fromMap(json); } fromMap(Map json) { settlementPeriodTPlus = json['settlementPeriodTPlus']; rates = JsonConverters.fromJson(json['rates'],'Rates',context!); services = JsonConverters.fromJson(json['services'],'Services',context!); tradingCurrencies = JsonConverters.fromJson(json['tradingCurrencies'],'List',context!); return this; } Map toJson() => { 'settlementPeriodTPlus': settlementPeriodTPlus, 'rates': JsonConverters.toJson(rates,'Rates',context!), 'services': JsonConverters.toJson(services,'Services',context!), 'tradingCurrencies': JsonConverters.toJson(tradingCurrencies,'List',context!) }; getTypeName() => "Acquiring"; TypeContext? context = _ctx; } class Partner implements IConvertible { String? partnerId; String? partnerName; Partner({this.partnerId,this.partnerName}); Partner.fromJson(Map json) { fromMap(json); } fromMap(Map json) { partnerId = json['partnerId']; partnerName = json['partnerName']; return this; } Map toJson() => { 'partnerId': partnerId, 'partnerName': partnerName }; getTypeName() => "Partner"; TypeContext? context = _ctx; } class AuthorisedSigner extends ContactPerson implements IConvertible { DateTime? dateOfBirth; String? countryCode; AuthorisedSigner({this.dateOfBirth,this.countryCode}); AuthorisedSigner.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!); countryCode = json['countryCode']; return this; } Map toJson() => super.toJson()..addAll({ 'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!), 'countryCode': countryCode }); getTypeName() => "AuthorisedSigner"; TypeContext? context = _ctx; } class AccessibilityOptions implements IConvertible { bool? audiotapeRequired; bool? largePrintRequired; bool? uncontractedBrailleGrade1Required; bool? uncontractedBrailleGrade2Required; bool? nextGenerationTextRequired; AccessibilityOptions({this.audiotapeRequired,this.largePrintRequired,this.uncontractedBrailleGrade1Required,this.uncontractedBrailleGrade2Required,this.nextGenerationTextRequired}); AccessibilityOptions.fromJson(Map json) { fromMap(json); } fromMap(Map json) { audiotapeRequired = json['audiotapeRequired']; largePrintRequired = json['largePrintRequired']; uncontractedBrailleGrade1Required = json['uncontractedBrailleGrade1Required']; uncontractedBrailleGrade2Required = json['uncontractedBrailleGrade2Required']; nextGenerationTextRequired = json['nextGenerationTextRequired']; return this; } Map toJson() => { 'audiotapeRequired': audiotapeRequired, 'largePrintRequired': largePrintRequired, 'uncontractedBrailleGrade1Required': uncontractedBrailleGrade1Required, 'uncontractedBrailleGrade2Required': uncontractedBrailleGrade2Required, 'nextGenerationTextRequired': nextGenerationTextRequired }; getTypeName() => "AccessibilityOptions"; TypeContext? context = _ctx; } class Principal implements IConvertible { String? title; String? firstName; String? middleName; String? lastName; DateTime? dateOfBirth; String? nationality; List? homeAddresses; double? ownershipPercentage; PositionType? position; bool? isFinancialController; Principal({this.title,this.firstName,this.middleName,this.lastName,this.dateOfBirth,this.nationality,this.homeAddresses,this.ownershipPercentage,this.position,this.isFinancialController}); Principal.fromJson(Map json) { fromMap(json); } fromMap(Map json) { title = json['title']; firstName = json['firstName']; middleName = json['middleName']; lastName = json['lastName']; dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!); nationality = json['nationality']; homeAddresses = JsonConverters.fromJson(json['homeAddresses'],'List',context!); ownershipPercentage = JsonConverters.toDouble(json['ownershipPercentage']); position = JsonConverters.fromJson(json['position'],'PositionType',context!); isFinancialController = json['isFinancialController']; return this; } Map toJson() => { 'title': title, 'firstName': firstName, 'middleName': middleName, 'lastName': lastName, 'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!), 'nationality': nationality, 'homeAddresses': JsonConverters.toJson(homeAddresses,'List',context!), 'ownershipPercentage': ownershipPercentage, 'position': JsonConverters.toJson(position,'PositionType',context!), 'isFinancialController': isFinancialController }; getTypeName() => "Principal"; TypeContext? context = _ctx; } class GoodsAndServices implements IConvertible { bool? goodsProvidedByThirdParty; Deposits? deposits; WarrantiesAndGuarantees? warrantiesAndGuarantees; Prepayments? prepayments; MembershipsSubscriptionAndInsurancePremiums? membershipsSubscriptionAndInsurancePremiums; Address? stockHeldAtAnotherAddressLocation; GoodsAndServices({this.goodsProvidedByThirdParty,this.deposits,this.warrantiesAndGuarantees,this.prepayments,this.membershipsSubscriptionAndInsurancePremiums,this.stockHeldAtAnotherAddressLocation}); GoodsAndServices.fromJson(Map json) { fromMap(json); } fromMap(Map json) { goodsProvidedByThirdParty = json['goodsProvidedByThirdParty']; deposits = JsonConverters.fromJson(json['deposits'],'Deposits',context!); warrantiesAndGuarantees = JsonConverters.fromJson(json['warrantiesAndGuarantees'],'WarrantiesAndGuarantees',context!); prepayments = JsonConverters.fromJson(json['prepayments'],'Prepayments',context!); membershipsSubscriptionAndInsurancePremiums = JsonConverters.fromJson(json['membershipsSubscriptionAndInsurancePremiums'],'MembershipsSubscriptionAndInsurancePremiums',context!); stockHeldAtAnotherAddressLocation = JsonConverters.fromJson(json['stockHeldAtAnotherAddressLocation'],'Address',context!); return this; } Map toJson() => { 'goodsProvidedByThirdParty': goodsProvidedByThirdParty, 'deposits': JsonConverters.toJson(deposits,'Deposits',context!), 'warrantiesAndGuarantees': JsonConverters.toJson(warrantiesAndGuarantees,'WarrantiesAndGuarantees',context!), 'prepayments': JsonConverters.toJson(prepayments,'Prepayments',context!), 'membershipsSubscriptionAndInsurancePremiums': JsonConverters.toJson(membershipsSubscriptionAndInsurancePremiums,'MembershipsSubscriptionAndInsurancePremiums',context!), 'stockHeldAtAnotherAddressLocation': JsonConverters.toJson(stockHeldAtAnotherAddressLocation,'Address',context!) }; getTypeName() => "GoodsAndServices"; TypeContext? context = _ctx; } class Address implements IConvertible { String? address1; String? address2; String? address3; String? postcode; String? city; String? state; String? countryCode; Address({this.address1,this.address2,this.address3,this.postcode,this.city,this.state,this.countryCode}); Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { address1 = json['address1']; address2 = json['address2']; address3 = json['address3']; postcode = json['postcode']; city = json['city']; state = json['state']; countryCode = json['countryCode']; return this; } Map toJson() => { 'address1': address1, 'address2': address2, 'address3': address3, 'postcode': postcode, 'city': city, 'state': state, 'countryCode': countryCode }; getTypeName() => "Address"; TypeContext? context = _ctx; } class BankAccount implements IConvertible { String? sortCode; String? accountNumber; String? bankName; String? bankAccountName; String? swiftCode; String? internationalBankAccountNumber; BankAccount({this.sortCode,this.accountNumber,this.bankName,this.bankAccountName,this.swiftCode,this.internationalBankAccountNumber}); BankAccount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { sortCode = json['sortCode']; accountNumber = json['accountNumber']; bankName = json['bankName']; bankAccountName = json['bankAccountName']; swiftCode = json['swiftCode']; internationalBankAccountNumber = json['internationalBankAccountNumber']; return this; } Map toJson() => { 'sortCode': sortCode, 'accountNumber': accountNumber, 'bankName': bankName, 'bankAccountName': bankAccountName, 'swiftCode': swiftCode, 'internationalBankAccountNumber': internationalBankAccountNumber }; getTypeName() => "BankAccount"; TypeContext? context = _ctx; } class Financials implements IConvertible { double? annual; double? cardPercentage; double? creditCardPercentage; double? averageTransactionValue; double? cardNotPresentPercentage; Financials({this.annual,this.cardPercentage,this.creditCardPercentage,this.averageTransactionValue,this.cardNotPresentPercentage}); Financials.fromJson(Map json) { fromMap(json); } fromMap(Map json) { annual = JsonConverters.toDouble(json['annual']); cardPercentage = JsonConverters.toDouble(json['cardPercentage']); creditCardPercentage = JsonConverters.toDouble(json['creditCardPercentage']); averageTransactionValue = JsonConverters.toDouble(json['averageTransactionValue']); cardNotPresentPercentage = JsonConverters.toDouble(json['cardNotPresentPercentage']); return this; } Map toJson() => { 'annual': annual, 'cardPercentage': cardPercentage, 'creditCardPercentage': creditCardPercentage, 'averageTransactionValue': averageTransactionValue, 'cardNotPresentPercentage': cardNotPresentPercentage }; getTypeName() => "Financials"; TypeContext? context = _ctx; } class TradeAssociation implements IConvertible { String? groupName; String? memberNumber; TradeAssociation({this.groupName,this.memberNumber}); TradeAssociation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { groupName = json['groupName']; memberNumber = json['memberNumber']; return this; } Map toJson() => { 'groupName': groupName, 'memberNumber': memberNumber }; getTypeName() => "TradeAssociation"; TypeContext? context = _ctx; } class ClearingDetails implements IConvertible { String? merchantUrl; String? telephone; String? email; ClearingDetails({this.merchantUrl,this.telephone,this.email}); ClearingDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { merchantUrl = json['merchantUrl']; telephone = json['telephone']; email = json['email']; return this; } Map toJson() => { 'merchantUrl': merchantUrl, 'telephone': telephone, 'email': email }; getTypeName() => "ClearingDetails"; TypeContext? context = _ctx; } class ProductFee implements IConvertible { ProductFeeType? type; double? cost; ProductFee({this.type,this.cost}); ProductFee.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = JsonConverters.fromJson(json['type'],'ProductFeeType',context!); cost = JsonConverters.toDouble(json['cost']); return this; } Map toJson() => { 'type': JsonConverters.toJson(type,'ProductFeeType',context!), 'cost': cost }; getTypeName() => "ProductFee"; TypeContext? context = _ctx; } class InitiateBoardingResponse implements IConvertible { String? applicationGuid; int? csr; String? applicationQueueGuid; ApplicationQueueStatus? queueStatus; ApplicationBoardingStatus? boardingStatus; List? errorMessages; InitiateBoardingResponse({this.applicationGuid,this.csr,this.applicationQueueGuid,this.queueStatus,this.boardingStatus,this.errorMessages}); InitiateBoardingResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { applicationGuid = json['applicationGuid']; csr = json['csr']; applicationQueueGuid = json['applicationQueueGuid']; queueStatus = JsonConverters.fromJson(json['queueStatus'],'ApplicationQueueStatus',context!); boardingStatus = JsonConverters.fromJson(json['boardingStatus'],'ApplicationBoardingStatus',context!); errorMessages = JsonConverters.fromJson(json['errorMessages'],'List',context!); return this; } Map toJson() => { 'applicationGuid': applicationGuid, 'csr': csr, 'applicationQueueGuid': applicationQueueGuid, 'queueStatus': JsonConverters.toJson(queueStatus,'ApplicationQueueStatus',context!), 'boardingStatus': JsonConverters.toJson(boardingStatus,'ApplicationBoardingStatus',context!), 'errorMessages': JsonConverters.toJson(errorMessages,'List',context!) }; getTypeName() => "InitiateBoardingResponse"; TypeContext? context = _ctx; } // @Route("/OrderBoarding", "POST") class OrderBoardingRequest implements IReturn, IConvertible { // @ApiMember(IsRequired=true) String? correlationId; // @ApiMember(IsRequired=true) Order? orderJson; String? onboardingRequestId; String? localEnterpriseId; String? audience; OrderBoardingRequest({this.correlationId,this.orderJson,this.onboardingRequestId,this.localEnterpriseId,this.audience}); OrderBoardingRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { correlationId = json['correlationId']; orderJson = JsonConverters.fromJson(json['orderJson'],'Order',context!); onboardingRequestId = json['onboardingRequestId']; localEnterpriseId = json['localEnterpriseId']; audience = json['audience']; return this; } Map toJson() => { 'correlationId': correlationId, 'orderJson': JsonConverters.toJson(orderJson,'Order',context!), 'onboardingRequestId': onboardingRequestId, 'localEnterpriseId': localEnterpriseId, 'audience': audience }; createResponse() => InitiateBoardingResponse(); getResponseTypeName() => "InitiateBoardingResponse"; getTypeName() => "OrderBoardingRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'abservice_featuretest.worldpay.com', types: { 'Partner': TypeInfo(TypeOf.Class, create:() => Partner()), 'Person': TypeInfo(TypeOf.Class, create:() => Person()), 'Contact': TypeInfo(TypeOf.Class, create:() => Contact()), 'AuthorisedSigner': TypeInfo(TypeOf.Class, create:() => AuthorisedSigner()), 'OrderMeta': TypeInfo(TypeOf.Class, create:() => OrderMeta()), 'Address': TypeInfo(TypeOf.Class, create:() => Address()), 'MerchantAddress': TypeInfo(TypeOf.Class, create:() => MerchantAddress()), 'InvoiceContact': TypeInfo(TypeOf.Class, create:() => InvoiceContact()), 'BankAccount': TypeInfo(TypeOf.Class, create:() => BankAccount()), 'MerchantCategory': TypeInfo(TypeOf.Class, create:() => MerchantCategory()), 'Financials': TypeInfo(TypeOf.Class, create:() => Financials()), 'TradeAssociation': TypeInfo(TypeOf.Class, create:() => TradeAssociation()), 'Principal': TypeInfo(TypeOf.Class, create:() => Principal()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PrincipalAddress': TypeInfo(TypeOf.Class, create:() => PrincipalAddress()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PrincipalIdDocument': TypeInfo(TypeOf.Class, create:() => PrincipalIdDocument()), 'GoodsAndServices': TypeInfo(TypeOf.Class, create:() => GoodsAndServices()), 'Deposits': TypeInfo(TypeOf.Class, create:() => Deposits()), 'WarrantiesAndGuarantees': TypeInfo(TypeOf.Class, create:() => WarrantiesAndGuarantees()), 'Prepayments': TypeInfo(TypeOf.Class, create:() => Prepayments()), 'MembershipsSubscriptionAndInsurancePremiums': TypeInfo(TypeOf.Class, create:() => MembershipsSubscriptionAndInsurancePremiums()), 'AccessibilityOptions': TypeInfo(TypeOf.Class, create:() => AccessibilityOptions()), 'ClearingDetails': TypeInfo(TypeOf.Class, create:() => ClearingDetails()), 'Acquiring': TypeInfo(TypeOf.Class, create:() => Acquiring()), 'Rates': TypeInfo(TypeOf.Class, create:() => Rates()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TradingCurrency': TypeInfo(TypeOf.Class, create:() => TradingCurrency()), 'ProductFee': TypeInfo(TypeOf.Class, create:() => ProductFee()), 'ProductOption': TypeInfo(TypeOf.Class, create:() => ProductOption()), 'Product': TypeInfo(TypeOf.Class, create:() => Product()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Subscription': TypeInfo(TypeOf.Class, create:() => Subscription()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'OrderPayload': TypeInfo(TypeOf.Class, create:() => OrderPayload()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Order': TypeInfo(TypeOf.Class, create:() => Order()), 'ApplicationQueueStatus': TypeInfo(TypeOf.Enum, enumValues:ApplicationQueueStatus.values), 'ApplicationBoardingStatus': TypeInfo(TypeOf.Enum, enumValues:ApplicationBoardingStatus.values), 'Services': TypeInfo(TypeOf.Class, create:() => Services()), 'PositionType': TypeInfo(TypeOf.Class, create:() => PositionType()), 'ProductFeeType': TypeInfo(TypeOf.Class, create:() => ProductFeeType()), 'InitiateBoardingResponse': TypeInfo(TypeOf.Class, create:() => InitiateBoardingResponse()), 'OrderBoardingRequest': TypeInfo(TypeOf.Class, create:() => OrderBoardingRequest()), });