/* Options: Date: 2024-07-06 13:55:50 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://abservice-test.worldpay.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: OrderBoardingRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class Partner { public partnerName: string; public partnerId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Person { public title: string; public firstName: string; public middleName: string; public lastName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Contact extends Person { public idpGuid?: string; public telephoneNumber: string; public altTelephoneNumber: string; public email: string; public position: string; public preferredContactMethod: string; public preferredContactBestTime: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class AuthorisedSigner extends Contact { public dateOfBirth?: string; public countryCode: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class OrderMeta { public sourceSystem: string; public sourceSystemIdentifier: string; public csr: string; public ultimateParentId: string; public orderType: string; public customerType: string; public partner: Partner; public sellerCode: string; public sellerEmail: string; public specialInstructions: string; public contact: AuthorisedSigner; public offerDetails: string; public dateContractAccepted: string; public worldpayBusinessFinanceInterest?: boolean; public sar?: boolean; public hasSupportingFiles: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public address1: string; public address2: string; public address3: string; public postcode: string; public city: string; public state: string; public countrycode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class MerchantAddress extends Address { public addressType: string; public isCommercial: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class InvoiceContact extends Person { public email: string; public position: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class BankAccount { public sortCode: string; public accountNumber: string; public bankName: string; public bankAccountName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MerchantCategory { public merchantCategoryCode: string; public merchantCategoryDescription: string; public descriptionOfGoodsAndServices: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Financials { public annual: number; public cardPercentage: number; public creditCardPercentage: number; public averageTransactionValue: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TradeAssociation { public groupName: string; public memberNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Principal extends Person { public position: string; public isFinancialController: boolean; public dateOfBirth: string; public nationality: string; public ownershipPercentage: number; public homeAddresses: PrincipalAddress[]; public principalIdDocuments: PrincipalIdDocument[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class GoodsAndServices { public goodsProvidedByThirdParty?: boolean; public deposits: Deposits; public warrantiesAndGuarantees: WarrantiesAndGuarantees; public prepayments: Prepayments; public membershipsSubscriptionAndInsurancePremiums: MembershipsSubscriptionAndInsurancePremiums; public stockHeldAtAnotherAddressLocation: Address; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AccessibilityOptions { public audiotapeRequired?: boolean; public largePrintRequired?: boolean; public uncontractedBrailleGrade1Required?: boolean; public uncontractedBrailleGrade2Required?: boolean; public nextGenerationTextRequired?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ClearingDetails { public merchantUrl: string; public telephone: string; public email: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Acquiring { public settlementPeriod: number; public fundingMode: string; public rates: Rates; public tradingCurrencies: TradingCurrency[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProductFee { public type: string; public cost: number; public billingParty: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProductOption { public type: string; public value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Product { public name: string; public type: string; public variant: string; public quantity?: number; public relatedFees: ProductFee[]; public options: ProductOption[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Subscription { public proposition: string; public pricingPackage: string; public term?: number; public renewalLength?: number; public acquiring: Acquiring; public products: Product[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class OrderPayload { public partyId: string; public parentPartyId: string; public legalName: string; public tradingName: string; public addresses: MerchantAddress[]; public tradingContact: Contact; public invoiceContact: InvoiceContact; public settlementBankAccount: BankAccount; public chargesBankAccount: BankAccount; public directDebitCorrespondenceEmail: string; public websiteAddress: string; public companyType: string; public companyTypeOther: string; public companyRegistrationNumber: string; public charityNumber: string; public merchantCategories: MerchantCategory[]; public vatNumber: string; public dateStartedTrading?: string; public anticipatedGoLiveDate?: string; public countryOfIncorporation: string; public regionOfIncorporation: string; public financials: Financials; public newToCards?: boolean; public tradeAssociation: TradeAssociation; public principals: Principal[]; public goodsAndServices: GoodsAndServices; public accessibilityOptions: AccessibilityOptions; public clearingDetails: ClearingDetails; public acquiring: Acquiring; public subscriptions: Subscription[]; public children: OrderPayload[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Order { public meta: OrderMeta; public payload: OrderPayload; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export enum ApplicationQueueStatus { Queued = 0, StandardisedXML = 20, ReadyToDistribute = 40, AwaitingDistributeResponse = 60, ReadyToAutoboard = 80, ThrottleCheckPassed = 100, EligibilityCheckPassed = 300, SentToAutoboardService = 400, AutoboardingSuspended = 450, SuccessfullyBoarded = 500, QueueError = 1000, ThrottleCheckError = 1100, XMLStandardisationError = 1200, EligibilityCheckError = 1300, AutoboardingError = 1400, IneligibleThrottleLimit = 2100, IneligibleApplication = 2300, } // @DataContract export enum ApplicationBoardingStatus { PENDING = 0, IN_PROGRESS = 5, FAILED = 9, COMPLETED = 10, } export class Acquiring { public settlementPeriodTPlus: number; public rates: Rates; public services: Services; public tradingCurrencies: TradingCurrency[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Partner { public partnerId: string; public partnerName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AuthorisedSigner extends ContactPerson { public dateOfBirth?: string; public countryCode: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class AccessibilityOptions { public audiotapeRequired?: boolean; public largePrintRequired?: boolean; public uncontractedBrailleGrade1Required?: boolean; public uncontractedBrailleGrade2Required?: boolean; public nextGenerationTextRequired?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Principal { public title: string; public firstName: string; public middleName: string; public lastName: string; public dateOfBirth: string; public nationality: string; public homeAddresses: PrincipalAddress[]; public ownershipPercentage: number; public position: PositionType; public isFinancialController?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GoodsAndServices { public goodsProvidedByThirdParty?: boolean; public deposits: Deposits; public warrantiesAndGuarantees: WarrantiesAndGuarantees; public prepayments: Prepayments; public membershipsSubscriptionAndInsurancePremiums: MembershipsSubscriptionAndInsurancePremiums; public stockHeldAtAnotherAddressLocation: Address; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public address1: string; public address2: string; public address3: string; public postcode: string; public city: string; public state: string; public countryCode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class BankAccount { public sortCode: string; public accountNumber: string; public bankName: string; public bankAccountName: string; public swiftCode: string; public internationalBankAccountNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Financials { public annual: number; public cardPercentage: number; public creditCardPercentage: number; public averageTransactionValue: number; public cardNotPresentPercentage?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TradeAssociation { public groupName: string; public memberNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ClearingDetails { public merchantUrl: string; public telephone: string; public email: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProductFee { public type: ProductFeeType; public cost: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InitiateBoardingResponse { public applicationGuid: string; public csr: number; public applicationQueueGuid?: string; public queueStatus: ApplicationQueueStatus; public boardingStatus?: ApplicationBoardingStatus; public errorMessages: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/OrderBoarding", "POST") export class OrderBoardingRequest implements IReturn { // @ApiMember(IsRequired=true) public correlationId: string; // @ApiMember(IsRequired=true) public orderJson: Order; public onboardingRequestId?: string; public localEnterpriseId?: string; public audience: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'OrderBoardingRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new InitiateBoardingResponse(); } }